-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtop.sv
58 lines (46 loc) · 1.2 KB
/
top.sv
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
module top;
//Import Packages
import router_pkg::*;
import uvm_pkg::*;
//Generate Clock
bit clock;
initial
begin
forever
#10 clock = ~clock;
end
//Interface instances
router_if in(clock);
router_if in0(clock);
router_if in1(clock);
router_if in2(clock);
router_top DUV(.clock(clock),
.resetn(in.rst),
.pkt_valid(in.pkt_valid),
.data_in(in.data_in),
.err(in.error),
.busy(in.busy),
.read_enb_0(in0.read_enb),
.read_enb_1(in1.read_enb),
.read_enb_2(in2.read_enb),
.vldout_0(in0.v_out),
.vldout_1(in1.v_out),
.vldout_2(in2.v_out),
.data_out_0(in0.data_out),
.data_out_1(in1.data_out),
.data_out_2(in2.data_out));
initial
begin
//$sdf_annotate("router.sdf",DUV);
//set the virtual interface instances as srings vif_0, vif_1, vif_2, vif_3 using the uvm_config_db
//$fsdbDumpSVA;
//$fsdbDumpvars(0, top);
//$fsdbDumpSVA();
uvm_config_db #(virtual router_if)::set(null,"*","vif",in);
uvm_config_db #(virtual router_if)::set(null,"*","vif_0",in0);
uvm_config_db #(virtual router_if)::set(null,"*","vif_1",in1);
uvm_config_db #(virtual router_if)::set(null,"*","vif_2",in2);
// Call run_test
run_test();
end
endmodule