FPGA课程设计(一百进制、数字钟-交通灯)(共21页).doc
《FPGA课程设计(一百进制、数字钟-交通灯)(共21页).doc》由会员分享,可在线阅读,更多相关《FPGA课程设计(一百进制、数字钟-交通灯)(共21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上F P G A课程设计报告 专 业:12级电子信息工程班 级: 一 班 姓 名: 李 威 学 号: 9 指导老师: 祝 宏 制作日期:2014年11月20号 1、任务书:第九周(10月27号至11月2号):一百进制可逆计数器的模块原理设计,代码编写,波形仿真,代码调试,模块封装以及管脚分配任务。第十周(11月3号至11月9号):完成第二道设计课题(交通灯)和第三道设计课题(多功能数字钟)模块原理设计,代码编写,波形仿真,代码调试,模块封装以及管脚分配任务。第十一周(11月10号至11月16号):在实验室使用ED2-115开发板进行功能模块实际演示。第十二周(11月17
2、号至11月23号):完成对FPGA课程设计报告的书写。2、报告内容:设计课题一、一百进制可逆计数器1)实验要求:设计一个可控的100进制可逆计数器,要求用DE2-115开发板下载。(1) 计数器的时钟输入信号周期为1S。(2) 以十进制形式显示。(3) 有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。clrplusminus功能0复位为0110递增计数101递减计数111暂停计数图1-12)信号定义:分频模块:ncR: 暂停;CLOCK_50:500Hz分频; s:1000Hz分频;译码模块:indec_07: 译码输入;out
3、dec_07: 译码输出;计数模块:clk: 脉冲;clear 复位端;plus:加计数使能端;minus:减计数使能端;cin:计数使能端;3)主要模块verilog代码及注示:module count100(clk,clear,plus,minus,qout,cin);input clk,clear,plus,minus,cin; /输入由开关控制拨上为1,拨下为0 output 7:0 qout;reg7:0 qout; always (posedge clk) begin if (clear) qout=0; /如果复位端为1则执行复位功能 else if (plus)&(!minus
4、) / 若plus为1且minus为0 时加计数 begin if (cin) /使能端为1时才进行计数 begin if (qout3:0=9) /模为100的计数 begin qout3:0=0; if (qout7:4=9) qout7:4=0; else qout7:4=qout7:4+1; end else qout3:0=qout3:0+1; end end else if(!plus)&(minus) /若plus为0且minus为1进行减计数 begin if(cin) if (qout3:0=0) begin qout3:0=9; if (qout7:4=0) qout7:4
5、=9; else qout7:4=qout7:4-1; end else qout3:0=qout3:0-1; end Else /若plus和minus均为1则暂停 qout=qout; end endmodule 4) 模块封装图: 5)对应各模块功能仿真波形(数据分析)分析及结论 图1-2如图1-2所示当复位端clear为1时输出qout为0,当复位端clear为0时计数器开始正常计数us 图1-3如图1-3所示当复位端clear为0且使能端cin为1,plus为1,minus为0时进行加计数 图1-4如图1-4所示当复位端clear为0且使能端cin为1,plus为0,minus为1时
6、进行减计数.6)选用芯片型号、定义芯片管脚号选用芯片型号:CycloneIV E芯片管脚:CLOCK_50InputPIN_Y22B2_N03.3-V SW4InputPIN_AB275B5_N12.5 VSW3InputPIN_AD275B5_N22.5 VSW2InputPIN_AC275B5_N22.5 VSW1InputPIN_AC285B5_N22.5 VSW0InputPIN_AB285B5_N12.5 VHEX06OutputPIN_H226B6_N02.5 VHEX05OutputPIN_J226B6_N02.5 VHEX04OutputPIN_L256B6_N12.5 VHE
7、X03OutputPIN_L266B6_N12.5 VHEX02OutputPIN_E177B7_N22.5 VHEX01OutputPIN_F227B7_N02.5 VHEX00OutputPIN_G187B7_N22.5 VHEX16OutputPIN_U245B5_N02.5 VHEX15OutputPIN_U235B5_N12.5 VHEX14OutputPIN_W255B5_N12.5 VHEX13OutputPIN_W225B5_N02.5 VHEX12OutputPIN_W215B5_N12.5 VHEX11OutputPIN_Y225B5_N02.5 VHEX10OutputP
8、IN_M246B6_N22.5 V 表1-2设计课题二、交通灯 1)实验要求:交通灯控制系统,要求用DE2-115开发板下载。(1) 设计一个十字路口交通信号灯的定时控制电路。要求红、绿灯按一定的规律亮和灭,绿灯亮时,表示该车道允许通行;红灯亮时,该车道禁止通行。并在亮灯期间进行倒计时,并将运行时间用数码管显示出来。(2)要求主干道每次通行时间为40秒,支干道每次通行时间为30秒。每次变换运行车道前绿灯闪烁,持续时间为5秒。即车道要由主干道转换为支干道时,主干道在通行时间只剩5秒钟时,绿灯闪烁5秒显示,支干道仍为红灯,以便主干道上已过停车线的车继续通行,未过停车线的车停止通行。同理,当车道由支
9、干道转换为主干道时,支干道绿灯闪烁显示5秒钟,主干道仍为红灯。(3)定时器要求采用递减计时方式进行计时。注:TimeH、TimeL分别表示计数器的高位和低位HG、HR分别表示主干道的绿灯和红灯CG、CR分别表示支干道的绿灯和红灯两个定时时间:绿灯闪烁和绿灯停止闪烁4个状态:S0:主干道绿灯亮,支干道红灯亮。S1:主干道绿灯闪烁,支干道红灯亮。S2:支干道绿灯亮,主干道红灯亮。S3:支干道绿灯闪烁,主干道红灯亮。2) 顶层逻辑电路图组成、信号定义及原理简单叙述 图2-13)信号定义:分频模块:ncR:暂停 CLOCK_50:500Hz分频 s:1000Hz分频译码模块:indec_07:译码输入
10、 outdec_07:译码输出功能模块:en:脉冲 acount:主干道计数器 bcount:支干道计数器 lampa0:主干道绿灯 lampa1:主干道红灯 lampb0:支干道绿灯 lampb1:支干道红灯4)交通灯代码:module traffic(clk,en,lampa0,lampb0,lampa1,lampb1,acount,bcount);output 7:0 acount,bcount; /acount 代表主干道计数器bcount代表支干道计数器output lampa0,lampb0,lampa1,lampb1; /0代表绿灯1代表红灯 a代表主干道b代表支干道input
11、clk,en;reg 2:0 counta,countb;reg 7:0 numa,numb;reg tempa,tempb;reg 7:0 ared,agreen,bred,bgreen;reg lampa0,lampb0,lampa1,lampb1; always(en) if(!en) /设置灯亮的时间 begin ared =8h30; /主干道红灯亮30秒 agreen =8h40; /主干道绿灯亮40秒 bred =8h40; /支干道红灯亮40秒 bgreen =8h30; /支干道绿灯亮30秒 endassign acount=numa; /设置中间变量进行计数assign b
12、count=numb;always(posedge clk) begin if(en) begin /设置中间变量使计数可以循环进行 if(!tempa) /若tenpa为0 则继续往下执行 begin tempa=1; case(counta) /用counta作为主干道状态选择0则亮绿灯1则亮红灯 0: begin numa=agreen; lampa0=1;lampa1=0; counta=1;end 1: begin numa=ared; lampa0=0;lampa1=1;counta1) if(numa3:0=0) begin numa3:0=4b1001; numa7:4=num
13、a7:4-1; end else numa3:0=numa3:0-1; if(numa=2) tempa=0; end end else begin lampa0=0;lampa1=1;tempa=0;counta=0; end if(numa1) lampa0=lampa0; /最后5秒/绿灯闪烁 endalways(posedge clk) begin if(en) begin if(!tempb) /设置中间变量使计数可以循环进行 begin tempb=1; case(countb) /用countb作为支干道状态选择0则亮红灯1则亮绿灯 0: begin numb=bred; lam
14、pb0=0;lampb1=1; countb=1; end 1: begin numb=bgreen; lampb0=1;lampb1=0;countb1) /开始倒计时 if(numb3:0=0) begin numb3:0=4b1001; numb7:4=numb7:4-1; end else numb3:0=numb3:0-1; if(numb=2) tempb=0; end end else begin lampb0=0;lampb1=1;tempb=0;countb=0; end if(numb1)&(lampa1=1) lampb0=lampb0; /最后5秒绿灯闪烁 endend
15、module 5) 模块封装图: 6)对应各模块功能仿真波形(数据分析)分析及结论 图2-2 如图2-2所示主干道绿灯(lampa0)亮40秒(acount)同时支干道红灯(lampb1)亮,最后5秒主干道绿灯闪烁,然后红绿灯转换。 图2-3 如图2-3所示支干道绿灯(lampb0)亮30秒(bcount)同时主干道红灯(lampb1)亮30秒,最后5秒支干道绿灯闪烁,然后红绿灯转换,最后如上述进行依次循环。7)选用芯片型号、定义芯片管脚号(列表格示意)及简述下载过程选用芯片型号:CycloneIV E芯片管脚:CLOCK_50InputPIN_Y22B2_N03.3-VHEX06Output
16、PIN_H226B6_N02.5 VHEX05OutputPIN_J226B6_N02.5 VHEX04OutputPIN_L256B6_N12.5 VHEX03OutputPIN_L266B6_N12.5 VHEX02OutputPIN_E177B7_N22.5 VHEX01OutputPIN_F227B7_N02.5 VHEX00OutputPIN_G187B7_N22.5 VHEX16OutputPIN_U245B5_N02.5 VHEX15OutputPIN_U235B5_N12.5 VHEX14OutputPIN_W255B5_N12.5 VHEX13OutputPIN_W225B5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 课程设计 一百 数字 交通灯 21
限制150内