收藏 分销(赏)

EDA交通灯课程设计带有测试平台testbench精讲.doc

上传人:w****g 文档编号:2935412 上传时间:2024-06-11 格式:DOC 页数:22 大小:1.67MB
下载 相关 举报
EDA交通灯课程设计带有测试平台testbench精讲.doc_第1页
第1页 / 共22页
EDA交通灯课程设计带有测试平台testbench精讲.doc_第2页
第2页 / 共22页
EDA交通灯课程设计带有测试平台testbench精讲.doc_第3页
第3页 / 共22页
EDA交通灯课程设计带有测试平台testbench精讲.doc_第4页
第4页 / 共22页
EDA交通灯课程设计带有测试平台testbench精讲.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、 EDA技术课程设计十字路口交通灯控制器设计学 院电气与信息工程专业电子信息工程班级0934111课程名称EDA技术学号0934111*姓名*俊豪指导教师*成绩评定一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。二、评分评分项目设计报告评分答辩评分平时表现评分合 计 (100分)任务完成情 况(20分)课程设计报告质量(40分)表达情况(10分)回答问题情 况(10分)工作态度与纪律(10分)独立工作能力(10分)得分课程设计成绩评定班级 0934111 姓名 学号 0934111成绩: 分(折合等级 )指导教师签字 年 月 日、目录一、设计题目1二、设计任务和要求1三

2、、EDA设计23.1、明确系统的功能,并进行逻辑抽象23.2、模块功能说明33.3、波形仿真及分析33.3.1、代码33.3.2、各模块rtl电路及功能仿真和时序仿真4四、硬件测试7五、实验困难问题及解决措施7参考文献9附录10前 言伴随着社会的发展以及人类生活水平的提高, EDA技术在电子信息、通信、自动、控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对DEA需求的不断增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以设计交通灯来完成这个需求就显的越加迫切了。为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。以下就是运用数字电

3、子设计出的交通灯:其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。一、设计题目十字路口交通灯控制器设计。二、设计任务和要求用EDA技术设计一个十字路口的交通信号灯控制器,控制A、B两条交叉道路上的车辆通行,具体要求如下:设计一个十字路口交通信号管理控制器。对于每个路口,可实现直行、停止、左转指示,并显示当前状态剩余时间1. 每个方向有直行红灯、直行绿灯、停行黄灯和左转绿灯共4个LED指示灯组成;2. 每个方向用两位数码管显示当前状态剩余时间;3. 系统复位后进入东西直行,南北禁行状态;4. 直行状态最后3秒内,绿灯闪烁状态;三、EDA设计由于本设计实验的功能较多,所以就采用

4、模块化设计。整个程序设计基于8种状态,如下表所示:交通灯状态转换表状态SS1S2S3S4S5S6S7S0A方向左拐a1黄灯ay绿灯ag黄灯ay红灯ar红灯ar红灯ar红灯ar亮灯时间10s4s20s4s33B方向红灯br红灯br红灯br红灯br左拐b1黄灯by绿灯bg黄灯by亮灯时间38s10s4s15s4s注释:系统复位后进入A方向直行绿灯,B方向直行红灯的状态即S3。A方向B方向监督图1 A、B方向示意图顶层模块控制模块分频模块计数模块显示模块译码模块 图2 整体模块示意图3.1、明确系统的功能,并进行逻辑抽象如图1本方案可实现在确定时刻,倒计数数字显示能够及时变化,红黄绿灯能准确变化,考

5、虑到实际应用,加入人工监督功能,通过改变频率来控制交通灯亮灭的时间的长短。本设计采用模块化设计,图2为本设计十字路口交通等系统的层次结构框图。3.2、模块功能说明 1.主控制模块(kongzhi):控制系统输入输出之间联系。 2.显示模块(xianshi):显示倒计时时间和工作状。其输出用来驱动4位共阴数码管,并显示倒计时时间(动态扫描)。 3.分频模块(fenpin):本系统动态扫描需要1KHZ的脉冲而系统时钟需要1HZ的脉冲,分频器主要为系统提供所需要的时钟脉冲。该模块将1KHZ的脉冲信号进行分频,产生周期为1hz的方波,作为系统时钟信号的倒计时闪烁信号。 4.译码模块(yima):根据控

6、制信号,驱动交通灯即LED的显示。 5.计数模块(jishu):用来设定A方向和B方向计时器的初值,并为显示模块提供倒计时时间。 6.顶层模块jiaotongdeng,连接各模块设计,使之成为一个有机体。前5个模块分别进行仿真测试,成功后把所有.vhdl文件包含在工程jiaotongdeng,实现模块化设计。3.3、波形仿真及分析3.3.1、代码见附录一。3.3.2、各模块rtl电路及功能仿真和时序仿真各模块分别建立工程文件,并进行功能仿真、时序仿真,前六个模块成功编译,得到正确仿真结果后,建立顶层模块。模块一:控制模块(kongzhi) 图3 控制模块(kongzhi)rtl图 图4 控制模

