数字电路验证方法学

更新时间:2023-09-05 01:42:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字电路验证基础

数字集成电路验证方法学

2013年12月31日

数字电路验证基础

主要内容

验证的必要性 验证方法学介绍验证工具介绍

演示

2014-5-22

共69页

数字电路验证基础

主要内容

验证的必要性 验证方法学介绍验证工具介绍

演示

2014-5-22

共69页

数字电路验证基础

验证的必要性

验证的概念,验证与测试的区别。

经验表明,验证已经占到整个产品开发周期的 70%以上,它已经成为复杂SOC(System onChip)开发中的重要壁垒。 制造、设计和验证能力之间的鸿沟

2014-5-22

共69页

数字电路验证基础

典型流程动态仿真正确 时序 不满足 动态仿真正确 功能正确

时序 不满足 系统结构 不合理 系统功 不满足 功能 不正确 能系统规划满足

Verification is not just very hard, it is very, very hard 没有一个简单的工具可以解决你所有的验证 问题。(VSIA,Virtual Socket Interface Alliance)2014-5-22 共69页 5

数字电路验证基础

主要内容

验证的必要性 验证方法学介绍验证工具介绍

演示

2014-5-22

共69页

数字电路验证基础

验证方法学

方法学:又称方法论,是一门学问采用的方法、规 则与公理;一种特定的做法或一套做法。 验证方法学:指完成验证过程中的一系列方法、技 术和规范。1.仿真技术2.静态技术

3.物理验证

2014-5-22

共69页

数字电路验证基础

仿真技术

基于事件的仿真--任何一个输入的变化都被 标记为事件,即常说的功能仿真,精度高, 速度慢。比如Modelsim, VCS。 基于周期的仿真--单周期内只检查一次输入 并计算设计的输出逻辑值。速度快,无时 序、毛刺。比如Cyclone。 事务级仿真--一堆事件的集合即为事务,即 常说的验证平台。 软硬件协同验证--需要专门的软硬件,成本 高。共69页 8

2014-5-22

数字电路验证基础

传统验证系统

DUT:Design Under Test 适用于基于事 件的仿真和基 于周期的仿真。 适用于简单的 设计。

缺点: 1.可扩展性差 2.可重用性差

2014-5-22

共69页

数字电路验证基础

层次化的验证系统适用于事务级仿真 优点: 1.可扩展性好 2.可重用性好

2014-5-22

共69页

数字电路验证基础

为什么要用事务级仿真?基于事件的仿真与事务级仿真的比较基于事件的仿真 Testbench代码可读性,可 维护性 仿真速度 Testbench结构 Testbench代码量 差 慢 DUT复杂时,结构混乱 DUT简单时,代码量尚可 DUT复杂时,代码量巨大 事务级仿真 强 快 DUT复杂时,结构清晰 DUT简单时,代码量略多 DUT复杂时。代码量较少

与待测设计联系程度 可复用性 抽象层次 参考模型

非常紧密 无 无 无

行为级与DUT联系紧密 事务级具有自身独立性 强 有 有

2014-5-22

共69页

数字电路验证基础

事务级仿真

RVM: Reference Verification Methodology, Synopsys公司。 VMM:Verification Methodology Manual, AR

M公司和Synopsys公司。 AVM:Advanced Verification Methodology, Mentor公司。 OVM:Open Verification Methodology, Cadence公司和Mentor公司 UVM: Universal Verification Methodology, Cadence公司共69页 12

2014-5-22

数字电路验证基础

为什么选用OVM?各种验证方法学比较 验证方法学 RVM VMM AVM OVM 侧重点 层次化验证 RTL级模块 层次化验证 开源和不同 仿真器之间 的透明性 开源和快速 入门 EDA验证工具 VCS VCS Questasim 支持不同验证 工具 Questasim NC-verilog 支持的验证语言 OpenVera SystemVerilog 基类库是否 开源 否 是

SystemC/Syste 是 mVerilog 支持 SystemVerilog 等多种语言 支持 SystemVerilog 等多种语言 是

UVM

2014-5-22

共69页

数字电路验证基础

SystemVerilog介绍

SystemVerilog结合了Verilog和C++的概念 ,具有如下新功能:1.面向对象编程(OOP) 、 2.随机约束(Constraint Random)、 3.断言(Assertion) 、 4.功能覆盖率(Functional Coverage) 。

2014-5-22

共69页

数字电路验证基础

SystemVerilog介绍-面向对象编程

OOP:Object-oriented programming

类:定义实物的抽象特点, 包含方法和属性。 对象:类的实例。 方法:类的行为。 继承:子类包含类的特性。

2014-5-22

共69页

数字电路验证基础

SystemVerilog介绍-随机约束CRT:Constraint Random Test class my_transaction extends ovm_transaction; rand int data_i; constraint c_data_i { data_i >= 0; data_i < 262144; } virtual function void randomize_(); data_i = $random & 18'h3ffff; endfunction2014-5-22 共69页 16

数字电路验证基础

SystemVerilog介绍-断言Assertion 示例 property p10; @(posedge clock) (io.data_check_o<=data_out_design_for_che ck+2)&&(io.data_check_o>=data_out_design _for_check-2); endproperty a10: assert property (p10);2014-5-22 共69页 17

数字电路验证基础

SystemVerilog介绍-功能覆盖率Functional Coverage covergroup:覆盖率模型 sample():采样函数 bins: 仓 Covergroup Covkind; coverpoint tr.kind{ //kind 为4位数据 bins zero={0}; bins hi[ ] = {[8:$]};}; endgroup 2014-5-22 共69页 18

数字电路验证基础

OVM介绍

OVM是一种基于SystemVerilog的验证方法或 者策略。OVM已经实现了一个基本的层次化 验证平台,大大简化验证工程师的工作量。 OVM可以验证HDL代码或者网表文件 OVM特点: 1.开放性:支持所有验证工具 2.开源:OVM库都是基于SystemVerilog实现 的,可以在网上下载。 3.可靠性:两大公司共同开发维护共69页 19

2014-5-22

本文来源:https://www.bwwdw.com/article/lj6i.html

Top