FPGA 编程基础, 赋值操作符, 运算符使用, 条件表达式, 信号操作方法
1. **赋值符号**:
- **"="**:阻塞赋值,即在`always`模块中该语句会被立即执行。
- **"<="**:非阻塞赋值,用于`always`模块中,使所有语句在模块结束时一起更新。此符号也用于表示小于等于,具体含义由上下文决定。
2. **算术运算符**:
- **"+","-","*","/","%"**:分别代表加法、减法、乘法、除法和取模运算。使用这些运算符时,编译器会自动处理相关的硬件资源,如加法器和乘法器。特别地,除法和取模运算会消耗较多的逻辑资源,需谨慎使用。
3. **比较运算符**:
- **"<"**:小于,如果A < B则结果为TRUE,否则为FALSE。
- **"<="**:小于等于,如果A <= B则结果为TRUE,否则为FALSE。
- **">"**:大于,如果A > B则结果为TRUE,否则为FALSE。
- **">="**:大于等于,如果A >= B则结果为TRUE,否则为FALSE。
- **"=="**:等于,如果A == B则结果为TRUE,否则为FALSE。
- **"!="**:不等于,如果A != B则结果为TRUE,否则为FALSE。
4. **位运算符**:
- **"~"**:按位取反。
- **"&"**:按位与。
- **"^"**:异或运算。
- **"<<"**:左移运算符,如A<<2表示将A左移2位。
- **">>"**:右移运算符,如A>>2表示将A右移2位。
5. **逻辑运算符**:
- **"&&"**:逻辑与,用于条件判断,如A && B的结果依赖于A和B的布尔值。
6. **条件运算符**:
- **"?"**:三目运算符,用于基于条件选择两个值中的一个,格式为`条件 ? 值1 : 值2`。
7. **特殊符号**:
- **"{}"**:在Verilog中用于拼接,例如`{a, b}`表示将a和b按位拼接在一起。
这些基础知识对于理解和使用Verilog进行硬件设计至关重要,希望能帮助你更好地掌握这一编程语言。