前面两种方法都需要编写component组件,例如driver,monitor,sequencer等。Synopsys APB VIP可以避免一些重复繁琐的工作。正常来说,尤其是在SOC的验证工作中,使用APB总线配置的低速外设才是通常做法。
使用VIP去验watchdog首先需要搞清楚他的一个基本验证框架,以及如何引入Synopsys AMBA VIP库进行编译。需要编写的文件
- 顶层tb_top 定义svt_apb_if中的clk与resetn,给到interface,进行interface与DUT的连接,派发接口,生成fsdb文件等。
- 基础环境basic_env 继承于uvm_env,在其中例化svt_apb_master_env以及VIP的配置文件cfg,将配置文件cfg通过uvm_config_db机制给到master_env。
一、基础结构
二、编译库
之前两种做法,编译方式是编写file.f文件,+incdir+../dir将项目的各个目录作为`include的搜索目录,然后将需要编译的文件(包括各种component组件以及test\sequence等)在tb_top中按照例化顺序全部`include进来,顶层tb_top作为首先执行的文件,首先会对这些`include文件进行编译file.f文件只需要将加入tb_top为需要编译的文件,其`include文件自然会去+incdir+中声明的目录去寻找。
在VIP配置的情况下,file.f需要添加一个新的包,svt_apb.uvm.pkg。这个包位于Synopsys VIP的安装位置的include/sverilog中,在linux系统中,可以声明环境变量代替此路径,这样引用更加方便。VIP运行需要的所有文件,都在其中,另外还需要+incdir+声明此包中文件的搜索目录,sverilog和vcs目录。
在搭建完环境后,可以看一下compile.log,所需文件均可以在svt_apb.uvm.pkg中找到。
file.f大概编写方式
//file.f
+incdir+../
+incdir+../
+incdir+../
+incdir+../
+incdir+$setenv/include/sverilog
+incdir+$setenv/src/sverilog/vcs
$setenv/include/sverilog/svt_apb.uvm.pkg
../duv/tb_top.sv
三、VIP环境下中断信号产生测试
UVM_INFO @ 0: reporter [UVMTOP] UVM testbench topology:
---------------------------------------------------------------------------------
Name Type Size Value
---------------------------------------------------------------------------------
uvm_test_top wdog_test_00 - @670
env top_env - @678
apb_master_env svt_apb_system_env - @824
master svt_apb_master_agent - @1473
driver svt_apb_master - @2187
rsp_port uvm_analysis_port - @2204
seq_item_port uvm_seq_item_pull_port - @2195
cfg svt_apb_system_configuration - @2275
monitor svt_apb_master_monitor - @2218
item_observed_port uvm_analysis_port - @2230
item_observed_port_intercept uvm_component - @2239
m_export uvm_analysis_imp - @2256
m_port uvm_analysis_port - @2247
cfg svt_apb_system_configuration - @2670
sequencer svt_apb_master_sequencer - @2058
rsp_export uvm_analysis_export - @2066
seq_item_export uvm_seq_item_pull_imp - @2172
cfg svt_apb_system_configuration - @3189
arbitration_queue array 0 -
lock_queue array 0 -
num_last_reqs integral 32 'd1
num_last_rsps integral 32 'd1
cfg svt_apb_system_configuration - @1630
sequencer svt_apb_system_sequencer - @1489
rsp_export uvm_analysis_export - @1497
seq_item_export uvm_seq_item_pull_imp - @1603
cfg svt_apb_system_configuration - @1051
arbitration_queue array 0 -
lock_queue array 0 -
num_last_reqs integral 32 'd1
num_last_rsps integral 32 'd1
cfg svt_apb_system_configuration - @1051
vsqr wdog_virtual_sequencer - @837
rsp_export uvm_analysis_export - @845
seq_item_export uvm_seq_item_pull_imp - @951
arbitration_queue array 0 -
lock_queue array 0 -
num_last_reqs integral 32 'd1
num_last_rsps integral 32 'd1
---------------------------------------------------------------------------------
UVM_INFO /eda/designware_home/vip/svt/common/P-2019.09/sverilog/src/vcs/svt_agent.svp(388) @ 1000: uvm_test_top.env.apb_master_env.master [display_checked_out_features] VIP Vendor: Synopsys, VIP Suite: AMBA-APB, VIP License: VIP-AMBA-SVT
UVM_INFO /eda/designware_home/vip/svt/common/P-2019.09/sverilog/src/vcs/svt_env.svp(704) @ 1000: uvm_test_top.env.apb_master_env [display_checked_out_features] VIP Vendor: Synopsys, VIP Suite: AMBA-APB, VIP License: VIP-AMBA-SVT
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 45000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(WRITE) ADDRESS('hc00) DATA('h1acce551) } )
UVM_INFO ../seq/wdog_base_sequence.sv(61) @ 45000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB WRITE transaction complete
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 95000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(WRITE) ADDRESS('h0) DATA('h20) } )
UVM_INFO ../seq/wdog_base_sequence.sv(61) @ 95000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB WRITE transaction complete
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 145000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(WRITE) ADDRESS('h8) DATA('h1) } )
UVM_INFO ../seq/wdog_base_sequence.sv(61) @ 145000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB WRITE transaction complete
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 205000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h20) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 205000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@235000:WDOGVALUE:20
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 265000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h1f) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 265000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@295000:WDOGVALUE:1f
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 325000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h1e) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 325000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@355000:WDOGVALUE:1e
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 385000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h1d) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 385000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@415000:WDOGVALUE:1d
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 445000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h1b) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 445000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@475000:WDOGVALUE:1b
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 505000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h1a) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 505000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@535000:WDOGVALUE:1a
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 565000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h19) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 565000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@595000:WDOGVALUE:19
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 625000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h18) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 625000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@655000:WDOGVALUE:18
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 685000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h17) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 685000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@715000:WDOGVALUE:17
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 745000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h15) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 745000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@775000:WDOGVALUE:15
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 805000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h14) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 805000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@835000:WDOGVALUE:14
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 865000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h13) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 865000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@895000:WDOGVALUE:13
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 925000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h12) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 925000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@955000:WDOGVALUE:12
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 985000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h11) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 985000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1015000:WDOGVALUE:11
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1045000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('hf) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1045000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1075000:WDOGVALUE:f
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1105000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('he) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1105000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1135000:WDOGVALUE:e
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1165000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('hd) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1165000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1195000:WDOGVALUE:d
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1225000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('hc) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1225000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1255000:WDOGVALUE:c
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1285000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('hb) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1285000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1315000:WDOGVALUE:b
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1345000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h9) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1345000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1375000:WDOGVALUE:9
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1405000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h8) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1405000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1435000:WDOGVALUE:8
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1465000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h7) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1465000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1495000:WDOGVALUE:7
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1525000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h6) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1525000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1555000:WDOGVALUE:6
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1585000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h5) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1585000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1615000:WDOGVALUE:5
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1645000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h3) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1645000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1675000:WDOGVALUE:3
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1705000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h2) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1705000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1735000:WDOGVALUE:2
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1765000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h1) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1765000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1795000:WDOGVALUE:1
UVM_INFO /eda/designware_home/vip/svt/amba_svt/P-2019.09/apb_master_svt/sverilog/src/vcs/svt_apb_master_common.svp(197) @ 1825000: uvm_test_top.env.apb_master_env.master [sample_access_phase_signals] Completing the Access Phase of a transaction (slave_id='d0, {XACT_TYPE(READ) ADDRESS('h4) DATA('h0) } )
UVM_INFO ../seq/wdog_base_sequence.sv(93) @ 1825000: uvm_test_top.env.apb_master_env.master.sequencer@@wdog_sequence_00 [body] APB READ transaction completed
@1855000:WDOGVALUE:0
WDOGINT RISE 1
SvtTestEpilog:------------------------ Passed---------------
--- UVM Report catcher Summary ---
Number of demoted UVM_FATAL reports : 0
Number of demoted UVM_ERROR reports : 0
Number of demoted UVM_WARNING reports: 0
Number of caught UVM_FATAL reports : 0
Number of caught UVM_ERROR reports : 0
Number of caught UVM_WARNING reports : 0
--- UVM Report Summary ---
** Report counts by severity
UVM_INFO : 77
UVM_WARNING : 0
UVM_ERROR : 0
UVM_FATAL : 0
** Report counts by id
[RNTST] 1
[UVMTOP] 1
[WDOG_RGM] 1
[body] 31
[build_phase] 4
[display_checked_out_features] 2
[new] 4
[sample_access_phase_signals] 31
[top_env] 2
$finish called from file "/eda/vcs_vO-2018.09-SP2/vcs/O-2018.09-SP2/etc/uvm-1.1/base/uvm_root.svh", line 439.
$finish at simulation time 2065000
V C S S i m u l a t i o n R e p o r t
Time: 2065000 ps
CPU Time: 0.610 seconds; Data structure size: 1.5Mb
Thu Dec 28 17:55:20 2023
[std_2022_018@server-2 work]$
其结构在print_topology的打印下很清楚......
其余testcase类似,略.....
忘记给config配置了,大概说一下
- paddr_width 地址宽度,32位
- pdata_width 数据宽度,32位
- apb4_enable svt_apb_system_configuration中,是否启用apb4功能
- num_slaves slave数量,连接到总线slave数量
- create_sub_cfgs 设置完slave数量后,需调用此函数使配置生效
- is_active 判别agent使active还是passive
此项目中,master agent显然需要driver,monitor,sequencer,active模式