Skip to content

Commit 783c33e

Browse files
committed
Updated testbench template project
1 parent 8f32dd5 commit 783c33e

File tree

3 files changed

+23
-76
lines changed

3 files changed

+23
-76
lines changed

example_projects/testbench_template_tb/c_rand.v

Lines changed: 0 additions & 48 deletions
This file was deleted.

example_projects/testbench_template_tb/compile.tcl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,17 @@
1717
set library_file_list {
1818

1919
work {main_tb.sv
20-
# main.sv
21-
c_rand.v
20+
main.sv
21+
clk_divider.sv
2222
edge_detect.sv
23-
delay.sv
24-
clk_divider.sv}
23+
delay.sv}
2524
}
2625

2726
set vsim_params "-L altera_mf_ver -L altera_mf -L lpm_ver -L lpm"
2827

2928
set top_level work.main_tb
3029

31-
set suppress_err_list ""
30+
set suppress_err_list 0
3231

3332
# Console commands:
3433
# r = Recompile changed and dependent files

example_projects/testbench_template_tb/main_tb.sv

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -60,42 +60,34 @@ end
6060
logic nrst_once;
6161
assign nrst_once = ~rst_once;
6262

63-
logic [31:0] DerivedClocks;
63+
logic [31:0] clk200_div;
6464
clk_divider #(
6565
.WIDTH( 32 )
6666
) cd1 (
6767
.clk( clk200 ),
6868
.nrst( nrst_once ),
6969
.ena( 1'b1 ),
70-
.out( DerivedClocks[31:0] )
70+
.out( clk200_div[31:0] )
7171
);
7272

73-
logic [31:0] E_DerivedClocks;
73+
logic [31:0] clk200_div_rise;
7474
edge_detect ed1[31:0] (
7575
.clk( {32{clk200}} ),
7676
.anrst( {32{nrst_once}} ),
77-
.in( DerivedClocks[31:0] ),
78-
.rising( E_DerivedClocks[31:0] ),
77+
.in( clk200_div[31:0] ),
78+
.rising( clk200_div_rise[31:0] ),
7979
.falling( ),
8080
.both( )
8181
);
8282

83-
logic [31:0] RandomNumber1;
84-
c_rand rng1 (
85-
.clk( clk200 ),
86-
.rst( 1'b0 ),
87-
.reseed( rst_once ),
88-
.seed_val( DerivedClocks[31:0] ^ (DerivedClocks[31:0] << 1) ),
89-
.out( RandomNumber1[15:0] )
90-
);
91-
92-
c_rand rng2 (
93-
.clk( clk200 ),
94-
.rst( 1'b0 ),
95-
.reseed( rst_once ),
96-
.seed_val( DerivedClocks[31:0] ^ (DerivedClocks[31:0] << 2) ),
97-
.out( RandomNumber1[31:16] )
98-
);
83+
logic [31:0] rnd_data;
84+
always_ff @(posedge clk200) begin
85+
if( ~nrst_once ) begin
86+
rnd_data[31:0] <= $random( 1 ); // seeding
87+
end else begin
88+
rnd_data[31:0] <= $random;
89+
end
90+
end
9991

10092
logic start;
10193
initial begin
@@ -104,7 +96,11 @@ initial begin
10496
#20 start = 1'b0;
10597
end
10698

107-
// Module under test ==========================================================
99+
//initial begin
100+
// #1000 $finish;
101+
//end
102+
103+
// Module under test ===========================================================
108104

109105
logic [15:0] seq_cntr = '0;
110106

@@ -121,7 +117,7 @@ always_ff @(posedge clk200) begin
121117

122118
if( seq_cntr[15:0]<300 ) begin
123119
id[31:0] <= '1;
124-
//id[31:0] <= {4{RandomNumber1[15:0]}};
120+
//id[31:0] <= {4{rnd_data[15:0]}};
125121
end else begin
126122
id[31:0] <= '0;
127123
end

0 commit comments

Comments
 (0)