ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:212.43KB ,
资源ID:4008548      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4008548.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(eda实训报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

eda实训报告.docx

1、eda实训报告前言 2(1)EDA简介 2EDA的设计流程 3(2)FPGA简介 4课程设计任务书 4设计要求 4具体要求 5提高 5系统电路功能描述、粗框图及方案论证说明 5确定方案 5交通灯的作用 6系统电路设计陈述 6显示模块的端口资源 7控制模块的端口资源 8模块电路设计 8设计显示模块 9顶层设计 9系统电路仿真波形分析结果,引脚锁定清单,硬件(时钟频率、开关、按键、显示、音响等)。适配下载 11课程设计工作进程 11设计小组的分工及工作安排 12本人承担的任务及执行情况 12一 目的 12二 思路 12三 程序语句注释 12四 程序执行流程及说明 15五 仿真结果说明 15附录 1

2、6程序清单 16东西 16南北 18实训感想 21前言(1)EDA简介 电子技术的迅猛发展,高新技术日新月异。传统的电子技术设计方法,以不能帮助我们更好的、高效的完成设计任务。所以我们需要更好的工具来帮助我们完成设计任务。 EDA技术是指以计算机为工作平台,融合应用电子技术、计算机技术、信息处理及智能化技术,进行电子产品自动化设计的一门新技术。 EDA技术作为现代电子设计技术的核心,依赖于计算机,在EDA工具软件平台上,对以硬件描述语言为逻辑描述手段完成设计文件,自动地完成逻辑编译、逻辑化简、逻辑综合、布局布线,以及逻辑优化和仿真测试,直至实现既定的电子电路的功能。 在硬件方面,EDA技术融合

3、了大规模集成电路制造技术、集成电路板图设计技术、可编程器件编程技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计、计算机辅助制造、计算机辅助测试、计算机辅助分析、计算机辅助工程技术以及多种计算机语言的设计概念;在现代电子学方面容纳了诸如计算机设计技术、电子线路设计理论、数字信息处理技术、数字系统建模和优化技术以及基于微波技术的长线技术理论。 当前,利用EDA技术进行电子电路设计的主要方法,是基于可编程器件完成专用电路ASIC的实现,ASIC作为最终的物理平台,是集中容纳用户通过EDA技术将电子应用系统的既定功能、技术指标和个性创意具体实现的硬件实体。 在EDA技术应用中广泛采用自顶

4、向下的方法设计电路,工程项目的设计流程包括:用自然语言描述功能特性和技术指标,用硬件描述语言建立系统描述行为描述结构描述逻辑描述,用计算机开发软件进行功能仿真时序仿真硬件测试。设计者可根据需要,随心所欲地改变器件内部结构乃至器件外部引脚的功能,可以将系统电路分解为各个模块,也可以将多个模块集合在一起。 可以说,EDA技术打破了软件设计和硬件设计间的壁垒,是一门综合性学科,一种多方位技能技术。它将设计效率和产品性能合二为一,代表了电子设计技术和电子应用技术的发展方向。 EDA的设计流程一 编辑输入(1) 文本输入。在EDA工具软件的文本编辑见面上,输入用某种硬件语言表 述的电路设计文本。(2)

5、原理图输入。在EDA工具软件的图形编辑界面上,绘制能完成预定功能的电路原理图。(3) 状态图输入。依据电路的控制条件和状态转换的因果关系,在EDA工具软件的状态图编辑界面上绘制时序电路的状态流程图。(4) 波形图输入。在EDA工具软件的波形图编辑界面上,绘制电路输入输出信号间的波形关系,然后由EDA编译器据此完成电路设计。一 综合 综合是将由硬件描述语言表述的电路行为表述转换为低级的、与可编程逻辑器件基本结构相映射的网表文件或电路连接图。一 适配 适配是为了将综合器产生的网表文件装配于指定的目标器中,而产生最终的编程文件。二 功能仿真与时序仿真(1) 功能仿真是指针对文本设计、原理图设计及其它

6、设计方法的逻辑功能进行测试模拟,以便了解所设计电路实现的功能是否符合要求。(2) 时序仿真的结果接近真实器件的运行特性。三 编程下载把适配后生成的编程文件通过编程器或编程电缆载入目标可编程逻辑器件,以便进行硬件验证。一、 硬件测试对含有载入了编程文件的可编程逻辑器件的硬件系统进行统一的测试。(2)FPGA简介 现场可编程门阵列FPGA采用可编程的查表LUT构成逻辑函数发器,它的集成度高于CPLD。 本科程使用的是Cyclone系列器件,它是Altera公司开发的,主要由逻辑阵列块LAB、嵌入式存储器、嵌入式锁相环PLL、嵌入式18*18乘法器和I/O单元构成,其工作原理在FPGA器件中具有典型

7、性。Cyclone器件含有数十个嵌入式存储器,速率达200MHZ以上,可构成包括移位寄存器、双口RAM、单口RAM、FIFO、ROM等各种功能单元,从而扩大了FPGA的应用范围。Cyclone器件中含有的PLL可用于调整时钟信号频率、占空比和相违。Cyclone器件的I/O单元支持单端、差分、四态等多种I/O接口标准,支持高达640Mbps的数据传输速度。 本组的选题数字秒表,就是利用基于Altera公司开发的Cyclone系列器件中的EP1C6Q2408C芯片来完成的,可以实现秒表计时的功能。课程设计任务书 设计要求设计一个简单自动控制的交通的交通灯控制系统。具体要求1在十字路口的两个方向各

8、设一组红绿黄指示灯,显示顺序为,其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯;2主干道红灯持续80秒3在保证主干道80s前提下支干道绿灯不少于40s4主干道或支干道绿灯变红灯时,黄灯亮6s5主干道及支干道有倒计时显示6有特殊态下两侧红灯全亮 提高1由左转向灯2有错误报警3显示状态错误系统电路功能描述、粗框图及方案论证说明确定方案交通灯示意图如图t-1所示。交通灯的作用在道路十字路口,每条道路上有一组红黄绿灯和倒计时显示器,用以指挥车辆和行人有序通行。其中,红灯亮表示道路禁止通行;黄灯亮表示停车;绿灯亮表示可以通行;倒计时显示器是用来显示允许通行或禁止通行的剩余时间。交通灯控制器

9、就是用于自动控制十字路口交通灯的明暗和倒计时器的状态,指挥各种车辆和行人安全通行。工作状态南北方向东西方向S0绿灯亮红灯亮S1黄灯亮红灯亮S2红灯亮绿灯亮S3红灯亮黄灯亮 表6.1.2交通灯点亮状态表系统电路设计陈述三、模块电路的端口资源 依据交通灯控制系统的基本结构,分析各模块的具体功能及其在整个系统中的作用,可确定各模块所需要的端口资源。显示模块的端口资源 显示模块由显示驱动电路和显示器件组成。A每个方向有两个用于倒计时显示的七段数码管和3各用于交通灯指示的发光管。B每个方向的驱动电路都有两个部分(见图6.1.19),一个是驱动七段显示器,另一个是驱动交通灯。 在图6.1.19中,输入信号

10、均来自控制模块,其中R、Y、G代表红、黄、绿3各逻辑量,BCD码代表2组倒计时时间量。同样输出端口的R、Y、G是用于驱动交通灯的3各逻辑量,af是驱动七段显示器的7各控制量。图 6.1.19 显示模块端口设置控制模块的端口资源控制模块是系统的核心模块,控制交通灯的工作状态和倒计时时间。此处进行的端口资源设置是以单方向为例(见图6.1.20),读者可以据此设置另一个方向的端口资源。 图 6.1.20控制模块端口设置A、 为了保证倒计时的准确性,需要引入一个基准时钟信号CLK。可以直接输入秒脉冲作为倒计时的基准时间,也可以输入其他频率的标准脉冲,经分频得到秒脉冲。RST是系统复位信号,用于为系统设

11、置初始状态。B、 控制模块的输出有两类信号,一类是控制交通灯的逻辑信号(1 or 0),一类是倒计时的BCD码实时结果。这样每个方向控制模块的输出端口资源是,3各分别控制红灯、黄灯和绿灯的逻辑两R、Y、G;2组BCD码数据,分别是计时器的高位timh【30】和低位timl【30】。模块电路设计 拟定用层次化设计方法完成各个模块的设计,即底层电路用VHDL语言实现功能,等成电路把各个模块连接起来,构成整个交通灯控制系统。(1)设计控制模块 整个系统有两个控制模块,分别控制东西、南北两个方向。根据交通灯的工作状态,每个方向都有3各未定的状态,只是初始状态不一样。如果南北方向初始状态从绿灯开始,则东

12、西方向初始状态必应从红灯亮开始,否则不符合交通灯的工作规则(见表6.1.2)。 控制模块主要是按就交通灯的工作状态一次控制绿、黄、红灯的亮或灭,同时控制灯亮的持续时间,当逻辑量输出为1是,对应的灯亮,输出为0时,对应的灯灭。根据交通灯的工作情况,每个方向的任意两个灯不能同时点亮,不同方向之间交通灯的关系按表6.1.21所示转换。 图6.1.21交通灯控制状态转换图A 南北方向控制模块(cona)的VHDL程序如下,此外初始状态为绿灯亮。 南北方向控制模块的时序仿真如图6.1.22所示。途中CLK是标准时钟信号;gy和r分别代表绿、黄、红灯的控制量,当高电平时对应的灯亮,低电平是对应的灯灭;ti

13、mh【30】timl【30】分别是倒计时数的高位和低位。从时序图可以看出,当绿灯g亮时其他灯(r、y)灭,持续时间从190(20)各时间脉冲;若CLK选择1s标准时间脉冲,则持续时间就是20s。黄灯y和红灯r的工作时序也类似,只是持续点亮的时间分别是5s和25s。B 东西方向控制模块(conb的VHDL)程序与南北方向的编写方式完全一样,只是初始工作状态不同,读者可自行完成。图6.1.23是东西方向控制模块仿真波形,其初始状态时红灯亮,以后依次是绿灯、黄灯亮。在黄灯亮到实际结束后,有回到红灯亮的状态,如此循环往复,实现对东西方向交通灯的控制设计显示模块 显示模块需要输出两类显示信号,一类输出到

14、七段显示器,这部分可才考图6.1.11;另一类是输出3各逻辑两分别控制三只发光管,控制LED管或者其他发光器件都需要驱动电路这要根据发光器件的功率来确定。而我们使用的LED管驱动电路已经由开发系统的硬件电路提供,故此处对显示模块的实际可不做考虑。但是如果读者自己设计显示系统,就一定要考虑驱动电路,特别是大功率的显示器件。顶层设计 设计顶层电路可以用图元符号实现,也可以用VHDL的例化语句实现级联,此处利用例化语句完成整体电路的设计:图6.1.25所示是交通灯控制系统仿真波形。途中南北方向搅动等的控制信号分别是:g1、r1、y1、timh1和timl1分别是倒计时显示器的高位和地位;东西方向的交

15、通灯的控制信号时g2、r2、y2、timeh2和timl2分别是倒计时显示器的高位和低位。当南北方向为绿灯亮(高电平)或黄灯亮(高电平)时,东西方向为红灯亮(高电平),持续时间为25s,其中南北方向绿灯亮20s、黄灯亮5s;同理,东西方向为绿灯亮(高电平)或者黄灯亮(高电平)时,南北方向为红灯亮(高电平)。系统电路仿真波形分析结果,引脚锁定清单,硬件(时钟频率、开关、按键、显示、音响等)。硬件引脚锁定清单系统电路仿真波形适配下载 交通灯控制系统在计算机的Qquartus软件平台上完成逻辑描述和仿真测试并达到设计要求后,需要下载到后有目标芯片的开发系统上,进行实际检验。 对于本范例来说,选用Cy

16、clone系列芯片EP1C6240C8为设计目标器件,所需的输入部件主要是标准时钟,所需的输出部件是用于倒计时显示器的七段数码管,显示方式为静态;交通灯用发光管代替。通过查阅附录,决定采用看见开发系统的电路模式5,由此可确定设计目标新票引脚标号与开发系统硬件环境间的对应关系:标准时钟clk由开发系统的时钟源Clock0提供,对应目标芯片的28号引脚;系统复位信号rst选择按键1,对应目标芯片的233号引脚;南北方向倒计时器用开发系统的数码管8和数码管7,即timhl【30】对应目标芯片的168165号引脚,timl1【30】对应目标芯片的164161号引脚;交通灯选D8(绿)、D7(黄)和D6

17、(红),即g1、y1、r1对应目标芯片的12、8、7号引脚。东西方向倒计时显示器用数码管2和数码管1,即timh2【30】对应目标芯片的2017号引脚,timl2【30】对应目标芯片1612号引脚;交通灯选D3(红)D2(绿)D1(黄),即r2、g2、y2对应木匾芯片的3、2、1号引脚。 引脚锁定后,进行整个系统的全程编译,从而完成对目标芯片的适配下载。七、硬件验证对目标芯片EP1C6Q240C8编程下载成功后,选择开发系统的电路模式5,将时钟源Clock0经跳线帽与1Hz冒充短路,即输入秒脉冲。系统复位按键1置低电平,则系统开始工作,即首先南北向点亮红灯、东西向点亮红灯,然后进入预定的持续时

18、间和交通灯工作规程,倒计时器的工作状态与交通灯转换状态同步,说明检验结果与设计要求相符。 课程设计工作进程 设计小组的分工及工作安排两人做两个模块,另一人研究提高! 本人承担的任务及执行情况我做的是东西走向的红绿灯及主干道到的。一 目的 1在十字路口的两个方向各设一组红绿黄指示灯,显示顺序为,其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯;2主干道红灯持续80秒3在保证主干道80s前提下支干道绿灯不少于40s4主干道或支干道绿灯变红灯时,黄灯亮6s5主干道及支干道有倒计时显示6有特殊态下两侧红灯全亮二 思路三 程序语句注释library ieee;use ieee.std_log

19、ic_1164.all;use ieee.std_logic_unsigned.all;entity vhdl1 isport(rst,clk,en:in std_logic; -系统时钟信号 复位信号 特殊状态信号 r,g,y,l:out std_logic; 交通灯 timh,timl:out std_logic_vector(3 downto 0); 计时器高位 低位end vhdl1;architecture com_arc of vhdl1 istype rgy is(green,yellow,red,left); 枚举类型数据begin process(clk,en)variabl

20、e a:std_logic;variable th,tl:std_logic_vector(3 downto 0);variable state:rgy;beginif en=1 then a:=1; g=0;r=1;y=0;lif a=0 then th:=0101;tl:=1001;绿灯计时60s a:=1; g=1;r=0;y=0;lif a=0 then th:=0001;tl:=1001; a:=1; g=0;r=0;y=0;lif a=0 then th:=0000;tl:=0100; 黄灯倒计时5s a:=1; g=0;r=0;y=1;lif a=0 then th:=0110;

21、tl:=0100; 设置红灯倒计时64 a:=1; g=0;r=1;y=0;lstate:=green;a:=0;end case;end if;end if;timh=th; 输出倒计时时间高位timl=tl; 输出倒计时时间低位end process;end com_arc; 四 程序执行流程及说明五 仿真结果说明六 设计中遇到的问题1语法错误 2 拼写错误3编译时出现错误 附录程序清单东西library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity vhdl1 isport(rst,clk,

22、en:in std_logic; r,g,y,l:out std_logic; timh,timl:out std_logic_vector(3 downto 0);end vhdl1;architecture com_arc of vhdl1 istype rgy is(green,yellow,red,left);begin process(clk,en)variable a:std_logic;variable th,tl:std_logic_vector(3 downto 0);variable state:rgy;beginif en=1 then a:=1; g=0;r=1;y=0

23、;lif a=0 then th:=0101;tl:=1001; a:=1; g=1;r=0;y=0;lif a=0 then th:=0001;tl:=1001; a:=1; g=0;r=0;y=0;lif a=0 then th:=0000;tl:=0100; a:=1; g=0;r=0;y=1;lif a=0 then th:=0110;tl:=0100; a:=1; g=0;r=1;y=0;lstate:=green;a:=0;end case;end if;end if;timh=th;timl=tl;end process;end com_arc;南北library ieee;us

24、e ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity vhdl2 isport(rst,clk,en:in std_logic; r,g,y,l:out std_logic; timh,timl:out std_logic_vector(3 downto 0);end vhdl2;architecture com_arc of vhdl2 istype rgy is(green,yellow,red,left);begin process(clk,en)variable a:std_logic;variable th,tl:std_logic_vector(3 downto 0);variable state:rgy;beginif en=1 then a:=1; g=0;r=1;y=0;l=0;else if rst=1 then state:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1