summaryrefslogtreecommitdiff
path: root/lab_5/SRC/tb.sv
blob: 6ace7a4794742401e618fe0ea5f8e6981956a1d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Contains the FAIL_UNLESS_EQUAL and RND_CHECK macros.
`include "macro.svh"
`include "typedef_pkg.sv"
`include "interface.sv"
`include "scoreboard.sv"
`include "monitor.sv"
`include "generator.sv"
module tb;
import typedef_pkg::*;

// [Step 1] Declare signals that connect to DUV. Intialize the clk signal with a value of 1'b0	

// [Step 2] Instantiate the interface, scoreboard, monitor and generator.	
		   
 
// [Step 3] Instantiate the DUV module.
		
	
// [Step 4] Always block to generate the clock.

		
// [Step 5] Create the covergroup for functional covarege.

	
// [Step 6] Instantiate the covergroup.	

	
	initial begin	
		

	// [Step 7] Create a new isntance of covergroup.
 
		repeat (500) begin
			@(negedge clk);		
				
				// [Step 8] Call sitimulus task from generator.
				
				// [Step 9] Pass randomized variables to scoreboard.
				
				
			@(negedge clk);	
				// [Step 10] Pass result to scoreboard.
				
				// [Step 11] Start sampling of the functional covarege.
			
			// Write a randomized parameters and result on screen (in decimal)	
			
			
			// [Step 12] call check task from monitor.
					
		end //Repeat
		
		
		
	end //Initial;
	
	
	
	
initial begin: B
		
		#10300;
		$display ("finished successfully");
		$finish();
      
	end: B
endmodule : tb