Verilog遇到问题总结

Verilog有时不会报语法错误,但功能不对。
1、initial begin...end里面不能有always,如果非要达到always的效果,可以使用forever。
2、reg [3:0] a = 4'd7;这样写是对的。
wire[3:0] a = 4'd7;此方法错误。
3、时序电路建议赋初值,组合电路则不需要。
4、Verilog中不建议使用*和/,%可偶尔使用。
5、&&、||、!是逻辑符,结果是1(真)或者0(假)。
&、|、~是按位符,结果是化为2进制后,再按位进行比较后的结果。
6、三目运算符是允许嵌套的。
7、如果要表达5< a < 9,直接这样写是错误的,应该写成5 < a && a < 9。
8、组合逻辑中,如果en1有效是一种结果,en2有效是一种情况,en1||en2有效又是一种情况,那么en1||en2有效应该写在第一个,否则会导致逻辑错误。
9、[ a-:b],例如[ 23-:8]等价于[ 23:16]。
10、[ 7:0]a <= 1’b1 << cnt:cnt=0时,a=0000_0001;cnt=1时,a=0000_0010,以此类推。
11、不要在多个always块中对同一个信号进行赋值。

12、a<b/2,当b为5时,a为0和1时a<b/2为真。a>1均为假。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值