EDA设计论文_eda设计论文

其他范文 时间:2020-02-28 17:34:02 收藏本文下载本文
【www.daodoc.com - 其他范文】

EDA设计论文由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“eda设计论文”。

EDA课程设计报告书

交通灯设计

设 计 者: 邱春华 吕云兰

指导老师: 李 敏

学 号: 09387105 09387114 专业班级:通信工程0911班

摘要………………………………………………………………………………31、设计任务………………………………………………………………………42、方案选择与论证………………………………………………………43、实现方案原理及说明…………………………………………………………54、系统设计详述…………………………………………………………………6 a、分频器的设计……………………………………………………………………6 b、控制器的设计……………………………………………………………………7 c、计数器的设计……………………………………………………………………7 d、分位译码电路的设计……………………………………………………………8 e、数码管驱动的设计——绿灯和红灯驱动………………………………………9 f、数码管驱动的设计--黄灯驱动……………………………………………95、程序设计………………………………………………………………………10 5.1 分频器的设计…………………………………………………………………10 5.2 控制器的设计…………………………………………………………………10 5.3 计数器的设计…………………………………………………………………11 5.4 分位译码电路的设计…………………………………………………………14 5.5数码管驱动的设计……………………………………………………………156、整个系统的构成及仿真图……………………………………………………177、心得体会………………………………………………………………………188、参考文献………………………………………………………………………18

语言实现交通灯的设计

作者:邱春华、吕云兰

指导老师:李 敏(湖北文理学院理工学院 襄阳 230036)

【摘要】:伴随着社会的发展以及人类生活水平的提高,汽车的数量在EDA技术的发展和应用领域的扩大与深入,EDA 技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对DEA 的不断的增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了。所以,设计交通灯来完成这个需求就显的越加迫切。

【关键字】:EDA技术、VHDL语言、交通灯

QuartusII 设计软件为用户提供完整的多平台设计环境,它可以轻易满足特定设计的需要。它是单芯片可编程系统(SOPC)设计的综合性环境,EDA技术作为现代电子设计技术的核心,它依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑简化、逻辑分割、逻辑综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。下面详细介绍在QUARTUS II软件环境下开发基于VHDL语言交通灯的设计。、设计任务

a、设计内容

设计一个十字路口的交通灯控制系统,用实验平台上的LED 发光二极管显示车辆通过的方向(甲车道和乙车道各一组),用数码管显示该方向的亮灯时间。

b、设计要求:

交通灯按正常状态依次点亮红、黄、绿灯,交警可以根据路口车流量的情况分别设置红、绿、黄灯持续点亮的时间。在红、绿灯点亮时,能够显示其点亮持续的时间。

2、方案选择与论证

本次实验设计交通灯设计采用自顶向下、由粗到细, 逐步分解的设计方法, 最顶层电路是指系统的整体要求, 最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块, 从而进行设计描述, 并且应用EDA 软件平台自动完成各功能模块的逻辑综合与优化, 门级电路的布局, 再下载到硬件中实现设计。对于交通灯来说首先是分频器、控制器、计数器、分位译码电路及数码管驱动的设计,然后能在LED中显示红、绿、黄灯的转化,并带有数码管计时功能。通过参考EDA课程设计指导书,有以下方案:

(1)、顶层文件输入端口:时钟脉冲信号、复位按键及绿灯计数器的计数范围输入端t1;输出端口:两个车道的红、绿、黄输出,及其所对应各灯所输出时间计数共16个。

(2)、底层文件分为:a.分频模块、b.计数器模块、c.控制器模块、d.分位译码模块、e.数码管驱动模块。

、实现方案原理及说明

从题目中计数值与交通灯的亮灭的关系如图(1)所示:

图(1)

交通灯控制器系统框图如图2 所示:

图(2)考虑到黄灯的作用是警示已过停车线的司机尽快离开路口,而路口总宽度不变,因此将其固定为5 秒,而红灯亮的时间等于绿灯亮的时间加上黄灯亮的时间,因此紧对绿灯点亮时间进行设置就可以同时改变红灯亮的时间,这里将绿灯所能设置的最长时间设置为40 秒即(0

4、系统设计详述

其输入及输出端口有:

clkin——输入的高频时钟脉冲; reset——复位端,高电平有效; t1——绿灯计数器的计数范围输入端;

r1、g1、y1——分别为第一车道红、绿、黄灯输出;

r1A、r1B、g1A、g1B、y1A——分别为第一车道红、绿、黄灯对应的数码管计数输出;

r2、g2、y2——分别为第二车道红、绿、黄灯输出;

r2A、r2B、g2A、g2B、y2A——分别为第二车道红、绿、黄灯对应的数码管计数输出; a、分频器的设计

分频器实现的是将高频时钟信号转换成低频的时钟信号,用于触发控制器和计数器。该分频器实现的是一千分频,将一千赫兹的时钟信号分频成一赫兹的时钟信号。生成的Symbol 文件如图

图(3)3 和仿真波形如图4 所示。

图(4)

b、控制器的设计

控制器的作用是根据计数器的计数值及t1 的输入数据控制发光二极管的亮、灭,以及输出正计时数值给七段数码管的分位译码电路。本控制器是利用时钟沿的下降沿读取前级计数器的计数值,然后作出反应;生成的实体模块如图5 和仿真波形如图6 所 图(5)示。

图(6)

c、计数器的设计

计数器rcounter的计数范围为由t1引脚输入。计到t1 后,下一个时钟沿恢复到0,开始下一轮计数。仿真波形如图当t1 取7 时,计数器计数到7 后清零。实体模块如图7 和仿真波形如图8。计数器grounter和计数器ycounter的实体模块如图9 和图10 所示。

图(7)图(9)图(10)

图(8)

d、分位译码电路的设计

由于控制器输出的正计时数值可能是1 位或者2 位十进制数,因此在七段数码管的译码电路前要加上分位电路(即将其分成2 个1 位的十进制数,如40 分成4 和0,5分为0 和5)。与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。控制器中,引入了寄

图(11)存器。本电路中分位电路使用组合逻辑电路实现。生成的实体模块如图11 及仿真波形如图12。

图(12)

e、数码管驱动的设计——绿灯和红灯驱动

要求数码管共阳极连接(共阳极的公共端为低电平时,LED 不亮),在设计中为每个数码管都添加了一个驱动电路,在使用时通过调用模块来实现。本模块设计为时序逻

图(14)

辑电路,采用下降沿触发。实体模块如图14 和仿真波形如图15。

图(15)

f、数码管驱动的设计——黄灯驱动

由于黄灯固定时间是5 秒,因此变化范围是0 至5 秒,七段数码管只要能显示0-5 的数就行了,所以单独用一个数码管驱动。实体模块如图16和仿真波形如图17。图(16)

图(17)

、程序设计

5.1 分频器的设计

library ieee;use ieee.std_logic_1164.all;entity fredevider is port(clkin:in std_logic;clkout:out std_logic);end;architecture devider of fredevider is constant N:integer:=499;signal counter:integer range 0 to N;signal clk:std_logic;begin proce(clkin)begin if rising_edge(clkin)then if counter=N then counter

library ieee;use ieee.std_logic_1164.all;entity control is port(clk :in std_logic;c1,c2,c3:out std_logic;w1,w2,w3:in std_logic;r1,r2 :out std_logic;y1,y2 :out std_logic;g1,g2 :out std_logic;reset :in std_logic);end control;architecture a of control is type state_space is(s3,s2,s1,s0);

begin proce(clk)begin if reset='1' then state if w1='1' then state if w2='1' then state if w3='1' then state if w2='1' then state

library ieee;use ieee.std_logic_1164.all;

port(clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40;c1 :out std_logic;m1 :out integer range 0 to 5);end gcounter;architecture a of gcounter is begin proce(clk)variable cnt : integer range 0 to 40;begin if(clk'event and clk='1')then if enable='1'and cnt

library ieee;use ieee.std_logic_1164.all;entity rcounter is port(clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40;c2 :out std_logic;m2:out integer range 0 to 32);end rcounter;architecture a of rcounter is constant y:Integer:=5;signal t2: integer range 0 to 45;begin proce(clk)variable cnt : integer range 0 to 45;

t2

library ieee;use ieee.std_logic_1164.all;entity ycounter is port(clk :in std_logic;enable :in std_logic;c3 :out std_logic;m3 :out integer range 0 to 5);end ycounter;architecture a of ycounter is begin proce(clk)variable cnt : integer range 0 to 5;begin if(clk'event and clk='1')then if enable='1'and cnt

end proce;end a;5.4 分位译码电路设计 5.4.1分位器-1 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fenwei1 IS PORT(Numin:IN integer RANGE 0 TO 45;NumA,NumB:OUT Integer RANGE 0 to 9);END;ARCHITECTURE behavior OF fenwei1 IS BEGIN proce(Numin)BEGIN IF Numin>=40 THEN NumA=30 THEN NumA=20 THEN NumA=10 THEN NumA

14);END;ARCHITECTURE behavior OF fenwei2 IS BEGIN proce(Numin)BEGIN IF Numin>=40 THEN NumC=30 THEN NumC=20 THEN NumC=10 THEN NumC

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ygqudong IS PORT(clk:in STD_LOGIC;enable :in std_logic;data:IN integer RANGE 0 TO 9;segout: out STD_LOGIC_VECTOR(6 downto 0));END;ARCHITECTURE behavior OF ygqudong IS BEGIN proce(Clk,data)BEGIN IF falling_edge(Clk)and enable='1' then case data is

when 1=>segoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutnull;END CASE;END IF;END PROCESS;END;5.5.2 黄灯驱动

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY hqudong IS PORT(clk:in STD_LOGIC;enable :in std_logic;data:IN integer RANGE 0 TO 5;segout: out STD_LOGIC_VECTOR(6 downto 0));END;ARCHITECTURE behavior OF hqudong IS BEGIN proce(Clk,data)BEGIN IF falling_edge(Clk)and enable='1' then case data is when 0=>segoutsegoutsegoutsegoutsegoutsegoutnull;END CASE;END IF;END PROCESS;END;

、整个系统的构成及仿真图

图(18)

图(19)

结果说明:在图18 中,绿灯计数器直接接分位译码器1,红灯计数器直接接分位译码器2,每个译码器分别接两个驱动电路,然后接输出。左边5 个驱动器接的数码管显示的是甲车道各个灯亮的时间,右边5 个驱动器接的数码管显示的是乙车道各个灯亮的时间。在19 图中可以看出甲车道绿灯亮的时间加上黄灯亮

乙车道红灯亮的时间,乙车道绿灯亮的时间加上黄灯亮的时间等于甲车道红灯亮的时间。与此同时具有灯亮时间计数显示,可以看出该系统满足我们所需的要求。

7、心得体会

一段时间的EDA课程设计,使我们学到了很多,本次课程设计的交通灯所需底层模块很多,其实现的VHDL语言程序较多,整个过程中调试程序是很重要的,要有很好的耐心,开始编译时总是会有很多错误,比如输入错误、语法错误等,发现错误之后再一遍一遍的仔细查错,直到没有错误,然后进行波型仿真。现在,对EDA 的认识有了很大的提高,能够熟练的使用QuartsII,能够用VHDL 语言编写简单的、实用的小程序,这次EDA 课程设计重点学习了交通灯部分程序的编写、调试、还有硬件下载、操作等过程。在整个课程设计的过程中,我们查阅了大量的关于EDA 的资料,特别是在网上和图书馆我找到了大量的关于硬件编程的资料。在李敏老师平时认真的授课及严格的治学态度下,让我有了一定的基础,同时还得感谢老师在实验课上的细心指导,让我们学到了很多,受益终生。

【参考文献】

[1] 潘松, 黄继业.EDA 技术实用教程[M] 第2版 北京: 科学出版社, 2006 [2] 曹昕燕,周凤臣,聂春燕.EDA技术实验与课程设计 北京:清华大学出版社,2006.5

EDA课程设计论文

目录一、摘要二、概述2.1目的与要求 2.2实验仪器与设备 2.3实验注意事项 2.4设计环境三、实验内容四、4位加法器设计实现过程4.1元件选择4.2编辑半加器的原理图 4.3编译设......

EDA数字钟设计

数字钟一、实验目的1、掌握多位计数器相连的设计方法。2、掌握十进制,六进制,二十四进制计数器的设计方法。3、掌握扬声器的驱动及报时的设计。4、LED灯的花样显示。5、掌握CP......

EDA跑马灯设计

目录任务书第一章 系统分析与设计方案 ......................................................................................................................11.1......

EDA设计报告

EDA多 功 能 数 字 时 钟 专业:11级应用电子技术 班级:二班学号:110372021307 姓名:贺成林 指导老师:祝宏 日期:2012年6月29日 一、实验目的1、课程设计是一实践教学环节,是针对《......

EDA结课论文

EDA技术应用报告——微波炉控制器的应用实例院(系、部): 姓名: 学号: 年级: 专业: 任课教师:信息工程学院 安 蕊 080719 大学本科三年级 计算机科学与技术李 洋 2010 年 11月 9 日......

下载EDA设计论文word格式文档
下载EDA设计论文.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文