forked from nelsoncsc/easyUVM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
top.sv
59 lines (49 loc) · 1.14 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
59
import uvm_pkg::*;
`include "uvm_macros.svh"
`include "./input_if.sv"
`include "./output_if.sv"
`include "./adder.sv"
`include "./packet_in.sv"
`include "./packet_out.sv"
`include "./sequence_in.sv"
`include "./sequencer.sv"
`include "./driver.sv"
`include "./driver_out.sv"
`include "./monitor.sv"
`include "./monitor_out.sv"
`include "./agent.sv"
`include "./agent_out.sv"
`include "./refmod.sv"
`include "./comparator.sv"
`include "./env.sv"
`include "./simple_test.sv"
//Top
module top;
logic clk;
logic rst;
initial begin
clk = 0;
rst = 1;
#22 rst = 0;
end
always #5 clk = !clk;
logic [1:0] state;
input_if in(clk, rst);
output_if out(clk, rst);
adder sum(in, out, state);
initial begin
`ifdef INCA
$recordvars();
`endif
`ifdef VCS
$vcdpluson;
`endif
`ifdef QUESTA
$wlfdumpvars();
set_config_int("*", "recording_detail", 1);
`endif
uvm_config_db#(input_vif)::set(uvm_root::get(), "*.env_h.mst.*", "vif", in);
uvm_config_db#(output_vif)::set(uvm_root::get(), "*.env_h.slv.*", "vif", out);
run_test("simple_test");
end
endmodule