集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 5577|回复: 14

verilog代码:将一跟控制线与一个多位的输入端相与

[复制链接]
UFP 发表于 2010-6-26 01:32:27 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-6-28 01:06 编辑

将一跟控制线与一个多位的输入端相与,有下面这段代码:<br>
module u(a,en,b);<br>
input[3:0] a;<br>
input en;<br>
output[3:0] b;<br>
<br>
assign b[0]=a[0]&amp;en;<br>
assign b[1]=a[1]&amp;en;<br>
assign b[2]=a[2]&amp;en;<br>
assign b[3]=a[3]&amp;en;<br>
endmodule<br>
<br>
但是这样每位都写出来好麻烦哦,可以写成:assign b=a&amp;en;吗?<br>
还有其它写法吗?
CTT 发表于 2010-6-26 02:02:06 | 显示全部楼层
其结果是等效于b[0]=a[0]&amp;en;<br>
那到底该怎样写才行呢?
VVC 发表于 2010-6-26 02:30:24 | 显示全部楼层
always @(a)<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if (en) b &lt;=#TP a;
FFT 发表于 2010-6-26 02:53:24 | 显示全部楼层
是什么意思啊?
CCIE 发表于 2010-6-26 04:12:25 | 显示全部楼层
a有变化就看en是不是1,是的话a给b
interige 发表于 2010-6-26 04:51:28 | 显示全部楼层
assign b=a&amp;{en,en,en,en};
encounter 发表于 2010-6-26 06:33:30 | 显示全部楼层
学习学习~~~~~~~~~
interi 发表于 2010-6-26 07:23:34 | 显示全部楼层
assign b = en ? a : 4'b0000;
VVIC 发表于 2010-6-26 07:48:22 | 显示全部楼层
assign b = a &amp; {4(en)};
CHANG 发表于 2010-6-26 08:42:04 | 显示全部楼层
逻辑上相同,但是综合结果可能不一样。<br>
原来的综合成与门,这样综合出来就是MUX了
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 17:08 , Processed in 0.069669 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表