EDA交通灯课程设计(带有测试平台testbench)精讲 联系客服

发布时间 : 星期六 文章EDA交通灯课程设计(带有测试平台testbench)精讲更新完毕开始阅读e460bd8ee97101f69e3143323968011ca300f7ff

三、EDA设计

由于本设计实验的功能较多,所以就采用模块化设计。整个程序设计基于8种状态,如下表所示:

交通灯状态转换表

状态S A方向 亮灯时间 B方向 S1 左拐a1 10s 红灯br S2 黄灯ay 4s S3 S4 S5 S6 S7 S0 绿灯ag 黄灯ay 红灯ar 红灯ar 红灯ar 红灯ar 20s 4s 黄灯by 4s 33 绿灯bg 15s 黄灯by 4s 亮灯时间 注释:系统复位后进入A方向直行绿灯,B方向直行红灯的状态即S3。 红灯br 红灯br 红灯br 左拐b1 38s 10s 监督 B方向 A 方 向 图1 A、B方向示意图

顶层模块 控制模块 分频模块 计数模块 显示模块 译码模块 图2 整体模块示意图

3.1、明确系统的功能,并进行逻辑抽象

2

如图1本方案可实现在确定时刻,倒计数数字显示能够及时变化,红黄绿灯能准确变化,考虑到实际应用,加入人工监督功能,通过改变频率来控制交通灯亮灭的时间的长短。本设计采用模块化设计,图2为本设计十字路口交通等系统的层次结构框图。

3.2、模块功能说明

1.主控制模块(kongzhi):控制系统输入输出之间联系。 2.显示模块(xianshi):显示倒计时时间和工作状。其输出用来驱动4位共阴数码管,并显示倒计时时间(动态扫描)。

3.分频模块(fenpin):本系统动态扫描需要1KHZ的脉冲而系统时钟需要1HZ的脉冲,分频器主要为系统提供所需要的时钟脉冲。该模块将1KHZ的脉冲信号进行分频,产生周期为1hz的方波,作为系统时钟信号的倒计时闪烁信号。

4.译码模块(yima):根据控制信号,驱动交通灯即LED的显示。 5.计数模块(jishu):用来设定A方向和B方向计时器的初值,并为显示模块提供倒计时时间。

6.顶层模块jiaotongdeng,连接各模块设计,使之成为一个有机体。

前5个模块分别进行仿真测试,成功后把所有.vhdl文件包含在工程jiaotongdeng,实现模块化设计。

3.3、波形仿真及分析 3.3.1、代码

见附录一。

3

3.3.2、各模块rtl电路及功能仿真和时序仿真

各模块分别建立工程文件,并进行功能仿真、时序仿真,前六个模块成功编译,得到正确仿真结果后,建立顶层模块。

模块一:控制模块(kongzhi)

图3 控制模块(kongzhi)rtl图

图4 控制模块(kongzhi)仿真图

模块二:计时模块(jishi)

图5 计时模块(jishi)rtl图

4

图6 计时模块(jishi)仿真图

模块三:显示模块(xianshi)

图7 显示模块(xianshi)rtl图

图8 显示模块(xianshi)仿真图

模块四:译码模块(yima)

图9 译码模块(yima)rtl图

5