verilog中的代码使用
生活随笔
收集整理的这篇文章主要介绍了
verilog中的代码使用
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
不推荐使用的:
initial | 设计中不用,测试中用 |
task/function | 设计中一般不用,测试中用 |
while/repeat/forever | 设计中不用,只测试中用 |
for | 设计初期不用,后期按规范使用 |
integer | 设计中不用 |
casex/casez | 设计中不用 |
force/wait/fork | 设计中不用,只测试中用 |
#n | 设计中不用,只测试中用 |
推荐使用的 :
reg/wire | 设计中信号类型,有reg和wire; 在always中使用reg,其他用wire。 |
assign/always | 组合逻辑中格式: always@(*)begin 代码语句; end 或者assign 时序逻辑中格式: always@(posedge clk or negedgerst_n)begin if(rst_n==1'b0) begin 代码语句; end else begin 代码语句; end end |
if else/case | always中的语句,用来做选择判断 |
算数运算符 (+,—,x,/,%) | 一般不使用‘/’和‘%’ |
赋值运算符(=,<=) | 时序逻辑中用“<=”;组合逻辑中使用“=” |
三元运算符 | cond ? iftrue : iffalse 。cond 条件为真,则表达式的值为 iftrue,反之表达式的值为 iffalse。例 (sel)?b:a 式,当 sel 为真时,结果为 b,反之结果为 a。 备注:三元运算符嵌套用法,比较a,b,c,中的最大值 assign max= (a > b) ? (a > c)?a:c:(b > c)?b:c; |
parameter | 设计代码中,位宽、长度、状态机命名最好都用参数表示,方便阅读和修改 |
总结
以上是生活随笔为你收集整理的verilog中的代码使用的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: MATLAB浮点数与十六进制(浮点数)转
- 下一篇: Verilog如何避免Latch