微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog中的case语句

verilog中的case语句

时间:10-02 整理:3721RD 点击:
在设计中,尤其是译码器设计,会有些无关项,对于无关项如何表示?
    case(inst)
      5'b1?  :      ;
      5'b000?0  :      ;
      default     :    ;
    endcase
如果在verilog中使用?代替无关项,使用modelsim仿真时,并不会对无关项处理,如果改成casez,倒是可以,不知道对于casez语句,dc等综合工具会如何处理?
    casez(inst)
      5'b1?  :      ;
      5'b000?0  :      ;
      default     :    ;
    endcase

怎么没人回答呀

这个要求只能用casex了。这里有个独门秘籍:按如下写法处理,则不怕casex影响不定态传播(即不对验证、综合带来压力):
case(&inst)
1'bx: output = 'bx; //X-Propagation
default: casex(inst)
  5'b1xxxx  :   output =   ;
  5'b000x0  :  output =   ;
  default     :   output =  ;
endcase
endcase
普通的case是个四态比较,里面的x就是不定态,而不是无关项(Wildcard)。

还是不太理解 ,期待指教!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top