1。2 VHDL语言简介
VHDL是一种超高速集成电路硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language)的缩写,于1985年正式推出,是目前标准化工程度最高的硬件描述语言。IEEE(The Institute of Electrical and Electronics Engineers)于1987年将VHDL采纳为IEEE1076标准(VHDL1987版本),并于1993年和2008年分别升级为VHDL1993版本和VHDL2008版本。VHDL经过20多年的发展、应用和完善,以其强大的系统描述能力、规范的程度设计结构、灵活的语言表达风格和多次层次的仿真测试手段,在电子设计领域收到了普遍的认同和广泛地接收,成为现代EDA领域的首选硬件描述语言。
硬件描述语言的描述对象是待设计电路系统的逻辑功能、实现该功能的算法、选用的电路结构及其他各种约束条件等。通常要求HDL既能描述系统的行为,又能描述系统的结构。硬件描述语言HDL种类较多,常用的有VHDL、Verilog和ABEL等。VHDL语言与其它HDL语言相较之下有一些自己的优点:
(1)设计方便、方法多变、支持广。VDHL语言具有功能强大的语言结构,能用简单明了的代码替代复杂控制逻辑的设计,能够支持同步电路、异步电路和其它随机电路的设计。VHDL涉及的范围广这是其它HDL语言不能相比的。另外,VHDL语言能够自自己设定数据类型,这给编程工作人员带来了便利。
(2)系统硬件描述能力强。VHDL语言可以进行系统级的硬件描述是它的一个最出色的优点。
(3)能够编写与工艺无关的编程。
(4)VHDL语言编写规范且典型,方便共享和复用。方便了设计成果的设计和交流。另外,VHDL语言的语法比较标准,因此给阅读和使用都带来了非常大的好处。
(5)方便ASIC移植。VHDL语言的效率之一,就是如果你的设计是被综合到一个 CPLD或FPGA的话,则可以使你设计的产品以最快速度上市。因为VHDL是一个成熟的定义型语言,能够保证ASIC厂商产出优良质量的器件产品。而且当由于工艺技术的进步,需要采用更先进的工艺时,仍可以采用原来的VHDL代码。
VHDL程序结构
一个完整的VHDL程序通常包含库(Library)、程序包(Package)、实体(Entity)、结构体(Architecture)和配置(Configuration)5个组成部分。
图2-2 VHDL程序结构
其中实体和结构体是VHDL程序不可缺少的最基本的两个组成部分,它们可以构成最简单的VHDL文件。而库、程序包和配置则可有可无,设计者可根据需要选用。对于一个完整的VHDL程序(设计实体),要求能为VHDL综合器所接受,并能作为一个独立设计单元,即以元件的形式存在的VHDL程序。
VHDL程序结构的显著特点是,任何一个工程设计或设计实体都可分为内外两部分,外面的部分为可视部分,用实体来说明端口特性;里面的部分为不可视部分,用结构体来说明其内部功能和算法,由实际的功能描述语句组成。这种将实体分成内外部分的概念是VHDL系统设计的基本点,也是一种基于自顶向下的多层次系统设计概念的实现途径。
(1)实体
实体(ENTITY)是VHDL设计的必要组成部分,是设计实体的表层设计单元。
(2)结构体
结构体(ARCHITECTURE)是一个实体的组成部分,是对实体功能的具体描述,如用来描述实体内部结构、元件之间的互连关系、实体所完成的逻辑功能以及数据的传输变换等内容。
一个实体可以有多个结构体,但同一结构体只有描述一个实体。
(3)库
库(LIBRARY)是用来存储预先完成的程序包和数据集合体的仓库。其信息可以是预先定义好的数据类型、子程序等设计单元的集合体(程序包),也可以是预先设计好的各种设计实体(元件库程序包)。