菜鸟再求助

[复制链接]
1638|5
 楼主| skybbuy 发表于 2013-10-15 09:23 | 显示全部楼层 |阅读模式
如下代码
module voter7(pass,vote
output pass;
input[6:0] vote;
reg[2:0] sum;
integer i;
reg pass;
always @(vote)
  begin
sum=0;
for(i=0;i<=6;i=i+1)       //for语句
if(vote[i]) sum=sum+1;
if(sum[2])  pass=1;      //若超过4人赞成,则pass=1
else      pass=0;
   end
endmodule
这里if(sum【2】)代表是4?sum不是【2:0】才3位吗求解释;
asdf012 发表于 2013-10-15 10:02 | 显示全部楼层
sum[2]是sum的最高位三,sum[2]=1,则至少为100,这样就为4,//若超过4人赞成,则pass=1
haitaox 发表于 2013-10-15 12:08 | 显示全部楼层
我建议你用modelsim仿真一下,初学者最好是边仿真边学习,这样提高很快的
yghanwuji 发表于 2013-10-15 13:13 | 显示全部楼层
SUM[2:0] : 000,001,010,011,100。就四个了啊,数电要看看了
Dick00 发表于 2013-10-15 13:56 | 显示全部楼层
貌似sum【2:0】和sum【2】不是一个概念吧,干嘛不写成if(sum>3)呢?
ococ 发表于 2013-10-15 15:09 | 显示全部楼层
Dick00 发表于 2013-10-15 13:56
貌似sum【2:0】和sum【2】不是一个概念吧,干嘛不写成if(sum>3)呢?

写成if(sum>3)综合后占用的资源会多一点,因为需要判断三位数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:只有坚持不懈的努力,才能最终走向成功!

22

主题

164

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部