7、块(kongzhi)仿真图模块二:计时模块(jishi)图5 计时模块(jishi)rtl图 图6 计时模块(jishi)仿真图模块三:显示模块(xianshi)图7 显示模块(xianshi)rtl图图8 显示模块(xianshi)仿真图模块四:译码模块(yima)图9 译码模块(yima)rtl图图10 译码模块(yima)仿真图模块五:分频模块(fenpin)图11 分频模块(fenpin)rtl图图12 分频模块(fenpin)仿真图模块六:顶层模块图13 本设计整体rtl图四、硬件测试编程下载和硬件测试的步骤如下:1、 打开下载窗口。选择菜单“Tool“项的”programmer“,

8、便可打开下载窗口。2、 设置下载电缆。将ByteBlaster电缆的一端与微机的并行口相连,另一端10针插头与装有目标器件的PCB板上的插座相连。并在”Hardware Setup”中设置下载电缆。3、设置JTAG链。Altera器件基本都支持JTAG在系统编程方式,这种方式简单易行,不需要专门的编程器。4、选用模式NO.5,分配引脚,并编译后,把生成*.sof文件下载到基于Cyclone型GW48系列FPGA实验箱开发板上,成功查看结果,CLK时钟频率用1Hz,可通过实验箱上“键7”控制Reset全局复位。五、实验困难问题及解决措施在实验的过程中,编写主程序的时候,也遇到调试不成功的问题,主

9、要问题如下:在编写xianshi模块时,最后给输出信号赋值时,使用了进程语句,但是由于敏感列表不全,导致在仿真时其输出信号的值产生错误。解决措施就是通过逐个查看内部信号,由于敏感列表不全,致使有些时刻,最后赋值的进程语句没有启动,从而造成输出结果不全。在实现绿灯剩余时间小于三秒时开始闪烁功能时,遇到问题。具体表现在yima模块中。开始为了在绿灯状态,使绿灯在高、地电平间变换,所以就尝试使用时钟信号clk的上升沿和下降沿,其中上升沿时,绿灯高电平即亮,下降沿时绿灯熄灭。虽然这种方案在modelsim中仿真成功,但是在quartus进行综合出现错误,该综合软件综合不出此寄存器。经过多次试验,使用了

10、clk高低电平触发,不再使用其上升下降沿。在整个程序中有时在使用IF语句时,会因为考虑不完整造成实验结果出错。因为在IF语句中如果过没有ELSE语句,那么输出将默认保持前一个状态,这样很容易产生错误。总之经过查阅各种资料,成功的把程序调试了出来。在查阅试验箱说明书的情况下,完成了引脚的选定,并把程序下载到了试验箱里面,完成了实物的演示。参考文献1邹彦编.EDA技术与数字系统设计.北京:电子工业出版社.2007.2潘松,黄继业编.EDA技术与VHDL(第二版).北京:清华大学出版社.2007.3王锁萍编.电子设计自动化教程.成都:电子科技大学出版社.2000. 4徐志军,徐光辉编.CPLD/FP

11、GA的开发与应用.北京:电子工业出版社.2002 .5杨旭,刘盾等编.EDA技术基础与实验教程.北京:清华大学出版社.2010.七、附录附录一:本系统采用用硬件描述语言VHDL描述。分为五个模块,分别为控制模块、计时模块、显示模块、译码模块和分频模块,下面针对每个模块给出相应的程序:模块一:/*控制部分*/*定义输入输出端口*/library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity kongzhi is -实体部分; port ( clk,clr : in std_logic; at,bt

12、: in std_logic_vector(7 downto 0); s : out std_logic_vector(2 downto 0) );end kongzhi;architecture rtl of kongzhi is -结构体部分;signal q :std_logic_vector(2 downto 0);begin- main logicprocess (clk,clr,at,bt)beginif clr=1 then q=011; -系统复位后,系统的状态是A干道绿灯; B干道红灯; elsif (clkevent and clk =1) then if (at=x01)

