基本信息
- 作者: (美)斯图尔特·萨瑟兰(Stuart Sutherland) 当·米尔斯(Don Mills)
- 译者: 戴成然 高镇
- 丛书名: 电子与嵌入式系统设计译丛
- 出版社:机械工业出版社
- ISBN:9787111503163
- 上架时间:2015-6-25
- 出版日期:2015 年6月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 计算机控制与仿真 > 系统分析与设计(控制)

编辑推荐
纠错式学习,从“陷阱”中学习编程,加深对语言本身的理解。
逆向式学习,从错误中学习避免错误的方法,让读者写出更好的代码。
案例式学习,将101个“陷阱”分类汇编,以针对性案例引导读者掌握编程要点。
内容简介
作译者
作者的个人网站:www.sutherlandhdl.com。
Don Mills从1986年开始涉足ASIC的设计。在此期间,他参与了超过30个ASIC项目。Don从1991开始使用自顶向下的设计方法(综合设计编译器1.2)。Don在几个公司开发并实施了自顶向下的ASIC设计流程。他精通工具整合和流程自动化。Don作为SystemVerilog和Verilog内部咨询师服务于美国微芯技术公司。Don是IEEE Verilog和SystemVerilog委员会的成员,该委员会致力于Verilog和SystemVerilog语言的发布和完善。Don是多篇文章的作者或合著者,例如《SystemVerilog Assertions are for Design Engineers Too!》及《RTLCoding Styles that Yield Simulation and Synthesis Mismatches》。这些文章可以在www.lcdmeng.com网站上找到。Mills 先生的联系方式为mills@lcdmeng.como或don.mills@microchip.com。
作者的个人网站:www.lcdmeng.com。
目录
序
关于作者
第1章 什么是“编程陷阱” / 1
什么是Verilog和SystemVerilog / 1
什么是陷阱 / 1
Verilog和SystemVerilog标准 / 2
第2章 声明以及字符表述类陷阱 / 5
陷阱1:字母大小写的敏感性 / 5
陷阱2:网表的隐式声明 / 7
陷阱3:默认的1bit内部网 / 9
陷阱4:单文件和多文件编译的$unit声明 / 11
陷阱5:局部变量的声明 / 12
陷阱6:分层路径的转义名称 / 13
陷阱7:自动变量的分层引用 / 15
陷阱8:未命名模块中的变量分层引用 / 17
陷阱9:分层引用一个导入的包项目 / 19
陷阱10:从程序包中导入枚举类型 / 19
陷阱11:导入多个程序包 / 20
陷阱12:默认的整数进制 / 21
译者序
随着电子设计自动化(Electronic Design Automation,EDA)技术的广泛应用,使用硬件语言完成现场可编程门阵列(Field-Programmable Gate Array,FPGA)是大势所趋。迄今为止,主要的硬件描述语言包括VHDL、Verilog HDL和SystemVerilog。相比于后两者,VHDL发展更早,语法更为严格,因而对初学者来说上手较慢,在实际使用中经常因为不规范的代码遭遇编译报错。相比而言,Verilog及SystemVerilog具有语法灵活的优势,当然也会因这种灵活性在综合过程中产生程序员意料之外的结果。目前,相比于VHDL,Verilog和其高级版本的SystemVerilog应用更为广泛。这是因为在集成电路(Integrated Circuit,IC)设计领域,90%以上的公司都采用Verilog进行IC设计。因此对集成电路设计(Application Specific Integrated Circuit, ASIC)人员来说,必须掌握Verilog。另外,由于Verilog和C语言有很多类似的语法和关键字,鉴于C语言普及人群广泛,Verilog更能使初学者突破语言障碍,快速入门。正如我们提到的,Verilog由于其固有的灵活性,便于初学者入门。而也正因于此,过于灵活的语法经常会使工程师们陷入不当使用Verilog的陷阱,从而造成意料之外的错误。
本书是由Verilog和SystemVerilog方面的资深专家根据自身实际工程经验倾心撰写的一本实用的Verilog和SystemVerilog手册。本书给出了硬件工程师在使用Verilog和SystemVerilog时容易陷入的101个陷阱。
本书的翻译工作主要由戴成然和高镇完成,其中戴成然完成了前言和第1~4章的翻译,高镇完成了第5~8章的翻译。由于译者水平有限,文中难免出现不妥之处,敬请读者批评指正。
高镇
2015年3月
序言
人的爱好各有不同,有人喜欢收集棒球卡片,有人喜欢收集老旧的汽车杂志,也有人喜欢收集橡皮鸭子,而我喜欢收集Verilog方面的书籍。
这要追溯到1989年一本用三孔夹夹着的活页《VERILOG-XL Reference Manual Version 1.5a》复印版。当时的Verilog相对简单——令人难以相信的是,现如今已经可以用一种类型的程序分配来设计芯片(在当时非阻塞式分配还不是一种语言)。不仅如此,当时我们只能在VAX或阿波罗工作站上仿真。
从那时起,我几乎买下了关于Verilog的每一本书。我所写过的书中已经包含了一些综合性的书。将来我将写一本VHDL的必备手册,又或者是一本介绍硬件描述性语言历史的书,当然书的内容大多是有关Verilog的。
对于这些书,有一件有趣的事儿。在我翻阅它们后,就会把它们放在架子上,很少再次翻阅。我承认当你看到我装满Verilog书的书架时,你会对此留下很深的印象。目光敏锐的客人会注意到我的书是崭新的。确实,我没用过它们,没读过它们,因为它们对我帮助很少。
令人失望的是,我很难找到一本对应用工程师实用的书。我想要的是一本每天带在身边,及时和有效地助我迈出第一步的书。
Stu和Don编著了本书。我们认识很多年了,他们在Verilog上有很深的造诣。他们将毕生所学的精华总结成这本非常实用的书。本书一定不会让你失望。
如果你是一个通过惨痛教训而跳出Verilog陷阱的内行,微笑着对自己说:“太好了,我曾经在这出过问题。”
欢迎刚开始学习Verilog和SystemVerilog的朋友们!通过阅读本书,你可以拥有向这个领域的两个顶级专家学习的机会。如果你有机会参加这两位专家中任意一位的课程,一定要报名。我保证你不会后悔。
顺便提一下,我最喜欢的陷阱是“陷阱65:死循环”。因为我曾经犯过这样的错误。相信我,如果你曾经因为建模错误致使打坏计算机,那么这辈子你都不会忘记错误的原因。可是你比我幸运,因为本书可以帮助你。将这本书放在手边,经常翻阅,那么你的模型都可以通过编译,循环都可以终止。
Steve Golson