*******私信博主请加V:FPGA_GO*******
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1,FPGA_Verilog基础篇:Verilog发展进程-优快云博客
2,FPGA_Verilog基础篇:理解Verilog的四值逻辑-优快云博客
3,FPGA_Verilog基础篇:Verilog中数值的表示-优快云博客
4,FPGA_Verilog基础篇:信号声明类型-优快云博客
5,FPGA_Verilog基础篇:模块的端口声明-优快云博客
6,FPGA_Verilog基础篇:verilog语言的操作符-优快云博客
7,FPGA_Verilog基础篇:verilog基本逻辑运算-优快云博客
8,FPGA_Verilog基础篇:verilog关系操作的逻辑运算实现-优快云博客
9,FPGA_Verilog基础篇:veriolg算术运算-优快云博客
10,FPGA_Verilog基础篇:verilog移位操作-优快云博客
11,FPGA_Verilog基础篇:关系操作符简介-优快云博客
12,FPGA_Verilog基础篇:拼接运算符简介-优快云博客
13,FPGA_Verilog基础篇:verilog数值的位宽扩展规则-优快云博客
14,FPGA_Verilog基础篇:verilog移位与拼接实现-优快云博客
15,FPGA_Verilog基础篇:verilog双向inout接口表示_fpga inout端口-优快云博客
16,FPGA_Verilog基础篇:verilog之锁存器和触发器-优快云博客
17,FPGA_Verilog基础篇:verilog之for循环-优快云博客
18,FPGA_Verilog基础篇:verilog之函数用法-优快云博客
19,FPGA_Verilog基础篇:verilog之任务用法-优快云博客
20,FPGA_Verilog基础篇:verilog之任务与函数用法比较-优快云博客
21,FPGA_Verilog基础篇:verilog之宏define介绍-优快云博客
22,FPGA_Verilog基础篇:verilog之条件编译指令介绍-优快云博客
23,FPGA_Verilog基础篇:verilog之参数parameter介绍-优快云博客
24,FPGA_Verilog基础篇:verilog之本地参数localparam-优快云博客
25,FPGA_Verilog基础篇:verilog之generate生成块-优快云博客
26,FPGA_Verilog基础篇:verilog之常数规则-优快云博客
27,FPGA_Verilog基础篇:verilog中整数运算的位宽和符号规则-优快云博客
28,FPGA_Verilog基础篇:verilog中的字符串表示-优快云博客
29,FPGA_Verilog基础篇:verilog中带整数的算术表达式分析-优快云博客
30(结束篇),FPGA_Verilog基础篇:verilog中的数值运算规则总结-优快云博客
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
本篇博主介绍verilog语言的操作符,由于这些操作符大多数都是平时在工程中经常使用的,因此在这里先完整的罗列出来,后面的博文会细说这些操作符的用法。
如下表所示为平时在开发FPGA代码时,用到的verilog操作符总结:
操作符 | 类型 | 操作符 | 类型 | 操作符 | 类型 |
{ },{{ }} | 级联,复制 | +,-,*,/,** | 算术 | % | 求模 |
>,>=,<,<= | 关系 | ! | 逻辑非 | && | 逻辑与 |
|| | 逻辑或 | == | 逻辑等 | != | 逻辑不等 |
=== | 条件等 | 条件不等 | !== | ~ | 按位非 |
& | 按位与 | | | 按位或 | ^ | 按位异或 |
^~/~^ | 按位同或 | & | 缩位与 | ~& | 缩位与非 |
| | 缩位或 | ~| | 缩位或非 | ^ | 缩位异或 |
^~/~^ | 缩位同或 | << | 逻辑左移 | >> | 逻辑右移 |
<<< | 算术左移 | >>> | 算术右移 | ?: | 条件 |
or | 事件或 | () | 括号 |
这些操作符之间的优先级并不是并列的,和四则运算的乘除优先情况类似,操作符之间有明确的执行顺序,其中括号“()”的优先级最高。博主在这里就不一一说明了,因为完全没有意义,通常不用死记硬背。实际代码中都是使用括号来方便阅读。
例如:
无括号时:1’b1 ? 8’h3 * 8’h5 + 8’h8 : 8’h7 * 8’h2 - 8’h9
有括号时:(1’b1) ? (8’h3 * 8’h5 + 8’h8) : (8’h7 * 8’h2 - 8’h9)
上面的有括号和无括号运算,结果都是一致。但我们在写代码时,肯定是选择第二种,第一种写法需要避免,所以我们在写代码时一定要多用括号,这样才不容易出错!
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起学习、一起进步吧~