问题描述
我正在尝试实例化zynq ultRascale的DSP48E2以进行乘法运算,但是即使正确提供了控制信号,它也始终返回P输出零。 (如下例所示)
module top(CLK,A,B,C,ACOUT,BCOUT,P);
input wire CLK;
input wire signed [29:0] A;
input wire signed [17:0] B;
input wire signed [47:0] C;
output wire signed [29:0] ACOUT;
output wire signed [17:0] BCOUT;
output wire signed [47:0] P;
DSP48E2#(
.AMULTSEL("A"),.A_INPUT("DIRECT"),.BMULTSEL("B"),.USE_MULT("MULTIPLY")
)
DSP48E2_inst (
.ACOUT(ACOUT),.BCOUT(BCOUT),.P(P),.ALUMODE(4'd0),.CARRYINSEL(3'd0),.CLK(CLK),.INMODE(5'd0),.OPMODE(9'd5),.A(A),.B(B),.C(C),.CARRYIN(1'd0),.CEA2(1),.CEALUMODE(1),.CEB2(1),.CEC(1),.CEINMODE(1),.CEM(1),.CEP(1),.RSTA(0),.RSTALUMODE(0),.RSTB(0),.RSTC(0),.RSTCTRL(0),.RSTM(0),.RSTP(0)
);
endmodule
在此模块中,ACOUT和BCOUT已连接以验证其功能,并且这两个模块均正常工作,如以下仿真波形中所示。谁能告诉我P输出出了什么问题。 (需要返回A和B的乘法输出)
可以为此进行推理和使用DSP48宏。为了利用DSP48E2的全部灵活性,我想进行实例化。因此,这个问题仅与实例化有关。