13、 or (bt=x01) then -倒计时结束时,状态发生改变;q=q+1; else q=q; end if; end if;end process;s = q;end rtl;模块二:/*计时部分*/*为A,B方向设置初值 */library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishi is -实体部分 port ( clk, clr : in std_logic; s :in std_logic_vector(2 downto 0); at,bt :out std_logic

14、_vector(7 downto 0) );end jishi;architecture rtl of jishi is -结构体signal ati,bti :std_logic_vector(7 downto 0);-中间信号signal art,agt,alt,abyt:std_logic_vector(7 downto 0);signal brt,bgt,blt:std_logic_vector(7 downto 0);begin- main logic -每个状态的总时间分别赋给相应的信号;art=x33; -A方向直行红灯总时间为33s;agt=x20; -A方向直行绿灯总时间为2

15、0s;alt=x10; -A方向左拐绿灯总时间为4s;abyt=x04; -黄灯总时间为4s;brt=x38; -B方向直行红灯总时间为38s;bgt=x15; -B方向直行绿灯总时间为15s;blt=x04; -B方向左拐绿灯总时间为4s;process (clk,clr,s) begin if clr=1 then ati=x33;btiati=alt;btiatiatiatiati=art;btibtibtibtiati=ati;bti=bti; end case; end if; if ati/=x01 then -当前时间大于1s时,则相应位进行减一; if ati(3 downto

16、 0)=0000 then ati(3 downto 0)=1001;-因为总时间使用的是十六进制 ati(7 downto 4)=ati(7 downto 4)-1; else ati(3 downto 0)=ati(3 downto 0)-1; ati(7 downto 4)=ati(7 downto 4); end if; end if; if bti/=x01 then -当前时间大于1s时,则相应位进行减一; if bti(3 downto 0)=0000 then bti(3 downto 0)=1001; bti(7 downto 4)=bti(7 downto 4)-1; el

17、se bti(3 downto 0)=bti(3 downto 0)-1; bti(7 downto 4)=bti(7 downto 4); end if; end if; end if;end process;at= ati; -最后给输出信号赋值;bt=bti;end rtl; 模块三: /*显示部分*/*显示倒计时时间和系统工作状态 */library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xianshi is -实体部分; port ( clk1k,clr ,clk : in st

18、d_logic; at,bt:in std_logic_vector(7 downto 0); led : out std_logic_vector(6 downto 0); sel: out std_logic_vector(3 downto 0) );end xianshi;architecture rtl of xianshi is -结构体部分;signal ou : std_logic_vector(3 downto 0) ;signal dis,ds : std_logic_vector(7 downto 0);signal sl : std_logic_vector(2 down

19、to 0):=000;signal sq : std_logic_vector(3 downto 0):=0000;begin- main logicsl1:process (clk1k,clr)begin if clr=1 then sl=000; elsif (clk1kevent and clk1k =1)then if sl=011 then sl =000; else sl sqsqsqsqnull; end case; end process;ou1:process(sl) -显示时间与位选信号一一对应; begin case sl is when 000=ouououououds

20、dsdsdsdsdsdsdsdsdsds=x00; end case; end process;saomiao:process(clk,ds,clr,sl) -给输出信号赋值; begin if clr=1 then dis=ds; elsif sl101 then if clk=0 then dis=ds;-低电平数码管显示时间; else dis=x00; -高电平数码管全关闭; end if; else dis=ds; end if; end process; led=dis(6 downto 0); sel =sq; end rtl;模块四:/*译码部分*/*驱动交通灯的显示*/lib

21、rary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yima is -实体部分; port ( clr,clk : in std_logic; at,bt : in std_logic_vector(7 downto 0); s : in std_logic_vector(2 downto 0); abl :out std_logic_vector(7 downto 0) );end yima;architecture rtl of yima is -结构体部分;signal lt :std_

22、logic_vector(7 downto 0);signal a :std_logic_vector(7 downto 0);signal b :std_logic_vector(7 downto 0);begin- main logicprocess (clr,s,clk) -状态S控制着每个方向的LED灯;beginif clr=1 then ltltltltltltltltltlt=lt; end case;end process;process(clk,at,bt,s) 绿灯时间小于4秒时,绿灯开始闪烁; begin if(s=011) then if atx04 then if c

23、lk=1 then a=00000001; elsif clk=0 then a=00100001; end if; else a=00100001; end if; else a=00100001; end if; if (s=111) then if btx04 then if clk = 1 then b=00010000; elsif clk=0 then b=00010010; end if; else b=00010010; end if; else b=00010010; end if; end process; abl = lt;end rtl; 模块五:/*分频部分*/*为系

24、统提供所需要的时钟脉冲 */library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin is -实体部分; port ( clk1k : in std_logic; clk : out std_logic );end fenpin;architecture rtl of fenpin is -结构体部分;signal fp :std_logic_vector(9 downto 0):=0000000000;begin- main logicprocess (clk1k)begin

