日常记录(47)回顾

时间:2022-01-24
本文章向大家介绍日常记录(47)回顾,主要包括日常记录(47)回顾使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

uvm的打印信息有info、warning、error、fatal,只有info有信息等级。

uvm的phase有build、connect、end_of_eleboration、start_of_simulation、run、extract、check、report。

只有build自顶向下,其它自底向上。run的phase在初始化为自底向上,但是执行仿真过程为并行。

通信TLM有单向、双向,阻塞、非阻塞等。使用port和export的主动方式,使用port和export。

被动方式使用analysis port的广播方式(非阻塞),常用在监视器、计分板、覆盖率等。使用write。

在uvm中获取命令行指定的仿真参数,使用uvm_cmdline_processor类。

uvm的基类树。

object类中包括copy、clone、print等方法,report_object中有uvm_report_*的方法,

component有create、set_config、build等方法。sequence_item也存在对应的方法。

verdi配合vcs操作,看波形fsdb文件。

http://blog.sina.com.cn/s/blog_13f7886010102xqlu.html

使用vcs加入参数:-kdb -lca

原始的verdi编译与打开波形。

verdi -sv +v2k -f filelist.f

verdi中使用以下,然后load指定的fsdb文件,然后打开到dut对应的代码,使用ctrl+w将光标选中的信号加入到波形中显示。

verdi操作。https://blog.csdn.net/eyeloveuv/article/details/79287668

verdi -elab simv.daidir/kdb

  

vpd文件生成与打开。

在顶层中添加以下语句

initial begin
    $vcdpluson();
end

然后使用dve -vpd vcdplus.vpd打开文件,观察波形。

约束命名。

针对必须的约束,constraint_name_valid。针对可能需要修改的约束constraint_name_rule,用于添加illegal形式。

uvm提供了do_*函数,用于用户自行定义数据处理。

oop的思想在seq中:

seq中定义通用item,针对某项目继承后使用专用的trans,然后上层是某模块的trans(usb),然后是dut等。

对default的代码覆盖率跳过(waive),要求代码覆盖率100%。
功能覆盖率100%。

 questasim

Mentor公司的ModelSim是业界优秀的HDL语言仿真软件,

http://xilinx.eetrend.com/d6-xilinx/article/2010-07/878.html

本文来自博客园,作者:大浪淘沙、,转载请注明原文链接:https://www.cnblogs.com/bai2022/p/15840763.html

原文地址:https://www.cnblogs.com/bai2022/p/15840763.html