《交通灯控制器的设计》.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《交通灯控制器的设计》.doc

目 录 1 引 言 1 1.1 设计的目的 1 1.2 设计的基本内容 1 2 EDA、VHDL、有限状态机简介 2 2.1 EDA简介 2 2.2 VHDL简介 3 2.3 有限状态机简介 4 3 设计过程 5 3.1 设计规划 5 3.2 各模块的原理及其程序 6 3.2.1时钟模块设计 6 3.2.2分频器模块设计 7 3.2.3信号控制器模块设计 7 结束语 9 致 谢 10 参考文献 11 附 录 12 1 引 言 1.1 设计的了解并掌握硬件描述语言的设计方法和思想,提高分析、解决计算机技术实际问题的独立工作能力1.2 设计的这次课程设计的题目是。 2 EDA、VHDL、有限状态机简介 2.1 EDA简介 EDA是电子设计自动化(Electronic Design Automation)缩写,是90年初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Descriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。 硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的 HDL主要有ABEL-HDL、AHDL和VHDL。3 设计过程 3.1 设计规划 根据交通灯控制器的功能与要求,将其总体电路分为、模块。外部脉冲振荡器的频率选为32 768 kHz,经分频器分频得1 Hz的信号,1 Hz信号用做模块的计数脉冲 3.2 各模块的原理及其程序 3.2.1时钟模块设计 分成时、分、秒三块,秒计时对分频器的输入计数,到达60个时清零并输出一个分钟进位,同样,分钟计时计到60个时清零并输出一个小时进位,小时计时计满24个时则清零。校准时,set位为高电平,时钟停止走动,时、分、秒各位分别用8位开光设置,其中高四位对应高一位,低四位对应低一位。下面是其中的一段VHDL代码: entity frequency is port (clk10hz:in std_logic; clk1hz:out std_logic); end frequency; architecture count of frequency is signal tout:integer range 0 to 4; signal clk:std_logic; begin process(clk10hz) begin If rising_edge(clk10hz) then if tout=4 then tout=0; clk=not clk; else tout=tout+1; end if; end if; end process; clk1hz=clk; end count; 时钟模块由VHDL程序实现后,其仿真图如图3-2所示。 图3-2 时钟模块仿真图 3.2.2分频器模块设计 使用32MHz的晶体振荡器,稳定度高,但需要分频以得到1Hz的秒脉冲,分频器以计数方式实现,当计脉冲上升沿输出发生跳变,因此输出端每秒有一个上升沿,即得到1Hz的脉冲。下面是其中的一段VHDL代码: Architecture behavioral of pulse is Begin Counter:process(clock,en) Var

您可能关注的文档

文档评论(0)

wyth + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档