Le vent se lève, i|

大浪淘沙、

园龄:7年1个月粉丝:50关注:19

03 2022 档案

日常记录(80)清理
摘要:断言; 外部传值; vim折叠; UVM默认的info设置; uvm的log文件写入; assert和cover; rs锁存器真值表; import和include;
109
0
0
日常记录(79)翻译4
摘要:其它属性 可能还有其他协议规则,这些规则在本质上不是严格的时序性的。对于APB3协议,以下属性为真: •在任何时候,只有一条PSEL线在逻辑1上处于激活状态 有关实现,请参见示例页面的“其他属性”部分。 功能覆盖率 除了检查用于有效传输的协议断言所表示的功能覆盖率之外,我们还需要检查所有可能的传输类
87
0
0
日常记录(78)翻译3
摘要:功能覆盖率应基于观察 试验平台的激励侧应该用于驱动DUT,激励侧不应该用于覆盖率,因为DUT或激励可能无法正常工作,从而导致错误的覆盖率。相反,功能覆盖率应基于在测试平台上DUT输出处观察到的情况。在UVM测试平台中,功能覆盖率将基于分析的事务内容。这对测试平台的设计和分析的事务有影响。 功能覆盖有
222
0
0
日常记录(77)翻译2、功能覆盖率、测试计划
摘要:功能覆盖率 功能验证的目的是确定我们规范中定义的设计要求是否按预期运行。但是,您如何知道所有指定的功能是否都实际实现了呢?此外,我们如何知道是否所有指定的功能都经过了真正的测试?代码覆盖率指标无法帮助我们回答这些问题。 在本节中,我们将介绍一种称为功能覆盖率的显式覆盖率指标,它可以与设计规范书或实现
441
0
1
日常记录(76)代码覆盖率概念
摘要:代码覆盖率 在本节中,我们将介绍各种覆盖率度量,这些度量与设计模型的隐式实现覆盖率空间相关联。通常,这些度量与设计模型的隐式实现覆盖空间相关的。通常,这些指标被称为代码覆盖率或结构覆盖率指标。 优点: 代码覆盖率的起源可以追溯到20世纪60年代,是最早为系统软件测试发明的方法之一[1]。代码覆盖率的
979
0
0
日常记录(75)FiFo与基础内容
摘要:异步FIFO https://gitee.com/bai-mengwei/asyn_fifo/tree/master/dut 最重要的是同步时钟域和亚稳态,是使用非阻塞赋值(两级D触发器实现的) 功能点分为: 存储体本身 always @(posedge rclk) begin if (rclk_e
125
0
0
日常记录(74)其它
摘要:约束重载 约束的定义:constraint name{},如果是想分布的,用dist就可以。 约束的重载是把类继承一下,被继承了然后覆盖约束,用子类完成功能调用。 module taa (); class con_base; rand int a; rand int b; constraint a_
130
0
0
日常记录(73)、241寄存器模型
摘要:我的DUT 我只用了mem[0],它的地址是0x12345678。 信号线一共就这几条、时钟、复位、地址、写数据线、读数据线、数据使能线、写读方向线。 三段always,其中第一段没有用。 module dut (clk, rst_n, addr, w_data, r_data, data_vali
288
0
0
日常记录(72)-209
摘要:seq的消息返回 一般是seq发送给drv,drv可以给seq重新返回一个trans。这个trans可以默认是req类型的rsp,也可以在定义一个rsp的trans 简单发送和接收 drv通过seq_item_port.put_response,实现rsp的发送。 seq通过get_response
228
0
0
日常记录(71)+181
摘要:Makefile 点击查看代码 comp=vcs -sverilog -debug_access_all -ntb_opts uvm-1.2 taa: set -e $(comp) taa.sv ./simv tbb: set -e vcs -sverilog tbb.sv ./simv tcc:
509
0
0
日常记录(70)9章功能覆盖率
摘要:验证导向 提高覆盖率流程 无法达到100%功能覆盖率时候: 更多的种子,测试现有程序。 建立新的约束 定向测试 建议 收集信息为导向,而不是数据(如所有的数据包) 只监控将要使用的数据,提高运行速度 保存那些能够获得更高覆盖率的测试和种子,以备回归 注意覆盖率测量结果、漏洞率的情况和趋势,漏洞出现是
490
0
0
日常记录(69)回顾/100
摘要:uvm的功能覆盖率收集 类定义 创建了一个类,继承于uvm_subscriber#(trans_name) https://gitee.com/bai-mengwei/sy_uvm_tb/blob/main/inout_coverage.sv#L4 另外需要定义和实例化trans后,后面write的
254
0
0
日常记录(68)常规-40
摘要:urandom_range 只有一个参数,是从0到该参数的范围。 有两个参数,大小无所谓,但是范围是二者之间并包括二者。 module taa (); initial begin for (int i = 0; i < 100; i++) begin #1; $display("random val
129
0
0
日常记录(67)verdi
摘要:http://blog.sina.com.cn/s/blog_13f7886010102xqlu.html VCS Compile阶段加上“-kdb -lca”这个选项,这样就能在VCS Compile中看到simv.daidir/kdb.elab++这个目录,这个目录就是VCS为Verdi产生的库
407
0
0
深色
回顶
收起
点击右上角即可分享
微信分享提示