注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计程序设计综合System Verilog Assertions应用指南

System Verilog Assertions应用指南

System Verilog Assertions应用指南

定 价:¥39.80

作 者: (美)维加亚拉哈文、拉门那斯
出版社: 清华大学出版社
丛编项: 国外电子信息经典教材
标 签: 计算

ISBN: 9787302134411 出版时间: 2006-10-01 包装: 平装
开本: 32 页数: 305 字数:  

内容简介

  2002年中期,我们的经理给我们发了一个电子邮件,问道:“谁愿意去支持OVA?”我们从脑子中迸出的第一个想法就是“究竟什么是OVA?”和其他几个工程师交谈后,我们知道了它是OPEN VERA语言的一个子集。OVA是指“OPEN VERA断言(Open VERA Assersions,简写OVA)”,它是一种描述性的语言,能描述时序上的条件。就如同过去一样,为了满足对技术的渴求,我们同意做OVA的支持。在两个月内,我们学习了这种语言,并开始培训客户,在六个月内培训了200个左右的客户。客户洪水般涌进教室,给我们留下深刻的印象。我们确信这是验证领域下一件最好的事情。当客户们匆忙接受完培训,他们并没有开发任何OVA的代码。这是因为验证技巧和这种语言都是新的。一些工具刚开始支持这些语言结构。没有多少IP(Intellectual Property)可以使用。很自然,客户并没有我们想像的那么满意。同时,Synopsys公司把OPEN VERA语言捐献给Accellera委员会,使其成为SystemVerilog语言的一部分,其他几个公司为SystemVerilog语言的形成作了一些贡献。在DAC 2004,Accellera委员会把SystemVerilog 3.1定为一个标准。断言语言被纳入SystemVerilog语言并成为了标准的一部分。这就是通常所说的“SystemVerilog Assertion(SVA)”。我们继续培训客户基于断言的验证,不过现在仅仅教SVA。我们能清楚地看到客户更习惯于使用预开发的断言库,而不乐意编写定制的断言代码。是什么阻碍了他们?是工具吗?不,工具是现成的。是语言吗?或许,但它如今已是一个标准,所以不应该是它。经过一番深入的讨论,我们认识到,缺乏例子来演示SVA的结构可能是阻碍客户使用这项新技术的原因。比较典型的是缺乏专家指导导致了如此低的采纳率。这时我想到出版一本关于SVA的“烹饪书”可能有用——即一本充满例子的书,这本书可以作为指导书,用来教授这种语言。这个项目就是这样启动的。我们努力把过去两年中在教授这门科目时所学的东西写出来。但是在这个领域还有很多东西需要去学,这本书只是把我们所学到的跟大家分享。如何阅读这本书这本书的写作方式可以使工程师快速掌握SystemVerilog断言。第0、1和2章,可以使您充分了解基础语法和一些通用的模拟技巧。阅读完这三章,读者应该能在他们的设计/验证环境中写断言。第3、4、5和6章是不同类型的设计的“烹饪书”。读者如果在他们自己的环境里遇到类似的设计可以参考这些章节,以这些章节作为起点开始写断言。这些章节也可以作为指导。如果您是基于断言验证的新手,则需要阅读完第0章~第2章,才能开始其他章节。如果您熟悉SVA语言,就可以根据需要参考这些章节。第0章—— 这是关于基于断言的验证(ABV)方法论的白皮书。这一章介绍了ABV的方法学和功能覆盖的重要性。第1章—— 用简单的例子讨论了SVA的语法和详细分析了在动态模拟中执行SVA结构的过程。包括了模拟波形和事件表以供读者参考。要了解每个SVA结构的细节,用户可以参考SystemVerilog 3.1 a 语言参考手册(LRM)的第17章。第2章—— 用一个实例系统说明SVA模拟的方法。主题囊括了协议解析、模拟控制和功能覆盖。第3章—— 用两个不同的有限状态机(FSM)模型作为例子,举例说明如何用SVA验证FSM。第4章—— 举例说明用SVA验证一个数据通道。用JPEG设计的一部分来演示如何用SVA验证控制信号和数据。第5章—— 举例用SVA验证一个存储控制器。这个控制器支持不同类型的存储如:SDRAM、SRAM、FLASH等。第6章—— 举例用SVA验证一个基于PCI局部总线的系统。使用了一个PCI系统配置的例子,用SVA验证不同的PCI协议。第7章—— 用一个测试平台(testbench)的例子验证断言,也讨论了在验证断言的精度背后的理论。随书附一张光盘。本书中的所有例子都可以用VCS 2005.06发行版运行,也包括运行这些例子的脚本范例。VCS是Synopsys公司的注册商标。

作者简介

