EDA实验指导书-_第1页
EDA实验指导书-_第2页
EDA实验指导书-_第3页
EDA实验指导书-_第4页
EDA实验指导书-_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录第一部分实验开发系统概述及使用说明 (1第一章EDA实验系统 (1第二章EDA/SOPC实验系统 (7第二部分实验部分 (10实验一EDA工具基本操作与应用 (10实验二计数器设计 (24实验三串入/并出移位寄存器实现 (26实验四四人抢答器设计 (28实验五序列检测器设计 (29实验六DDS信号源的设计 (30实验七交通灯控制器设计 (31实验八数字钟设计 (32实验九出租车计费器设计 (33实验十频率计的实现 (34附录FPGA接口对照表 (35第一部分实验开发系统概述及使用说明第一章EDA实验系统一、实验系统概述此系列实验系统针对数字电路设计CPLD/FPGA及模拟电路设计技术有一总

2、体上的概念。其中II、III型均为数字电路设计实验开发系统,IV、V型为数、模混合可编程器件实验开发系统。这些系列设备都能不同程度地满足高校的现代电子技术EDA教学和数字电路及其它相关实验课程的要求。由于可编程器件的设计灵活性,其系统更能满足高校的相关课程设计,毕业设计及大学生电子设计竞赛等。对于程度较高的同学,本系统极其丰富的功能单元和可搭接的灵活性,使他们完全能够做出超出大纲要求的具有复杂性和创造性的综合实验。同时该系统也是从事教学及科研的广大教师和电子工程师的理想开发工具。希望读者能从中得到裨益,并提出宝贵的改进意见。二、配套软件Max+plus II 10.0基础版(商业版见报价单及相

3、关资料说明1.运行环境Win95/982.层次化设计支持3.原理图输入支持4.文本输入支持5.AHDL输入支持6.VHDL输入支持7.原理图设计宏库基本库8.仿真和时序分析支持9.逻辑综合支持10. 硬件编程/下载支持11.支持芯片Max7000全系列(如7000A、7000B、7000E、7000S等和Max9000系列等Flex6000、8000、10K(如10K系列的10K10、20、30、50、10K100等、10KE系列等三、系统硬件组成(一IV型实验箱结构组成:1.CPLD/FPGA适配器板:标准配置是本公司的EPF10k10或MAX7128接口板。主要负责整个系统与不同公司不同类

4、型的芯片实现通讯,下载接口是数字芯片的下载接口(DIGITAL JTAG,主要用于CPLD/FPGA芯片的数据下载。该适配器板目前我公司提供有Altera、Lattice、Xilinx公司的不同门数的芯片。也可根据客户需求专门订做。2.扫描驱动类接口:18位八段数码管显示输出系统的显示采用8位8段共阴极数码管(高电平有效,所对应的接口序号为: 8位段驱动接口:a、b、c、d、e、f、g、Dp;8位位驱动采用3-8译码产生,对应的接口为:SEL0SEL2,悬空为高电平,其具体的对应关系如下表所示:LED数码管显示接口及对应的显示状态1 24×8键盘输入本矩阵键盘为4×8键盘,

5、其接口电路原理图如图Y-5所示,I/O口分别为KIN0、KIN1、KIN2、KIN3、SEL0、SEL1、SEL2,其中SEL0、SEL1、SEL2位于16×16点阵区。316×16位发光二极管(LED点阵E2PROM(2864,用来保存字符数据信息,接口序号为:数据线:D0D7;地址线:A0A11;片选线:/CE;读有效信号线:/OE;写有效信号线:/WE。16×16点阵显示,各驱动接口为:第一行到第十六行对应的为L0L15,第一列到第十六列驱动采用3-8译码,对应的接口为SEL0SEL3。具体对应关系见下表: 3.通用数字式接口118个按键开关。218个拨码开

6、关。2312红、黄、绿发光二极管按交通灯形式排列。48位直线排列LED等。4.模拟器件及接口1扬声器(高电平TTL驱动。2AD558数/模转换(8位,05V电压输出。有两种输出方式。第一种,将短路子接在左侧的两个铜柱上,D/A转换输出到D/A OUT区域的6个孔输出;第二种,将短路子接在右侧的两个铜柱上,D/A转换输出接到LM358的同相输入端。3LM358单电源二运放。与AD558配合,将AD558的输出接到LM358的同相输入端,作为他的同相输入信号;在LM358的右上脚,有TEST I N模块,他的信号可作为LM358的反相输入端。5.模拟信号源模块模块中第一排端口为输入口,第二排端口为

7、输出口,分别说明如下:Diff IN:需差分转换信号输入口;Mux IN1:需叠加信号1输入口;Mux IN2:需叠加信号2输入口;Diff OUT+:差分信号正极性输出端口,为Diff IN差分后的信号;Diff OUT-:差分信号负极性输出端口,为Diff IN差分后的信号;Mux OUT:叠加信号输出端口,为Mux IN1与Mux IN2相加后的信号;SIN_OUT 312KHz:正弦信号312KH Z输出端口;6.支持模拟可编程器件支持Lattice公司的Pac10、20、80芯片组,并增添了单片机和一些信号源。本系统适合做数摸混合电路实验及单片机和可编程器件系统实验,还可方便的扩展部

8、分接口实验等。7.其它:1E2 PROM 28642连线若干。3双时钟源(从4MHZ1HZ。4可变电阻器,产生可变的模拟电压量(05V。5支持JTAG方式的下载编程接口。6可扩展单元(类似面包板。EDA-IV实验箱结构框图如下: 图1 EDA-IV型实验箱结构框图3 图2 EDA-IV型实验箱结构图1、单片机接口模块本单片机为开放性设计,可自由下载程序,对整个系统无任何影响。可以实现CPLD/FPGA 与单片机的接口实验,以及高级的FPGA开发,其对应的接口为:P0口:D0D7;P1口:P10P17;P2口:P20P27;复位信号输出:RESETP3口分别对应为:/RD、/WR、RXD、TXD

9、、T0、T1、INT0、INT1其他接口为:ALE、PSENRESET复位端口提供一高电平脉冲。2、可调数字信号源时钟信号源可产生从1.2Hz20MHz之间的任意频率。该电路采用全数字化设计,提供的最高方波频率为20MHz,最低频率为1.2Hz,并且频率可以在这个范围办内随意组合变化。整个信号源共有六个输出口(CLK0CLK5,每个输出口输出的频率各不相同,通过JP1JP11这11组跳线来完成设置的,其中:CLK0输出口的频率通过JP7(CLK0来设置的,这样输出的时钟频率种类为20MHz、10MHz、5MHz、2.5MHz、1.25MHz;CLK1输出口的频率通过JP1(F_SEL1及JP8

10、(CLK1来设置,输出频率对应的关系为:F CLK1=20MHz×F_SEL1×CLK1CLK2输出口的频率通过JP1(F_SEL1、JP2(F_SEL2及JP9(CLK2来设置,输出频率对应的关系为:F CLK2=20MHz×F_SEL1×F_SEL2×CLK2CLK3输出口的频率通过JP1(F_SEL1、JP2(F_SEL2、JP3(F_SEL3及JP10(CLK3来设置,输出频率对应的关系为:F CLK3=20MHz×F_SEL1×F_SEL2×F_SEL3×CLK3CLK4输出口的频率通过JP1(

11、F_SEL1、JP2(F_SEL2、JP3(F_SEL3、JP4(F_SEL4及JP11(CLK4来设置,输出频率对应的关系为:F CLK4=20MHz×F_SEL1×F_SEL2×F_SEL3×F_SEL4×CLK4CLK5输出口的频率通过JP1(F_SEL1、JP2(F_SEL2、JP3(F_SEL3、JP4(F_SEL4、JP5(F_SEL5及JP6(CLK5来设置,输出频率对应的关系为:F CLK5=20MHz×F_SEL1×F_SEL2×F_SEL3×F_SEL4×F_SEL4

12、5;CLK54比如要得到1.2Hz的信号,短路子的设置如下:JP1 F_SEL1:1/16JP2 F_SEL2:1/16JP3 F_SEL3:1/16JP4 F_SEL4:1/16JP5 F_SEL5:1/16JP6 F_SEL6:1/16JP7 CLK0: 1.25M信号输出CLK5。四、CPLD/FPGA可编程器件的设计过程可编程器件的设计过程与单片机开发的过程类似,同样包括程序的编辑、编译适配、仿真调试及下载实现的几个部分,具体流程如下图所示。 五、硬件安装及使用说明本实验开发系统在出厂时均已按用户要求配备好了相关的主芯片适配器、编程电缆、实验指导书、连接导线及相关软件。II、III、I

13、V型实验箱均自带开关电源,用户只需接入220V电源即可。本实验装置无需用户添加其它设备,仅需与计算机连接便可进行所有实验。硬件安装及使用中需要注意的几个步骤如下:1、打开实验箱,检查并核实设备完好及附件齐全;2、检查下载编程电缆标识:不同公司的编程电缆是不同的,如Altera公司的编程电缆出厂时标有Altera字样、Lattice公司的的电缆有两种:一种是数字器件编程电缆,标有Lattice字样;另一种是模拟芯片编程电缆,其上标有PAC字样,其它厂家类似。使用时一定要注意编程电缆不能混用,否则程序不能正确下载。同一厂家的CPLD/FPGA芯片的下载电缆是一样的。3、安装下载编程电缆:确保欲安装

14、的下载电缆与当前实验箱上适配器芯片相一致,然后将其25针的接插头连接到计算机的并行口上,另一端连接到实验箱的JTAG编程座上,并确保电缆两断接触良好。注意,IV型实验箱上有两个编程接口,一个是数字编程接口,标有DIGITAL字样、一个是模拟芯片编程接口,标有ANALOG字样,注意不要接错。I、II、III型实验箱均只有一个数字芯片编程接口,位于实验箱的左上角。4、开启实验箱电源,电源指示灯亮。本电源为5V开关电源,有短路及自恢复等功能。如电源指示灯不亮,请检查是否已接入220V电源或由其它原因所致。5、硬件安装结束,并打开实验箱电源,此时便可进行软件编程下载。程序正常下载时5其编程接口旁边的状

15、态指示灯处于闪烁状态,如不能正确下载请检查是硬件问题还是软件设置问题?如不能最终排除故障请急时与我们联系。6、实验时严禁带电接插,以防损坏电路芯片。如有异常要急时切断电源并排除故障。6第二章EDA/SOPC实验系统EDA/SOPC实验系统是集EDA和SOPC开发为一体的综合性实验系统,它不仅可以独立完成几乎所有的EDA设计,也可以完成大多数的SOPC系统。采用Altera公司的Cyclone系列的12万门FPGA为核心,整个系统采用模块化设计,各个模块之间可以自由组合,使得该实验系统的灵活性大大提高。同时实验系统还提供了丰富的接口模块,供人面机交互,从而大大增加了实验开发者的乐趣,满足了普通高

16、等院校、科研人员等的需求。开发工程师可以使用VHDL语言、Verilog HDL语言、原理图输入等多种方式,利用Altera公司提供的QuartusII及Nios软件进行编译,下载,并通过EDA/SOPC实验系统进行结果验证。实验系统提供多种人机交互方式,如键盘阵、按键、拨档开关输入;七段数码管、大屏幕图形点阵LCD显示;串口通信;VGA接口、PS2接口、USB接口、Ethernet接口等,利用Altera公司提供的一些IP资源和Nios32位处理器,用户可以在该实验系统上完成不同的SOPC设计。EDA/SOPC实验系统提供的资源有:Altera公司的EP1C6Q240C8,12万门级FPGA

17、,另外可以选配更高资源的FPGA。FPGA配置芯片采用可在线编程的EPC2,通过JTAG口和简单的跳线即可完成设计的固化。1个数字时钟源,提供48MHZ、12MHZ、1MHZ、100KHZ、10KHZ、1KHZ、100HZ、10HZ、2HZ和1HZ等多个时钟。1个模拟信号源,提供频率和幅度可调的正弦波、三角波和方波。两个串行接口,一个用于SOPC开发时的调试,另一个可以完成其它的通信。1个VGA接口。1个PS2接口,可以接键盘或鼠标。1个USB接口,利用PDIUSBD12芯片实现USB协议转换。1个Ethernet接口,利用RTL8019芯片实现TCP/IP协议转换。基于SPI接口的音频COD

18、EC模块。1个输入、输出探测模块,供数字信号的观察。16个LED显示。8个拨档开关输入。8个按键输入。1个4×4键盘阵列。8个七段管显示。1个扬声器模块。1个交通灯模块。1个直流电机模块。1个高速AD和1个高速DA。240×128大屏幕图形点阵LCD显示。存储器模块提供256K×32Bit的SRAM和2M×8Bit的FLASH ROM。下面就部分模块作简要介绍。FPGA模块FPGA采用Altera公司的Cyclone系列的EP1C6Q240C8,该芯片采用240脚的PQFP 封装,提供185个IO接口。该芯片拥有5980个Les;20个M4K RAM B

19、lock;总共可以提7供92160Bit的RAM;另外芯片内部还自带有2个锁相环,可以在高速运行的时候保证系统时钟信号的稳定性。FPGA与实验箱上提供的各个模块都已经连接好,这样就避免了实验过程中繁琐的连线以及由于连线造成的不稳定的后果。配置模块配置芯片采用要在线多次编程的EPC2,该芯片通过JTAG下载,即可完成FPGA设计的固化。这样就避免了用户需要多条电缆或者需要编程器才能完成固化的任务,同时也方便了用户只需一条电缆即可完成FPGA的配置和EPC2的编程。时钟模块时钟的产生由有源晶振产生48MHZ的时钟信号,再由CPLD分频完成多种时钟信号的产生。时钟信号已经在系统板上连接到FPGA的全

20、局时钟引脚,只需要通过时钟模块的简单跳线,即可完成FPGA时钟频率的选择。USB模块USB模块采用Philips公司的PDIUSBD12芯片,它通常用作微控制器系统中实现与微控制器进行通信的高速通用串行接口,它还支持本地的DMA传输。PDIUSBD12完全符合USB1.1版的规范,它还符合大多数器件的分类规格:成像类、海量存储器件、通信器件、打印设备以及人面接口设备。另外,该芯片还集成了许多特性,包括SoftConnet TM、GoodLink、可编程时钟输出、低频晶振和终止寄存器集合,所有这些特性都为系统显著的节约了成本,同时使USB功能在外设上的应用变得容易。存储器模块实验系统上提供了25

21、6K×32Bit的SRAM和2M×8Bit的FLASH ROM,其中SRAM主要是为了在开发SOPC时存放可执行代码和程序中用到的变量,而FLASH则是用来固化调试好的SOPC代码等。SRAM选用两片ISSI公司的IS61LV25616(256K×16Bit进行数据线并联从而扩展为256K×32Bit的存储区;FLASH ROM采用AMD公司的AM29LV017D,其容量为2Mbyte。Ethernet模块Ethernet模块采用的TCP/IP转换芯片为RTL8019AS芯片,该芯片是一款高集成度、全双工以太网控制器,内部集成了三级省电模式,由于其便捷的

22、接口方式,所以成了多数系统设计者的首选。RTL8019AS支持即插即用标准,可以自动检测设备的接入,完全兼容EthernetII以及IEEE802.310BASE5、10BASE2、10BASET等标准,同时针对10BASET还支持自动极性修正的功能,另外该芯片还有很多其他功能。高速AD/高速DA本实验系统中采用的高速AD为TLC5510,TLC5510是一个8位高速AD,其最高转换速率可到20MSPS,单5V供电,被广泛应用于数字电视、医疗图像、视频会议等高速数据转换领域。高速DA采用TLC5602,该芯片也是一个8位高速AD,其最高转换速率可到33M,足以满足一般数据处理的场合。240&#

23、215;128图形点阵LCD240×128图形点阵LCD可以用来显示图形、曲线、文本、字符等等,显示模块内嵌有T6963C控制器,在该LCD显示模块上已经实现了行列驱动器及显示缓冲区RAM的接口,同8时也硬件设置了液晶的结构:单屏显示、80系列的8位微处理器接口、显示屏长度为30个字符、宽度为16个字符等。9第二部分实验部分实验一EDA工具基本操作与应用说明:本书将以实验一为例详细介绍altera公司max+plusII及QUARTUSII软件的基本应用,其它实验将不再赘述。读者在通过本实验后将对max+plusII软件及CPLD/FPGA的设计与应用有一个比较完整的概念和思路。此书

24、因篇幅有限,仅仅介绍了max+plusII及QUARTUSII 软件的最基本、最常用的一些基本功能,相信读者在熟练使用本软件以后,你定会发现该软件还有好多非常方便、快捷、灵活的设计技巧与开发功能。一、实验目的1、通过一个简单的D触发器的设计,让学生掌握MAXPLUS及QUARTUSII设计工具进行电子设计的基本流程。2、初步了解可编程器件设计的全过程。二、主要仪器设备EDA实验系统一台,EDA/SOPC实验系统一台三、实验步骤(一MaxplusII软件的基本操作与应用1、设计输入(1软件的启动:进入Altera软件包,打开MAX+plus II 10.0软件,如图1-1所示。 图1-1(2启动

25、File New菜单,弹出设计输入选择窗口,如下图1-2所示: 图1-2(3选择Text Editor file,单击ok按钮,打开文本编辑器,进入文本设计输入电路编辑状态,并输入D触发器VHDL程序代码,如下图1-3所示: 图1-32、电路的编译与适配(1选择芯片型号选择当前项目文件欲设计实现的实际芯片进行编译适配,点击AssignDevice菜单选择芯片,如下图1-4对话筐所示。如果此时不选择适配芯片的话,该软件将自动把所有适合本电路的芯片一一进行编译适配,这将耗费你许多时间。该例程中我们选用CPLD芯片来实现,如用7000S系列的EPM7128SLC84-15芯片;同样也可以用FPGA芯

26、片来实现,你只需在下面的对话窗口中指出具体的芯片型号即可。 图1-4(2编译适配启动MAX+plus II Compiler菜单,按Start开始编译,并显示编译结果,生成下载文件。如果编译时选择的芯片是CPLD,则生成* pof文件;如果是FPGA芯片的话,则生成* sof文件,以备硬件下载编程时调用。同时生成* rpt报告文件,可详细查看编译结果。如有错误待修改后再进行编译适配,如下图1-5所示。注意,此时在主菜单栏里的Processing 菜单下有许多编译时的选项,视实际情况选择设置。 图1-5如果说你设计的电路顺利地通过了编译,在电路不复杂的情况下,就可以对芯片进行编程下载,直到设计的

27、硬件实现,至此你已经完成了一个EDA的设计与实现的整个过程。如果你的电路有足够的复杂,那么其仿真就显得非常必要。3、电路仿真与时序分析MaxplusII教学版软件支持电路的功能仿真(或称前仿真和时序分析(或称后仿真。众所周知,开发人员在进行电路设计时,非常希望有比较先进的高效的仿真工具出现,这将为你的设计过程节约很多时间和成本。由于EDA工具的出现,和它所提供的强大的(在线仿真功能迅速地得到了电子工程设计人员的青睐。(1启动M axplusIIW avefrom editor菜单,进入波形编辑窗口,如下图1-6所示。 (2将鼠标移至空白处并单击右键,出现如下图1-7所示对话窗口。 (3选择E

28、nter nodes from snf选项并按左键确认,出现下图1-8所示对话筐, 单击和按钮,选择欲仿真的I/O管脚。 图1-8(4单击OK按钮,列出仿真电路的输入、输出管脚图,如下图1-9所示。在本电路中,D触发器的输出为灰色,表示未仿真前其输出是未知的。 图1-9(5准备为电路输入端口添加激励波形,如下图1-10所示。 图1-10(6选择仿真时间:视电路实际要求确定仿真时间长短,如下图1-11所示。在本实验中,我们选择软件的默认时间10us。 图1-11(7保存激励信号编辑结果:使用FileSave或关闭当前波形编辑窗口时均出现下图1-12对话筐,注意此时的文件名称不要随意改动,单击OK

29、按钮保存激励信号波形。 图1-12(8打开MaxplusIISimulator菜单,弹出其对话窗口,如下图1-13所示。 图1-13(9确定仿真时间,End Time 为“1”的整数倍。单击Start开始仿真,如有出错报告,请查找原因,一般是激励信号添加有误。本电路仿真结果报告中无错误、无警告,如下图1-14所示。 (10观察电路仿真结果,请单击激励输出波形文件图标,如下图1-15所示。 (11从上图可见,我们所设计的D触发器顺利地通过了仿真,设计完全正确。4、管脚的重新分配与定位启动MAX+plus II Floorplan Editor菜单命令,(或按快捷图标出现如图1-16所示的芯片管脚

30、自动分配画面(读者可在芯片的空白处试着双击鼠标左键,你能发现这样操作可在芯片和芯片内部之间进行切换,可观察芯片内部的逻辑块等。 图1-16Floorplan Editor显示的是该设计项目的管脚分配图。这是由软件自动分配的。用户可随意改变管脚分配,以方便与你的外设电路进行匹配。管脚编辑过程如下:1、按下窗口左边的手动分配图标,所有管脚将会出现在窗口。2、用鼠标按住某输入/输出端口,并拖到下面芯片的某一管脚上,松开鼠标左键,便可完成一个管脚的重新分配(读者可试着在管脚之间相互拖拽,你会觉得非常方便。注意:芯片上有一些特定功能的管脚,进行管脚编辑时一定要注意。另外,在芯片器件选择中,如果选的是Au

31、to,则不允许对管脚进行再分配。当你对管脚进行调二次整以后,一定要再编译一次,否则程序下载以后,其管脚功能还是为当初的自动分配状态。5、器件的下载编程与硬件实现(1启动MAX+plus II Programmer菜单,请你填写硬件类型,请选择“byte blaster”并按下OK确认即可。(2选择完下载文件以后,单击OK确定,出现下图1-17的下载编程界面。 图1-17(3单击Program按钮,进行下载编程(如是FPGA芯片,请点击Configure,如不能正确下载,请点击Detect jtag chain info按钮进行JTAG测试,查找原因,直至完成下载,最后按OK退出。至此,你已经完

32、成了可编程器件的从设计到下载实现的整个过程。(4结合电路功能,观察设计实现的正确结果。(二QUARTUSII软件的基本操作与应用1、运行QUARTUSII软件。2、选择File/New Project Wizard,新建一个工程,并点击Next。 图1-183、指定工作目录及工程顶层设计实体名称,如图1-18所示,并点击2次Next。4、选择FPGA器件,如图1-19所示,并点击Finish,工程文件建立结束。 图1-195、点击File/New,新建一个VHDL文件,如图1-20所示。 6、点击Ok,并保存,无需任何修改,点击Ok即可。7、按昭自己的想法在新建的VHDL文件中编写VHDL程序

33、,如D触发器程序代码,如图1-21所示。 图1-218、代码书写结束后,选择Processing/Start Compilation对编写的程序代码进行编译,直至编译通过,否则对程序代码进行修改。9、编译通过后,选择File/New,在弹出的对话框中点击Other Files,选择Vector Waveform File,并点击OK,建立一个波形文件,如图1-22所示,保存波形文件。 10、在波形文件加入输入输出端口,如图1-23所示。 图1-2311、对加入到波形文件中的输入端口进行初始值设置,并点击Processing/Start Simuliation 进行仿真。查看仿真结果是否符合要求

34、。12、仿真无误后,选择Assignments/Assing Pins对实验中用到的管脚进行绑定分配,如图1-24所示。 图1-2413、对于复用的引脚,需做进一步处理,使其成为通用I/O。14、最后再编译一次,编译无误后,用下载电缆通过JTAG接口将对应的dff2.sof文件下15、在实验系统中正确连线,观察实验结果是否与仿真结果相吻合。实验二计数器设计一、实验目的1、加深对计数器的认识2、了解用VHDL语言实现计数器的过程3、掌握EDA开发的基本流程二、主要仪器设备EDA实验系统一台三、实验原理在用VHDL语言描述一个计数器时,如果使用了程序包ieee.std_logic_unsigned

35、,则在描述计数器时就可以使用其中的函数“+”(递增计数和“-”(递减计数。假定设计对象是增1计数器并且计数器被说明为向量,则当所有位均为1时,计数器的下一状态将自动变成0。举例来说,假定计数器的值到达“111”是将停止,则在增1之前必须测试计数器的值。如果计数器被说明为整数类型,则必须有上限值测试。否则,在计数顺值等于7,并且要执行增1操作时,模拟器将指出此时有错误发生。下面的例子是一个3位增1/减1计数器:当输入信号UP等于1 时计数器增1;当输入信号UP等于0时计数器减1。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC

36、_UNSIGNED.ALL;ENTITY UP_DOWN ISPORT(CLK,RST,EN,UP: IN STD_LOGIC;SUM: OUT STD_LOGIC_VECTOR(2 DOWNTO 0;COUT: OUT STD_LOGIC;END;ARCHITECTURE A OF UP_DOWN ISSIGNAL COUNT: STD_LOGIC_VECTOR(2 DOWNTO 0;BEGINPROCESS(CLK,RSTBEGINIF RST=0 THENCOUNT<=(OTHERS=>0;ELSIF RISING_EDGE(CLK THENIF EN=1 THENCASE

37、UP ISWHEN 1 => COUNT<=COUNT+1;WHEN OTHERS =>COUNT<=COUNT-1;END CASE;END IF;END PROCESS;SUM<=COUNT;COUT <=1 WHEN EN=1 AND (UP=1 AND COUNT=7 OR (UP=0 A ND COUNT=0 ELSE 0;END A;参考以上实例完成实验目的中所要求的2个计数器的设计。四、实验内容1、设计一个带使能输入及同步清0的增1计数器,仿真波形图见图2-1;2、设计一个带使能输入及同步清0的增1/减1的8位计数器实验三串入/并出移位寄存器实

38、现一、实验目的1、了解移位寄存器的实现原理2、学习VHDL电子电路控制功能的应用二、主要仪器设备EDA实验系统1台三、实验原理在这里我们通过一个4位串入/并出移位寄存器设计过程来介绍如何设计串入/并出移位寄存器。所谓的串入/并出移位寄存器,即输入的数据是一个接着一个有序地进入,输出时则一起送出。例程代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY sipo ISPORT(D_IN :IN STD_LOGIC;CLK

39、 :IN STD_LOGIC;D_OUT :OUT STD_LOGIC_VECTOR(3 DOWNTO 0;END sipo;ARCHITECTURE a OF sipo ISSIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0;BEGINP1: PROCESS(CLKBEGINIF CLK'EVENT AND CLK = '1' THENQ(0 <= D_IN;FOR I IN 1 TO 3 LOOPQ(I <= Q(I-1;END LOOP;END IF;END PROCESS P1;D_OUT <=Q ;END a;仿真结果

40、如图23-1所示。图3-1 4位串入/并出移位寄存器仿真波形图 图3-1 4位串入/并出移位寄存器仿真波形图上图中输入的数据为“1010”、“0111”两组4位数据。因输入的数据是每次一位依序进入,故输入、输出信号之间有4个CLK时间的延迟。为了过滤中间没用的数据,只读取完整的存储数据,实用上可将取样脉冲的周期设定成CLK脉冲的四倍,也就是说,每经过4个CLK脉冲后再读取数据一次,便能每次读取都得到正确的数据。可见上图有效的输出是A 7。四、实验内容根据实验原理中介绍的4位串入/并出移位寄存器的设计方法,设计一个8位串入/并出移位寄存器。一、实验目的1、熟悉四人抢答器的工作原理2、加深对VHD

41、L语言的理解二、主要仪器设备EDA实验系统一台三、实验原理抢答器在各类竞赛性质的场合得到了广泛地应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮:如果抢答允许位有效,那么第一个抢答者按下的按钮就将允许标志位清除,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再而有人按下按钮的情况出现。总的说来,抢答器的目的就是在抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清除抢答允许位的按钮的序号并显示出来,这就是抢答器的基本原理。四、实验内容

42、本实验的任务就是用VHDL语言设计一个四人抢答器,用按键如S1做抢答允许位按钮,用S2S5来表示1号到4号抢答者,同时LED模块分别表示抢答者对应的位子。具体要求是按下一次S1,允许一次抢答,这时S2S5中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。一、实验目的1、了解序列检测器的工作原理2、掌握时序电路设计中状态集的应用3、进一步掌握用VHDL语言实现复杂时序电路的设计过程二、主要仪器设备EDA实验系统1台三、实验原理序列检测器在很多数字系统中都不可缺少,尤其晨通信系统当中。序列检测器的作用就是从一系列的码流中找出用户希望出现的序列,序列可长可短。比

43、如在通信系统中,数据流帧头的检测就属于一个序列检测器。序列检测器的类型有很多种,有逐比特比较的,有逐字节比较的,也有其他的比较方式,实际应用中需要采用何种比较方式,主要是看序列的多少以及系统的延时要求。现就逐比特比较的原理简要介绍一下。逐比特比较的序列检测器是在输入一个特定波特率的二进制码流中,每进一个二进制码,与期望的序列相比较。首先比较第一个码,如果第一个码与期望的序列的第一个码相同,那么下一个进来的码再和期望序列的第二个码相比较,依次比较下去,直到所有的码都和期望的序列相一致,就认为检测到一个期望的序列。如果检测过程中出现一个码与期望的序列当中对应的码不一样,则从头开始比较。四、实验内容

44、本实验就是要设计一个序列检测器,要求检测的序列长度为8位,实验中用8个拨档开关作为外部二进制码流的输入,在FPGA内部则是逐个比较。如果8个输入信号与VHDL 设计时期望的序列一致,则认为检测到一个正确的序列,否则如果有一个不同,则认为没有检测到正确的序列,序列检测器的检测结果用一个LED显示。实验六DDS信号源的设计一、实验目的1、熟悉QuartusII的使用方法。2、学习LPM-ROM的使用方法3、学习FPGA硬件资源的使用与控制方法二、主要仪器设备EDA/SOPC实验系统1台,示波器1台三、实验原理如图6-1所示的基于DDS原理的信号源由四个部分组成:ROM的地址信号发生器(8位计数器担

45、任、正弦数据LPM-ROM 、FPGA顶层设计、8位D/A。信号发生器中,顶层文件在FPGA中实现,包含两个部分:ROM的地址发生器,由8位计数器担任;一个正弦数据ROM,由LPM- ROM模块构成。 D/A变换图6-1 信号源原理图四、实验内容1、基本内容:根据图6-1完成正弦信号源的设计,包括仿真测试及利用示波器进行硬件测试。2、扩展内容:改变LPM-ROM存放数据格式,使之为方波或三角波,设计出可以输出包括正弦、三角及方波的DDS信号源。实验七交通灯控制器设计一、实验目的1、了解交通灯的燃灭规律。2、了解交通灯控制器的工作原理。3、熟悉VHDL 语言编程,了解实际设计中的优化方案。二、主

46、要仪器设备EDA/SOPC实验系统1台三、实验原理交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车子如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后

47、,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验中使用8 个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s。数码管的时间总是显示为19、18、172、1、0、19、18。在显示时间小于3 秒的时候,通车方向的黄灯闪烁。四、实验内容本实验要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的1KHz 时钟,黄灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz 脉冲,即每1s 中递减一次

48、,在显示时间小于3 秒的时候,通车方向的黄灯以2Hz的频率闪烁。系统中用S1 按键进行复位。实验八数字钟设计一、实验目的1、了解数字钟工作原理,设计出一个具有时、分、秒并可调时的数字钟。2、进一步熟悉用VHDL 语言编写驱动七段码管显示的代码。二、主要仪器设备EDA/SOPC实验系统1台三、实验原理多功能数字钟应该具有的功能有:显示时-分-秒、整点报时、小时和分钟可调等基本功能。首先要知道钟表的工作机理,整个钟表的工作应该实在1Hz 信号的作用下进行,这样每来一个时钟信号,秒增加1 秒,当秒从59 秒跳转到00 秒时,分钟增加1 分,同时当分钟从59 分跳转到00 分时,小时增加1 小时,但是

49、需要注意的是,小时的范围是从0 23 时。在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从059,所以可以用一个3 位的二进制码显示十位,用一个四位的二进制码(BCD码显示个位,对于小时因为它的范围是从023,所以可以用一个2 位的二进制码显示十位,用4 位二进制码(BCD 码显示个位。实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz时钟信号,但是扫描确需要一个比较高频率的信号,因此为了得到准确的1Hz 信号,必须对输入的系统时钟进行分频。对于报警信号,由于实验箱上只有一个小的扬声器,而要使扬声器发生,必须给其一定频率的信号进行驱动,频率越高,声音越尖。另外由于人耳的听觉范

50、围是300Hz10KHz 左右,所以设计时也要选择恰当的发声频率。四、实验内容本实验的任务就是设计一个多功能数字钟,要求显示格式为小时-分钟-秒钟,整点报时,报时时间为10 秒,即从整点前10 秒钟开始报警,且前五次报警的声音频率较低,最后一次报警声音的频率较高,类似于收音机整点报时,即从xx-59-50 秒开始,依次为嘀、嘀、嘀、嘀、嘀、嗒。系统时钟选择时钟模块的10KHz,要得到1Hz 时钟信号,必须对系统时钟进行10,000 次分频。调整时间的的按键用按键模块的S1 和S2,S1 调节小时,每按下一次,小时增加一个小时,S2 调整分钟,每按下一次,分钟增加一分钟。报时的喇叭采用实验箱的扬

51、声器模块,整点报时时嘀声用1.25KHz(对10KHz 信号进行8 分频,嗒声用2.5KHz(对10KHz 信号进行4 分频。另外用S8 按键作为系统时钟复位,复位后全部显示00-00-00。实验九出租车计费器设计一、实验目的1.了解出租车计费器的工作原理。2.学会用VHDL 语言编写正确的七段码管显示程序。3.数量掌握用VHDL 编写复杂功能模块。4.掌握电机测速、显示电器、计数电路的设计方法。5.熟悉状态机在数字系统设计中的应用二、主要仪器设备EDA/SOPC实验系统1台三、实验原理出租车计费器一般都是按公里计费,通常是起步价xx 元(xx 元可以行走2 公里,然后再是xx 元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论