林佳奇+刘恺麟+曹可震
摘 要:随着科技的不断发展,现代电子技术的核心已经逐渐向基于计算机的自動化电子设计技术的方向转变。EDA技术对计算机的依赖性非常强,在EDA工具软件平台上,EDA会对以硬件描述语言为系统逻辑描述手段完成的文件自动进行逻辑编译、化简、分割等一系列步骤。然而VHDL作为硬件描述语言,是EDA技术中的重要组成部分,同时也是电子设计主流硬件的描述语言之一。本文将着重介绍它的程序结构和使用技术。
关键词:EDA;FPGA;VHDL
1 EDA技术
1.1 基本概念
EDA技术是一种用于电子系统设计的高端技术,广泛地融合了应用电子技术、计算机技术、信息处理及智能化技术。它一般用于完成集成电路(ASIC)或印制电路板(PCB)的设计与实现。进行电子产品的自动设计。利用EDA技术电子设计师可以多个方面设计电子系统。极大地提高了效率和可操作性。
1.2 面向FPGA的EDA开发流程
一般可分为五个步骤,本文中我们粗略地对这五个步骤进行简述。第一步,设计输入,将电路系统以一定的表达方式输入计算机。它包括图形输入和代码文本输入两部分。第二步,综合,把抽象的实体简化为单一的实体,也就是把某些东西结合在一起,把设计中抽象的层次转化为让人容易看懂的好表达的实体过程。它也可分为自然语言综合、行为综合、逻辑综合、结构综合四个部分。第三步,适配,它的功能是将综合后的文件配置于指定的适配器中。最终产生下载文件。第四步,仿真,在下载之前必须对适配产生的结果进行仿真。根据编写的算法对EDA设计进行模拟,验证设计的正确性。第五步,RTL描述,利用独立的组合电路模块和独立的寄存器模块构建描述数字电路的形式。
1.3 EDA技术的优点
通过对抽象的行为与功能的描述,提高了设计过程的正确性,大大地降低了成本,缩短了设计周期。EDA的仿真技术也是非常具有优势的,只需通过计算机就能对所设计的电子系统的各个层次及功能进行仿真。然而EDA进行设计过程使用的语言是标准化的。不会由于设计对象的不同而改变,根据IP核可以移植和测试,为系统开发提供了可靠的保障。
2 VHDL
2.1 VHDL的基本内容
VHDL被称为标准硬件描述语言,用软件的方式设计系统,它主要用于描述数字系统的结构,行为,功能和接口。一个完整的VHDL程序可以称为设计实体,分成内部和外部。设计实体的内部功能和算法完成部分后,再对设计实体的外部界面进行定义。其他的设计就可以直接调用这个实体。VHDL语言作为EDA工具的桥梁使电子系统向集成化、大规模、高速度等方向发展。
2.2 VHDL的程序结构
面对电路系统设计的VHDL程序代码可以由4个模块构成,它包括库和程序包调用声明语句构成的模块、描述电路信号端口和参数通_道的实体模块、具体描述电路功能的结构体模块以及配置结构体模块。下面我们对这四个模块进行分析和讲解。
库是一种用来存储预先完成的程序包、数据集合体和元件的仓库。通常,库中放置不同数量的程序包,而程序包中又包含不同数量的子程序。VHDL语言的库可以分为设计库和资源库。我们在程序设计过程中通常用的库有IEEE库、STD库、WORK库及VITAL库。IEEE是VHDL设计中最为常用的库,其中的STD_LOGIC_1164是最重要和最常用的程序包。STD库包含了STANDARO和TEXTIO两个标准程序包,只要在VHDL应用环境中,随时可以调用这两个程序包中的所有内容。WORK库用于存放用户设计和定义的一些设计单元和程序包,在实际调用中,不允许在根目录下进行,必须在某一路径上设计一个文件夹才可以调用其中的内容。VITAL库可以用来提高时序模拟的精度,因而只在时序仿真中使用。
VHDL实体是整个设计实体的重要部分,主要用于设计实体和外部电路的接口描述实体模块的一般语句结构如下:
ENTITY 实体名 IS
[GENERIC (参数名:数据类型);]
[PORT(端口表:数据类型);]
END ENTITY 实体名;
在实体中,GENERIC引导的参数传递语句负责构建一个影响电路规模或时序特性等参数的通道。可综合的电路端口模式有IN(输入端口)、OUT(输出端口)、INOUT(双向端口)、BUFFER(缓冲端口)四种。
结构体是实体定义的设计实体中的一个组成部分。一般来说,结构体的组成分为两种。一是对数据类型、常数、信号、子程序和元件等元素的说明部分,二是描述实体逻辑行为的,各种不同的描述风格表达的功能描述语句。结构体的语句格式如下:
ARCHITECTURE 结构体名 OF 实体名 IS
[说明语句]
BEGIN
[功能描述语句]
END ARCHITECTURE 结构体名;
配置是VHDL设计实体中的一个基本单元,在综合和仿真中,配置语句为实体指定或配置一个结构体。为整个设计提供许多信息,从而形成一个例化元件层次的设计实体。
2.3 VHDL的使用技术
随着市场需求的增长,集成工艺水平及计算机自动技术的不断提高,VHDL的应用越来越广泛,越来越多的数字系统都是基于VHDL语言的编写。例如,数字秒表的设计,就采用了VHDL语言层次化设计方法设计。然而一些常见的组合逻辑电路的设计、时序逻辑电路的设计、存储器的设计及状态机的设计都基于VHDL语言。VHDL技术在生活逐步频繁使用,极大地的提高了工作效率。
在电子技术设计领域,可编程逻辑器件的应用,已经得到了广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。EDA技术彻底地改变了数字系统的设计方法和实现手段,通过VHDL语言和EDA工具,大大地缩短了设计周期。同时随着科技的不断发展和更新,传统的电子系统设计发生了根本的变革,VHDL语言的使用范围日益增大,这也会为我们的生活带来更好便利和提高。
参考文献:
[1] 潘松,黄继业,潘明.EDA技术实用教程(第四版)[M].北京:科学出版社,2010.
[2] 潘松,成龙,黄继业.实用数字电子技术基础[M].北京:电子工业出版社,2011.
[3] 潘明,黄继业,潘松.单片机原理与应用技术[M].北京:清华大学出版社,2011.