接口电路 秘书论文 设计应用 手机问答 教育考试 通信网络 工业控制 家庭生活 嵌入式 模拟技术
电源技术 家庭生活 DSP 商业金融 存储器 论坛新贴 显示光电 计算机 作品展厅 书籍介绍
资料下载 期刊杂志 展会动态 新兴电子 公司汇总 多媒体 软件教程 基本电路 疑问解答 EDA/PLD
    
位置:首页>设计应用>正文

【硬件描述语言(HDL)的基础知识及其应用 】

 

随着电子系统设计自动化(EDA)和超大规模可编程逻辑器件的快速发展,一类新型电子系统开发工具正在迅速普及,其中就有很重要的一类开发软件工具,即硬件描述语言(HDL)。目前HDL已经成为从事EDA的电子工程师必须掌握的工具。本文介绍常用的几种硬件描述语言的历史,功能及应用方法。

使用硬件描述语言(HDL),可以用仿真方式完成以前必须设计和建造好样机才能进行的电子电路特性的说明和调试。可以使用仿真器测试所设计的电路的功能是否正确。从而能够大大的减少设计的成本和时间。

计算机硬件和电子工业从一开始就是携手并进的,在技术发展中一直互相帮助和支持。很明显,电子工业一直在促进计算机工业的成长。例如在发展高速的处理机,高速数据总线,大规模存储器,以及紧凑型多功能电路和计算机主板等方面。目前,技术上的发展正转向以更好、更容易的辅助开发工具来支持用户进行系统开发工作。

十年来,计算机设计和编程人员和电子器件厂家都在寻找一种工具,在芯片的设计人员和生产伙伴之间建立沟通和交换数据的桥梁。所谓硬件描述语言(HDL)正是实现了这一目标。能够给电路的编程和设计者提供了一种能够自由表述和说明电路特性;对电路进行计算机仿真和综合的软件工具。

当前市售的大多数CAD(计算机辅助设计)、CAE(计算机辅助工程)、CAM(计算机辅助制造)工具软件在其各自专门领域都是很好的。但在涉及互相间交换和传输有关设计信息方面能力有限。其主要障碍是各公司都倾向于使用不易得到的具有专利的工具。因此,电子工业界一直在寻找一种方法,能在芯片和器件的复杂性不断以惊人的速度增长的同时降低系统开发的成本和时间。

HDL的功能

HDL可以描述和仿真任何电子元件的特性,这些元件的规模可以从单个门电路直到一块完整的多层印刷电路板,甚至一个数字系统。HDL的主要操作对象是高速集成电路(ASIC)和现场可编程门阵列(FPGAS)。HDL提供一种对于设计特性的清楚、明确和简单的描述方法。包括对于小的基本元件或已经设计好的复杂的系统的描述。其仿真功能使设计者在产品投入大规模生产前可以分别测试各个元件及其之间的连接,进一步可以检查是否符合标准。HDL还提供设计综合方法,可以自动产生硬件设计图。

现有很多种HDL,其中最常用是称为Verilog 的HDL,及超高速集成电路HDL,(VHISC-HDL)或简称VHDL。还有其他诸如:ISP、UDLI、ABEL和HILO等。

HDL的历史

第一个硬件描述语言是由Gordon C.Bell和Alan Newell在Carnegie Mellon大学提出的。他们在DEC公司的PDP-8计算机系统上开发的HDL名为ISP。当时其影响并不大。

对于HDL的真正需求是由于美国国防部在一次大规模电子元件采购时,发现在研究由供应商提供的有关元件特性和电路设计的文件时十分困难。国防部于1980年开始要求供应商以容易了解的电子文档方式提供电路设计,并且详细拟订了提供数据的格式。这个格式现在一般被称为VHDL。是由IBM、Intermetrics和TI公司在国防部资助下开发的。这3个公司被邀请制定一个编程语言标准。

美国电气电子工程师协会(IEEE)是一个制定规则和为国际标准打上最后印记的组织。IEEE也对VHDL表现出兴趣,并且制定了VHDL的国际标准,并在1987年被确定为IEEE1076-1987标准。稍后,这一语言被进一步改进,其增强版本被称为1076-1993。VHDL同时也是军事标准(454)和ANSI标准。从1988年开始,美国政府规定所有专用集成电路都必须带有类似的VHDL说明。

1984年,GDA电子公司的发表了由Phil.R.Moorby开发的一种新的HDL,称为Verilog HDL,Verilog由于小型化及强大的描述能力在市场上形成一次直接冲击,设计者将电路送给生产厂家时必须做出这种说明。GDA公司开发的仿真器在市场上广泛销售,并且作过多次改进。常见的一种称为VerilogXL,因为它使用XL算法,允许设计者在门电路一级进行描述。但是由于Verilog是一种专利语言,并且没有被标准化。作为一种语言,在发展的开始,常常没有什么原因地增添新的特性,或删除其他一些特性而引起用户不便。

