VHDL_和_Verilog_HDL_的区别

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VHDL与VerilogHDL的比较丁永峰张茂林张浩冯晓龙当前最流行的硬件设计语言有两种,即VHDL与VerilogHDL,两者各有千秋,只是看个人爱好和应用领域罢了!VHDL语言由美国军方所推出,最早通过国际电气工程师学会(IEEE)的标准,在北美及欧洲应用非常普遍。而VerilogHDL语言则由Gateway公司提出,这家公司后来被Cadence所购并,并得到Synopsys的支持。这种硬件描述语言在得到这两大EDA公司的支持后,也随后通过了IEEE标准,在美国、日本及中国台湾地区使用也非常普遍。目前,IP供应商大多提供Verilog模块,对于一个项目而言,如果不会使用到别人的IP,这个问题不大,否则还是推荐使用erilogHDL。还有一个说法就是,在国外学界VHDL比较流行,在产业界Verilog比较流行。VerilogHDL和VHDL作为描述硬件电路设计的语言,其共同特点在于:能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去);便于文档管理;易于理解和设计重用。下面简要比较一下两种硬件描述语言各自的特色:(1)设计层次:Verilog在其门级描述的底层,也就是晶体管开关级的描述方面比VHDL更强一些,所以即使是VHDL的设计环境,在底层实质上也会由Verilog描述的器件库所支持。Verilog较为适合系统级、算法级、RTL级、门级和电路开关级的设计,而对于特大型(千万门级以上)的系统级设计,则VHDL更为适合。不过,新一代的VerilogHDL语言,如Verilog-2005及SystemVerilog等,就针对系统级的部分进行了加强,且完全向下兼容。(2)数据类型:VHDL允许使用者自定义数据类型,如抽象数据类型,这种特性使得系统层级的建模较为容易。相比于VHDL,VerilogHDL语言的主要数据类型就简单许多,其数据类型的定义完全是从硬件的概念出发。对于初学者来说,这可能是其优点,能将思维概念放在电路设计本身。对于VHDL,不同数据类型之间不能赋值(可用转换函数实现赋值);不同数据类型之间不能运算(可调用程序包重载操作符),此外VHDL不区分大小写(连保留字也不区分大小写)。然而,VerilogHDL则没有数据类型匹配要求(自动转换),区分大小写(大小写含义不同)。在输入、输出端口设定有不同的要求和含义:VHDL中有in、out、inout、buffer四种,端口默认为内部信号(有寄存器端口),buffer端可以反馈,但不能连接其他元件端口,实际使用时常用内部signal来代替buffer端口;而VerilogHDL中只有input、output、inout,默认为wire类型(无寄存器端口),VerilogHDL中的reg类型数据可以代替VHDL的内部signal(内部寄存器)。(3)便捷性:VerilogHDL和VHDL最明显的差别在语法上,VerilogHDL是一种类C语言,而VHDL是一种ADA(ActionDataAutomation,行动数据自动化)语言。由于C语言简单易用且应用广泛,因此也使得VerilogHDL语言容易学习,如果有C语言学习的基础,很快就能够掌握;相比之下,VHDL语句较为晦涩,使用难度较大。VerilogHDL定义了许多易于仿真的语法,如信号的提取(Extraction),我们可以在顶层模块中直接提取子模块的信号。如,wiretest=top.module1.module2.test,这在仿真时极为有用。而这些功能VHDL并不具备,必须依靠仿真器提供特殊的工具来辅助。并且,VerilogHDL语言能在整个设计阶段甚至是库设计的时候都可以采用,因而免除了不同语言之间转换或联合仿真的问题。(4)可维护性:对于大型设计而言,VHDL支持如generatepackage及generic的语法,这有助于大型设计的维护。在这方面VerilogHDL也提供了generate的语法。但是,在实现同样功能的情况下,比较两者的程序代码,VerilogHDL仅需几乎VHDL语言的一半长度。众所周知,程序的可维护性与程序的长短成反比,越长的程序维护越不容易,且出错的几率也高。此外,相比于VHDL而言,VerilogHDL有着更加自由的格式(事实上,VHDL以结构严谨著称),这可能是优点,但也可能成为缺点。比如管脚位数不匹配时,在VerilogHDL里仅为警告(Warning);而在VHDL里则为严重的错误(Error)。(5)可扩充性:VerilogHDL语言因其可程序化的接口可以无限扩充而成为功能强大的硬件设计语言。这一点是VHDL所欠缺的,VHDL语言以Package的观念取代。由于VerilogHDL早在1983年就已推出,至今已有20多年的应用历史,因而VerilogHDL拥有更加广泛的设计群体,成熟的资源也比VHDL丰富。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功