永发信息网

verilog的简单if嵌套,怎么提示不对呢,哪里错了?高手帮我看一下谢谢!

答案:2  悬赏:70  手机版
解决时间 2021-02-16 04:59
  • 提问者网友:贪了杯
  • 2021-02-15 08:40
实验设计:

设计一个带功能选择的字节(8位)的比较器(compare.v)。说明:比较两个字节的大小,选择控制位为sel[1:0]要求在sel的控制下:1)当 sel=00时如a[7:0]大于b[7:0],则输出高电平,否则输出低电平;2)当sel=01时如a[7:0]小于b[7:0],则输出高电平,否则输出低电平;3)当sel=01时如a[7:0]等于b[7:0],则输出高电平,否则输出低电平;

module Compare_1_top(qOut,sel,a,b);
input[7:0]a,b; // 输入为2个8位的数
input[1:0]sel; // 输入为1个2位的数
output qOut; // 输出为一个1位的数
reg qOut; // 输出qOut是一个寄存器类型的数
always@(a or b) // 当a 或者 b发生了变化,则条件触发

if(sel==2'b00)

if(a>b) //如果a>b,则令输出为高电平
qOut=1;
else //如果a qOut=0;

else(sel==2'b01)

if(a>b)
qOut=0;
else
qOut=1;

endmodule
最佳答案
  • 五星知识达人网友:拜訪者
  • 2021-02-15 09:19
always@(a or b) 这句有问题,sel也是敏感变量,要加上,或者直接改成always@(*)

else(sel==2'b01)也有问题,改为else if (sel==2'b01)
全部回答
  • 1楼网友:我住北渡口
  • 2021-02-15 10:42
我。。知。。道 加。。我。。私。。聊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