这篇是计算机类的优质预售推荐>>>>《Verilog与SystemVerilog编程陷阱:怎样避免101个常犯的编码错误》

编辑推荐

纠错式学习,从“陷阱”中学习编程,加深对语言本身的理解。

逆向式学习,从错误中学习避免错误的方法。让读者写出更好的代码。

案例式学习,将101个“陷阱”分类汇编,以针对性案例引导读者掌握编程要点。

译者序

译者序

  随着电子设计自己主动化(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语言有非常多类似的语法和keyword。鉴于C语言普及人群广泛,Verilog更能使刚開始学习的人突破语言障碍,高速入门。

正如我们提到的。Verilog因为其固有的灵活性。便于刚開始学习的人入门。而也正因于此,过于灵活的语法常常会使project师们陷入不当使用Verilog的陷阱,从而造成意料之外的错误。

  本书是由Verilog和SystemVerilog方面的资深专家依据自身实际project经验倾心撰写的一本有用的Verilog和SystemVerilog手冊。本书给出了硬件project师在使用Verilog和SystemVerilog时easy陷入的101个陷阱。

  本书的翻译工作主要由戴成然和高镇完毕。当中戴成然完毕了前言和第1~4章的翻译,高镇完毕了第5~8章的翻译。因为译者水平有限。文中难免出现不妥之处。敬请读者批评指正。

  高镇

  2015年3月

序言

序 

  人的爱好各有不同,有人喜欢收集棒球卡片,有人喜欢收集老旧的汽车杂志,也有人喜欢收集橡皮鸭子,而我喜欢收集Verilog方面的书籍。

  这要追溯到1989年一本用三孔夹夹着的活页《VERILOG-XL Reference Manual Version 1.5a》复印版。当时的Verilog相对简单——令人难以相信的是,现现在已经能够用一种类型的程序分配来设计芯片(在当时非堵塞式分配还不是一种语言)。不仅如此,当时我们仅仅能在VAX或阿波罗工作站上仿真。

  从那时起,我差点儿买下了关于Verilog的每一本书。我所写过的书中已经包括了一些综合性的书。

将来我将写一本VHDL的必备手冊。又或者是一本介绍硬件描写叙述性语言历史的书,当然书的内容大多是有关Verilog的。

  对于这些书。有一件有趣的事儿。在我翻阅它们后,就会把它们放在架子上。非常少再次翻阅。我承认当你看到我装满Verilog书的书架时,你会对此留下非常深的印象。目光敏锐的客人会注意到我的书是崭新的。

确实。我没用过它们,没读过它们,由于它们对我帮助非常少。

  令人失望的是。我非常难找到一本相应用project师有用的书。我想要的是一本每天带在身边,及时和有效地助我迈出第一步的书。

  Stu和Don编著了本书。我们认识非常多年了,他们在Verilog上有非常深的造诣。他们将毕生所学的精华总结成这本非常有用的书。本书一定不会让你失望。

  假设你是一个通过慘痛教训而跳出Verilog陷阱的内行,微笑着对自己说:“太好了,我以前在这出过问题。”

  欢迎刚開始学习Verilog和SystemVerilog的朋友们!

通过阅读本书,你能够拥有向这个领域的两个顶级专家学习的机会。

假设你有机会參加这两位专家中随意一位的课程,一定要报名。

我保证你不会懊悔。

  顺便提一下,我最喜欢的陷阱是“陷阱65:死循环”。由于我以前犯过这种错误。相信我。假设你以前由于建模错误致使打坏计算机,那么这辈子你都不会忘记错误的原因。

但是你比我幸运,由于本书能够帮助你。将这本书放在手边。常常翻阅,那么你的模型都能够通过编译,循环都能够终止。

  Steve Golson

Verilog与SystemVerilog编程陷阱:怎样避免101个常犯的编码错误-LMLPHPVerilog与SystemVerilog编程陷阱:怎样避免101个常犯的编码错误-LMLPHP

05-08 08:29