EDA实验讲义2010最新版.doc_第1页
EDA实验讲义2010最新版.doc_第2页
EDA实验讲义2010最新版.doc_第3页
EDA实验讲义2010最新版.doc_第4页
EDA实验讲义2010最新版.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

河北大学电信学院 基础教研部 45第一章 CPLDFPGA可编程逻辑器件1.1 前言PLD是可编程逻辑器件(Programmable Logic Device)的英文缩写。在可编程逻辑器件芯片内部,按一定的排列方式集成了大量的门和触发器等基本元件。使用者可利用特定的计算机开发工具对其进行加工,即按设计要求将这些芯片内部的元件连接起来,使之实现完成某个数字逻辑电路或系统的功能,成为一个可在实际电子系统中使用的专用集成电路(ASIC,Application Specific Integrated Circuit)。随着集成电路工艺的日趋完善,集成度急剧增加,其功能日益强大。PLD广阔的应用前景备受业内人士的瞩目。1.2 PLD的分类按照不同的分类方法,PLD可分为如下几种情况:(1)按集成度分可分为低密度和高密度两大类,如图1.1所示。图1.1 PLD按集成度的分类图(2)按结构分按结构的不同可分为两类:一类是基于与/或阵列结构的器件(PORM、PLA、PAL、GAL)、CPLD(EPLD)。另一类是基于门阵列结构的器件(FPGA)。(3)按编程工艺分 熔丝和反熔丝编程器件。如Actel的FPGA器件。 SRAM器件,如Xilinx的FPGA。 UEPROM器件,即紫外线擦除/电可编程器件。如大多数的EPLD器件。 EEPROM器件。如GAL、CPLD器件。1.3 PLD的发展概况PLD从20世纪70年代发展到现在,已形成了许多类型的产品,其结构、工艺、集成度、速度和性能都在不断改进和提高。最早的PLD是1970年制成的PROM(Programmable Read Only Memory),即可编程只读存储器,它是由固定的与阵列和可编程的或阵列组成。PROM采用熔丝工艺编程,只能写一次,不能擦除和重写。随着技术的发展和应用要求,此后又出现了UVEPROM(紫外线可擦除只读存储器)、EEPROM(电可擦除只读存储器),由于它们价格低,易于编程,速度低、适合于存储函数和数据表格,因此主要用作存储器。典型的EPROM有2716、2732等。可编程逻辑阵列PIA(Programmable Logic Array)于20世纪70年代中期出现,它是由可编程的与阵列和可编程的或阵列组成,但由于器件的资源利用率低,价格较贵,编程复杂,支持PLA的开发软件有一定难度,因而没有得到广泛应用。可编程阵列逻辑PAL(Programmable Array Logic)器件是1977年美国MMI公司(单片存储器公司)率先推出的,它由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极性工艺制造,器件的工作速度很高。由于它的输出结构种类很多,设计灵活,因而成为第一个得到普遍应用的可编程逻辑器件,如PALl6L8。通用阵列逻辑器件GAL(Generic Array Logic)器件是1985年Lattice公司最先发明的可电擦写、可重复编程、可设置加密位的PLD。GAL在PAL基础上,采用了输出逻辑宏单元形式E2CMOS工艺结构。具有代表性的GAL芯片有GALl6V8、GAL20V8,这两种GAL几乎能够代替所有类型的PAL器件。在实际应用中,GAL器件对PAL器件仿真具有百分之百的兼容性,所以GAL几乎完全代替了PAL器件,并可以取代大部分SSI、MSI、数字集成电路,如标准的5474系列器件,因而获得广泛应用。PAL和GAL都属于简单PLD,结构简单,设计灵活,对开发软件的要求低,但规模小,难以实现复杂的逻辑功能。随着技术的发展,简单PLD在集成密度和性能方面的局限性也暴露出来,其寄存器、I/O引脚、时钟资源的数目有限,没有内部互连,因此包括EPLD、CPLD和FPGA在内的复杂PLD迅速发展起来,并向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更宽广的方向发展。可擦除可编程逻辑器件EPLD是20世纪80年代中期Altera公司推出的基于UVEPROM和CMOS技术的PLD,后来发展到采用E2CMOS工艺制作的PLD。EPLD的基本逻辑单元是宏单元。宏单元由可编程的与或阵列、可编程寄存器和可编程I/O三部分组成。从某种意义上讲EPLD是改进的GAL,它在GAL基础上大大增加输出宏单元的数目,提供更大的与阵列,灵活性较GAL有较大改善,集成密度大幅度提高,内部连线相对固定,延时小,有利于器件在高频率下工作,但内部互连能力十分弱。世界著名的半导体器件公司Altera、Xilinx、AMD、Lattice均有EPLD产品,但结构差异较大。复杂可编程逻辑器件CPLD(Complex PLD)是20世纪80年代末Lattice公司提出的在系统可编程(ISP,In System Programmability)技术以后于20世纪90年代初出现的。CPLD是在EPLD的基础上发展起来的,采用E2CMOS工艺制作,与EPLD相比,增加了内部连线,对逻辑宏单元和I/O单元也有重大的改进。CPLD至少包含三种结构:可编程逻辑宏单元、可编程I/O单元和可编程内部连线。部分CPLD器件内部还集成了RAM、FIFO或双口RAM等存储器,以适应DSP应用设计的要求。其典型器件有Altera的MAX7000系列,Xilinx的7000和9500系列,Lattice的PLSIispLSI系列和AMD的MACH系列。现场可编程门阵列FPGA(Field Programmable Gate Array)器件是Xilinx公司1985年首家推出的,它是一种新型的高密度PLD,采用CMOSSRAM工艺制作。FPGA的结构与门阵列PLD不同,其内部由许多独立的可编程逻辑块(CLB)组成,逻辑块之间可以灵活的相互连接。FPGA的结构一般分为三部分:可编程逻辑块、可编程I/O模块和可编程内部连线。CLB的功能很强,不仅能够实现逻辑函数,还可以配置成RAM等复杂形式。配置数据存放在片内的SRAM或者熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。配置数据可以存放在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程。FPGA出现后受到电子设计工程师的普遍欢迎,发展十分迅速。Xilinx、Altera和Actel等公司都提供高性能的FPGA芯片。高密度PLD在生产工艺、器件编程和测试技术等方面都有了飞速发展。目前PLD的集成度非常高,如Altera公司的APEX系列器件,采用0.15m工艺,各层都是铜金属布线,其中EP2A90的密度可达400万典型门,可为用户提供1140个I/O引脚,1Gbits数据速率。世界各著名半导体公司,如Altera、Xilinx、Lattice、Actel和AMD公司均可提供不同类型的CPLD、FPGA产品。众多公司的竞争促进了可编程集成电路技术的提高,使其性能不断改善,产品日益丰富,价格逐步下降。可以预计,可编程逻辑器件将在结构、密度、功能、速度和性能等方面得到进一步发展,结合EDA技术,PLD将在现代电子系统设计中得到非常广泛的应用。1.4 Altera系列CPLD和FPGA器件随着可编程逻辑器件应用的日益广泛,许多IC制造厂家均已涉足CPLDFPGA领域。目前世界上有十几家生产CPLDFPGA的公司,最大的三家是Altera、Xilinx和Lattice-Vantis,其中Altera和Xilinx占了60以上的市场份额。Altera在20世纪90年代以后发展很快,是最大的可编程逻辑供应商之一。Altera的CPLD器件具有良好的性能、极高的密度和非常大的灵活性,除了具有一般PLD的特点外,还具有改进的结构、先进的处理技术、现代化的开发工具以及多种宏功能模块可选用等优点。 (1)性能高 Altera器件的高性能主要体现在技术和结构上,Altera器件采用铜铝布线的先进CMOS技术,具有非常低的功耗和相当高的速度,而且它采用了连续式互连结构,能够提供快速的、连续的信号延时。 (2)逻辑集成度高 在设计过程中,设计者总是希望将更多的逻辑集成进更少的器件中,并缩小印制板的尺寸和降低成本。具有高集成能力的PLD提供了优秀的解决方案:Altera器件密度从300门到400万门,能很容易地集成现有的各种逻辑器件,包括小规模及大规模标准逻辑器件、PLD、FPGA或ASIC。高集成能力的PLD就代表着更高的系统性能、更高的可靠性和更低的成本。 (3)性价比高 Altera不断改进产品的开发和制造工艺,它的经验积累使其处理技术和制造流程十分有效,能够有效地提供高性价比的可编程逻辑器件。Altera的PLD成本与门阵列相当。 (4)开发周期短 对设计者来说时间是最宝贵的资源,Altera的快速、直观、易于使用的MAX+plus和Quartus II软件能够极大地缩短开发周期。使用的MAX+PLUS II和Quartus II软件设计输入、处理、校验以及器件编程一共仅需几个小时,一天内可完成几个完整的设计。Altera与其他EDA制造商紧密合作,在MAX+PLUSII和Quartus II软件中集成了另外的工业标准设计输入、综合、校验工具,如Cadence、ExemplarLogic、Mentor、Graphics、Synopsys、Synplicity、Viewlogic提供的软件。 (5)对器件优化的IP解决方案 Altera为设计者提供已经做好的、经过预先测试并优化了的IP宏功能模块(Megafunctions),允许设计人员在一个器件中快速实现一定的功能而不必从基础的设计做起,大大地提高了设计效率。由于Altera提供开发板,所以可以在设计开始时就进行应用软件的开发,硬件设计人员也可以使用这些开发板快速有效地验证IP功能。 (6)在线可编程 MAX9000、MAX7000、MAX7000A、MAX7000B和MAX3000A系列器件具有在线可编程性,简化了设计开发过程及流水线生产过程,提高了设计的灵活性,并且,能够快速有效地对产品进行现场升级。Altera的ISP使用IEEE ll49.1标准的JTAG(Joint Action Test Group)测试端口,允许对器件进行编程,并可以对印刷电路板(PCB)进行功能测试。 现在,Altera的PLD器件包括APEX20K、APEXII、Excalibur、Mercury、Stratix、ACEXlK、FLEXl0K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX3000和Classic系列。从MAX系列发展到APEX系列,器件的可用资源逐渐增多,输入输出管脚也随之增加。灵活逻辑单元矩阵FLEX(Flexible Logic Element Matrix)器件采用查找表(LUT)结构来实现逻辑功能,而多阵列矩阵MAX(Multiple Array MatriX)和Classic采用“与”可编程“或”固定的乘积项(product-term)结构。查找表和嵌入式寄存器表示了可编程逻辑矩阵(APEX)的先进结构特征,而Mercury系列则是基于查找表结构,它的特征是具有时钟数据恢复和一个性能优化的核,另外,Excalibur的结构特征是基于ARM和基于MIPS的硬核微处理器。针对具体的应用,每种器件系列都有各自不同的特点,这就需要设计者掌握好它们之间的区别。所有Altera的CPLD器件都采用了CMOS工艺,其中一些系列经过改进已采用了更为先进的工艺技术,嵌入了大量的RAM块。其性能对照如表1.1所示。表1.1 Altera器件性能对照表器件序列逻辑单元结构可配置单元用户I/O数量典型可用门Classic乘积项EPROM2268300900MAX3000乘积项EPROM341586005000MAX7000乘积项EPROM362126001万MAX9000乘积项EPROM522161万1.2万FLEX6000查找表SRAM712181.6万2.4万FLEX8000查找表SRAM6820825001.6万FLEX10K查找表SRAM594701万25万ACEX1K查找表SRAM663331万10万Excalibur查找表和RISC处理器SRAM17852110万100万Mercury查找表和CDRSRAM30348612万35万APEX II查找表和乘积项SRAM492114060万400万APEX20KC查找表和乘积项SRAM25078010万150万APEX20K查找表和乘积项SRAM1288083万150万Altera的系列器件针对设计者需求提供了如下的特性:高带宽、低电压I/O标准(LVDS速率可以达到622Mb/s)和多种I/O电压标准(可以在混合系统中非常方便地实现5.0V,3.3V,2.5V,1.8V电压的互联)。内部集成的锁相环(PLL Phase-Locked Loop)增加了器件的系统级时钟管理,还增加了I/O的性能。Altera的系列器件提供了丰富的芯片封装形式:TQFP、BGA和FBGA等。1.5 可编程逻辑器件上机实验实验一 38译码器设计一、实验目的1、掌握组合逻辑电路的设计方法;2、掌握Verilog HDL语言设计输入方法;3、掌握组合逻辑电路的仿真测试方法;4、初步掌握Quartus II软件的基本操作与应用;5、初步了解可编程逻辑器件的设计过程。二、硬件、软件要求计算机、EDA实验箱、Quartus II软件,下载电缆三、实验内容及实验原理(一)使用向导建立新工程:1、启动软件:通过桌面快捷方式或“开始”菜单打开Quartus II软件,打开后界面如图1.1.1所示。图1.1.1 启动界面2、选择FileNew Project Wizard命令,弹出建立新工程向导,如图1.1.2所示。按照提示选择保存文件的工程目录、项目名称及顶层模块的名称(顶层模块名和项目名称必须相同)。单击Next按钮(如果文件夹不存在,会出现提示界面,如图1.1.3所示,单击“是(Y)”按钮,创建该文件夹即可)进入第2页面。(注意:工程文件夹的名称和文件名不要使用汉字,最好也不要使用数字开头)图1.1.2 新建设计项目对话框(第1页面)图1.1.3 目录创建提示对话框3、第2页面如图1.1.4所示,用于添加已经存在的文件到当前工程项目。如果设计文件和其它底层文件已经存在,可以单击File Name后面的“.”找到相应的文件夹,再单击需要的文件名(按住Ctrl键可以选择多个文件),然后单击Add或者Add All按钮,就可以将原来存在的文件添加到当前工程中;也可以不添加文件,直接单击Next按钮进入第3页面。图1.1.4 新建设计项目对话框(第2页面)4、第三页面如图1.1.5所示,用于选择将要使用的目标器件(要根据实验箱上FPGA芯片的具体型号而定)。在选择芯片时,首先要在Family右边的下拉框中选择目标器件的系列,然后可以在Show inAvailable devicelist中限定封装、管脚数和速度等级,以缩小可用器件列表的范围,便于快速找到需要的目标器件。然后,单击Next按钮进入第4、5页面。图1.1.5 新建设计项目对话框(第3页面)5、第4页面用于选择使用第三方软件工具,如不使用则不必设置,直接使用Quartus II软件集成的工具。第5页面显示了新建设计项目的摘要,检查全部参数设置,若无误,则单击Finish按钮,完成工程的创建;若有误,则单击Back按钮返回,重新设置。图1.1.6 新建设计项目对话框(第4页面)图1.1.7 新建设计项目对话框(第5页面)(二)输入设计文件1、文件输入方式选择。在Quartus II软件主界面选择File/New命令,出现如图1.1.8所示界面,选择设计文件的输入方式,如Verilog HDL File,单击OK按钮,则会打开输入编辑界面如图1.1.9所示。图1.1.8 设计输入方式选择界面图1.1.9 Verilog 文本编辑窗口2、文件输入。在图1.1.9所示的界面中将Verilog程序输入到编辑器中,然后保存文件。出现如图1.1.10所示界面,点击保存(S)按钮。(注意:下方的复选框一定要勾上)保存后界面如图1.1.11所示。图1.1.10 文件保存提示对话框图1.1.11 保存文件后的界面图(三)编译工程在Quartus II软件主界面选择Processing/Start Compilation开始编译,编译完成后的窗口如图1.1.12所示。单击“确定”按钮后,在该图中显示了编译时的各种信息,其中包括警告和出错信息。根据错误提示进行相应的修改,并重新编译,直到没有错误提示为止。图1.1.12 编译完成后的窗口(四)仿真与时序分析1、建立矢量波形文件。在图1.1.12中,单击“File”菜单下的“New”命令,在弹出的“New”对话框中选择“Other Files”页面中的“Vector Waveform File”选项后单击“OK”按钮,弹出如图1.1.13所示的矢量波形编辑窗口。图1.1.13 矢量波形编辑窗口2、添加引脚或节点。(1)在图1.1.13中,双击“Name”下方的空白处,弹出“Insert Node or Bus”对话框,如图1.1.14所示。单击对话框的“Node Finder”按钮后,弹出“Node Finder”对话框,如图1.1.15所示。图1.1.14 “Insert Node or Bus”对话框图1.1.15 “Node Finder”对话框(2)单击“List”按钮,在“Node Found”栏中列出了设计中的引脚号,如图1.1.16所示。图1.1.16 列出输入/输出节点 (3)单击“”按钮,所有列出的输入/输出被复制到右边的一侧,也可以只选中其中的一部分,根据情况而定,如图1.1.17所示。图1.1.17 选择输入/输出节点(4)单击“OK”按钮后,返回“Insert Node or Bus”对话框,此时,在“Name”和“Type”栏里出现了“Multiple Items”项,如图1.1.18所示。图1.1.18 “Insert Node or Bus”对话框(5)单击“OK”按钮,选中的输入/输出被添加到矢量波形编辑窗口中,如图1.1.19所示。图1.1.19 添加节点后的矢量波形编辑窗口3、编辑输入信号并保存文件。在图1.1.19中单击“Name”下方的“a”,即选中该行的波形。将输入信号“a”设置为时钟信号,选择Edit菜单下的“Value”中的“Clock”,弹出“Clock”对话框,此时可以修改信号的周期、相位和占空比。设置完成后单击“OK”按钮,输入信号“a”设置完毕。同理设置输入信号“b”和“c”,如图1.1.20所示。最后单击保存文件按钮,根据提示完成保存工作。图1.1.20 编辑输入信号4、仿真波形。仿真分为功能仿真和时序仿真,功能仿真是忽略延时后的仿真,是最理想的仿真;时序仿真则是加上了一些延时的仿真,是最接近于实际的仿真。在本设计中,直接采用时序仿真。Quartus II中默认的仿真为时序仿真,在图1.1.20中,选择“Processing”菜单下的“Start Simulation”进行仿真。仿真完成后的窗口如图1.1.21所示。观察波形可知输出和输入之间有一定的延时。图1.1.21 时序仿真(五)引脚分配引脚分配是为了对所设计的工程进行硬件测试,将输入/输出信号锁定在器件确定的引脚上。单击“Assignments”菜单下的“Pins”命令,弹出的对话框如图1.1.22所示,在下方的列表中列出了本项目所有的输入/输出引脚名。图1.1.22 选择要分配的引脚在图1.1.22中,双击与输入端“a”对应的“Location”选项后弹出引脚列表,从中选择合适的引脚(尽量别选择具有第二功能的引脚),则输入a的引脚分配完毕。同理完成所有引脚的指定,如图1.1.23所示。图1.1.23 完成所有引脚的分配(六)下载验证下载验证是将本次设计所生成的文件通过计算机下载到实验箱里来验证此次设计是否符合要求。大体上分为以下几个步骤。1、编译。分配完引脚后必须再次编译才能存储这些引脚锁定的信息。2、配置下载电缆。在“Tool”菜单下选择“Programmer”命令,弹出如图1.1.24所示的对话框。图1.1.24 未配置的下载电缆窗口单击“Hardware Setup”按钮,弹出“Hardware Setup”对话框,如图1.1.25所示。单击“Add Hardware”按钮设置下载电缆,弹出如图1.1.26所示的对话框。在“Hardware type”一栏中选择“ByteBlasterMV or ByteBlaster II”后单击“OK”按钮,下载电缆配置完成。设置成如图1.1.27所示的选项后,单击“Close”按钮即可。一般情况下,如果下载电缆不更换,一次配置就可以长期使用了,不需要每次都设置。图1.1.25 设置编程器对话框图1.1.26 选择下载电缆图1.1.27 下载电缆选择完成3、下载。JTAG模式是软件的默认下载模式,相应的下载文件为“.sof”格式。勾选下载文件“Decoder3to8.sof”右侧的第一个小方框,将下载电缆连接好后,打开实验箱电源,然后单击“Start”按钮计算机就开始下载编程文件,下载完成后如图1.1.28所示。图1.1.28 下载完毕(五)、器件下载编程与硬件实现一)实验电路板上的连线用三位拨码开关代表译码器的输入端A、B、C,将之分别与实验箱上芯片的相应管脚相连;用LED灯来表示译码器的输出,将D0.D7对应的管脚分别与8只LED灯相连。试验结果如下:ABCLED0LED1LED2LED3LED4LED5LED6LED7000灭亮亮亮亮亮亮亮100亮灭亮亮亮亮亮亮010亮亮灭亮亮亮亮亮110亮亮亮灭亮亮亮亮001亮亮亮亮灭亮亮亮101亮亮亮亮亮灭亮亮011亮亮亮亮亮亮灭亮111亮亮亮亮亮亮亮灭四、回答问题1、对于复杂电路设计,比较原理图与Verilog语言输入设计的优缺点;2、列出目前Altera公司的主要CPLD和FPGA芯片系列号,并写出该系列中部分具体器件型号;3、说明实验所用FPGA芯片的具体型号及主要参数;4、说明编译正确与时序仿真正确之间的区别;实验二 七段译码器设计一、实验目的1、掌握7段数码管的使用方法,学习数字编码的规则;2、进一步熟悉Verilog语言设计方法;3、熟悉Quartus II软件中逻辑宏单元的使用方法;二、硬件、软件要求计算机、EDA实验箱、Quartus II软件,下载电缆三、实验内容及实验原理1、实验原理说明:a7段数码管的结构,如图1.2.1所示:fbgecdpd图1.2.1 7段数码管笔段名称对应于共阴数码管,其真值表如下所示:输入BCD码对应显示数字gfedcba0000001111110001100001100010210110110011310011110100411001100101511011010110611111010111700001111000811111111001911001112、完成本实验可采用三种方法:1)利用上面所给的真值表,通过卡诺图画简,得到输出的最简逻辑表达式,然后利用原理图输入方式完成逻辑电路设计; 2)在原理图中通过调用Quartus II软件的逻辑宏单元库中的7449器件,完成BCD码到7段显示的译码电路,其帮助文档内容如下:BCD-to-7-Segment DecoderDefault Signal Levels:GND-A, B, C, DVCC-BINAHDL Function Prototype (port name and order also apply to Verilog HDL): FUNCTION 7449 (d, c, b, a, bin) RETURNS (oa, ob, oc, od, oe, of, og);Decimal| | |or | Inputs| Outputs |NotesFunction| | |DCBABIN|OAOBOCODOEOFOG|0|LLLLH|HHHHHHL|*1|LLLHH|LHHLLLL|2|LLHLH|HHLHHLH|3|LLHHH|HHHHLLH|4|LHLLH|LHHLLHH|*5|LHLHH|HLHHLHH|6|LHHLH|LLHHHHH|7|LHHHH|HHHLLLL|8|HLLLH|HHHHHHH|*9|HLLHH|HHHLLHH|10|HLHLH|LLLHHLH|11|HLHHH|LLHHLLH|12|HHLLH|LHLLLHH|*13|HHLHH|HLLHLHH|14|HHHLH|LLLHHHH|15|HHHHH|LLLLLLL|BI|XXXXL|LLLLLLL|*Notes:*The blanking input (BIN) must be held at a high logic level when output functions 0 through 15 are desired.*When a low logic level is applied directly to the blanking input (BIN), all segment outputs are low regardless of the level of any other input. 3)根据真值表,采用Verilog HDL语言自行设计7段译码器。3、实验要求:1)分别采用宏单元调用的方法及Verilog HDL语言设计方法完成译码器设计,画出实验原理图,写出Verilog程序;2)分别对译码器的两种设计进行时序仿真,记录仿真结果;3)将两种不同实现方法的编程文件下载到实验箱,进行功能验证,并记录实验结果;四、回答问题1、说明在所给的7449宏单元说明表中,BI输入信号的作用;2、写出7449宏单元当输入为1015时所对应的显示内容;3、采用Verilog语言进行设计时,对于无效输入应如何处理?若不进行处理,从电路的角度来说会出现什么问题?实验三 八选一多路数据选择器及七段数码管动态显示电路设计一、实验目的1、熟悉多路数据选择器的原理;2、掌握采用原理图设计多路选择器的方法;3、掌握采用Verilog HDL语言设计多路数据选择器的方法;4、学习七段数码管动态扫描显示方法及电路原理。5、学习层次设计方法,学习生成原理图元件和Verilog程序中元件例化的方法;二、硬件、软件要求计算机、EDA实验箱、Quartus II软件,下载电缆三、实验内容及实验原理sel2sel1sel0输出y000y=in0001y=in1010y=in2011y=in3100y=in4101y=in5110y=in6111y=in71、本实验设计的多路数据选择器有8个输入信号,每个输入信号为4位宽,其功能描述如下:in02、功能模块如图1.3.1所示:in1多路数据选择器in2in3yin4in5in6in7sel2sel0sel1图1.3.1 多路数据选择器功能模块图3、七段数码管动态显示原理说明:如图1.3.2所示:段码,adp共8位7段译码器4位BCD码多路数据选择器38译码器显示数据输入位选信号输入图1.3.2 七段数码管动态显示原理图图中8只数码管的adp 8个笔段引脚对应连接在一起(即8个a笔段引脚接在一起变成一个a引脚,其余类推),在实验箱中每个数码管的阴极公共引脚分别接至3-8译码器的8个输出端。因此,当位选信号输入端为000111变化时时,只有一个数码管能够选通发光。显示数据输入为4位BCD码,在这里可以同时输入8个BCD码,分别为8只数码管要显示的内容,通过多路选择器,可以选择出8个输入中的一个BCD码并经过七段译码电路输出段码,该段码接至数码管的8个笔段引脚上。由于位选信号同时接至38译码器和多路数据选择器输入端,因此当选通第一只数码管时,对应输出第一个输入BCD码的译码值,同理,当选通第二只数码管时,对应输出第二个输入BCD码的译码值,依此类推。当位选信号周而复始的从000111变化,且循环频率(即显示刷新速率)大于50Hz时,利用人眼的视觉暂留特性,则8只数码管看上去是同时显示的,并且显示内容分别为显示数据输入端所对应的字符。4、实验要求:1)采用原理图或Verilog语言进行设计,若采用原理图设计方法,可参考图1.3.3所示的四选一多路选择器原理图,自行扩展设计八选一多路选择器,记录原理图或Verilog程序;2)对设计进行时序仿真,记录仿真波形,测量输出信号与数据选择信号之间的延时时间并记录;3)仿真正确后将综合结果下载至实验箱进行实际功能验证。输入信号和选择信号接至实验箱的平拨开关,输出信号通过LED显示逻辑电平。图1.3.3 4选1多路数据选择器参考原理图4)生成设计文件对应的原理图符号其方法如下:a、先对要生成原理图符号的文件(如原理图文件或Verilog程序文件)进行编译,本例创建一个实验一的decoder3to8.v文件的原理图符号;b、点击File|Create Default Symbol菜单命令,如图1.3.4所示:图1.3.4 创建默认符号 c、新建原理图文件,调用刚生成的decoder3to8元件。其调用和使用方法与MAX+plus II软件自带的其他库元件完全相同。如图1.3.5所示:图1.3.5 调用创建的元件5)利用上述方法,通过原理图完成七段数码管动态显示电路的设计。8个输入信号可分别在原理图中接固定电平,通过实验箱上平拨开关输入三位位选信号,观察数码管显示结果。6)试采用Verilog语言进行7段数码管动态显示电路的设计,在顶层的Verilog模块中,采用元件例化的方法完成各模块的调用与连接。四、回答问题1、本实验的动态扫描电路中,若要求电路能够自动完成8位数码管的循环扫描,应在动态扫描电路中添加何种电路?若要求刷新速率为100Hz,则该电路时钟频率应为多少?实验四 计数器设计一、实验目的1、掌握Quartus II软件中74系列计数器宏单元的使用方法。2、掌握利用反馈方法实现任意进制计数器的设计方法。3、掌握Verilog语言对计数器的描述方法。二、硬件、软件要求计算机、EDA实验箱、Quartus II软件,下载电缆三、实验内容及实验原理1、采用7493宏单元进行十进制计数器设计,该宏单元的符号如图1.4.1所示,功能描述如图1.4.2所示:图1.4.1 7493计数器宏单元符号图1.4.2 7493计数器宏单元功能2、按照7493宏单元图形符号与功能表,自行设计组合电路形成复位信号实现一位十进制计数器,同时该计数器具有计数使能输入信号clken;clken=0,暂停计数;clken=1,正常计数。对所设计的计数器进行时序仿真;最后将设计结果下载至实验箱进行实际验证。计数器输出结果可通过实验箱的LED发光二极管观察,时钟信号由实验箱上的时钟模块提供,将计数器时钟信号接至该模块的CLK5,并设置跳线设定为较低频率,以便能够观察结果。3、将所设计的一位十进制计数器生成原理图符号,完成4位十进制计数器设计。对所设计的四位十进制计数器进行时序仿真,最后下载至实验箱进行实际功能验证。4、用Verilog语言设计一位十进制计数器,设计时应考虑计数器能够进行级连,同时,该计数器具有异步复位信号和计数使能信号,复位信号高电平有效。计数使能信号作用如下:clken=0,暂停计数;clken=1,正常计数。对设计进行时序仿真,最后下载至实验箱进行验证。5、利用元件例化方法(或生成原理图符号)进行层次设计,完成四位十进制计数器电路,进行时序仿真,最后下载至实验箱验证。四、回答问题1、说明同步计数器与异步计数器的区别?试用D触发器或JK触发器画出一个异步计数器的电路。2、说明异步复位与同步复位有何区别?在Verilog HDL语言描述上如何区分是异步还是同步复位?实验五 数字频率计设计一、实验目的1、掌握简单的时序控制电路设计方法;2、进一步掌握复杂数字电路设计中的层次设计方法;3、掌握数字频率计的原理与设计方法;二、硬件、软件要求计算机、EDA实验箱、MAX+plus II软件,下载电缆三、实验内容及实验原理1、数字频率计原理:1)系统组成框图如图1.5.1所示:8位七段数码管模块clkenclken测频时序控制八位十进制计数器数据寄存器动态扫描显示电路agclrclrsel2sel1sel0locklockclkclk800Hz时钟输入分频器8Hz时钟输入fx被测信号输入图1.5.1 频率计组成框图 其中,8位七段数码管模块为实验箱上电路模块,电路中有3-8译码器,故位选信号为3位二进制顺序编码;动态扫描显示电路可利用实验三的设计文件;数据寄存器是由32个D触发器构成,每四个为一组,每组保存一个BCD码,其时钟信号由测频时序控制模块提供,在本实验中需自行设计;八位十进制计数器模块可利用实验四的设计文件;测频时序控制模块在本实验中需要自行设计;分频器是将输入的800Hz显示扫描时钟进行分频得到所需的8Hz时钟,并接至测频时序控制模块,本实验中需自行设计。2)测频时序控制模块原理: 该模块为频率计控制电路的核心,完成各模块的协调工作,按照时钟节拍完成测频功能。其原理图如图1.5.2所示:图1.5.2 测频时序控制逻辑电路图 其仿真波形如图1.5.3所示:图1.5.3 测频时序控制仿真波形2、设计要求:1)采用原理图或Verilog语言完成各模块的设计。对本次实验所设计的测频时序控制模块、数据寄存器模块、时钟分频模块进行时序仿真,记录设计文件和仿真波形。2)频率计顶层文件采用原理图设计,将各功能模块进行连接,并对整个频率计顶层设计进行仿真,最后下载至实验箱,完成实际信号的频率测量,记录顶层文件和仿真结果。四、回答问题1、简述测频时序控制电路中各元件的作用和该模块的工作原理;2、分析该频率计的测量数据周期;3、提出设计方案,说明如何缩短无用的延时时间?4、根据本实验的基本原理,试分析如何设计完成信号周期的测量?实验六 A/D转换器ADC0809控制电路设计实验一、实验目的1、学习常用逐次逼近型并行A/D转换器的原理与应用;2、掌握采用Veri

温馨提示

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

评论

0/150

提交评论