1990年Cadence设计系统公司收购了GDA公司,并且获得了Verilog HDL。Cadence公司作为开发语言和仿真器来销售Verilog。Cadence公司还公开发表了Verilog语言,从而引起市场上多种基于这种语言的仿真器的出现。这些仿真器除了这种语言外没有任何其他标准。一种最普通的非Cadence公司生产的Verilog编译仿真器VCS由Chronological仿真公司开发出来。主要区别是:VCS是一种编译器,而VerilogXL则是解释器。

当Verilog语言及其PLI(即一组帮助应用Verilog语言编程的应用程序接口)的发展权利公众化而不受专利保护时,开放的Verilog国际组织(OVI)于1999年成立。负责制定国际标准。OVI作的第一件事就是在Cadence公司提供的语言参考手册(LRM)的帮助下起草一个语言标准。OVI被重新命名为Accellera,即表示以语言为基础的设计自动化处理。这一语言在经过反复争辩和表决后,成为IEEE1364-1995标准。Accellera也负责开发继电器格式标准(SDF),这一格式现在也成为IEEE1497-2001标准。

需要特别提到的另一个组织是于1989年成立的电子设计自动化协会(EDAC)。其宗旨是EDA工业的安全,增进对于EDA在全球经济中应用规律的了解。这个命名为EDA协会的组织的成员都是全世界EDA工业界的代表。

关于VHDL和Verilog

至今为止,工业界已见到很多种硬件描述语言出现。但最强有力的竞争者是VHDL和Verilog。就硬件所涉及的基本原理和表现方法来说,两者具有类似的特点和灵活性。如前所述,两者都是国际标准。这意味着语言都是标准化的,不会为任何公司和组织所单独控制。每种语言又都有其自己的特点和应用领域。例如: Verilog在仿真方面性能极好,它能以很高的速度仿真一个设计。而VHDL在混合使用3种不同风格的描述于一个设计中,而不会发生大的歧义方面,很有优势。

在描述抽象的特性方面两者性能都很好,但在对硬件具体结构描述时会出现不同。由于含有PLI,Verilog作结构描述比较容易。PLI即编程语言接口,它是一组能帮助进行仿真的C语言接口。PLI能够用于延迟时间计算,测试布线过程等等工作。PLI在HDL中的作用与编程语言中API的作用相同。

VHDL的程序则能够被编译(如果是多层板,分别作为独立单元进行编译)。而大多数Verilog程序仍然是解释型的。当前,仅有少数几种为特殊目标而单独放入编译器。由于VHDL支持线路板的原理图,所以程序在放置相关函数或过程到电路板及在希望使用的设计项目中使用线路板时比较灵活。但在Verilog环境中,函数及过程必须放在单独的头文件中,并且象在C语言中一样包含在模块中。VHDL超过Verilog的一个领域是过程的并发处理方式。这在Verilog中是作不到的。VHDL是对环境不敏感和自由格式语言。在以用户为基础的项目方面Verilog具有较高的能力,因为Verilog具有比VHDL更多的实用工具。正因此,Verilog在VHDL标准被广泛应用之前,就已经很好地被应用于仿真器中。而Cadence公司使Verilog公众化的原因之一,就是要战胜VHDL。

统计表明,由于在编程和仿真方面的优点,使用Verilog比使用VHDL能够更快地完成设计任务。这一点在一次由EDI和ASIC设计顾问公司所做的对比实验中表现得很清楚。9个使用Verilog的设计者中有8个按时完成了一个项目的设计,而选择VHDL的设计者中没有一个完成同一项目。

为什么使用HDL

除了按照政府要求,规定电路的设计者和厂家必须提供VHDL的设计之外。这两种硬件描述语言还由于其他多种原因而日益流行。
首先,由于VHDL是标准化的,芯片销售者可以很容易更新其电路设计,而不必顾虑软件专利问题。

其次,由于每个元件可以分别设计,在所有元件通过内部连接组成完整系统时分层和定时信息被保留,所以可以大大加快电路设计过程。

随着仿真器的应用,不需要制作昂贵的样机,就能很方便地测试电路,找出和修改错误。

最后,由这两种HDL语言编写的程序或模块像C或PASCAL程序一样,很容易理解。

HDL的基本规则

在了解了HDL的优点和Verilog与VHDL各自的特点之后,现在看一下这两种语言的基本语法规则。一个简单的实例可以有助于理解其表现方法。

VHDL。在VHDL中'实体'是最小的设计单位。一个实体可以用来描述一个门、总线或一个连接。比如:半加器、全加器。图中显示了一个半加器电路。图1:一个简单的半加器电路。VHDL对此电路的描述如下:

上述代码表可以与后面的Verilog 的代码加以比较。一个实体可以连接或嵌入另外的实体而组成元件。元件是比较复杂的,而系统则可以包含一个或多个元件。实体有包括'实体说明'(entity declaration)和'结构体'(architectural body)两部分。实体说明用于对实体外部描述,诸如:输入、输出。而结构体则描述实体的特性。结构体包含一些并发描述语句,但这些语句是顺序还是并发地执行与语句出现的顺序无关。对于半加器描述的结构体如下:

