UT平台的搭建的步骤
1.agent的包括dirver,monitor,sequencer,item,interface。
driver需要get interface(用到config_db)和 get_item,driver要实现激励的发送和接口时序的功能。
sequencer 启动driver,sequencer启动后driver会一直get item。
driver和squencer要在agent中connect,不然无法启动driver。
monitor需要get interface,不然没办法采集item,还要定义tlm传输采集的item,传到refm或者sco。
2.test_top层 主要工作是接口的连接,始终,复位和run_test()
例化interface并且和rtl顶层接口连接,例化完要set出去,不然monitor get不到会哭的(一般get这里都会加打印判断,只要路径层级设置没有问题一般都能get到),有时候顶层也会添加网表的一些文件。
3.env virtual sequencer ,refm,sco,agent一般会在中例化,注意例化后要connect_phase连接一下接口,一般monitor到refm,refm到sco,monitor到sco,sequencer和virtural sequencr的连接。
4.refm 接受monitor的item处理(sv函数,或者cmodel)处理完输出item传输到sco。
5.sco 主要接收monitor采集的rtl输出和refm输出item做比对,比对过程要设计合理,尽量设计打印比较合理,能反馈一些错误方向的信息,好去定位。
6.vsequencer 主要工作能管理多个sequencer。
7.sequence 例化传一个对应item参数,在这里约束transaction,strat_item启动。
8.base_test要例化env,后面写不同的case,对应不同的sequence,vsqr.start启动,也可以隐式启动。