- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
word格式文档
专业整理
西北工业大学
《FPGA》实验报告
学 院:
软件与微电子学院
学 号:
2011303596
姓 名:
杨清山
专 业:
微电子学
实验时间:
2013/11/11
实验地点:
毅字楼335
指导教师:
韩兵
西北工业大学
2013 年 11 月
大作业 设计一个交通灯信号控制电路
一、实验目的及要求
实验目的:通过交通灯的设计与仿真综合,体会复杂时序的实现方法,学会用框图表示程序的设计思想,掌握中小规模集成电路的系统综合设计方法。
实验要求:设计一个交通灯信号控制电路。具体要求为:输入为50MHz的时钟和复位信号,输出为红、绿、黄三个信号(高电平为亮)。复位信号(高电平)有效,红、绿、黄灯灭;接着进行如下循环:绿灯亮1分钟,黄灯闪烁10秒,红灯亮1分钟。在此基础上再加两个数码管,对倒计时的数显示。
二、实验设备(环境)及要求
实验EDA工具为: 预装了Synplify Pro 9.6.2和ModelSim SE 6.2b的PC机。
三、实验内容与步骤
1.设计思路概述
总体上分为三个大模块,即:顶层模块、分频模块、控制模块、译码显示模块。作用如下:
顶层及控制模块:
此模块做例化,和控制,是本程序的主体,对底层的分频模块和译码显示模块进行例化,并且做控制设计。控制设计如下:
采用同步时序逻辑。包括一个循环计数器,三个比较器,always
控制。
通过分频后的CLK1新号(1Hz),进行对一个循环变量“k”的周期为130的循环,进而控制三个灯的控制;具体循环为:clk1每进行一次跳变,k值减1;当K=0时,重新复值为129。
通过比较器,每个灯的条件不同,当129=k=70时绿灯亮,69=k=60黄灯闪烁,59=k=0红灯亮。
对于数码管输出,当129=k=70时,数码管个位输出=(k-70)%10,十位输出为(k-70-个位)/10;当69=k=60数码管个位输出=(k-60)%10,十位输出为(k-60-个位)/10,当59=k=0时,数码管个位输出=k%10十位输出为(k-个位)/10。
分频模块:
分频模块用以把输入的50MHz的信号转换为1Hz信号,便于其后的交通灯控制及数码管输出。
译码模块:
考虑到数字显示需要两个七段译码器,且在数字系统中,数字的表示都是采用二进制,因为两个管子分别输入,所以需要把循环变量k转换为有用的十位和各位输出。
为了方便,把循环变量k减去各状态的基数值后,用数学方法取十位和各位分别做输入。
如绿灯时,129=k=70时,数码管个位输出=(k-70)%10,十位输出为(k-70-个位)/10。
七段译码器的设计原理如图:
2.总体设计框图及说明:
Clk 50Hzrstblu
Clk 50Hz
rst
blu
循环变量k129~0 yel控制Clk1
循环变量k
129~0
yel
控制
Clk1
1Hz
red
red
图一
输入:clk 全局时钟信号,50MHz
rst 全局复位端,高电平有效
输出:ctrl_1s 倒计时个位上数字
ctrl_10s 倒计时十位上数字
blu,yel,red 各个灯状态
框图说明:
状态机的输入,只有时钟信号clk和复位信号reset.输出为数码管十位和个位的二进制显示状态以及三个灯的颜色显示(blu,yel,red,分别是绿黄红灯,“1”表示灯亮,“0”表示灭)。
输入clk的频率很大,需要通过计数器对其进行分频。首先计数产生一个1Hz的输出,通过该输出再次循环计数,产生周期为130的计数变量,从而控制各个灯的亮灭。而控制黄灯闪烁的分频,为方便起见,仍以1s为单位,每秒钟改变一次。
用if嵌套语句来控制三灯亮与灭,同时间接地进行倒计时的过程,输出个位和十位上的数,直接用两个七段译码显示倒计时数。
Rst信号是清
文档评论(0)