集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: longtime

verilog问题,什麽是过程语句先导的过程块?怎摸改?

[复制链接]
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&rsquo;b0: out=a;
  1&rsquo;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&rsquo;b0: out=a;
  1&rsquo;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 | 显示全部楼层
很受益.谢谢啦。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-4-29 14:12 , Processed in 0.070988 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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