| |
| /*-------------------------------------------------------------------------- |
| -------------------------------------------------------------------------- |
| -- File Name : diffeq.v |
| -- Author(s) : P. Sridhar |
| -- Affiliation : Laboratory for Digital Design Environments |
| -- Department of Electrical & Computer Engineering |
| -- University of Cincinnati |
| -- Date Created : June 1991. |
| -- Introduction : Behavioral description of a differential equation |
| -- solver written in a synthesizable subset of VHDL. |
| -- Source : Written in HardwareC by Rajesh Gupta, Stanford Univ. |
| -- Obtained from the Highlevel Synthesis Workshop |
| -- Repository. |
| -- |
| -- Modified For Synthesis by Jay(anta) Roy, University of Cincinnati. |
| -- Date Modified : Sept, 91. |
| -- |
| -- Disclaimer : This comes with absolutely no guarantees of any |
| -- kind (just stating the obvious ...) |
| -- |
| -- Acknowledgement : The Distributed Synthesis Systems research at |
| -- the Laboratory for Digital Design Environments, |
| -- University of Cincinnati, is sponsored in part |
| -- by the Defense Advanced Research Projects Agency |
| -- under order number 7056 monitored by the Federal |
| -- Bureau of Investigation under contract number |
| -- J-FBI-89-094. |
| -- |
| -------------------------------------------------------------------------- |
| -------------------------------------------------------------------------*/ |
| module diffeq_f_systemC(aport, dxport, xport, yport, uport, clk, reset); |
| |
| input clk; |
| input reset; |
| input [31:0]aport; |
| input [31:0]dxport; |
| output [31:0]xport; |
| output [31:0]yport; |
| output [31:0]uport; |
| reg [31:0]xport; |
| reg [31:0]yport; |
| reg [31:0]uport; |
| wire [31:0]temp; |
| |
| assign temp = uport * dxport; |
| always @(posedge clk ) |
| begin |
| if (reset == 1'b1) |
| begin |
| xport <= 0; |
| yport <= 0; |
| uport <= 0; |
| end |
| else |
| if (xport < aport) |
| begin |
| xport <= xport + dxport; |
| yport <= yport + temp;//(uport * dxport); |
| uport <= (uport - (temp/*(uport * dxport)*/ * (5 * xport))) - (dxport * (3 * yport)); |
| end |
| end |
| endmodule |