**部分 VerilOG数字设计基础
数字通信和自动化控制等领域的高速发展和世界范围内的高技术竞争对数字系统提出了越来越高的要求,特别是需要设计具有实时信号处理能力的专用集成电路,要求把包括多个CPU内核在内的整个电子系统综合到一个芯片(SOC)上。设计并验证这样复杂的电路及系统已不再是简单的个人劳动,而需要综合许多专家的经验和知识才能够完成。近10年来电路制造工艺技术进步非常迅速,目前国际上60 nm的制造工艺,已达到工业化生产的规模,而电路设计能力远远落后于制造技术的进步。在数字逻辑设计领域,迫切需要一种共同的工业标准来统一对数字逻辑电路及系统的描述,这样就能把系统设计工作分解为逻辑设计(前端)、电路实现(后端)和验证三个互相独立而又相关的部分。由于逻辑设计的相对独立性就可以把专家们设计的各种常用数字逻辑电路和组件(如FFT算法、DCT算法部件,DDRAM读写控制器等)建成宏单元(megcell)或软(固/硬)核,也称作Soft(firm/hard)Core,即IP(知识产权内核的英文缩写)库供设计者引用,设计者可以直接利用它们的行为模型设计并验证其他电路,以减少重复劳动,提高工作效率。电路的实现则可借助于综合工具和IP的重复利用,以及布局布线工具(与具体工艺技术有关)自动地完成。
Verilog HDL和VHDL这两种工业标准的产生顺应了历史的潮流,因而得到了迅速的发展。美国、日本等国由于**设计工程师人力资源成本远高于中国,所以,近年来把许多设计工作转移到中国大陆,以降低设计成本。作为新世纪的中国大学生和年轻的电子工程师应该尽早掌握这种新的设计方法,使我国在复杂数字电路及系统的设计竞争中逐步缩小与美国等先进的工业发达**的差距。
第1章 Verilog的基本知识
1.1 硬件描述语��HDL
硬件描述语言(HDL,hardware description language)是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计者利用这种语言可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后利用电子设计自动化(以下简称为EDA)工具逐层进行仿真验证,再把其中需要变为具体物理电路的模块组合经由自动综合工具转换到门级电路网表。接下去再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具把网表转换为具体电路布线结构的实现。在制成物理器件之前,还可以用Verilog的门级模型(原语元件或UDP)来代替具体基本元件。因其逻辑功能和延时特性与真实的物理元件完全一致,所以在仿真工具的支持下能验证复杂数字系统物理结构的正确性,使投片的成功率达到l00%。目前,这种称为高层次设计(high—level—design)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA已采用Verilog硬件描述语言方法进行设计。
硬件描述语言的发展至今已有近30年的历史,并成功地应用于设计的各个阶段:建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,并对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域与层次,而且众多的语言使用户无所适从。因此急需一种面向设计的多领域、多层次、并得到普遍认同的标准硬件描述语言。进入20世纪80年代后期,硬件描述语言向着标准化的方向发展。*终,VHDL和Verilog HDL语言适应了这种趋势的要求,先后成为IEEE标准。把硬件描述语言用于自动综合还只有10多年的历史。*近l0多年来,用综合工具把可综合风格的HDL模块自动转换为具体电路发展非常迅速,大大地提高了复杂数字系统的设计生产率。在美国和日本等先进电子工业国,Verilog语言已成为设计数字系统的基础。本书**部分将通过具体例子,由浅入深地帮助同学们学习:
(1)Verilog的基本语法;
(2)简单的可综合Verilog模块与逻辑电路的对应关系;
(3)简单的Verilog测试模块和它的意义。
书中第二部分将通过较复杂的设计实例,帮助同学们掌握:
(1)如何编写复杂的多层次的可综合风格的Verilog HDL模块;
(2)如何用可综合的Verilog模块构成一个可靠的复杂IP软核和固核模块;
(3)如何借助于Verilog语言,并利用已有的虚拟行为模块对所设计的系统模块(由可综合的自主和商业IP模块组成)进行全面可靠的测试和验证(包括软/硬件协同测试的基本概念)。
1.2 Verilog HDL的历史
1.2.1什么是Verilog HDL
Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。该语言允许设计者进行各种级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合。它是目前应用*广泛的一种硬件描述语言。据有关文献报道,目前在美国使用Verilog HDL进行设计的工程师大约有l0多万人,全美国有200多所大学教授用Veril09硬件描述语言的设计方法。在我国台湾地区几乎所有**大学的电子和计算机工程系都讲授Verilog有关的课程。
1.2.2 Verilog HDL的产生及发展
Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby首创的。Phil Moorby后来成为Veril09—XL的主要设计者和Cadence公司(Cadence DesignSystem)的**个合伙人。在1984至1985年,Moorby设计出了**个名为Veril09—XL的仿真器;l986年,他对Verilog HDL的发展又作出了另一个巨大贡献,即提出了用于快速门级仿真的XL算法。
随着VerilOG—XL算法的成功,Verilog HDL语言得到迅速发展。1989年,Cadence公司收购了GDA公司,Verilog HDL语言成为Cadence公司的私有财产。l990年,Cadence公司决定公开Verilog HDL语言,于是成立了0VI(Open Verilog International)组织来负责促进Verilog HDL语言的发展。基于Verilog HDL的优越性,IEEE于1995年制定了VerilogHDL的IEEE标准,即Verilog HDLl364—1995;2001年发布了Verilog HDLl364—2001标准;2005年SystemVerilog IEEE l800—2005标准的公布,更使得Veril09语言在综合、仿真验证和模块的重用等性能方面都有大幅度的提高。
图1.1展示了Veril09的发展历史和未来。
1.3 Verilog HDL和VHDL的比较
Verilog HDL和VHDL都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。VHDL是在1987年成为IEEE标准,Verilog HDL则在1995年才正式成为IEEE标准。之所以VHDL比Verilog HDL早成为IEEE标准,这是因为VHDL是由美国军方组织开发的,而Verilog HDL则是从一个普通的民间公司的私有财产转化而来,基于Verilog HDL的优越性,才成为IEEE标准,因而有更强的生命力。
VHDL其英文全名为VHSIC Hardware Description Language,而VHSIC则是VeryHigh Speed Integerated Circuit的缩写词,意为甚高速集成电路,故VHDL其准确的中文译名为甚高速集成电路的硬件描述语言。
Verilog HDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用**语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去);便于文档管理;易于理解和设计重用。
但是Verilog HDL和VHDL又各有其自己的特点。由于Verilog HDL早在1983年就已推出,至今已有20多年的应用历史,因而Verilog HDL拥有更广泛的设计群体,成熟的资源也远比VHDL丰富。与VHDL相比Verilog HDL的*大优点是:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,通过20学时的学习,再加上一段实际操作,一般同学可在2~3个月内掌握这种设计方法的基本技术。而掌握VHDL设计技术就比较困难。这是因为VHDL不很直观,需要有Ada编程基础,一般认为至少需要半年以上的专业培训,才能掌握VHDL的基本设计技术。2005年,SystemVerilog IEEEl800—2005标准公布以后,集成电路设计界普遍认为Verilog HDL将在10年内全面取代VHDL成为ASIC设计行业包揽设计、测试和验证功能的的**语言。图1.2所示的是Verilog HDL和VHDL建模能力的比较图,供读者参考。-2005标准,不但使Veril09的可综合性能和系统仿真性能方面有大幅度的提高,而且在IP的重用方面(包括设计和验证模块的重用)也有重大的突破。因此,Verilog HDL不但作为学习HDL设计方法的入门和基础是比较合适的,而且对于ASIC设计专业人员而言,也是必须掌握的基本技术。学习掌握Verilog HDL建模、仿真、综合、重用和验证技术不仅可以使同学们对数字电路设计技术有更进一步的了解,而且可以为以后学习**的行为综合、物理综合、IP设计和复杂系统设计和验证打下坚实的基础。
1.4 Verilog的应用情况和适用的设计
近10多年以来,EDA界一直对在数字逻辑设计中究竟采用哪一硬件描述语言争论不休。
近二三年来,美国、日本和我国台湾地区电子设计界的情况已经清楚地表明,在高层次数字系统设计领域,Verilog已经取得压倒性的优势;
……