打印

菜鸟再求助

[复制链接]
1234|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。就四个了啊,数电要看看了

使用特权

评论回复
5
Dick00| | 2013-10-15 13:56 | 只看该作者
貌似sum【2:0】和sum【2】不是一个概念吧,干嘛不写成if(sum>3)呢?

使用特权

评论回复
6
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

粉丝