“”端口“的非法输出或输入端口连接

时间:2016-03-31 18:08:36

标签: verilog

我已为两点FFT编码了一个小代码,其输入(64位复数)采用IEEE-754格式(双精度)。这是我的代码的链接(蝴蝶模块,加法器/减法器模块,测试台):

http://pastebin.com/RNRx6J2E

当我尝试模拟测试平台时,我面临以下错误列表:

http://pastebin.com/LRnRzv4A

P.S:我是初学者,所以,我的写作风格可能不好。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:4)

参考OP评论中提供的this链接。您的代码适用于所有SystemVerilog模拟器。模块输出必须连接wire。请参考下图:

Port connection rules

内部模块中的输出端口可以是regwire。但是,当该模块实例化时,必须连接到 net wire

参考IEEE 1800-2012,第23.3.3节:

  

每个端口连接应为连续分配    sink ,其中一个连接项应为信号源,另一个为连接项   应该是信号汇。任务应是连续的   输入或输出端口从源到接收器的分配。

当实例化端口连接时,对于任何其他端口,它是常量分配,因此它始终需要目标端口网

因此,在此代码中,将连接线连接到输出模块add_sub,并将连线值分配给reg outr1,{{1}等等。

outr2

我已经使用EDAPlayground here的所有模拟器模拟了您的代码,它运行正常。请参阅thisthis类似问题。