在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3569|回复: 8

请教:always语句中能出现实例化语句

[复制链接]
发表于 2009-10-24 09:14:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
如题:

在always语句中能不能出现实例化的语句(如and a1(out, a,b))啊 ?

我在编译一个module时,如下:

always @(r or g or b or en)
multiplier m1(.mult_out(y1), .mult_a(Y_NUM1), .mult_b(r));
multiplier m2(.mult_out(y2), .mult_a(Y_NUM2), .mult_b(g));
multiplier m3(.mult_out(y3), .mult_a(Y_NUM3), .mult_b(b));
adder a1(.add_out(y), .add_a(y1), .add_b(y2),.add_c(y3), .add_d(Y_OFFSET));
endmodule

其中multiplier 和adder是我分别定义的两个module,在这里只是对这两个module进行实例化。

出现always语句就会出错,提示说unexpected token: 'multiplier'(指的是第一个multiplier)
而我一旦屏蔽掉always时则没有问题。

我在想是不是“在always语句中不能出现实例化的语句(如and a1(out, a,b))”?但我又没有在树上查到相关的明确说明

盼知情者告知!!!
发表于 2009-10-24 13:33:19 | 显示全部楼层
上層的線路連結直接接就好,只要宣告 wire 即可, 不需要放 always@(....).

verilog 裡, always 是 behavior 的 寫法.你既然已經用實例化,有 and a1 (out, a, b), 不需要 always.
另外的講法就是說已經是 netlist, 寫 always 幹麻?  always 是給 synopsys dc 看的, 讓 dc 來實例化.
发表于 2009-10-24 23:20:40 | 显示全部楼层
好好学学verilog。。。。
 楼主| 发表于 2009-10-25 10:39:19 | 显示全部楼层
谢谢各位的解答!
发表于 2009-10-25 11:09:46 | 显示全部楼层
always语句中不能实例化语句,实例化语句和always块是平行的。
发表于 2009-10-26 10:26:52 | 显示全部楼层
发表于 2009-10-26 10:31:56 | 显示全部楼层
写代码时就要考虑代码用于什么方向上!
发表于 2012-3-16 23:24:34 | 显示全部楼层
你用电平敏感的,肯定不行啊。但是边沿触发的就没有问题
发表于 2012-3-27 15:23:28 | 显示全部楼层
always语句中不能实例化语句,实例化语句和always块是平行的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-6 15:32 , Processed in 0.022162 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表