module diffeq_paj_convert (Xinport, Yinport, Uinport, Aport, DXport, Xoutport, Youtport, Uoutport, clk, reset); input[31:0] Xinport; input[31:0] Yinport; input[31:0] Uinport; input[31:0] Aport; input[31:0] DXport; input clk; input reset; output[31:0] Xoutport; output[31:0] Youtport; output[31:0] Uoutport; reg[31:0] Xoutport; reg[31:0] Youtport; reg[31:0] Uoutport; reg[31:0] x_var; reg[31:0] y_var; reg[31:0] u_var; wire[31:0] temp; reg looping; assign temp = u_var * DXport; always @(posedge clk) begin if (reset == 1'b1) begin looping <= 1'b0; x_var <= 0; y_var <= 0; u_var <= 0; end else if (looping == 1'b0) begin x_var <= Xinport; y_var <= Yinport; u_var <= Uinport; looping <= 1'b1; end else if (x_var < Aport) begin u_var <= (u_var - (temp/*u_var * DXport*/ * 3 * x_var)) - (DXport * 3 * y_var); y_var <= y_var + temp;//(u_var * DXport); x_var <= x_var + DXport; looping <= looping; end else begin Xoutport <= x_var ; Youtport <= y_var ; Uoutport <= u_var ; looping <= 1'b0; end end endmodule