25、if (clk1kevent and clk1k =1) then fp = fp+1; -计数 end if;end process;clk s1,clk=s2);-元件端口映射;u2: kongzhi port map(clk=s2,clr=s3,at=s9,bt=s10,s=s7);u3: jishi port map(clk=s2,clr=s3,s=s7,at=s9,bt=s10);u4: yima port map(clr= s3,s=s7,abl=s11,at=s9,bt=s10,clk=s2);u5: xianshi port map (clk=s2,clk1k=s1,clr=s

26、3,at=s9,bt=s10,led=s12,sel=s13);s1=clk1k;s3=clr;shuma=s12;sel=s13;led1 sig_clk1k, clr = sig_clr, led1 =sig_led1, shuma = sig_shuma, sel =sig_sel);process beginsig_clk1k =0;wait for period;sig_clk1k =1; wait for period;end process;sig_clr = 1, 0 after 3 sec, 1 after 10 sec,0 after 11 sec;end behaviour;附

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
  • 2023年主题教育六个方面个人检视问题清单及整改措施材料【存在的问题、原因分析、下步打算】与“学思想、强党性、重实践、建新功”六个方面对照检查发言材料【共6篇文】供参考.docx 2023年主题教育六个方面个人检视问题清单及整改措施材料【存在的问题、原因分析、下步打算】与“学思想、强党性、重实践、建新功”六个方面对照检查发言材料【共6篇文】供参考.docx
  • 2023年“学思想强党性重实践建新功”六个方面对照检查发言材料与主题教育六个方面个人对照检查剖析材料6篇文【存在的问题、原因分析、下步打算】.docx 2023年“学思想强党性重实践建新功”六个方面对照检查发言材料与主题教育六个方面个人对照检查剖析材料6篇文【存在的问题、原因分析、下步打算】.docx
  • 2023年“学思想强党性重实践建新功”“六个方面”对照检查材料与主题教育六个方面对照检查材料(存在的问题、原因剖析、整改措施)6篇文.docx 2023年“学思想强党性重实践建新功”“六个方面”对照检查材料与主题教育六个方面对照检查材料(存在的问题、原因剖析、整改措施)6篇文.docx
  • 2023年“学思想强党性重实践建新功”六个方面对照检查发言材料与主题教育“六个方面”检视问题清单及整改措施材料【六篇文】供参考.docx 2023年“学思想强党性重实践建新功”六个方面对照检查发言材料与主题教育“六个方面”检视问题清单及整改措施材料【六篇文】供参考.docx
  • 2023年“学思想、强党性、重实践、建新功”六个方面对照检查材料与主题教育在担当作为、廉洁自律等“六个方面”问题查摆剖析材料(6篇文).docx 2023年“学思想、强党性、重实践、建新功”六个方面对照检查材料与主题教育在担当作为、廉洁自律等“六个方面”问题查摆剖析材料(6篇文).docx
  • 2023年“学思想、强党性、重实践、建新功”对照检查材料与主题教育在理论学习、担当作为、廉洁自律等“六个方面”问题查摆剖析材料(6篇稿).docx 2023年“学思想、强党性、重实践、建新功”对照检查材料与主题教育在理论学习、担当作为、廉洁自律等“六个方面”问题查摆剖析材料(6篇稿).docx
  • 2023年广东广州市黄埔区联和街专职安监员招聘笔试冲刺题(带答案解析).pdf 2023年广东广州市黄埔区联和街专职安监员招聘笔试冲刺题(带答案解析).pdf
  • 2023年主题教育“六个方面”对照检查材料及整改措施查摆剖析材料与“学思想、强党性、重实践、建新功”六个方面对照检查材料(6篇文).docx 2023年主题教育“六个方面”对照检查材料及整改措施查摆剖析材料与“学思想、强党性、重实践、建新功”六个方面对照检查材料(6篇文).docx
  • 2023年主题教育六个方面个人对照检查韵剖析材料【存在的问题、原因分析、下步打算】与“学思想强党性重实践建新功”六个方面对照检查材料(六篇)供参考.docx 2023年主题教育六个方面个人对照检查韵剖析材料【存在的问题、原因分析、下步打算】与“学思想强党性重实践建新功”六个方面对照检查材料(六篇)供参考.docx
  • 搜索标签

    当前位置:首页 > 学术论文 > 其他

    移动网页_全站_页脚广告1

    关于我们      便捷服务       自信AI       AI导航        获赠5币

    ©2010-2024 宁波自信网络信息技术有限公司  版权所有

    客服电话:4008-655-100  投诉/维权电话:4009-655-100

    gongan.png浙公网安备33021202000488号   

    icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

    关注我们 :gzh.png    weibo.png    LOFTER.png 

    客服