Verilog &引用;“的非法输出或输入输出端口连接”;“港口”;
我已经为两点FFT编写了一个小代码,其中我的输入(64位复数)是IEEE-754格式(双精度)。以下是我的代码链接(蝶形模块、加法器/减法器模块、测试台): 当我尝试模拟测试台时,我面临以下错误列表: 我是初学者,所以我的写作风格可能不好。请帮助我解决这个问题。参考OP评论中提供的链接。您的代码可以与所有SystemVerilog模拟器配合使用。模块的输出必须连接到Verilog &引用;“的非法输出或输入输出端口连接”;“港口”;,verilog,Verilog,我已经为两点FFT编写了一个小代码,其中我的输入(64位复数)是IEEE-754格式(双精度)。以下是我的代码链接(蝶形模块、加法器/减法器模块、测试台): 当我尝试模拟测试台时,我面临以下错误列表: 我是初学者,所以我的写作风格可能不好。请帮助我解决这个问题。参考OP评论中提供的链接。您的代码可以与所有SystemVerilog模拟器配合使用。模块的输出必须连接到导线。请参阅下图: 模块内部的输出端口可以是reg或wire。但是,当该模块被实例化时,它必须连接到网络或电线 参考第23.3
导线
。请参阅下图:
模块内部的输出端口可以是reg
或wire
。但是,当该模块被实例化时,它必须连接到网络或电线
参考第23.3.3节:
每个端口连接应是源到源的连续分配
接收器,其中一个连接项应为信号源,另一个为信号源
应为信号接收器。转让应为连续转让
输入或输出端口从源到接收器的分配
当端口在实例化中连接到任何其他端口时,它是一个常量赋值,因此它总是要求目标端口是一个网络
因此,在此代码中,将电线连接到输出模块add_sub
,并将电线的值分配给reg
outr1
,outr2
等
// Draw wires to be connected as output
wire [63:0] t1,t2,ti1,ti2;
// Drive all regs from values of wires
always @*
begin
outr1 = t1;
outr2 = t2;
outi1 = ti1;
outi2 = ti2;
end
// Change : Wires connection
add_sub adder1(en,clk,inr1[63],inr2[63],inr1[62:52],inr2[62:52],inr1[51:0],inr2[51:0],1'b0,t1[63],t1[62:52],t1[51:0]);
//...
我已经在所有模拟器上模拟了您的代码,效果很好。参考和类似问题。@toolic[其他信息]出现此错误时,我正试图将reg
类型的信号分配给另一个wire
类型的信号。(例如,