always@(mode_ctrol)
芯片都快要投片了,但今天发现师兄们写的RTL代码有点问题。是这样的
always@(mode_ctrol[3:0])
begin
case(mode_ctrol)
4'b0000:.....
4'b0001:......
这样写肯定不合理呀,应该这样
alway@(mode_ctrol[3:0])
begin
case(mode_ctrol[3:0])
4'b0000:.....
4'b0001:......
mode_ctrol是8位的。
但仿真时都没有发现问题。不知道这样两种写法综合出来的是否是一样的。都快投片了。出现这样。该怎么办呀?我用形式验证工具验证了这两种不同的写法,发现形式验证通不过。
芯片都快要投片了,但今天发现师兄们写的RTL代码有点问题。是这样的
always@(mode_ctrol[3:0])
begin
case(mode_ctrol)
4'b0000:.....
4'b0001:......
这样写肯定不合理呀,应该这样
alway@(mode_ctrol[3:0])
begin
case(mode_ctrol[3:0])
4'b0000:.....
4'b0001:......
mode_ctrol是8位的。
但仿真时都没有发现问题。不知道这样两种写法综合出来的是否是一样的。
谢谢大家的意见。我终于弄明白了。综合出来的网表确实不一样。形式验证也通不过。功能上也有一些差异。但我发现我的设计里没有用到mode_ctrol的前四位,也就是说我的设计保证mode_ctrol的前四位不变。只要前四位不变,两种方法的输出都是一样的。所以不会影响到我的输出。只有mode_crol的前四位出现了变化这时两种网表的功能就会不一样,输出也不一样。
理论上电路功能是一样的。只是仿真会不同。