求助:关于quartus的时序仿真问题
能说详细点吗?不然大家都很茫然,只知道有问题.
程序
module test(clk,rightdata,dataI,rightout);
input [7:0] rightdata;
input [95:0] dataI;
output signed [31:0] rightout;
input clk;
integer i;
integer j;
reg signed [14:0] rightI;
reg signed [11:0] rightIbuf [7:0];
wire signed [31:0] rightout;
reg signed [15:0] rightIout;
always@(posedge[/email] clk)
begin
if(i<11)
begin
rightIbuf<=$signed((2*rightdata-1))*$signed((dataI[95:0]>>12*i));
i<=i+1;
end
end
always@(posedge[/email] clk)
begin
if(j<11)
begin
rightIout<=rightIout+rightIbuf[j];
j<=j+1;
end
end
assign rightout=rightIout*rightIout;
endmodule
这是功能仿真的结果。
这是时序仿真的结果,按常理来说,时序仿真应该比功能仿真多时延而已,怎么会连结果都改变呢,想不通,哪位大虾可以帮帮我,小女子先谢谢了。
assign rightout=rightIout*rightIout
这个这个,似乎是组合逻辑反馈了吧?能正确?
请教
请教楼上的大虾,能说得更清楚点吗,我应该怎么改呢?
