20世纪90年代以来,微电子技术以惊人的速度发展,其工艺水平达到了深亚微米级,此阶段主要出现了以高级语言描述、系统仿真和综合技术为特征的第三代EDA技术,不仅极大地提高了系统的设计效率,而且使设计人员摆脱了大量的辅助性及基础性工作,将精力集中于创造性的方案与概念的构思上。它的特征为:第一,高层综合的理论与方法取得较大进展,将EDA设计层次由RT级提高到了系统级(又称行为级),并划分为逻辑综合和测试综合。第二,采用硬件描述语言HDL来描述10万门以上的设计,并形成了VHDL和VerilogHDL两种标准硬件描述语言。第三,采用平面规划技术对逻辑综合和物理版图设计进行联合管理,作到在逻辑综合早期设计阶段就考虑到物理设计信息的影响。第四,可测性设计。第五,为带有嵌入IP模块ASIC设计提供软硬件协同系统设计工具。 EDA技术的概念
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 EDA技术的特点
利用EDA技术进行电子系统的设计,具有以下几个特点:① 用软件的方式设计硬件;② 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③ 设计过程中可用有关软件进行各种仿真;④ 系统可现场编程,在线升级;⑤ 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。 EDA设计流程
典型的EDA设计流程如下:
1、文本/原理图编辑与修改。首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。
2、编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。
3、综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。
3 / 19
4、行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。
5、适配。利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。 6、 功能仿真和时序仿真。
7、 下载。如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。
8、 硬件仿真与测试。
2.2 硬件描述语言(VHDL)
VHDL简介
VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 VHDL语言的发展背景
硬件描述语言的发展至今已经有几十年的历史,并已成功应用到系统的仿真、验证和设计综合等方面。其中比较著名的的有VHDL语言、AHDL语言、Verilog HDL语言等。而在七八十年代初期VHDL语言是为美国国防部工作的。它是以ADA语言为根源,就像将被看到的整体结构的VHDL和其他的VHDL报表。
1986年,有人提议VHDL语言作为IEEE标准。它经历了一些修改意见和修改,直至1987年12月获得通过,成为IEEE 1076至1987标准。它的出现为电子设计自动化的普及和推广奠定了坚实的基础。之后IEEE对87版本进行了修订,于1933年推出了较为完善的93版本(被定为ANSI/IEEE std 1076-1993标准),使得VHDL语言的编程更加灵活方便。此后,越来越多的人开始使用VHDL语言进行数字电路系统的设计。而VHDL
4 / 19
语言有不同于软件编程语言,在编程结构和规范上有自己的特点,在此,本文就从简单介绍VHDL语言基础开始。 VHDL语言的基本结构
一个完整的VHDL[3]语言程序通常包括实体(Entity)、构造体(Architecture)、配置(Configuration)、包集合(Package)和库(Library)5个部分。前4种是可以分别编译的源设计单元。下面分别介绍:
实体:实体是用于描述所设计电路系统的外部接口信号,系统的输入输出端口及属性都是在实体中定义的。一个实体是设计中最基本的。最上层水平的设计是最高层的实体。如果设计分层次,那么最高层的描述将有低层描述的说明附在它里面。
构造体:构造体用于描述系统内部的结构和行为,系统要实现的功能都是在构造体内用语言进行描述的。所有实体可以有一个构造体的说明来模拟。该构造体描述的行为实体。一个单一的实体可以有多个构造体。一个构造体可能是行为而另一个可能是一个结构描述的设计。
配置:配置用于从库中选取所需单元来组成系统设计的不同版本。配置声明是用来约束一个组件实例的一双实体架构。一个配置可以被视为像一个零件清单进行设计。它描述的使用的每一个实体的行为,就像零件列表说明哪一部分用于每一部分的设计。
包集合:包集合存放各种设计模块都能共享的数据类型、常数和子程序等。包集合是一个收集常用数据类型和子程序中使用的设计。想想包含使用的工具建立的设计的一个工具箱作为一个包。
库:库存放已经编译的实体、构造体、包集合和配置。库可由用户生成或者是由ASIC芯片制造商提供,以便在设计中为大家共享。这种功能可以通过特定语句来实现。
除了以上介绍的各种术语,其它术语还有:
驱动程序:这是一个信号上的一个源。如果一个信号有两个来源,那么当两个来源是由两个驱动程序来起作用的。
总线:这个词,“巴士”通常使我想起一组信号或某个特定的通信方式,用于设计的硬件。在VHDL语言,总线是一种特殊的信号,表明可能由驱动程序来完成。
属性:一个关于VHDL对象连接到VHDL的物体或预先确定的数据的属性数据。例如,电流驱动能力的一个缓冲区或最高工作温度的装置。
通用:泛指是VHDL语言传递信息实体参数的任期。例如,如果一个实体是一个门级模型的上升和下降延迟,上升和下降延误的值才能通过成为实体与仿制。
进程:一个进程是执行的VHDL中的一个基本单位。一切行动,是在模拟VHDL描述
5 / 19
分为单个或多个进程。
在VHDL语言程序中,最重要的就是实体和构造体部分。它们是一个具体设计的核心。如果说实体是系统和外部交流的桥梁,那么构造体就是处理内外交流的信号加工厂。在构造体中各种信号协调工作,最后得到所需的输出,传送到输出端口和外部进行交流。下面具体说明实体和构造体。 VHDL语言的特点
1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。
2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。 3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。 4.可以进行从系统级到逻辑级的描述,即混合描述。
5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。
3汽车尾灯控制器的设计过程
3.1系统需求分析
根据现代交通规则,汽车尾灯控制器应满足以下基本要求: 1. 汽车尾部左右两侧各有三盏指示灯 2. 汽车正常使用是指示灯不亮
6 / 19
相关推荐: