《老师2》:娜娜倾情新作,时代回响与女性视角的深度交织

核心内容摘要

裂
探索无限可能:vivo3.0免费破解版,解锁手机新体验!

亚洲首页:连接世界,触动心灵的数字新篇章

仿真文件仿真文件可以分为3类在不同路径下分别是VIP通用文件、AXI VIP文件和example文件首先建议将example拷贝到VIPCAT的路径之外。

/usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv /usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi /usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi/examples/legacy_examples/using_soma_interface/axi4验证环境tb主要是定义了时钟、复位系统包含1主、1从、1无效主、1无效从对4个子接口又包了1层总接口但实际接口均为example文件定义接口包含获取路径的方法。

string instance_path $sformatf(%m); function automatic string getPath(); return instance_path; endfunctiontop_testexample路径下的vip_example.f会指定测试用例也可以直接通过生成路径下csh脚本修改。

test首先会例化sve这是个example文件就是把env和sqrt包在了一起。

axi4UvmUserSve axiSve0;test在build phase对VIP进行了配置VIP以agent形式例化*后是4个agent的名字然后通过agent的inst成员进行配置。

uvm_config_db#(int)::set(this,*activeMaster.inst, waveformDebuggerMonEnable,

; uvm_config_db#(int)::set(this,*passiveMaster.inst, waveformDebuggerMonEnable,

; uvm_config_db#(int)::set(this,*passiveSlave.inst, waveformDebuggerMonEnable,

; uvm_config_db#(int)::set(this,*activeSlave.inst, waveformDebuggerMonEnable,

;test还在build phase传递了sequence。

uvm_config_db#(uvm_object_wrapper)::set(this, axiSve

axiEnv

activeMaster.sequencer.run_phase, default_sequence,userSimpleSeq::type_id::get());env由于VIP是agentenvironment同样是example文件。

env首先例化了4个agent例化的agent是VIP agentcdnAxiUvmAgent的example定义的子类。

axi4UvmUserActiveMasterAgent activeMaster; axi4UvmUserActiveSlaveAgent activeSlave; axi4UvmUserPassiveAgent passiveSlave; axi4UvmUserPassiveAgent passiveMaster;env在build phase对VIP进行了配置通过cfg类实现。

activeMasterCfg.is_active UVM_ACTIVE; activeMasterCfg.PortType CDN_AXI_CFG_MASTER; uvm_config_object::set(this,activeSlave,cfg,activeSlaveCfg);agentexample文件定义了VIP agent的2级子类只做了传递接口1件事。

传递方法是tb传递虚接口子类agent通过虚接口的getPath()获取路径字符串然后通过配置agent的字符串变量实现驱动/检测接口的绑定。

uvm_config_db#(...)::get(this,,vif,vif); __internal_interface_Path string(vif.getPath());seqrsequencer为example文件包含了主/从agent的seqr。

cdnAxiUvmSequencer masterSeqr; cdnAxiUvmSequencer slaveSeqr;seq示例使用sequence为userSimpleSeq为example文件从前面可以看到发给了master agent的seqr。

seq内容是发送4次长burst传输和8次随机传输通过约束trans进行传输。

denaliCdn_axiTransaction trans; uvm_do_with(trans, { trans.Type inside {DENALI_CDN_AXI_TR_Read, DENALI_CDN_AXI_TR_Write}; trans.Length 16; }); get_response(trans);VIPagentCadence AXI VIP以agent的形式展现对于多主多从场景需要例化多个agent。

类名为cdnAxiUvmAgent包含常规的monitor、driver和sequencer题外话VIP竟然都是明码。

需要注意的是agent不包含虚接口是通过__internal__interfacePath字符串变量实现传递。

cdnAxiUvmMonitor monitor; cdnAxiUvmDriver driver; cdnAxiUvmSequencer sequencer; cdnAxiUvmInstance inst; cdnAxiUvmMemInstance regInst; cdnAxiUvmMemInstance memoryInst; string __internal__interfacePath; cdnAxiUvmConfig cfg;transVIP中传输类的类名为denaliCdn_axiTransaction。

首先包含协议信息例如AXI3/

AXI/ACE、AXI/AXI-Lite。

rand denaliCdn_axiSpecVersionT SpecVer ; rand denaliCdn_axiSpecSubtypeT SpecSubtype ; rand denaliCdn_axiSpecInterfaceT SpecInterface ;然后包含传输信息包括读/写、地址、数据、边带信号。

rand denaliCdn_axiDirectionT Direction ; rand reg [63:0] StartAddress ; rand reg [7:0] Data [] ; rand reg [7:0] Alen ; rand denaliCdn_axiTransferSizeT Size ; rand denaliCdn_axiBurstKindT Kind ; rand reg [4:0] Region ; rand reg [31:0] Auser [] ; rand reg [31:0] Buser [] ;同时包含一些接口信息和延时等控制信息。

// id max size rand reg [31:0] ArIdLength; // address max size rand reg [31:0] ArAddrLength; rand reg [31:0] UserData ; rand reg [31:0] BreadyDelay ;

六间房隐藏视频大全免费-六间房隐藏视频大全免费应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123