版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDA技术与应用实验报告姓名:汤思远0909120523班级:电子1201班学号 指导老师:张俊老师时间:2015-01-17中南大学实验一、交通灯实验目的通过此实验让用户进一步了解、熟悉和掌握CP LD/F PGA开发软件的的使用方法及Verilog HDL的编程方法。学习简单状态机的设计和硬件测试。、实验内容本实验的内容是设计一个简易的交通灯控制器,要求能实现红、绿、 黄灯三种信号的控制并通过数码管显示倒计时时间。整个设计在SmartsOPC实验箱上实现,用第一、第二个数码管显示A方向的倒计时时间,用第七、第八个数码管显示 B方向的倒计时时间。此外,由于缺少交通灯模块,本实验用第一、第二、
2、第三个 LED灯代表A方向的红、绿、黄灯三种信号,用第六、第七、第八个 LED灯代表B方向的红、绿、黄等三种信号。、实验原理本实验设计的交通灯控制器要求实现对 A、B两个方向的红、绿、黄灯三种信号的控制,并能实现时间显示的倒计时。因此每个方向的信 号可用一个状态机实现(参考交通灯.ppt),状态的跳转顺序为红灯- 绿灯-黄灯-红灯(另一个的状态应为绿-黄-红-绿),同时设计一个计 时器,来记录每种灯的倒计时时间。最后将交通灯的状态信息输出至 数码管和对应LED灯。注意,一个方向的红灯时间应和另一个方向的 绿黄灯时间总和相等。中南大学35显示模块结构图&eg7:0交fi灯控制模块结构图中南大学A
3、方向信号灯控制状态机acounthO!rrt nacount)acountl=0oacounlOO状态控制信号idleLanripa = 5bl 11; aco untjtaitred = Ibl; acou nt_51 a rtr een = IbO; scount_stsrt7ellow = IbOredL 日 mpa = 5bllO,If (BCQunt =0) *count_staftfi:reen= Ibl, else3UDunt_statge圮 n = IbQ;3COUnt_5tart red = IPO;acount_5tsrtvellow = 1 bO;grenLmpa = y
4、blQl;If 佃count =() scoijnt_5tsrtvflllcnw = Ihl, ekeacount_5tarMllw = TbO:acount_5tartred = l*hO, acourit_s tart green = lbO;yellowLampa = 5b01X:If (acount =0)acount_startred= Ibl; ekeBcount_staKred =rbO,a匚口unt_5t日rt_green 二 IbD.acount 5tart-yelbw = IhOi四、实验步骤1)启动 Quartus II建立一个空白工程,然后命名为traffic_test
5、.q pf(器件为:EP 3C55F484C)2)完成交通灯控制模块traffic_ctrl.v 、交通灯显示模块traffic_display.v,加入顶层模块traffic_test.v ,进行综合编译,若在编译过程中发现错中南大学误,则找出并更正错误,直至编译成功为止。3)参考基础实验LED驱动及动态数码管显示的引脚绑定脚set up .tcl。本文件setup.tcl,建立并执行新的引脚绑定脚本文件:(rst_n 为 PIN_B11);4)对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。5)6)按核芯板上的复位按键,观察交通灯是否正常运作。5.
6、结构图确保JP6上的LED0-LED7已通过跳线与FPGA引脚相连。ayrrajr旳曲郎民0|lun pb? 0| -dockrsUndxfcDrl_nlanpb|Z 曲aoouhip DBowrti? m:-am: dziclock汕917 Qpral_nflisT- orULixjiifT 0hBLirH7 ptsJTlc. Jlapla - qjTPVT I、3旳卩 Q训”五、程序清单:*/*交通灯实验/*控制模块:traffic ctrl.v中南大学*moduletraffic_ctrl(clock,rst_n,la mp a,la mp b,aco un t,bco unt);inp
7、ut clock;/系统时钟48MHzinput rst_n;/同步复位信号,低电平有效output 2:0lampa;/控制A方向三盏灯的亮灭;其中lampa2:0分/别控制A方向的绿灯、黄灯、(低电平灯亮)output 2:0lampb;/控制B方向三盏灯的亮灭;其中5/、lampb2:0分/别控制B方向的绿灯、黄灯、红灯(低电平灯亮)output 7:0aco unt;/用于A方向灯的时间显示,8位BCD码输出output 7:0bco unt;/用于B方向灯的时间显示,8位BCD码输出wire clke n;中南大学reg 25:0elk ent;/设置各种灯的计数器的预置数P ara
8、meterared=8d30,/30秒ared = bgree n +byellowayellow =8d5,/5秒agree n=8d15,/15秒bred =8d20,/20秒bred = agree n +ayellowbyellow =8d5,/5秒bgree n=8d25;/25秒/产生1Hz时钟使能信号 always (p osedge clock) beg inif(elke n)elk_e nt = 26h0;else中南大学clk_c nt = 26d47999999);IIA方向信号灯控制/ reg2:0 la mpa;reg7:0aco unt;regaco un t_s
9、tartred,aco un t_startgree n,aco un t_startyellow; II用于倒数计数器的复位状态机Areg1:0 curre ntstate_A;/, nextstate_A;II以下状态机A的代码自己完成 always( p osedge clke n) beg inif(!rst_n)begin acount startred=1;aco un t_startgree nv=0;中南大学aco un t_startyellowv=0;lamp av=3b011;curre ntstate_Av=2b00;end else if(aco un t=8b0)c
10、ase (curre ntstate_A)2b00:beginaco un t_startgree nv=1;lamp av=3b110;currentstate Av=2b01;end aco un t_startyellowv=1;2b01:begi nlamp av=3b101;curre ntstate_Av=2b10;enddefault:beg inacount startredv=1;lamp av=3b011;中南大学curre ntstate_Av=2b00;endendcaseelsebeg inaco un t_startredv=0;aco un t_startgree
11、 nv=0;aco un t_startyellowv=0;endendalways (p osedge clock)beg inif(aco un t_startred)aco unt v= ared;else if (aco un t_startgree n)aco unt v= agree n;中南大学else if (aco un t_startyellow)aco unt = ayellow;else if (clke n)aco unt = aco unt - 1b1;end/ / B方向信号灯控制 / reg2:0 la mpb;reg7:0bco unt;regbcount s
12、tartred,bco un t_startgree n,bcou nt_startyellow;/ 用于倒数计数器的复位状态机Breg1:0 curre ntstate_B;/, n extstate_B;/以下状态机B的代码自己完成中南大学always( p osedge clke n) begi nif(!rst_n)beg in bco un t_startgree nv=1;bcount startredv=0;bco un t_startyellowv=0;lamp bv=3b110;currentstate Bv=2b00;endelse if(bco un t=8b0)case
13、 (curre ntstate_B)2b00:beginbco un t_startyellowv=1;lamp bv=3b101;curre ntstate_Bv=2b01;end2b01:beg in中南大学bcount startredv=1;lamp bv=3b011;curre ntstate_Bv=2b10;enddefaultbeg inbco un t_startgree nv=1;lamp bv=3b110;curre ntstate_Bv=2b00;endendcaseelsebeginbcount startredv=0;bco un t_startgree nv=0;b
14、co un t_startyellowv=0;endend中南大学/倒数计数器B always (p osedge clock) begi nif(bco un t_startred)bco unt = bred;else if (bco un t_startgree n)bco unt = bgree n;else if (bco un t_startyellow)bco unt = byellow;else if (clke n)bco unt = bco unt - 1b1;endEn dmodule /*/*交通灯实验/*显示模块:traffic_dis play.v中南大学/*mod
15、uletraffic_dis play(clock,rst_ n, aco un t,bco un t,seg,dig);inputclock;/系统时钟(48MHz)inputrst n;/复位信号,低电平有效input7:0 aco unt;/A方向倒计时input7:0 bcou nt;/B方向倒计时output7:0seg;/数码管段码输出output7:0dig;/数码管位码输出/寄存器reg16:0cou nt;reg2:0cou nt1;/计数器wiresca n_en;/数码管扫描使能信号reg1:0seg_c nt;/数码管扫描计数器reg3:0disp_dat;/数码管扫描
16、数值中南大学wire7:0jwire7:0dig;reg7:0seg_r;reg7:0dig_r;reg7:0aco unt1;reg7:0bco unt1;/产生用于数码管扫描的使能信号 always (p osedge clock or n egedge rst_n) begi nif (!rst_n)count = 17hOOOOO;elsecount =4ha)/begin/acou nt13:0=acou nt13:0-4ha;/acou nt17:4=(acou nt17:4*16)+1b1;/end/ else/acou nt17:0=acou nt17:0;endalways
17、(bco unt)begi nbco un t1=bco unt;/ bcou nt仁bcou nt17:4*16+bcou nt13:0;/ if(bcou nt13:0=4ha)中南大学/beg in/bcou nt13:0=bcou nt13:0-4ha;/bcou nt17:4=(bcou nt17:4*16)+1b1;/end/ else/bcou nt17:0=bcou nt17:0;end always (p osedge sca n_en) beg incoun t1=co un t1+1b1;end assig n dig = dig_r;assig n seg = seg_
18、r;always (p osedge clock) begi ncase(co un t1)/选择扫描显示数据/第一个数码管3d0:disp_dat = acou nt17:4;/第二个数码管3d1:disp_dat = acou nt13:0;3d2:disp_dat = 0;3d3:disp_dat = 0;3d4:disp_dat = 0;3d5:disp_dat = 0;中南大学/第三个数码管第四个数码管第五个数码管第六个数码管3d6:disp_dat = bcou nt17:4;3d7:disp_dat = bcou nt13:0;endcasecase(co un t1)3d0:d
19、ig_r = 8b01111111;显示3d1:dig_r = 8b10111111;显示3d2:dig_r = 8b11111111;显示3d3:dig_r = 8b11111111;显示3d4:dig_r = 8b11111111;/第七个数码/第八个数码/选择数码管显示位/选择第一个数码管选择第二个数码管选择第三个数码管选择第四个数码管选择第五个数码管中南大学显示3d5:dig_r = 8b11111111;/选择第六个数码管显示3d6:dig_r = 8b11111101;/选择第七个数码管显示3d7:dig_r = 8b11111110;/选择第八个数码管显示endcase end
20、always (disp_dat) begi nie(disp_dat)/七段译码4h0:seg_r = 8hcO;/显示04h1:seg_r = 8hf9;/显示14h2:seg_r = 8ha4;/显示24h3:seg_r = 8hb0;/显示34h4:seg_r = 8h99;/显示4中南大学4h5:seg_r = 8h92;/显示4h6:seg_r = 8h82;/显示4h7:seg_r = 8hf8;/显示4h8:seg_r = 8h80;/显示4h9:seg_r = 8h90;/显示4ha:seg_r = 8h88;/显示4hb:seg_r = 8h83;/显示4hc:seg_r
21、= 8hc6;/显示4hd:seg_r = 8ha1;/显示4he:seg_r = 8h86;/显示4hf:seg_r = 8h8e;/显示56789abcdeendcase end en dmodule*/*交通灯实验中南大学/*顶层模块:traffic test.v*module traffic_test(clock,rst_n,seg,dig,lampa,lampb);input clock;/系统时钟(48MHz)inputrst_n;/复位信号,低电平有效output2:0lamp a;/A方向红、绿、黄灯output2:0lampb;/B方向红、绿、黄灯output7:0seg;/
22、数码管段码输出output7:0dig;/数码管位码输出/内部线网wireclke n;wire7:0 aco unt;wire7:0 bcou nt;/交通灯控制模块 traffic_ctrl traffic_ctrl(中南大学.clock(clock),.rst_n(rst_n),amp a(la mp a),/A方向红、绿、黄灯amp b(la mp b),/B方向红、绿、黄灯.aco un t(aco un t),/A方向倒计时.bco un t(bco unt)/B方向倒计时);/交通灯显示模块 traffic_dis play traffic_dis play(.clock(clo
23、ck),.rst_n(rst_n),.aco un t(aco un t),/A方向倒计时.bco un t(bco un t),/B方向倒计时.seg(seg),/数码管段码输出.dig(dig)/数码管位码输出);en dmodule中南大学六、总结本次试验由于对veriolg HDL语言的不熟悉和对Quartusll软件的不了解,导致本次实验并没有达到预期效果。本次实验 重点学习了交通灯的程序设计与调试,硬件下载、操作及管 脚的分配等过程。在设计的过程中还应该多联系下实际情 况,要了解实际情况下交通信号灯的工作情况,才能更好的 完成此次的课程设计。在今后的工作和学习中,我们不能仅 仅把目
24、光停留在课本上,要多理论联系实际。有的时候,理 论上是正确的东西放到现实中去,可能由于种种因素的制 约,并不能达到实际的效果,还需要我们进行相应的修改才 能完成要求。这次的课程设计使我巩固了以前学习到的知 识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的 能力。分析本次实验过程,现总结如下:1 、系统设计进要行充分的方案论证,不可盲目就动手 去做;2 、实验中对每一个细节部分都要全面思考,要对特殊 情况进行处理;3 、对于数字系统,要考虑同步、异步问题;4 、数字电路的理论分析要结合时序图;中南大学5 、遇到问题,要顺藤摸瓜,分析清楚,不可胡乱改动, 每做一次改变都要有充分的理由;6 、模
25、块化设计方法的优点在于其简洁性,但是在实验 设计中也发现,在实验最终电路确定之前,要尽量减少模块 重叠嵌套,因为在总的电路敲定之前,电路还不成熟,很多 地方需要改进,如果在开始时就进行多层模块化,里层模块 电路的修改将影响其外层的全部电路,这样就是牵一发动全 身,很显然,这样将导致电路设计的低效,所以在设计过程 中,一定要尽量减少超过两层的模块;7 、遇到问题花了很长时间没有解决掉,要学会想他人 请教,别人的不经意一点,可能就能把自己带出思维死区。中南大学实验二、SOPC、实验目的(1)学习 Quartus II、SOPC Builder、NIOS II IDE 的基 本操作;(2)熟悉SOP
26、C勺开发流程,基本掌握 NIOS II软核及相关外设内核的定制流程;(3)掌握NIOS II软件开发流程及基本的软件调试方法。、实验设备硬件:PC级、SmartSOPC教学实验开发平台软件:Quartus II 9.0SOPC Builder 9.0, NIOS II IDE9.0、实验内容本实验的内容是建立可用于控制LED流水灯显示的简单 NIOSII处理器系统,具体步骤包括:(1 )在 Quartus II中建立一个工程,器件设置为EP 3C55F484C8(2)以原理图输入方式建立空白顶层模块,并保存。(3)在 SOPC Builder中创建NIOS II处理器系统,依次添加 IP :
27、NIOSII CPU 片内 ROM 片内 RAM PIO (8 位)、system中南大学ID。设置CPU复位地址及异常地址,生成 NIOS II系统。集成NIOS II系统至顶层模块。(6)引脚分配,参考 setu p.tcl(7)编译硬件系统,并下载至 FPGA在NIOS II IDE中创建应用工程,并添加流水灯控制程序(参考书上第 373页)编译应用工程,进行调试 /运行程序。四、实验代码#in clude #in cludevaltera_aval on_pio _regs.h #in clude int alt_ma in( void) alt_u8 led=0x2;alt_u8 d
28、ir=0;volatile int i;while(1) if(led&0x81)dir=(dir八0x1);中南大学if(dir)led=led1;elseled=led ONwIl#*iKW*DIVARmUHAril Vfl*V| 4i_ MUiaULtl断科liRlIl中南大学囹中南大学397 WrxrtWM輛OhoBMhoV IOlmm|OL*rirJTAGJfC tb-briCWHl#bwi44 fwnrvCwrSCVwnMImtP At*pM七.So*w*jbMltHllI hfg Bl Bilinntwi Ht ntHPVilTMr TkWt WKton tV*rW ScaouaT-nhNK,鯉 VTava fw Wh*兴 Qfc* _ _ I JTAIWlCATHlrih tvwTWJIOCKPWg3*S 11-15 Level 3软 HAGUART*1*I譎ES3PIO tParallel I/O)2 frgCpCILfr*.iwAKPtf.rinh 航 g km Jb紳啊脂tBJWAdvhlH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建漳龙集团有限公司招聘1人考试参考题库及答案解析
- 2026云南昆明市寻甸回族彝族自治县档案馆城镇公益性岗位招聘2人考试参考题库及答案解析
- 2026四川德阳市广汉市广电文化传媒有限责任公司招聘6人考试备考试题及答案解析
- 河南洛阳格力2026届大学生校园招聘考试备考试题及答案解析
- 狗咬伤后的伤口护理社区服务
- 2026年钟山县清塘镇人民政府公开招聘备考题库员备考题库及完整答案详解一套
- 2026年苏州市公安局吴中分局招聘警务辅助人员备考题库及一套参考答案详解
- 2026年西安石油大学公开招聘区域国别研究院执行院长备考题库及一套完整答案详解
- 2026年深圳市南山区教育科学研究院附属学校教育集团松坪学校教师招聘备考题库及1套完整答案详解
- 仪陇县司法局关于公开选聘仪陇县法律顾问团成员8-120的备考题库参考答案详解
- 协调控制系统 CCS介绍
- 黑布林英语阅读初一年级16《柳林风声》译文和答案
- 杰青优青学术项目申报答辩PPT模板
- 宿舍入住申请书
- 深圳中核海得威生物科技有限公司桐城分公司碳13-尿素原料药项目环境影响报告书
- qdslrdashboard应用软件使用说明
- 2023年全国高考体育单招文化考试数学试卷真题及答案
- GB/T 28733-2012固体生物质燃料全水分测定方法
- GB/T 18591-2001焊接预热温度、道间温度及预热维持温度的测量指南
- GB/T 14404-2011剪板机精度
- 《中小学教育惩戒规则(试行)》全文
评论
0/150
提交评论