欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

verilog中的代码使用

发布时间:2024/10/14 编程问答 17 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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/casealways中的语句,用来做选择判断

算数运算符

(+,—,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中的代码使用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。