encounter
发表于 2010-6-28 10:14:34
原帖由 LOONG 于 2006-10-19 12:56 发表<br>
<br>
呵呵,见笑见笑<br>
我一般知无不言,不知也言,好为人师。<br>
各位不要见怪^_^ 说得好!<br>
大家共同进步!
ngtim
发表于 2010-6-28 10:33:21
过程赋值不是包括initial语句和always语句吗?
tim
发表于 2010-6-28 11:00:15
initial是不可综合的吧
encounter
发表于 2010-6-28 11:43:51
你那个例子没有优先级,就2个信号,用assign 写直接些<br>
always多用于表达时序电路,表示组合逻辑的时候如果内部输入信号全部为敏感信号用always (*)比较好,如果不是全部为敏感信号,用always也比较好控制
CCIE
发表于 2010-6-28 12:53:33
不错啊 。。
usd
发表于 2010-6-28 14:30:20
module mux(out, a, b, select);
output out;
input a, b, select;
case(select)
1’b0: out=a;
1’b1: out=b;
我觉得的你的代码问题比较多啊。1、没有always语句,而且begin-and也没有。always @(a or b or select )这个的敏感表必须的列全,否则在综合的时候会出现错误。
我觉得应该改成这样:module mux(out, a, b, select);
output out;
input a, b, select;
reg out;//其中out还要定义成reg型,否则会出现错误。
always @(a or b or select )
begin
case(select)
1’b0: out=a;
1’b1: out=b;
endcase
end
encounter
发表于 2010-6-28 15:34:08
谢谢各位大侠指点
UFP
发表于 2010-6-28 17:26:50
out<br>
<br>
assign out=(select)?b:a;<br>
这样就可以了
CTT
发表于 2010-6-28 19:05:50
还要加个 reg out
UFP
发表于 2010-6-28 19:19:16
很受益.谢谢啦。