Verilog程序16位除法器QUARTUS2调试出来波形总是不对
时间:10-02
整理:3721RD
点击:
刚学习FPGA一个礼拜,从树上抄了一段小程序,16位除法器,QUARTUS2调试出来波形总是不对(偶尔有几段是对的),还望大神指教,本人菜鸟。
程序:
为什么QU(商),RE(余数)老是不对,而且第一个时钟都是对的。
程序:
- module div16(input CLK, input [15:0] A,B, output reg [15:0] QU,RE);
- reg[15:0] AT,BT,P,Q;
- integer i;
- always @(posedge CLK)
- begin
- AT=A; BT=B; P=16'h0000; Q=16'h0000;
- for(i=15;i>=0;i=i-1)
- begin
- P={P[14:0], AT[15]};
- AT={AT[14:0], 1'b0};
- P=P-BT;
- if(P[15]==1)
- begin
- Q=0;
- P=P+BT;
- end
- else Q=1;
- end
- QU=Q;
- RE=P;
- end
- endmodule
为什么QU(商),RE(余数)老是不对,而且第一个时钟都是对的。