日常记录(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
- 倍数提高工作效率的 Android Studio 奇技
- xss如何加载远程js的一些tips
- Android中如何实现图文混排
- Jenkins 创始人:持续交付的 What、Why 及 How
- Android中如何提取和生成mp4文件
- 两张图片告诉你为什么域名会被解析到65.49.2.178
- 【有人@我】Android中高亮变色显示文本中的关键字
- 一个简单易用的 Android 导航栏TitleBar
- 分析一个跨平台DDOS僵尸网络
- Android快速开发框架 Ultimate
- Cisco Linksys路由器蠕虫The Moon正在蔓延
- 移动支付安全评测:微信支付篇
- 如何优化 Android Studio 启动、编译和运行速度?
- 微信小程序左右滑动切换图片酷炫效果(附效果)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python3开发环境搭建详细教程
- php使用QueryList轻松采集js动态渲染页面方法
- PHP convert_uudecode()函数讲解
- php实现在线考试系统【附源码】
- 实例介绍PHP中zip_open()函数用法
- php实现数字补零的方法总结
- PHP配置ZendOpcache插件加速
- 详解php用static方法的原因
- phpinfo无法显示的原因及解决办法
- 在php的yii2框架中整合hbase库的方法
- PHP安装memcache扩展的步骤讲解
- python退出循环的方法
- PHP crypt()函数的用法讲解
- Python如何自动获取目标网站最新通知
- PHP+mysql实现的三级联动菜单功能示例