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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy