交通灯控制器设计报告交通控制器一.选题目的尝试用所学eda和vhdl编程知识,解决生活中常见的问题。
做到学而时习之。
二.设计目标(课题内容)设计一个十字路口交通控制系统,其东西,南北两个方向除了有红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示每一路允许通行的时间,绿灯,黄灯,红灯的持续时间分别是40、5和45秒。
当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,时钟停止计时,且其数字在闪烁。
当特殊运行状态结束后,管理系统恢复原来的状态,继续正常运行。
三.实现方案(包括原理框图和hdl设计流程图)1原理框图从题目中计数值与交通灯的亮灭的关系如图(1)所示1.交通灯的显示状况:东西南北图(1)计数值与交通灯亮灭的关系2.交通等的原理示意图如图(2)图(2)交通灯的示意图3.hdl设计流程图如图(3):四.设计过程(包括关键模块的仿真结果)1.总体思路第一部分:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。
因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。
模块说明:系统输入信号:clk: 由外接信号发生器提供10hz的时钟信号;系统输出信号: clk_out:产生每秒一个脉冲的信号;第二部分:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。
模块说明:系统输入:clk_out: 接收由clk电路的提供的1hz的时钟脉冲信号;系统输出信号:countnum:倒计数值;第三部分:红绿灯状态转换电路本电路负责红绿灯的转换。
模块说明:系统输入信号:clock,hold,countnum;系统输出信号:numa,numb: 接收计数秒数选择电路状态转换信号;reda,greena,yellowa,redb,greenb,yellowb :负责红绿灯的状态显示。
第四部分:时间显示电路本电路负责红绿灯的计数时间的显示。
bcd_data 模块说明:系统输入信号:clock,hold,numin(即接收numa,numb的值):倒计数值秒数位变化控制信号;系统输出信号:numa,numb: 负责红绿灯的显示秒数位。
2.单元电路设计(1)分频器的设计分频器实现的是将高频时钟信号转换成底频的时钟信号,用于触发控制器、计数篇二:西安电子科技大学eda实验报告eda大作业及实验报告实验一:quartus ⅱ软件使用及组合电路设计仿真实验目的:学习 quartus ⅱ软件的使用,掌握软件工程的建立,vhdl源文件的设计和波形仿真等基本内容;实验内容:1. 四选一多路选择器的设计首先利用quartusⅱ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。
步骤:(1)建立工作库文件夹和编辑设计文件;(2)创建工程;(3)编译前设置;(4)全程编译;(5)时序仿真;(6)应用rtl电路图观测器(可选择)实验程序如下:library ieee;use ieee.std_logic_1164.all; entity mux41 is port( s10:in std_logic_vector(1 downto 0); a,b,c,d:in std_logic; q:outstd_logic );end entity mux41;architecture bhv of mux41 is begin process(a,b,c,d,s10) begin if s10=00 then q<=a;elsif s10=01 then q<=b; elsif s10=10 then q<=c; else q<=d; end if; end process;end bhv;波形仿真如图:其中,分别设置a,b,c,d四个输入都为10.0ns的方波,其占空比分别为25%,50%,75%,90%以作为四种输入的区分,使能端s10以此输入00(即[0]),01(即[1]),10(即[2]),11(即[3]),可以观察到输出端q依次输出分别为a,b,c,d。
试验成功。
其rtl电路图为:2.七段译码器程序设计仿真2.1 原理:7段数码是纯组合电路,通常的小规模专用ic,如74或4000系列的器件只能作十进制bcd码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用vhdl译码程序在fpga或cpld中实现。
本项实验很容易实现这一目的。
例1作为7段bcd码译码器的设计,输出信号led7s的7位分别接如实验图1数码管的7个段,高位在左,低位在右。
例如当led7s输出为 0010010 时,数码管的7个段:g、f、e、d、c、b、a分别接0、0、1、0、0、1、0,实验中的数码管为共阳极的,接有低电平的段发亮,于是数码管显示“5”。
实验图1 数码管及其电路2.2 实验内容:参考后面的七段译码器程序,在quartus ii 上对以下程序进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
试验程序如下:library ieee ;use ieee.std_logic_1164.all ; entity decl7s is port ( a : in std_logic_vector(3 downto 0) ; led7s : outstd_logic_vector(6 downto 0) ) ; end ; architecture one of decl7s is begin process( a ) begincase a(3 downto 0) is 波形仿真如图:如图,当输入端a依次输入0-15的四位二进制码时,输出端依次输出(0-9及a-f)的数码管所对应的七位二进制数,例如,当输入0000时,输出端输出1000000(即字符@的ascii码),显示在数码段上即‘0’。
实验二计数器设计与显示实验目的:(1)熟悉利用quartus ii中的原理图输入法设计组合电路,掌握层次化设计的方法;(2)学习计数器设计、多层次设计方法和总线数据输入方式的仿真,并进行电路板下载演示验证。
实验内容: 1.完成计数器设计(1)写出设计框图、设计含有异步清零和计数使能的4位二进制加减可控计数器。
要求:流程和方法;(2)利用vhdl设计实现程序;(3)进行波形仿真验证;(4)完成设计实验报告:将实验原理、设计过程、编译仿真波形和分析结果写进实验报告。
篇三:西电eda大作业eda实验报告班级:021211班指导老师:杨明磊实验一:quartus ii软件使用及组合电路设计仿真一、实验目的:学习quartus ii软件的使用,掌握软件工程的建立、vhdl源文件的设计和波形仿真等基本内容;二、实验内容:1. 四选一多路选择器的设计首先利用quartusⅱ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。
(1)、功能及原理原理:数据选择器又称为多路转换器或多路开关,它是数字系统中常用的一种典型电路。
其主要功能是从多路数据中选择其中一路信号发送出去。
所以它是一个多输入、单输出的组合逻辑电路。
功能:当选择控制端s10=00时,输出y?a;s10=01时,输出y?b;s10=10时,输出y?c;s10=11时,输出y?d。
(2)、逻辑器件符号(3)、vhdl语言(4)、波形仿真(5)、仿真分析由波形可知:当s10=00时,y的波形与a相同;当s10=01时,y的波形与b相同;当s10=10时,y的波形与c相同;当s10=11时,y的波形与d相同;与所要实现的功能相符,源程序正确。
2、七段译码器程序设计仿真(1)、功能及原理7段数码是纯组合电路,通常的小规模专用ic,如74或4000系列的器件只能作十进制bcd码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用vhdl译码程序在fpga或cpld中实现。
实验中的数码管为共阳极,接有低电平的段发亮。
例如当led7s输出为 0010010 时,数码管的7个段:g、f、e、d、c、b、a分别接0、0、1、0、0、1、0,于是数码管显示“5”。
(2)、逻辑器件符号(3)、vhdl语言(4)、波形仿真(5)、仿真分析由仿真波形可以直观看到,当a=“0000”时,led7s=1000000,数码管显示为0;a=“0001”时,led7s=1111001,数码管显示为1;....依此可验证波形仿真结果完全符合预期,源程序正确。
三、实验心得在第一次上机实验中,我们通过对eda设计软件quartusⅱ使用,初步学会了它的使用方法。
在实验中我们编写程序,编译,进行时序仿真以验证程序对错等。
在完成vhdl的编辑以后,进行编译,结果出现了很多错误,在细心的检查之下,最终将vhdl描述修改成功并且通过了编译,在编译过程中我了解到很多在书本上没有理解的知识。
总的来说,通过上机实验,我激发了对eda学习的兴趣,也对这门课程有了更深的理解,对eda设计软件quarter ⅱ的使用也更加熟练。
篇四:西电eda满分大作业eda报告题目 vhdl设计初步学院电子工程学院专业学号导师姓名朱燕目录第一章实验部分(流水灯) ........................................................................... .. (3)1、程序设计: ........................................................................... . (3)2、程序代码 ............................................................................. .............. 错误!未定义书签。
3、程序调试 ............................................................................. .............. 错误!未定义书签。
第二章习题部分 ............................................................................. ................ 错误!未定义书签。