新闻  |   论坛  |   博客  |   在线研讨会
VHDL介绍
zhchxgh | 2009-07-14 22:01:18    阅读:1545   发布文章

VHDL介绍

VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。

VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。

关于用VHDL和原理图输入进行CPLD/FPGA设计的粗略比较:在设计中,如果采用原理图输入的设计方式是比较直观的。你要设计的是什么,你就直接从库中调出来用就行了。这样比较符合人们的习惯。但是这样做需要设计人员要在两方面有较高的素质:

对电路的知识要比较丰富。 
对CPLD/FPGA的结构比较熟悉。 
有了这两个条件才能在设计的过程中选用适当的器件从而提高设计的可靠性、提高器件的利用率及缩短设计的周期。但是有一个重大的问题是在于,如果你的产品有所改动,需要采用另外的CPLD/FPGA时,你将需要重新输入原理图。(改用不同的器件在今天这种竞争环境下是会经常发生的。头儿们为了提高产品的性能或者是降低产品的造价,提高保密性等等,都会考虑选用不同的器件。对他们而言只是做出一个决定,对我们而言却是要我们付出更多的心血)。

但是当你采用VHDL等高级语言来设计时这些问题都会得到较好的解决。由于在使用VHDL等高级语言时,有专用的工具来实现将语言描述的电路功能转换为实际的电路所以你就用不着对底层的电路很熟悉,也用不着对CPLD/FPGA的结构很熟悉(因为有专用的工具针对你的描述采用相应的器件哦)。当你要换器件时,你只需要将原来设计好的VDHL文件在新器件的设计工具中再次实现就行了(就是这么简单喔)!

用高级语言设计电路的流程:

在用高级语言来设计电路时,主要的过程是这样的:

使用文本编辑器输入设计源文件(你可以使用任何一种文本编辑器。但是,为了提高输入的效率,你可以用某些专用的编辑器,如:Hdl Editor,Tubor Writer或者一些EDA工具软件集成的HDL编辑器)。 
使用编译工具编译源文件。HDL的编译器有很多,ACTIVE公司,MODELSIM公司,SYNPLICITY公司,SYNOPSYS公司,VERIBEST公司等都有自己的编译器。 

(可选步骤)功能仿真。对于某些人而言,仿真这一步似乎是可有可无的。但是对于一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。另外,对于作为一个独立的设计项目而言,仿真文件的提供足可以证明你设计的完整性。 

综合。综合的目的是在于将设计的源文件由语言转换为实际的电路。
(但是此时还没有在芯片中形成真正的电路。这一步就好像是把人的脑海中的电路画成原理图。--这是我的个人观点,似乎在好多文献中都没有提到“综合”的准确定义。至少,我读过的几本书中就没有。)这一部的最终目的是生成门电路级的网表(Netlist)。 
布局、布线。这一步的目的是生成用于烧写(编程Programming)的编程文件。在这一步,将用到第4步生成的网表并根据CPLD/FPG厂商的器件容量,结构等进行布局、布线。这就好像在设计PCB时的布局布线一样。先将各个设计中的门根据网表的内容和器件的结构放在器件的特定部位。然后,在根据网表中提供的各门的连接,把各个门的输入输出连接起来。最后,生成一个供编程的文件。这一步同时还会加一些时序信息(Timing)(?)到你的设计项目中去,以便与你做后仿真。 

后仿真。这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。如果设计的电路的时延满足要求的话,则就可以烧写器件(编程)啦!

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客