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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 3855|回复: 8

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

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

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

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

×
如题:

在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块是平行的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

手机版| 小黑屋| 关于我们| 联系我们| 用户协议&隐私声明| 版权投诉通道| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-12-22 12:20 , Processed in 0.122880 second(s), 5 queries , Gzip On, Redis On.

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