西电EDA实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

交通灯控制器设计报告

交通控制器

一.选题目的

尝试用所学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:out

std_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 上对以下程序进行编辑、编译、综

合、适配、仿真,给出其所有信号的时序仿真波形。

相关文档
最新文档