SystemVerilog Assertions应用指南
基本信息
内容简介回到顶部↑
“当前soc的复杂度的提高,以及尽快进入市场和首次流片成功的多重压力使基于断言的验证成为一种需求,本书指出了如何有效地使用断言的方法。”
--satish s.lyengar
asic工程部门总监
crimson microsystems,inc.
“无沦对system verilog assertions(sva)的新手还是高级用户,本书都颇有裨益。首先简单易懂地介绍了基于断言的验证(abv)的概念;然后从更开阔的视角讨论sva提供的种种思想。许多真实的实例贯穿全书,这是非常有用的。”
——irwan sie
ic设计总监
ess technology,inc.
“systemverilog assertions是一种崭新的语言,它能够在设计早期发现并隔离设计缺陷,本书使用多个实例展示了如何用sva验证复杂的协议和内存设计。无论对设计工程师还是验证工程师,本书都是一个非常好的参考手册。”
--derrick lin
工程部资深总监
airgo networks,inc.
--satish s.lyengar
asic工程部门总监
crimson microsystems,inc.
“无沦对system verilog assertions(sva)的新手还是高级用户,本书都颇有裨益。首先简单易懂地介绍了基于断言的验证(abv)的概念;然后从更开阔的视角讨论sva提供的种种思想。许多真实的实例贯穿全书,这是非常有用的。”
——irwan sie
ic设计总监
ess technology,inc.
“systemverilog assertions是一种崭新的语言,它能够在设计早期发现并隔离设计缺陷,本书使用多个实例展示了如何用sva验证复杂的协议和内存设计。无论对设计工程师还是验证工程师,本书都是一个非常好的参考手册。”
--derrick lin
工程部资深总监
airgo networks,inc.
目录回到顶部↑
第0章 基干断言的验证.
第1章 sva介绍
1.1 什么是断言
1.2 为什么使用system verilog断言(sva)
1.3 system verilog的调度
1.4 sva术语
1.5 建 sva块
1.6 一个简单的序列
1.7 边沿定义的序列
1.8 逻辑关系的序列
1.9 序列表达式
1.10 时序关系的序列
1.11 sva中的时钟定义
1.12 禁止属性
1.13 一个简单的执行块
1.14 蕴含操作符
1.15 sva检验器的时序窗口
1.16 “ended”结构
1.17 使用参数的sva检验器
1.18 使用选择运算符的sva检验器
第1章 sva介绍
1.1 什么是断言
1.2 为什么使用system verilog断言(sva)
1.3 system verilog的调度
1.4 sva术语
1.5 建 sva块
1.6 一个简单的序列
1.7 边沿定义的序列
1.8 逻辑关系的序列
1.9 序列表达式
1.10 时序关系的序列
1.11 sva中的时钟定义
1.12 禁止属性
1.13 一个简单的执行块
1.14 蕴含操作符
1.15 sva检验器的时序窗口
1.16 “ended”结构
1.17 使用参数的sva检验器
1.18 使用选择运算符的sva检验器
译者序回到顶部↑
由于研发项目的缘故,有机会比较早地接触Open Vera Assertion(OVA)以及后来的SystemVerilog Assertions(SVA)这项新技术。然而几个月以后,研发项目做完,对这项技术还只是“不求甚解”。
2005年在公司总部MontainView参加年度Offsite会议,资深市场总监Steve Smith把这本由Springer出版社刚刚出版的新书介绍给我时,顿时有一种如获珍宝、相见恨晚的感觉!
本书的英文作者Srikanth Vijayaraghavan和Meyyappan Ramanathan是两位资深应用顾问。他们对于现代数字系统设计流程、先进的验证环境以及不同的IC设计特点有着深刻独到的见解。本书的特点是不仅系统地介绍了SVA这种硬件验证语言(HVL)的基本语法,而且针对不同类型的IC设计深入浅出地介绍了SVA的应用。本书分8章,其中第0,1,2章介绍了ABV(基于断言的验证)方法学、SVA的语法及用一个实例介绍了SVA的应用。第3,4,5,6,7章分别讨论了SVA在各种典型设计中的应用。这些典型设计模型包括了:有限状态机(FSM),数据通道,存储控制器,基于PCI局部总线系统和测试平台(testbench)。无论是对刚刚接触断言的新手还是资深设计验证工程师,本书都是案前必备的一本参考书!
几个月艰苦的翻译工作是一种磨练,也是一种提升。国内可以参阅的关于SVA的资料非常有限。许多技术词汇的翻译在业内还没有达成共识,有些词汇几乎是第一次翻译。这对于翻译团队来说是一个巨大的挑战。我们常常对如何恰当地翻译一个词汇进行反复的争论和推敲。在翻译审校过程中,发现了几处英文原书的错误,经原作者同意,在中文版中得以纠正。
本书的原序,前言,第0章,第2章和第3章由陈俊杰和马青娇翻译。第1章由黄劲楠翻译。第4章和第5章由叶擎双翻译。第6章和第7章由杨天翔翻译。陈俊杰负责全书的整理和审校。
本书虽然经过仔细校对,但由于译者水平有限,难免存在错误和疏漏之处,希望读者批评指正。欢迎大家通过SystemVerilogAssertion@googlegroups.com和译者联系。
衷心地感谢下列业内资深人士以及国内外教授学者审阅本书并提出了许多宝贵的意见:王欣,Steve Ye,刘敬军,陈海慧,郑昊,唐叔平,谢原等。
衷心地感谢严晓浪教授百忙之中为本书写了中文序。
衷心地感谢公司同仁特别是Steve Smith,Sadeghian,Chris K,Alessandro Fasan,潘建岳,冯成,鲍志伟,赵懿等的鼓励和支持。
衷心地感谢Synopsys公司和清华大学出版社的支持,本书的中文版才得以如期和读者见面。
最后,衷心感谢所有家人的支持。感谢女儿陈怡冰,你的诞生是一个最美丽的奇迹!
陈俊杰
2006年8月
2005年在公司总部MontainView参加年度Offsite会议,资深市场总监Steve Smith把这本由Springer出版社刚刚出版的新书介绍给我时,顿时有一种如获珍宝、相见恨晚的感觉!
本书的英文作者Srikanth Vijayaraghavan和Meyyappan Ramanathan是两位资深应用顾问。他们对于现代数字系统设计流程、先进的验证环境以及不同的IC设计特点有着深刻独到的见解。本书的特点是不仅系统地介绍了SVA这种硬件验证语言(HVL)的基本语法,而且针对不同类型的IC设计深入浅出地介绍了SVA的应用。本书分8章,其中第0,1,2章介绍了ABV(基于断言的验证)方法学、SVA的语法及用一个实例介绍了SVA的应用。第3,4,5,6,7章分别讨论了SVA在各种典型设计中的应用。这些典型设计模型包括了:有限状态机(FSM),数据通道,存储控制器,基于PCI局部总线系统和测试平台(testbench)。无论是对刚刚接触断言的新手还是资深设计验证工程师,本书都是案前必备的一本参考书!
几个月艰苦的翻译工作是一种磨练,也是一种提升。国内可以参阅的关于SVA的资料非常有限。许多技术词汇的翻译在业内还没有达成共识,有些词汇几乎是第一次翻译。这对于翻译团队来说是一个巨大的挑战。我们常常对如何恰当地翻译一个词汇进行反复的争论和推敲。在翻译审校过程中,发现了几处英文原书的错误,经原作者同意,在中文版中得以纠正。
本书的原序,前言,第0章,第2章和第3章由陈俊杰和马青娇翻译。第1章由黄劲楠翻译。第4章和第5章由叶擎双翻译。第6章和第7章由杨天翔翻译。陈俊杰负责全书的整理和审校。
本书虽然经过仔细校对,但由于译者水平有限,难免存在错误和疏漏之处,希望读者批评指正。欢迎大家通过SystemVerilogAssertion@googlegroups.com和译者联系。
衷心地感谢下列业内资深人士以及国内外教授学者审阅本书并提出了许多宝贵的意见:王欣,Steve Ye,刘敬军,陈海慧,郑昊,唐叔平,谢原等。
衷心地感谢严晓浪教授百忙之中为本书写了中文序。
衷心地感谢公司同仁特别是Steve Smith,Sadeghian,Chris K,Alessandro Fasan,潘建岳,冯成,鲍志伟,赵懿等的鼓励和支持。
衷心地感谢Synopsys公司和清华大学出版社的支持,本书的中文版才得以如期和读者见面。
最后,衷心感谢所有家人的支持。感谢女儿陈怡冰,你的诞生是一个最美丽的奇迹!
陈俊杰
2006年8月
前言回到顶部↑
2002年中期,我们的经理给我们发了一个电子邮件,问道:“谁愿意去支持OVA?”我们从脑子中进出的第一个想法就是“究竟什么是OVA?”和其他几个工程师交谈后,我们知道了它是OPEN VERA语言的一个子集。OVA是指“OPEN VERA断言(Open VERA Assersions,简写OVA)”,它是一种描述性的语言,能描述时序上的条件。就如同过去一样,为了满足对技术的渴求,我们同意做OVA的支持。在两个月内,我们学习了这种语言,并开始培训客户,在六个月内培训了200个左右的客户。客户洪水般涌进教室,给我们留下深刻的印象。我们确信这是验证领域下一件最好的事情。当客户们匆忙接受完培训,他们并没有开发任何OVA的代码。这是因为验证技巧和这种语言都是新的。一些工具刚开始支持这些语言结构。没有多少IP(Intellectual Property)可以使用。很自然,客户并没有我们想像的那么满意。.
同时,Synopsys公司把OPEN VERA语言捐献给Accellera委员会,使其成为System Verilog语言的一部分,其他几个公司为System Verilog语言的形成作了一些贡献。在DAC 2004,Accellera委员会把System Verilog 3.1定为一个标准。断言语言被纳入System Verilog语言并成为了标准的一部分。这就是通常所说的“System Verilog Assertion(SVA)”。我们继续培训客户基于断言的验证,不过现在仅仅教SVA。我们能清楚地看到客户更习惯于使用预开发的断言库,而不乐意编写定制的断言代码。是什么阻碍了他们?是工具吗?不,工具是现成的。是语言吗?或许,但它如今已是一个标准,所以不应该是它。
经过一番深入的讨论,我们认识到,缺乏例子来演示SVA的结构可能是阻碍客户使用这项新技术的原因。比较典型的是缺乏专家指导导致了如此低的采纳率。这时我想到出版一本关于SVA的“烹饪书”可能有用——即一本充满例子的书,这本书可以作为指导书,用来教授这种语言。这个项目就是这样启动的。我们
努力把过去两年中在教授这门科目时所学的东西写出来。但是在这个领域还有很多东西需要去学,这本书只是把我们所学到的跟大家分享。
如何阅读这本书
这本书的写作方式可以使工程师快速掌握System Verilog断言。
第0、1和2章,可以使您充分了解基础语法和一些通用的模拟技巧。阅读完这三章,读者应该能在他们的设计/验证环境中写断言。
第3、4、5和6章是不同类型的设计的“烹饪书”。读者如果在他们自己的环境里遇到类似的设计可以参考这些章节,以这些章节作为起点开始写断言。这些章节也可以作为指导。
如果您是基于断言验证的新手,则需要阅读完第0章~第2章,才能开始其他章节。如果您熟悉SVA语言,就可以根据需要参考这些章节。
第0章——这是关于基于断言的验证(ABV)方法论的白皮书。..
这一章介绍了ABV的方法学和功能覆盖的重要性。
第1章——用简单的例子讨论了SVA的语法和详细分析了在动态模拟中执行SVA结构的过程。包括了模拟波形和事件表以供读者参考。要了解每个SVA结构的细节,用户可以参考System Verilog 3.1a语言参考手册(LRM)的第17章。
第2章——用一个实例系统说明SVA模拟的方法。主题囊括了协议解析、模拟控制和功能覆盖。
第3章——用两个不同的有限状态机(PSM)模型作为例子,举例说明如何用SVA验证FSM。
第4章——举例说明用SVA验证一个数据通道。用JPEG设计的一部分来演示如何用SVA验证控制信号和数据。
第5章——举例用SVA验证一个存储控制器。这个控制器支持不同类型的存储如:SDRAM、SRAM、FLASH等。
第6章——举例用SVA验证一个基于PCI局部总线的系统。使用了一个PCI系统配置的例子,用SVA验证不同的PCI协议。
第7章——用一个测试平台(testbench)的例子验证断言,也讨论了在验证断言的精度背后的理论。
随书附一张光盘。本书中的所有例子都可以用VCS 2005.06发行版运行,也包括运行这些例子的脚本范例。VCS是Synopsys公司的注册商标。
致谢
同时,Synopsys公司把OPEN VERA语言捐献给Accellera委员会,使其成为System Verilog语言的一部分,其他几个公司为System Verilog语言的形成作了一些贡献。在DAC 2004,Accellera委员会把System Verilog 3.1定为一个标准。断言语言被纳入System Verilog语言并成为了标准的一部分。这就是通常所说的“System Verilog Assertion(SVA)”。我们继续培训客户基于断言的验证,不过现在仅仅教SVA。我们能清楚地看到客户更习惯于使用预开发的断言库,而不乐意编写定制的断言代码。是什么阻碍了他们?是工具吗?不,工具是现成的。是语言吗?或许,但它如今已是一个标准,所以不应该是它。
经过一番深入的讨论,我们认识到,缺乏例子来演示SVA的结构可能是阻碍客户使用这项新技术的原因。比较典型的是缺乏专家指导导致了如此低的采纳率。这时我想到出版一本关于SVA的“烹饪书”可能有用——即一本充满例子的书,这本书可以作为指导书,用来教授这种语言。这个项目就是这样启动的。我们
努力把过去两年中在教授这门科目时所学的东西写出来。但是在这个领域还有很多东西需要去学,这本书只是把我们所学到的跟大家分享。
如何阅读这本书
这本书的写作方式可以使工程师快速掌握System Verilog断言。
第0、1和2章,可以使您充分了解基础语法和一些通用的模拟技巧。阅读完这三章,读者应该能在他们的设计/验证环境中写断言。
第3、4、5和6章是不同类型的设计的“烹饪书”。读者如果在他们自己的环境里遇到类似的设计可以参考这些章节,以这些章节作为起点开始写断言。这些章节也可以作为指导。
如果您是基于断言验证的新手,则需要阅读完第0章~第2章,才能开始其他章节。如果您熟悉SVA语言,就可以根据需要参考这些章节。
第0章——这是关于基于断言的验证(ABV)方法论的白皮书。..
这一章介绍了ABV的方法学和功能覆盖的重要性。
第1章——用简单的例子讨论了SVA的语法和详细分析了在动态模拟中执行SVA结构的过程。包括了模拟波形和事件表以供读者参考。要了解每个SVA结构的细节,用户可以参考System Verilog 3.1a语言参考手册(LRM)的第17章。
第2章——用一个实例系统说明SVA模拟的方法。主题囊括了协议解析、模拟控制和功能覆盖。
第3章——用两个不同的有限状态机(PSM)模型作为例子,举例说明如何用SVA验证FSM。
第4章——举例说明用SVA验证一个数据通道。用JPEG设计的一部分来演示如何用SVA验证控制信号和数据。
第5章——举例用SVA验证一个存储控制器。这个控制器支持不同类型的存储如:SDRAM、SRAM、FLASH等。
第6章——举例用SVA验证一个基于PCI局部总线的系统。使用了一个PCI系统配置的例子,用SVA验证不同的PCI协议。
第7章——用一个测试平台(testbench)的例子验证断言,也讨论了在验证断言的精度背后的理论。
随书附一张光盘。本书中的所有例子都可以用VCS 2005.06发行版运行,也包括运行这些例子的脚本范例。VCS是Synopsys公司的注册商标。
致谢
序言回到顶部↑
超大规模集成电路随着系统芯片(SoC)时代的到来其功能日益复杂,规模也日益庞大,无论是芯片设计工程师还是芯片验证工程师都面临着前所未有的挑战。设计工程师和验证工程师需要借助更为有效的高级设计语言和验证技术来实现SoC的正确设计。.
System Verilog作为一种硬件描述和验证语言HDVL(Hardware Description And Verification Language),是随着技术发展和市场需求应运而生的。System Verilog为Verilog-2001标准提供了一系列的扩展,这些扩展有效地提升了硬件设计、模拟验证和测试平台的整体效率,显著地降低了芯片设计的风险,有助于缩短产品的上市时间。System Verilog于2005年11月成为电子设计的一种新标准语言(System Verilog,IEEE Std 1800-2005)。..
在当今流行的验证技术中, 基于断言的验证(Assertion Based Verification,ABV)是一种很有价值的主流验证技术。作为SystemVerilog的重要组成部分,System Verilog Assertion提供了丰富的断言指令,使得设计工程师和验证工程师可以快速地对复杂设计验证行为进行定义。
近年来,我国大陆地区的半导体行业发展迅速,从芯片的设计到制造、测试、封装,国内已基本形成了完整的IC产业链。但是,我们同时也应看到,与其他发达国家和地区相比,无论是自主创新、技术开发还是人才培养方面都存在着较大的差距。我们应该群策群力,积极支持通过多种方式引进国外先进的技术出版物和书籍。 《System Verilog Assertions应用指南》的翻译出版就是引进集成电路设计优秀技术书籍的一个范例。本书可作为电子通讯专业高年级本科生和研究生的教学用书,也可作为设计工程师和验证工程师的应用参考书。...
国家863集成电路设计专项总体组组长
国际集成电路人才基地专家委员会主任
严晓浪教授
2006年8月
System Verilog作为一种硬件描述和验证语言HDVL(Hardware Description And Verification Language),是随着技术发展和市场需求应运而生的。System Verilog为Verilog-2001标准提供了一系列的扩展,这些扩展有效地提升了硬件设计、模拟验证和测试平台的整体效率,显著地降低了芯片设计的风险,有助于缩短产品的上市时间。System Verilog于2005年11月成为电子设计的一种新标准语言(System Verilog,IEEE Std 1800-2005)。..
在当今流行的验证技术中, 基于断言的验证(Assertion Based Verification,ABV)是一种很有价值的主流验证技术。作为SystemVerilog的重要组成部分,System Verilog Assertion提供了丰富的断言指令,使得设计工程师和验证工程师可以快速地对复杂设计验证行为进行定义。
近年来,我国大陆地区的半导体行业发展迅速,从芯片的设计到制造、测试、封装,国内已基本形成了完整的IC产业链。但是,我们同时也应看到,与其他发达国家和地区相比,无论是自主创新、技术开发还是人才培养方面都存在着较大的差距。我们应该群策群力,积极支持通过多种方式引进国外先进的技术出版物和书籍。 《System Verilog Assertions应用指南》的翻译出版就是引进集成电路设计优秀技术书籍的一个范例。本书可作为电子通讯专业高年级本科生和研究生的教学用书,也可作为设计工程师和验证工程师的应用参考书。...
国家863集成电路设计专项总体组组长
国际集成电路人才基地专家委员会主任
严晓浪教授
2006年8月
相关资源回到顶部↑
· 【推荐】华清远见近50本嵌入式专业培训教材展示(涵盖嵌入式Linux、WinCE、Android、Symbian、ARM、DSP、FPGA等,部分教材电子版限时下载中,更多免费嵌入式视频教程在线收看!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· Matlab中文论坛,是中国最大最专业的Matlab/Simulink交流论坛(Matlab,Simulink,信号与系统)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)







点击看大图




加载中...

