|
| 1 | +`include "uvm_macros.svh" |
| 2 | +import uvm_pkg::*; |
| 3 | +//Include all files |
| 4 | +`include "apb_if.sv" |
| 5 | +`include "apb_transaction.sv" |
| 6 | +`include "apb_write_read_sequence.sv" |
| 7 | +`include "apb_write_read_b2b_sequence.sv" |
| 8 | +`include "apb_error_addr_sequence.sv" |
| 9 | +`include "apb_error_write_sequence.sv" |
| 10 | +`include "apb_error_read_sequence.sv" |
| 11 | +`include "apb_burst_write_read_sequence.sv" |
| 12 | +`include "apb_burst_diff_data_sequence.sv" |
| 13 | +`include "apb_max_wr_addr_sequence.sv" |
| 14 | +`include "apb_max_burst_sequence.sv" |
| 15 | +`include "apb_sequencer.sv" |
| 16 | +`include "apb_wdriver.sv" |
| 17 | +`include "apb_wmonitor.sv" |
| 18 | +`include "apb_rmonitor.sv" |
| 19 | +`include "apb_wagent.sv" |
| 20 | +`include "apb_ragent.sv" |
| 21 | +`include "apb_scoreboard.sv" |
| 22 | +`include "apb_coverge_model.sv" |
| 23 | +`include "apb_env.sv" |
| 24 | +`include "apb_test_wr.sv" |
| 25 | +`include "apb_test_wrb2b.sv" |
| 26 | +`include "apb_test_bwr.sv" |
| 27 | +`include "apb_test_bdd.sv" |
| 28 | +`include "apb_test_mbwr.sv" |
| 29 | +`include "apb_test_ea.sv" |
| 30 | +`include "apb_test_ew.sv" |
| 31 | +`include "apb_test_er.sv" |
| 32 | +`include "apb_test_mma.sv" |
| 33 | +`include "apb_base_test.sv" |
| 34 | +module apb_top(); |
| 35 | + |
| 36 | + apb_if vif(); |
| 37 | + |
| 38 | + AMBA_APB dut(.PCLK(vif.PCLK), |
| 39 | + .PRESET(vif.PRESET), .PADDR(vif.PADDR), .PWRITE(vif.PWRITE), .PSEL(vif.PSEL), .PENABLE(vif.PENABLE), .PWDATA(vif.PWDATA), .PRDATA(vif.PRDATA), .PREADY(vif.PREADY)); |
| 40 | + |
| 41 | + initial |
| 42 | + begin |
| 43 | + vif.PCLK = 1'b0; |
| 44 | + forever |
| 45 | + #5 vif.PCLK = ~vif.PCLK; |
| 46 | + end |
| 47 | + initial |
| 48 | + begin |
| 49 | + vif.PRESET = 1'b1; |
| 50 | + `uvm_info("APB TOP", $sformatf("RESET is applied"), UVM_LOW); |
| 51 | + #15; |
| 52 | + vif.PRESET = 1'b0; |
| 53 | + `uvm_info("APB TOP", $sformatf("RESET is released"), UVM_LOW); |
| 54 | + end |
| 55 | + |
| 56 | + |
| 57 | +initial begin |
| 58 | + uvm_config_db#(virtual apb_if) :: set(null,"*","vif",vif); |
| 59 | + |
| 60 | + run_test("apb_base_test"); |
| 61 | + |
| 62 | +end |
| 63 | + initial begin |
| 64 | + $dumpfile("dump.vcd"); |
| 65 | + $dumpvars; |
| 66 | + #100000; |
| 67 | + $finish; |
| 68 | +end |
| 69 | + |
| 70 | +endmodule |
0 commit comments