基于VHDL的交通信号灯设计与实现

时间:2022-07-20 12:34:51

基于VHDL的交通信号灯设计与实现

摘要:EDA技术综合了现代电子技术和计算机技术的最新研究成果,其设计采用自顶向下的设计方法,通常采用硬件描述语言进行电子电路设计;VHDL语言以其强大的建模和逻辑综合功能成为EDA技术中应用最广泛的硬件描述语言之一。基于VHDL设计了交通信号灯。

关键词:EDA;自顶向下;VHDL;交通信号灯

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)15-21050-04

Implementation of Traffic Signal Lights Based on VHDL

LUO Hai-tao

(School of Informatics,Guangdong University of Foreign Studies,Guangzhou 510420,China)

Abstract:EDA integrates the latest technologies of modern Electronics and Computer Science,its design adopts top down methodology,and hardware description language is used to design electronic circuit in EDA;VHDL becomes one of the most popular hardware description language because of its strong ability of modeling and syntheses.Designed traffic signal lights based on VHDL.

Key words:EDA(Electronics Design Automation);Top down;VHDL;Traffic Signal Lights

1 引言

硬件描述语言(HDL,Hardware Description Language)至今约有40余年的历史,现在已成功地应用于ASIC自动设计的模拟验证和综合优化等方面。其特点是借鉴高级语言的功能特性对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计进行不同层次,不同领域的模拟验证与综合优化等处理,使设计过程达到高度自由化。

VHDL语言全称是“超高速集成电路硬件描述语言”(Very High Speed Integrated Circuit Hardware Description Language),1982年被研发出来以。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言,并公布了VHDL的IEEE-1076版(87版)。1993年IEEE对VHDL进行修订,从更高的抽象层次和系统描述能力上扩展了VHDL的内容,公布了新的VHDL版本,即IEEE标准的1076-1993版本(93版)。VHDL语言描述能力强,覆盖了逻辑设计的诸多领域和层次,大大简化了硬件设计任务,提高设计的可靠性。基于VHDL语言的设计方法得到了广泛的应用,VHDL语言已成为硬件描述语言的工业标准。

2 EDA技术与VHDL语言

EDA 技术是90年代迅速发展起来的,是现代电子设计的最新技术潮流,是综合现代电子技术和计算机技术的最新研究成果,是从事电子线路设计与分析的一门技术,包括电子线路的设计、计算机模拟仿真和电路分析、印制电路板的自动化设计三个方面的内容。

进入21世纪后,EDA技术得到了更大的发展,突出表现在以下几个方面:(1)使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;(2)在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出;(3)电子技术全方位纳入EDA领域;(4)EDA使得电子领域各学科的界限更加模糊,更加互为包容。传统的电子产品的设计必须经过设计方案的提出、电原理图设计、初步验证、样机制作、小批量试制、大批量生产等几个过程。对于电子产品设计工程师而言,必须保证理论设计、初步验证两个过程完全正确,才能按电路原理图绘制成电路板图,并进行进一步的生产。

传统的电子产品的设计通常采用自底向上(Bottom Up)电路设计方法,即首先根据系统对硬件的要求,写出详细的技术规格书,画出系统的控制流程图;其次,根据技术规格书和控制流程图,对系统功能进行细化,合理划分功能模块,画出系统的功能框图;然后,对各个功能模块进行细化和电路设计;最后,将各个功能模块的硬件电路连接起来再进行系统地调试,最后完成整个系统的硬件设计。手工设计方法的缺点是:(1)复杂电路的设计、调试十分困难;(2)如果某一过程存在错误,查找和修改十分不便;(3)设计过程中产生大量文档,不易管理;(4)对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;(5)只有在设计出样机或生产出芯片后才能进行实测。

基于EDA技术的设计则采用自顶向下的设计方法。

(1)采用可以完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下,完成功能确认;

(2)利用EDA工具的逻辑综合功能,把功能描述转换成某一具体目标芯片的网表文件,并将它输出到该器件厂商的布局布线适配器,进行逻辑映射及布局布线;

(3)利用产生的仿真文件进行功能和时序验证,以确保实际系统的性能。

自顶向下方法的优点是:顶层功能描述完全独立于目标器件的结构,在设计的最初阶段,设计人员可不受芯片结构的约束,集中精力对产品进行最适应市场需求的设计,从而避免了传统设计方法中的再设计风险,缩短了产品的上市周期;设计成果的再利用得到保证;由于采用的是结构化开发方法,因此确认主系统基本结构后,可以实现多人多任务的并行工作方式,提高系统的设计规模和效率;在选择目标器件的类型、规模、硬件结构等方面具有更大的自由度。

EDA技术通常采用硬件描述语言进行电子电路设计,EDA技术主要特点是:(1)采用硬件描述语言作为设计输入;(2)库(Library)的引入;(3)设计文档的管理;(4)强大的系统建模、电路仿真功能;(5)具有自主知识产权;(6)开发技术的标准化、规范化以及IP核的可利用性;(7)适用于高效率大规模系统设计的自顶向下设计方案;(8)全方位地利用计算机自动设计、仿真和测试技术;(9)对设计者的硬件知识和硬件经验要求低;(10)高速性能好;(11)纯硬件系统的高可靠性。

