UFP 发表于 2010-6-26 01:32:27

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

本帖最后由 fpgaw 于 2010-6-28 01:06 编辑

将一跟控制线与一个多位的输入端相与,有下面这段代码:<br>
module u(a,en,b);<br>
input a;<br>
input en;<br>
output b;<br>
<br>
assign b=a&amp;en;<br>
assign b=a&amp;en;<br>
assign b=a&amp;en;<br>
assign b=a&amp;en;<br>
endmodule<br>
<br>
但是这样每位都写出来好麻烦哦,可以写成:assign b=a&amp;en;吗?<br>
还有其它写法吗?

CTT 发表于 2010-6-26 02:02:06

其结果是等效于b=a&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] 2
查看完整版本: verilog代码:将一跟控制线与一个多位的输入端相与