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

case 中可用x吗?

时间:10-02 整理:3721RD 点击:
module voter(a,d,q); //velilog 语句 。表决器,当d=111,或a=1与d中的一个为1时,q为1
input [2:0]d;  //程序报错,可以怎么改
input a;
output q;
always @(a,d)
begin
  case({a,d})
     00xx : q=0;
     0xx0 : q=0;
     0x0x : q=0;
     x000 : q=0;
     0111 : q=1;
     1xx1 : q=1;
     1x1x : q=1;
     11xx : q=1;
     x111 : q=1;
     endcase     
end
endmodule

output  q 申明 reg 型

三个问题:
1、数据应写成4'b00xx的格式
2、应该用casex
3、q应该声明成reg型

学习了。

虽然这不是lz想要的答案。但事实是:case(非casex)条件可以有x,因为case是精确四态对比。


嗯嗯,问题解决了,我把CASE 换成了CASEX就可以用了


谢谢,谢谢,亲亲



高手正解-v-
记错了,casex是忽略x,这里没特殊要求的话用case就行了。

要用casez,不要用casex。

case就可以,条件列全就ok

可以用x,?
但是建立不要用。

CASEX不要随便使用,自己注意。


好的


是可以用X的,这样可以省掉好多行呢。

不推荐用casex,用casez。

小编的用意应该是要用casex吧,应该是忽略xx,而不是把xx当不定态


是的是的。


为什么不建议用

建議用casez
x用?


哦,没明白


casex不是所有综合工具都认所以建议用casez,实际电路中时不会有x状态的,要么是0,要么是1,
casex只是仿真的时候用的


哦哦。

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

网站地图

Top