Add missing verilog file that is inadvertantly used.
This commit is contained in:
@@ -2148,6 +2148,11 @@
|
||||
<spirit:fileType>verilogSource</spirit:fileType>
|
||||
<spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
|
||||
</spirit:file>
|
||||
<spirit:file>
|
||||
<spirit:name>hdl/Counter.v</spirit:name>
|
||||
<spirit:fileType>verilogSource</spirit:fileType>
|
||||
<spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
|
||||
</spirit:file>
|
||||
<spirit:file>
|
||||
<spirit:name>hdl/RevertReg.v</spirit:name>
|
||||
<spirit:fileType>verilogSource</spirit:fileType>
|
||||
|
||||
75
src_SSITH_P3/xilinx_ip/hdl/Counter.v
Normal file
75
src_SSITH_P3/xilinx_ip/hdl/Counter.v
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
`ifdef BSV_ASSIGNMENT_DELAY
|
||||
`else
|
||||
`define BSV_ASSIGNMENT_DELAY
|
||||
`endif
|
||||
|
||||
`ifdef BSV_POSITIVE_RESET
|
||||
`define BSV_RESET_VALUE 1'b1
|
||||
`define BSV_RESET_EDGE posedge
|
||||
`else
|
||||
`define BSV_RESET_VALUE 1'b0
|
||||
`define BSV_RESET_EDGE negedge
|
||||
`endif
|
||||
|
||||
|
||||
`ifdef BSV_ASYNC_RESET
|
||||
`define BSV_ARESET_EDGE_META or `BSV_RESET_EDGE RST
|
||||
`else
|
||||
`define BSV_ARESET_EDGE_META
|
||||
`endif
|
||||
|
||||
|
||||
// N -bit counter with load, set and 2 increment
|
||||
module Counter(CLK,
|
||||
RST,
|
||||
Q_OUT,
|
||||
DATA_A, ADDA,
|
||||
DATA_B, ADDB,
|
||||
DATA_C, SETC,
|
||||
DATA_F, SETF);
|
||||
|
||||
parameter width = 1;
|
||||
parameter init = 0;
|
||||
|
||||
input CLK;
|
||||
input RST;
|
||||
input [width - 1 : 0] DATA_A;
|
||||
input ADDA;
|
||||
input [width - 1 : 0] DATA_B;
|
||||
input ADDB;
|
||||
input [width - 1 : 0] DATA_C;
|
||||
input SETC;
|
||||
input [width - 1 : 0] DATA_F;
|
||||
input SETF;
|
||||
|
||||
output [width - 1 : 0] Q_OUT;
|
||||
|
||||
|
||||
|
||||
reg [width - 1 : 0] q_state ;
|
||||
|
||||
assign Q_OUT = q_state ;
|
||||
|
||||
always@(posedge CLK `BSV_ARESET_EDGE_META) begin
|
||||
if (RST == `BSV_RESET_VALUE)
|
||||
q_state <= `BSV_ASSIGNMENT_DELAY init;
|
||||
else
|
||||
begin
|
||||
if ( SETF )
|
||||
q_state <= `BSV_ASSIGNMENT_DELAY DATA_F ;
|
||||
else
|
||||
q_state <= `BSV_ASSIGNMENT_DELAY (SETC ? DATA_C : q_state ) + (ADDA ? DATA_A : {width {1'b0}}) + (ADDB ? DATA_B : {width {1'b0}} ) ;
|
||||
end // else: !if(RST == `BSV_RESET_VALUE)
|
||||
end // always@ (posedge CLK)
|
||||
|
||||
`ifdef BSV_NO_INITIAL_BLOCKS
|
||||
`else // not BSV_NO_INITIAL_BLOCKS
|
||||
// synopsys translate_off
|
||||
initial begin
|
||||
q_state = {((width + 1)/2){2'b10}} ;
|
||||
end
|
||||
// synopsys translate_on
|
||||
`endif // BSV_NO_INITIAL_BLOCKS
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user