摘要:
class cat; protected color_t color; local bit is_good; function set_good(bit s); this.is_good = s; endfunction endclass class black_cat extends cat; f 阅读全文
摘要:
类class 对象oject 类是将相同的个体抽象出来的描述方式,对象是实体。 面向对象的三要素:封装,集成,多态 类的定义核心即使属性的声明和方法定义。 在验证的世界: 激励生成器:生成激励的内容 驱动器:将激励以时序的形式发送到DUT 检测器:检测信号并且记录 比较器:比较数据 验证环境的不同组 阅读全文
摘要:
使用库、仿真和过程窗口 在使用仿真的时候首先要理解库窗口,仿真窗口,过程窗口的含义。 将他们与硬件、模型和在线运行的进程一一对应。 库:library是编译的产物 如果不指定放入的位置,将会被放入work库中。 方入库是仿真的必要步骤。但是不代表后续的连接就不会出错。 仿真窗口sim Window 阅读全文
摘要:
在verilog测试中需要verilog提供的系统函数来结束仿真 在仿真500ns时通过系统函数$finish()结束仿真。 用户也可以通过$stop()来暂停仿真 $finish():仿真会退出 $stiop():暂停仿真,但是还有机会让仿真继续运行 module tb; bit clk; ini 阅读全文
摘要:
modport是限制信号传输方向的,避免端口连接的错误。 可以在接口声明clocking(时序块)和采样的时钟信号,用来做信号的同步和采样。 clocking块基于时钟周期对信号进行驱动或者采样的方式,使得testbench不在苦恼于如何准时及时的对信号驱动或者采样,消除了信号竞争的问题。(解决de 阅读全文
摘要:
接口interface: 既可以设计,也可以用来验证。 验证环境:interface使得连接变得简单不容易出错。 interface可以定义端口,单双向信号,内控部使用initial always task function interface 可以在硬件环境和软件环境中传递。也可以作为软件方法的形 阅读全文
摘要:
MCDF的设计和验证花费的时间:(工作中假设的时间) design cycle time ==10days how about 验证?verify? 模块越往上(大’)验证花费的时间越来越大,但是design是相反的。 阅读全文
摘要:
checker肩负了模拟设计行为和功能检查任务。 功能: 缓存从各个monitor手机到的数据。 ton过比较器检查实际收集到的DUT输出端口数据是否同reference module(参考模型)产生的期望数据一致。 对于设计的内部的关键功能模块,也有相应的线程独立的检查。 检查工程中可以将检查成功 阅读全文
摘要:
Monitor:检测DUT的边界信号或者内部信号,并且经过打包整理传送给其他的验证平台的组件(例如checker)。 一:大的monitor方案 二:分布式的 两个monitor的比较: 比较下来,选用分布式的NB一点。 习题: 答案:A,B 内部信号的检测时建议: 采用灰盒验证方法。 观察的内部信 阅读全文
摘要:
simulator(激励发生器) 主要来的职责是模拟与DUT相邻设计的接口协议,只需要关注如何模拟接口信号,时期能够以真实的接口协议来发送激励给DUT。 simolator不应该违反协议,但是不约束于真实的硬件行为,还可以给出更多丰富的只要协议允许的激励的场景。 simulator也可以存储接口数据 阅读全文