查看: 3383|回复: 4

[提问] 模块实例化 新手求助

[复制链接]
发表于 2012-5-29 21:30:31 | 显示全部楼层 |阅读模式
关键词: 模块实例化
module f(...,S_out);
...
output S_out;
...
reg S_out;
endmodule

module top(...);
reg S_out;//S_out不是输入输出口
f U1(..,.S_out(S_out));
always @()
begin
   ...
   Sout<=1;
   ...
end
endmodule
编译跳出错误:top模块中的寄存器S_out不能连接到U1的输出端口S_out??
该怎么改?
发表于 2012-5-30 15:06:29 | 显示全部楼层
改为wire型!
发表于 2012-5-30 15:21:54 | 显示全部楼层
reg S_out;//S_out不是输入输出口
改为:
wire S_out;
发表于 2012-5-30 22:17:17 | 显示全部楼层
模块实例化时要注意信号由哪传向哪。从你给出的那点代码看,你在模块top中产生了信号S_out,并将S_out通过模块 f 的端口传入到模块f内部,也就是说top中的S_out是源,所以模块f内部的S_out应该为wire型,而且端口类型应该为wire,代表一根导线。
发表于 2012-5-30 22:19:16 | 显示全部楼层
模块实例化时要注意信号由哪传向哪。从你给出的那点代码看,你在模块top中产生了信号S_out,并将S_out通过模块 f 的端口传入到模块f内部,也就是说top中的S_out是源,所以模块f内部的S_out应该为【wire】型,代表一根导线,而且端口类型应该为【input】。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表