Allow initial blocks to be disabled during tests

Wrap initial blocks with a NO_INIT so that tests for archs without register initialization feature don't fail.
This commit is contained in:
Patrick Urban 2021-09-24 21:50:26 +02:00 committed by Marcelina Kościelnicka
parent 0a72952d5f
commit acb993b27b
6 changed files with 20 additions and 4 deletions

View File

@ -1,7 +1,9 @@
module adff( input d, clk, clr, output reg q );
`ifndef NO_INIT
initial begin
q = 0;
end
`endif
always @( posedge clk, posedge clr )
if ( clr )
q <= 1'b0;
@ -10,9 +12,11 @@ module adff( input d, clk, clr, output reg q );
endmodule
module adffn( input d, clk, clr, output reg q );
`ifndef NO_INIT
initial begin
q = 0;
end
`endif
always @( posedge clk, negedge clr )
if ( !clr )
q <= 1'b0;
@ -21,9 +25,11 @@ module adffn( input d, clk, clr, output reg q );
endmodule
module dffs( input d, clk, pre, clr, output reg q );
`ifndef NO_INIT
initial begin
q = 0;
end
`endif
always @( posedge clk )
if ( pre )
q <= 1'b1;
@ -32,9 +38,11 @@ module dffs( input d, clk, pre, clr, output reg q );
endmodule
module ndffnr( input d, clk, pre, clr, output reg q );
`ifndef NO_INIT
initial begin
q = 0;
end
`endif
always @( negedge clk )
if ( !clr )
q <= 1'b0;

View File

@ -4,9 +4,11 @@ module dff ( input d, clk, output reg q );
endmodule
module dffe( input d, clk, en, output reg q );
`ifndef NO_INIT
initial begin
q = 0;
end
`endif
always @( posedge clk )
if ( en )
q <= d;

View File

@ -1,7 +1,13 @@
module top(out, clk, in);
output [7:0] out;
input signed clk, in;
reg signed [7:0] out = 0;
reg signed [7:0] out;
`ifndef NO_INIT
initial begin
out = 0;
end
`endif
always @(posedge clk)
begin

View File

@ -1,4 +1,4 @@
read_verilog ../common/adffs.v
read_verilog -D NO_INIT ../common/adffs.v
design -save read
hierarchy -top adff

View File

@ -1,4 +1,4 @@
read_verilog ../common/dffs.v
read_verilog -D NO_INIT ../common/dffs.v
design -save read
hierarchy -top dff

View File

@ -1,4 +1,4 @@
read_verilog ../common/shifter.v
read_verilog -D NO_INIT ../common/shifter.v
hierarchy -top top
proc
flatten