版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
II的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。设计说明:在事先准备及老师指导后,将此次设计分4个模块,来解决交通灯的各项特性。(1)第一模块:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。模块说明:系统输入信号:Clk:由外接信号发生器提供256的时钟信号系统输出信号:full:产生每秒一个脉冲的信号(2)第二模块:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。模块说明:系统输入:full:接收由clk电路的提供的1hz的时钟脉冲信号系统输出信号:tm:产生显示电路状态转换信号tl:倒计数值秒数个位变化控制信号th:倒计数值秒数十位变化控制信号(3)第三模块:红绿灯状态转换电路本电路负责红绿灯的转换。模块说明:系统输入信号:full:接收由clk电路的提供的1hz的时钟脉冲信号tm:接收计数秒数选择电路状态转换信号系统输出信号:comb_out:负责红绿灯的状态显示(4)第四模块:时间显示电路本电路负责红绿灯的计数时间的显示。模块说明:系统输入信号:tl:倒计数值秒数个位变化控制信号th:倒计数值秒数十位变化控制信号系统输出信号:led7s1:负责红绿灯的显示秒数个位led7s2:负责红绿灯的显示秒数十位三、设计方案状态寄存器秒脉冲信号发生器计数器CLK状态寄存器秒脉冲信号发生器计数器时间显示数据输出次态发生器次态发生器信号灯输出信号信号灯输出图2交通信号灯控制器程序原理框图进程将CLK信号分频后产生1秒信号,然后构成两个带有预置数功能的十进制计数器,并产生允许十位计数器计数的控制信号。状态寄存器实现状态转换和产生状态转换的控制信号,下个模块产生次态信号和信号灯输出信号,以及每一个状态的时间值。经过四个模块的处理,使时间计数、红绿灯显示能够正常运行。四、程序清单:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYtrafficIS PORT(clk:instd_logic;led7s1:outstd_logic_vector(6downto0);led7s2:outstd_logic_vector(6downto0);comb_out:outstd_logic_vector(5downto0));END;ARCHITECTUREoneOFtrafficISTYPEdmIS(s0,s1,s2,s3);SIgnalcurrent_state,next_state:dm;SIGNALFULL:STD_LOGIC;SIGNALtl:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALth:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALtm:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALTIME:STD_LOGIC_VECTOR(6DOWNTO0);BEGINP_REG:PROCESS(CLK)VARIABLECNT8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINIFCLK'EVENTANDCLK='1'THENIFCNT8="11111111"THENCNT8:="00000000";FULL<='1';ELSECNT8:=CNT8+1;FULL<='0';ENDIF;ENDIF;ENDPROCESSP_REG;PROCESS(full)BEGINIFfull'EVENTANDfull='1'THENIFTIME<"1000011"THENTIME<=TIME+1;ELSeTIME<="0000000";ENDIF;ENDIF;ENDPROCESS;REG:process(full,current_state)BEGINIFfull='1'ANDfull'EVENTTHENcurrent_state<=next_state;ENDIF;ENDprocess;COM:process(current_state,time)begincasecurrent_stateiswhens0=>comb_out<="001100";tm<=39-time;iftime=39thennext_state<=s1;elsenext_state<=s0;endif;whens1=>comb_out<="010100";tm<=43-time;iftime=40thencomb_out<="010100";elsiftime=41thencomb_out<="000100";elsiftime=42thencomb_out<="010100";elsiftime=43thennext_state<=s2;elsenext_state<=s1;endif;whens2=>comb_out<="100001";tm<=63-time;iftime=63thennext_state<=s3;elsenext_state<=s2;endif;whens3=>comb_out<="100010";tm<=67-time;iftime=64thencomb_out<="100010";elsiftime=65thencomb_out<="100000";elsiftime=66thencomb_out<="100010";elsiftime=67thennext_state<=s0;elsenext_state<=s3;endif;endcase;endprocess;PROCESS(tm)BEGINIFtm>=30THENth<="11";tl<=tm-30;ELSIFtm>=20THENth<="10";tl<=tm-20;ELSIFtm>=10THENth<="01";tl<=tm-10;ELSEth<="00";tl<=tm;ENDIF;ENDPROCESS;process(th,tl)begincasethiswhen"00"=>led7s1<="0111111";when"01"=>led7s1<="0000110";when"10"=>led7s1<="1011011";when"11"=>led7s1<="1001111";whenothers=>null;endcase;casetliswhen"0000000"=>led7s2<="0111111";when"0000001"=>led7s2<="0000110";when"0000010"=>led7s2<="1011011";when"0000011"=>led7s2<="1001111";when"0000100"=>led7s2<="1100110";when"0000101"=>led7s2<="1101101";when"0000110"=>led7s2<="1111101";when"0000111"=>led7s2<="0000111";when"0001000"=>led7s2<="1111111";when"0001001"=>led7s2<="1101111";whenothers=>null;endcase;endprocess;end;五、用QuartusII软件的设计过程主要包括建立项目输入设计电路(可采用不同方式)设计编译设计仿真设计下载六、仿真结果(如下图) 七、引脚设置接下来就要选择目标器件并对相应的引脚进行锁定了,我们选择的器件为cyclone系列的EP1C3T144芯片,引脚锁定方法如下图所示。将未使用的管脚设置为三态输入(一定要设置,否则可能会损坏芯片)。本实验只能用采用模式6下载调试,一切正常。八、实验中问题A、程序设计中的问题在程序设计中有遇到不知如何简化程序的问题,开始编写的时候设置的变量、信号过多,不懂得巧妙的应用。B、波形仿真中的问题波形仿真正确,但是波形图中存在毛刺现象,毛刺现象又称为竞争冒险,由于信号在FPGA器件内部通过连线和逻辑单元时都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。另外信号高低电平的转换也需要一定的过渡时间。所以多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。如果一个组合逻辑电路中有“毛刺“出现,就说明该电路存在“冒险”。毛刺的消除
可以通过改变设计,破坏毛刺产生的条件来减少毛刺的发生。毛刺并不是对所有的输入都有危害,对于D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且不满足数据的建立和保持时间,就不会对系统造成危害,因此可认为D触发器的D输入端对毛刺不敏感。根据这个特性,应当在系统中尽可能采用同步电路,因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间。
这种方法可以大大减少毛刺,但他并不能完全消除毛刺,必须手工修改电路来去除毛刺。一般,冒险出现在信号发生电平转换的时刻,即在输出信号的建立时间内会发生冒险,而在输出信号的保持时间内是不会有毛刺信号出现的。如果在输出信号的保持时间内对其进行“采样”,就可以消除毛刺信号的影响。
“采样”可通过两种方法实现:一种是在输出信号的保持时间内,用一定宽度的高电平脉冲与输出信号做逻辑“与”运算,由此获取输出信号的电平值。
上述方法的一个缺点是必须人为地保证SAMPLE信号必须在合适的时间中产生,否则仍不能得到满意的结果。另一种实现方法是可利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用D触发器读取组合逻辑的输出信号,这种方法类似于将异步电路转化为同步电路,从以上分析看出,通过上述的电路处理可以有效减少毛刺的产生,从而减少逻辑错误,提高芯片工作的稳定性。C、模式选择问题该实验选择模式六,在试验前,我不了解实验箱的模式,所以选择有些茫然,在了解实验箱的模式结构后,解决了这个困惑。D、调试中的问题首先实验箱的93号引脚中的频率出现问题,选择93号做clk时,数码管和等不能正常变换,改用16号引脚后,实验现象正常,符合了实验的要求。其次,程序编写时对红、黄、绿灯的排列顺序有些混乱造成灯的点亮顺序混乱,对程序进行改进后,结果正确。九、实验心得体会首先,我不得不说EDA课程设计对我来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校教师薪酬绩效考核管理制度
- 青少年发展中心学困生辅导制度
- 公共服务领域道德宣传活动方案
- 吉林大学《量子力学ⅡA》2021-2022学年第一学期期末试卷
- 2025年高考生物总复习分类训练:细胞工程与胚胎工程(原卷)
- 跨国企业合作协议书
- 房地产项目备案流程工作总结
- 科技公司董事聘任协议书
- 2025届高考化学一轮复习第五章物质结构元素周期律第14讲元素周期表元素周期律练习含解析新人教版
- 2024年内地居民离婚登记常见问题解答
- 2024年电工作业高压电工操作证考试模拟试题库及答案(共180题)
- 英语冠词讲解
- 2024-2030年中国浓缩果汁市场深度调查研究报告
- 广告宣传物料投标方案(技术方案)
- 国际国际教育合作框架协议书
- 2024至2030年中国保安服务行业市场发展现状及前景趋势与投资战略研究报告
- 小红书种草营销师认证考试题附有答案
- 安全生产法律法规清单(2024年5月版)
- 包装饮用水生产风险清单范例
- 2024-2030年中国光探测器行业发展规划及应用前景预测报告
- 当代社会政策分析 课件 第二章 就业社会政策
评论
0/150
提交评论