在VHDL语言描述中使用的其他设计单元还有:'配置说明'(configuration declaration ),这用于描述实体与结构体之间的连接关系。程序包说明(package declaration),包含一组共享类型、子类型、过程和函数说明。程序包体(package body)用于此程序包中的子程序定义。VHDL允许设计者单独或混合表达他们在结构、数据流、性能等方面的要求。

Verilog HDL。在Verilog中,最小的设计单位是'模块'。一个模块具有接收和发送数据的端口。假定有如下的模块代码表:

上述代码表中有两条标有'#'的语句,'#'表示一个指定单元的小的时间延迟。像VHDL一样,Verilog允许设计者单独或混合表达他们在结构、数据流、性能等方面的要求。当模块使用门和结构模块时,要使用结构类型。当使用顺序执行的连续任务时,要使用数据流类型。在使用程序结构时,要参考性能类型。

HDL工具

在两种HDL程序包中都有多种开发工具。如编辑器、仿真器等,对于设计工作都很有帮助。编辑器虽然常常不被重视,但在如何更容易,更快速将设计者的思想表达为语句方面,有不可缺少的作用。我们记得:正是编程语言的编辑器使用句法和颜色的改变来帮助我们表述一条语句。几乎所有的设计组件都带有增强功能的内置式编辑器。三棱镜(prism)编辑器上一种先进的文本编辑软件。虽然功能与其他文本编辑器类似,但对于使用Verilog与VHDL的设计人员十分有用。因为它能够加入提供附加功能的新的语言插件。诸如:代码变色、句法检查、代码模板使用和以列为基础的编码等。编辑器还支持宽范围的文件处理,诸如日志文件和报告文件。

后来加入转换软件包的如编译器、解释器,都可以在各HDL销售商处买到。如Verilog模块编译器(VMC)和VHDL的模块编译器(VHMC)都可以从SYROPSYS公司买到。几乎所有所有设计组件的销售者都提供内置式或分立式转换器。

一旦转换完成,我们可以在仿真器的帮助下看到代码的作用。常用的Verilog仿真器有avanti公司提供的Polaris;Cadence设计系统公司的NC Verilog和Verilog-XL;Synopsys公司的VCS;Fintronic公司的FINSIM;SynaptiCAD公司的Verilogger Pro;Simucad公司的Silos;以及Mentor Graphics公司的QuikHDL。Model Technology公司的Modelsim 5.6是仿真器,它能够用于仿真VHDL和CHDL/Verilog混合的设计,因为软件能够将各仿真器的核心部分无缝地结合起来。Mentor Graphics公司也有多种在HDL语言开发的各阶段使用的工具。如HDL Pilot是一种设计文档管理工具,HDL Detective 是设计分解和提交工具,函数性的Designer point 工具用于增强性能。Debug Detective扩展了排错和分解设计的功能。

很多工具用于在HDL之间交流,以便于从一个HDL变为另一个。VHDL2 Verilog就是这样一种工具,能够帮助你将一个VHDL的设计转换为Verilog的设计(要借助附加软件的帮助)。这样做的优点是维持同样的抽象级别。FTL公司的HDL转换器也是这样一种在VHDL和Verilog的设计之间转换的类似的工具。这一软件特别吸引人的地方包括:代码可以扩展到设计1千万门的芯片,同时在转换时注释可以被保留。也可以买到在Verilog和其他常用的编程语言如:C、C++之间转换的软件。

如果你正在寻找将设计、仿真和测试在一种HDL中一起解决的办法,Accolade公司的PeakFPGA 设计组件十分适宜。这一组件中包含了典型HDL编程设计人员所需要的各种工具的集合。其中有内置式VHDL分析器,并且巧妙地建在编译器内;排错窗口在排错时可以一步步地选择断点和灵活地进行跟踪;通过自动分层保存数据记录能够很容易地管理设计对象;而且对于大范围内的波形具有灵活性。

HDL Score是Innoveda公司的一种代码转换分析工具包,集成在一个操作环境中,有助于检验和测试一个设计。这个软件具有自动和手动过滤选择。能够不转换指定区域而能够很好地测试他们的目的。这一软件还能识别未测试区域、明显故障区域和引起问题区域,从而有助于进行优化。

由于能够极大地缩短一个设计从提交到工厂生产之间的时间,也有助于在实验室进行设计的测试和仿真等优点,硬件描述语言HDL正在成为电子工业中常用工具。


上一篇:【硬件描述语言HDL的现状与发展 】
下一篇:【谈VHDL/Verilog的可综合性以及对初学者的一些建议】

来源: 编辑: 日期:2007-1-20 20:53:21

收藏此页到365Key

  Powered By 一起上网络<中国电子>