打印

请教个verilog问题.想不明白

[复制链接]
1588|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjsyjbb|  楼主 | 2012-3-23 20:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
module MUT4B(R,A,B);
parameter S=4;
input[S:1] A,B;
output[2*S:1] R;
reg[2*S:1] R,AT;
reg[S:1] BT,CT;
always @(A,B)
begin
R=0;AT={{S{1'B0}},A};
BT=B;CT=S;
for(CT=S;CT>0;CT=CT-1)
begin
if(BT[1]) R=R+AT;
AT=AT<<1;BT=BT>>1;
end
end
endmodule

这个程序里面有一句话不知道怎么理解,就是AT={{S(1'B0)},A};这是关于4位乘法器的程序,希望有懂的朋友给我讲解下,最好能举个例子,这样理解的更好一些.谢谢大家啦.

相关帖子

沙发
diweo| | 2012-3-23 21:29 | 只看该作者
1,你没有仔细看代码,照抄都抄错了,
2,请查阅关于‘拼接操作符’和‘重复操作符’的有关内容。

使用特权

评论回复
板凳
viatuzi| | 2012-3-24 08:11 | 只看该作者
你写的代码肯定是有问题的。

使用特权

评论回复
地板
zjsyjbb|  楼主 | 2012-3-24 09:16 | 只看该作者
2# diweo
首先,我很负责地说,我没有抄错,这道题是书上的原题,我仔细检查了下,就是书上的原题.关于四位乘法器的设计,书上提到了两种方法,这种方法我想不明白,才来这里问问知道的朋友.

使用特权

评论回复
5
zjsyjbb|  楼主 | 2012-3-24 09:16 | 只看该作者
3# viatuzi
没有问题,这是我们书上的原题...

使用特权

评论回复
6
viatuzi| | 2012-3-24 09:57 | 只看该作者
sorry,是我看错了。
AT={{S{1'B0}},A};
把S替换成4,就成了 AT={{4{1'B0}},A};
这样就比较清楚了,4{1‘b0}就是把4个1bit的0拼起来,就等于4’b0000
然后再把4‘b0000和A拼起来,即AT={4'b0000,A};



5# zjsyjbb

使用特权

评论回复
7
diweo| | 2012-3-24 17:49 | 只看该作者
我不是说你照抄代码,而是你下面描述的时候写错了,把大括号写成了小括号

使用特权

评论回复
8
GoldSunMonkey| | 2012-3-26 20:52 | 只看该作者
;P

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:一步一个脚印,踏踏实实练好技术..

80

主题

647

帖子

2

粉丝