微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > VHDL语言在EDA仿真中的应用

VHDL语言在EDA仿真中的应用

时间:08-02 来源:互联网 点击:
随着电子技术的发展,数字系统的设计正朝高速度、大容量、小体积的方向发展,传统的自 底而上的设计方法已难以适应形势。EDA(Electronic Design Automation)技术 的应运而生,使传统的电子系统设计发生了根本的变革。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言VHDL(Very High Speed Integrated Circui t Hardware Description Language)为系统逻辑描述手段自顶而下地逐层完成相应的描述 、综合、优化、仿真与验证,直至生成器件。VHDL语言是目前应用于数字系统仿真最为实 用的语言之一。
   
1VHDL特点

VHDL语言最早由美国国防部提出。用VHDL语言进行数字逻辑电路和数字系统的设计,是电子电路设计方法上的一次革命性变革。与传统设计方法相比,VHDL描述电路行为的算法有很多优点:

(1) 设计层次较高、用于较复杂的计算时,能尽早发现存在的问题,缩短设计周期。

(2) 独立实现,修改方便,系统硬件描述能力强。

(3) 可读性好,有利于交流,适合于文档保存。

(4) VHDL语言标准、规范、移植性强。

(5) VHDL类型众多而且支持用户自定义类型,支持自顶而下的设计方法和多种电路的设计。   

2 数字系统的设计流程

VHDL按要求对系统进行描述,然后综合、仿真、适配,当确认设计符合要求时,再将设计映 射至实际的逻辑器件中,设计流程如图1所示。  


   
VHDL语言已日益成为一种通用的硬件设计交换媒介,计算机辅助工程软件的供应商已把VHDL作为其CAD或EDA软件输入与输出的标准。其中ALTERA公司提供了一套十分有特色的综合工具MAX+PLUSⅡ,他提供了全面的逻辑设计能力,从编辑、综合、布线到仿真、下载一气呵成,十分方便。  

3 设计实例及仿真结果

3.1 设计实例


以交通信号灯主控制电路的设计为例,应用MAX+PLUSⅡ软件平台,来说明VHDL语言在EDA仿真中的应用。设有一个主干道与支干道的交叉路口,每边都设有红、黄、绿信号灯,设计一 个控制器优先保证主干道的畅通。该设计实例的基本功能描述为:

(1)平时处于“主干道绿灯,支道红灯”状态,只有在支道有车辆要穿行主干道时,才将交通灯切向“主干道红灯,支道绿灯”。

(2)一旦支道无车辆通过路口,交通灯又回到“主干道绿灯,支道红灯”的状态。

(3)主干道和支干道每次通行的时间不得短于30 s,在两个状态交换过程出现 “主黄,支红”和“主红,支黄”状态,持续时间都是4 s。该功能描述的状态图如图2所示。  


  
因为主干道和支干道各有3种灯(红、黄、绿),他们在正常工作时,发亮的灯只有4种可能:

(1)主绿灯和支红灯亮——主干道通行。

(2)主黄灯和支红灯亮——主干道停车。

(3)主红灯和支绿灯亮——支干道通行。

(4)主红灯和支黄灯亮——支干道停车。

根据交通灯信号控制的要求,可把他分解为定时器和控制器两部分。CLK:时钟脉冲;SM :主干道来车信号;SB:支干道来车信号;MR:主干道红灯;MY:主干道黄灯;MG:主干道 绿灯;BR:支干道红灯;BY:支干道黄灯;BG:支干道绿灯。主控制电路设计程序如下:







3.2 仿真结果分析
利用MAX+PLUSⅡ对由VHDL编写的主控制电路程序进行编译和仿真,由分析知,主干道和支干道的控制灯正常工作时只有4种状态,而这4种状态完全取决于按键SM(主干道来车信号)和SB(支干道来车信号),故本设计主控制电路的仿真结果共有4个,由于当SM和SB都是 低电平(为0)时,所有的指示灯都为低电平,即都不被点亮,故可分3种情况讨论仿真结果,由于篇幅所限,本文只给出主干道有车、支干道有车时的仿真结果。

当主、支干道都有车时,这种情况相对复杂,他体现了控制器的精华部分,为了把此时的仿真波形更加具体化,特分3张图来详细说明其工作过程,如图3所示。  


   
由图3(a)知,控制器刚开始工作时,主干道绿灯、支干道红灯被点亮,控制器处于状态S1(本设计输出延迟0.5 s,符合要求)。由图3(b)分析知,当主、支干道都有车时,状态S1保持到第30 s后,开始转向状态S2,即主干道由黄灯转为绿灯亮并保持4 s,支干道红 灯持续亮并也保持4 s,4 s后,控制器开始向状态S3转变,主干道由黄灯亮转为红灯亮,支干道由 红灯亮转化为绿灯亮。由图3(a)和(b)知当主支干道都有车时前半阶段支干道的红灯被点 亮的时间等于主干道黄灯和绿灯的时间被点亮的时间(34 s),符合前述的设计情况。

状态S3一直保持了30 s,即在第64 s时发生了变化,开始向状态S4转变,支干道由绿灯亮转 化为黄灯亮,主干道继续保持红灯亮4 s,4 s过后,也就是在第68 s时,控制器又由状态S4 转变为状态S1,主干道由红灯亮转化为绿灯亮,支干道由黄灯亮转变为红灯亮,完成了一个 周期的控制工作,由图3(c)知在一个周期的下半段主干道红灯亮的时间等于支干道黄灯和绿 灯被点亮的时间之和(34 s),经分析知此程序完全实现了前述的控制要求。   

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top