暂缺《System Verilog Assertions应用指南》作者简介

图书目录

第0章 基于断言的验证
第1章 SVA介绍
1.1什么是断言
1.2为什么使用System Verilog断言(SVA)
1.3System Verilog的调度
1.4SVA术语
1.4.1并发断言
1.4.2即时断言
1.5建立SVA块
1.6一个简单的序列
1.7边沿定义的序列
1.8逻辑关系的序列
1.9序列表达式
1.10时序关系的序列
1.11SvA中的时钟定义
1.12禁止属性
1.13一个简单的执行块
1.14蕴含操作符
1.14.1交叠蕴含
1.14.2非交叠蕴含
1.14.3后续算子带固定延迟的蕴含
1.14.4使用序列作为先行算子的蕴含
1.15SvA检验器的时序窗口
1.15.1重叠的时序窗口
1.15.2无限的时序窗口
1.16“ended”结构
1.17使用参数的SVA检验器
1.18使用选择运算符的SVA检验器
1.19使用true表达式的SVA检验器
1.20“$past”构造
1.21重复运算符
1.21.1连续重复运算符[*]
1.21.2用于序列的连续重复运算符[*]
1.21.3用于带延迟窗口的序列的连续重复运算符[*]
1.21.4连续运算符[*]和可能性运算符
1.21.5跟随重复运算符[->]
1.21.6非连续重复运算符[=]
1.22“and”构造
1.23“intersect”构造
1.24“or”构造
1.25“firstmatch”构造
1.26“throughout”构造
1.27“within”构造
1.28内建的系统函数
1.29“disableiff”构造
1.30使用“intersect”控制序列的长度
1.31在属性中使用形参
1.32嵌套的蕴含
1.33在蕴含中使用if/else
1.34SVA中的多时钟定义
1.35“matched”构造
1.36“expect”构造
1.37使用局部变量的SVA
1.38在序列匹配时调用子程序
1.39将SVA与设计连接
1.40SVA与功能覆盖
第2章 SVA模拟方法论
2.1一个被验证的实例系统
2.1.1主控设备
2.1.2中间设备
2.1.3目标设备
2.2块级验证
2.2.1SVA在设计块中的应用
2.2.2仲裁器的验证
2.213模拟中针对仲裁器的SVA检验
2.2.4主控设备的验证
2.2.5模拟中针对主控设备的SVA检验
2.2.6胶合(Glue)的验证
2.2.7模拟中针对胶合逻辑(glue logic)的SVA检验
2.2.8目标设备的验证
2.2.9模拟中针对目标设备的SVA检验
2.3系统级验证
2.4功能覆盖
2.4.1实例系统的覆盖率计划
2.4.2功能覆盖小结
2.5用于创建事务日志的SVA
2.6用于FPGA原型测试的SVA
2.7SVA模拟方法的小结
第3章 SVA在有限状态机中的应用
3.1设计例子——FSM1
3.1.1FSMl的功能描述
3.1.2FSMl的SVA检验器
3.2设计实例——FSM2
3.2.1FSM2的功能描述
3.2.2FSM2的SVA检验器
3.2.3有时序窗口协议的FSM2
3.3在FSM中应用SVA的小结
第4章 SVA用于数据集约型(DATA INIENSVE)的设计
4.1简单乘法器的检验
4.2设计实例——算术单元
4.2.1WHT算术
4.2.2WHT硬件的实现
4.2.3WHT模块的SVA检验器
4.3设计实例一PEG的数据通路设计
4.3.1三模块的深入探讨
4.3.2用于JPEG设计的SVA检验器
4.3.3.IPEG模型的数据检验
4.4数据集约型设计的小结
第5章 SVA储存器
5.1存储控制系统实例
5.1.1CPU—AHB接口操作
5.1.2存储控制器的操作
5.2SDRAM的验证
5.3SRAM/FLASH的验证
5.4DDR-SDRAM的验证
5.5存储器SVA的小结
第6章 SVA协议接口
6.1PCI简介
6.1.1一个PCI读出事务的实例
6.1.2PCI写入事务实例
6.2PCI系统实例
6.3情形1——主控DUT设备
6.4情形2——目标DUT设备
6.5情形3——系统级断言
6.6用于标准协议的SVA小结
第7章 对检验器的检验
7.1断言验证
7.2双信号SVA Assenion Test
7.2.1双信号的逻辑关系
7.2.2电平敏感逻辑关系激励的产生
7.2.3边沿敏感逻辑关系激励的产生
7.2.4双信号的时序关系
7.2.5时序关系激励的产生
7.2.6双信号的重复关系
7.2.7双信号ATB环境
7.3一个PCI检验器的ATB实例
7.4检验器检验小结

本目录推荐