目前常用的用于EDA技术的硬件描述语言有:ABEL-HDL;Verilog HDL:IEEE 1364-1995,2001;VHDL(Very High Speed Integrated Circuit Hardware Description Language): IEEE 1076-1993。其中VHDL语言以其强大的行为建模、结构建模、寄存器传输级描述以及逻辑综合功能成为EDA技术中应用最广泛的硬件描述语言之一。

3 VHDL建模方法

VHDL建模方法一般有行为建模、结构建模、寄存器传输级描述等方式。VHDL具有强大的行为描述能力,成为系统设计领域最佳的硬件描述语言。行为描述避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统。VHDL丰富的仿真功能和库函数可以在系统的设计早期阶段查验系统功能的可行性,并对设计进行仿真模拟。分解大规模设计和已有设计的再利用,这是由VHDL的行为描述能力和程序结构决定的。用VHDL完成设计后,可以用多种EDA工具进行逻辑综合和优化,VHDL对设计的描述具有相对独立性。行为建模是一种抽象描述,不是对具体电路结构的描述,是对设计实体整体功能的描述,是高层次的概括。对系统进行行为描述目的:在系统设计的初始阶段通过对系统行为描述的仿真发现设计中存在的问题;行为描述阶段不考虑用具体硬件去实现实际的操作和算法,主要检验系统的结构以及工作过程能否达到系统设计的要求。

行为建模主要使用函数、过程和进程,采用行为建模的方法设计的VHDL语言程序一般不能进行综合,必须先使用EDA工具在行为级上进行仿真,确认无误后再将程序改为结构建模或者数据流建模的VHDL语言程序,然后再进行综合。行为建模意义在于对复杂的、多层次的系统来说,行为建模使设计者在早期发现错误,并且确定设计是否合理。

结构建模是指在层次化设计中,高层次(顶层)模块调用低层次模块、基本逻辑门或者基本逻辑单元来组成复杂数字电路或系统,例如一位全加器可以由一位半加器和或门构成,在进行结构建模时,可以先建立半加器和或门模块,包装入库,再调用这些模块建立全加器。这里,全加器是顶层模块,半加器和或门是底层模块,所以,结构化描述体现了层次化设计思想。

寄存器传输级描述RTL(Register Transfer Level),其设计实体的描述按照从信号到信号的数据流形式,或者叫“数据流描述方式”。根据RTL描述,可以导出系统的逻辑表达式并进行逻辑综合,是ED设计中经常采用的描述方法。行为方式描述的系统结构程序抽象度高,很难直接映射到具体的硬件,必须先转换为RTL方式描述的VHDL语言程序。

逻辑综合是针对给定的电路功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得满足要求的电路设计方案。逻辑综合的依据是逻辑设计的描述和各种约束条件;逻辑综合的结果是一个硬件电路的实现方案,该方案必须同时满足预期的功能和约束条件。满足要求的方案可能有多个,但逻辑综合器将产生一个最优或接近最优的结果,该结果和逻辑综合器的工作性能有关。

4 系统设计实现

本系统在Altera公司的Max+ Plus II 10.0 BASELINE软件下用VHDL语言设计实现,操作系统环境为Windows XP version 5.1.2600。系统采用自顶向下的设计方法,首先把系统按功能分解成4个模块:controller、display、fenwei以及frequency。分别设计4个模块,然后再调用它们构成整个系统。系统顶层采用图形方法设计,如图1所示。

4个底层模块则采用VHDL语言设计,其中Controller的接口代码为:

Entity Controller Is

Port

(Clock:In Std_Logic;

Reset:In Std_Logic;

Hold:In Std_Logic;

Flash:Out Std_Logic;

NumA,NumB:Out Integer Range 0 To 25;

RedA,GreenA,YellowA:Out Std_Logic;

RedB,GreenB,YellowB:Out Std_Logic

);

Frequency模块的接口代码为:

Entity Frequency Is

Port

(Clk10Hz: In Std_Logic;

Clk1Hz:Out Std_Logic

);

End;

Display模块的接口代码为:

Entity Display Is

Port( Clock:InStd_Logic;

Flash:In Std_Logic;

Qin:In Std_Logic_Vector(3 Downto 0);

Display:Out Std_Logic_Vector(0 to 6));

End;

Fenwei模块的接口代码为:

Entity Fenwei Is

Port

(Clock:In Std_Logic;

Numin:In Integer Range 0 To 25;

NumA,NumB:Out Integer Range 0 To 9

);

End;

编译后运行结果如图2所示。

5 结束语

VHDL是一种功能非常强大的硬件描述语言,主要用于描述数子系统的结构、行为、功能和接口。VHDL借鉴了高级语言的特点,可以将一项工程设计,或称设计实体,(可以是一个元件、一个电路模块或一个系统)分成外部(可视部分即端口)和内部(不可见部分),即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,只要其内部开发完成,其他的设计就可以直接调用这个实体。

参考文献:

[1] 胡振华-VHDL与FPGA设计[M].北京:中国铁道出版社,2003.

[2] 求是科技.VHDL应用开发与工程实践[M].北京:人民邮电出版社,2005.

[3] 卢毅,赖杰.VHDL与数字电路设计[M].北京:科学出版社,2001.

[4] 陈耀和.VHDL语言设计技术[M].北京:电子工业出版社,2005.

上一篇:决策树算法的改进 下一篇:游戏脚本语言的研究