verilog中case条件的表述问题

1. case条件的描述,统一使用二进制表示,不要用十进制或者十六进制,避免出现问题 1. case条件的描述,统一使用二进制表示,不要用十进制或者十六进制,避免出现问题

在case的分支中,分支条件之间用逗号。

分支条件使用十进制的这种写法不能识别,会出错,

case({a,b})

6d1_1: begin

end

6d1_2: begin

end

要用二进制写法才可以

6b001_001: begin

end

6b001_010: begin

end

2.

这部分是转载来的

Q:在状态机的case语句中,最后要加上默认项default,可是我看到有的书上写的是一个确定的状态,有的则是不定态xxx,到底应该写那个啊?求助!

A1:取决于case条件是否完备啦 如果你的case条件已经完备,那default不写也无所谓呀,一定要写的话,随便赋值都可以 如果case条件不完备,default肯定不能写xxx,应该给一个确定的值。

A2:仿真时写XXX,便于发现错误!综合时写复位态,便于软件综合!

注:写case的时候 千万要写 default,即使你条件写满了 也要写default,避免产生latch coding rule 是很死的东西,要遵守,就像遵守法律一样 可参考 huawei coding rule

Q:在状态机的case语句中,最后要加上默认项default,可是我看到有的书上写的是一个确定的状态,有的则是不定态xxx,到底应该写那个啊?求助! A1:取决于case条件是否完备啦 如果你的case条件已经完备,那default不写也无所谓呀,一定要写的话,随便赋值都可以 如果case条件不完备,default肯定不能写xxx,应该给一个确定的值。 A2:仿真时写XXX,便于发现错误!综合时写复位态,便于软件综合! 注:写case的时候 千万要写 default,即使你条件写满了 也要写default,避免产生latch coding rule 是很死的东西,要遵守,就像遵守法律一样 可参考 huawei coding rule
Q:在状态机的case语句中,最后要加上默认项default,可是我看到有的书上写的是一个确定的状态,有的则是不定态xxx,到底应该写那个啊?求助! A1:取决于case条件是否完备啦 如果你的case条件已经完备,那default不写也无所谓呀,一定要写的话,随便赋值都可以 如果case条件不完备,default肯定不能写xxx,应该给一个确定的值。 A2:仿真时写XXX,便于发现错误!综合时写复位态,便于软件综合! 注:写case的时候 千万要写 default,即使你条件写满了 也要写default,避免产生latch coding rule 是很死的东西,要遵守,就像遵守法律一样 可参考 huawei coding rule
 
经验分享 程序员 微信小程序 职场和发展