收藏 分销(赏)

基于ISE的数字秒表的设计与仿真.doc

上传人:可**** 文档编号:3145009 上传时间:2024-06-20 格式:DOC 页数:42 大小:1.55MB
下载 相关 举报
基于ISE的数字秒表的设计与仿真.doc_第1页
第1页 / 共42页
基于ISE的数字秒表的设计与仿真.doc_第2页
第2页 / 共42页
基于ISE的数字秒表的设计与仿真.doc_第3页
第3页 / 共42页
基于ISE的数字秒表的设计与仿真.doc_第4页
第4页 / 共42页
基于ISE的数字秒表的设计与仿真.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、数字秒表设计实验报告学院(系): 专 业: 学 号: 学生姓名: 指导教师: 42电子设计实验报告数字秒表的设计 目 录摘 要41 引言61.1FPGA的开发61.2VHDL语言的使用71.3 ISE简介81.4modelsim仿真软件的使用82 数字秒表的设计92.1 时间的概念92.2 实验任务及要求92.3 系统需求和解决方案102.3.1分频器设计122.3.2按键消抖电路设计122.3.3控制器设计132.3.4计数器设计132.3.5锁存器设计142.3.6扫描显示和控制电路设计142.3.7模块综合153 数字秒表的仿真结果153.1各仿真结果163.2分频器仿真163.3计数器

2、仿真164实验结论16参考文献17附 录17 摘 要本次实验设计使用的软件ISE主要功能包括设计输入、综合、仿真、实现和下载,涵盖了可编程逻辑器件开发的全过程,从功能上讲,完成CPLD/FPGA的设计流程无需借助任何第三方EDA软件。而本次设计目的在于设计一个可以自动计数、清零、锁存、暂停的、显示范围为59分59秒,精确度为百分之一秒的数字秒表并熟练利用modelsim仿真软件进行仿真并从中不断检验错误,修改程序达到学习提高的效果。为达到实验目的,本设计分为:分频器,锁存器,计数器,控制器及消抖电路。关键词:ISE;modelsim仿真;数字秒表设计;FPGA可编程逻辑器件;检验;学习 Abs

3、tractThe ISE software used in experimental design the main function including design, implementation, integration, simulation and download, covers the whole process of the development of programmable logic devices, tell from the function, completed the design of CPLD/FPGA without using any third-par

4、ty EDA software. And the purpose of the design is to design an automatic counting, reset, latches, suspended, display area for 59 minutes and 59 seconds, accuracy of one percent second digital stopwatch and skilled use of the modelsim simulation software simulation and continuous inspection error, m

5、odify the program to improve learning effect. For the purpose of the experiment, the design is divided into: frequency divider, latch, counter, controller and shake circuit. Key words: ISE; modelsim; digital stopwatch; The FPGA programmable logic devices;check;learn1引言 在传统的硬件电路设计中, 主要的设计文件是电路原理图, 而采

6、用硬件描述语言(VHDL) 设计系统硬件电路时主要使用VHDL 编写源程序。所谓硬件描述语言, 就是该语言可以描述硬件电路的功能、信号连接关系及定时关系。EDA代表了当今电子设计技术发展的方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分系统的关键电路,用一片或几片专用集成ASI实现,然后采用硬件描述语言(HDL)完成系统设计,最后通过综合器和适配器生成最终的目标,这样的设计方法被称为高层次的电子设计。高层次的设计给我们提供了一种“自顶向下”(Top2Down)的全新设计方法,这种方法首先从系统入手,在顶层进行功能方框图的划分和结构设计.在方框图一级进行

7、仿真、纠错并用硬件描述语言对高层的系统进行描述,在系统一级进行验证,然后用综合优化工具生成具体的门电路网表。1.1 FPGA的开发使用FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的开发相对于传统PC、单片机的开发有很大不同。FPGA以并行运算为主,以硬件描述语言来实现;相比于PC或单片机的顺序操作有很大区别,也造成了FPGA开发入门较难。FPGA

8、开发需要从顶层设计、模块分层、逻辑实现、软硬件调试等多方面着手。一个完整的设计流程包括电路设计与输入、功能方针、设计综合、综合后仿真、设计实现布线后仿真与下载、实验板调试等主要步骤,如下图(1)示 图(1) FPGA开发流程 FPGA芯片的组成:(1)可编程输入输出单元;(2)基本可编程逻辑单元;(3)完整的时钟管理;(4)嵌入块式RAM;(5)丰富的布线资源;(6)内嵌的底层功能单元和专用硬件模块。在本实验中我们采用的实验板为FPGAxc3s200a-4ft256的板子,此FPGA芯片隶属于Spartan-3A FPGA芯片系列。Spartan-3A 系列延伸平台融小型器件封装以及 Spar

9、tan-3A、Spartan-3A DSP 和 Spartan-3AN 平台经市场验证的低成本和高性能特点于一体,形成一系列单个的、大容量的FPGA平台。凭借对业界最广泛的 I/O 标准(26种)的支持、丰富的节电配置功能和防克隆安全优势,赛灵思Spartan 系列已经成为目前全球应用最广泛的低成本FPGA。与同类低成本 FPGA 解决方案相比,赛灵思Spartan-3A延伸FPGA 解决方案可降低高达50% 的总体系统成本。众多系统功能的集成减少了对外部元器件的需要,降低了静态功耗并且提供了更为强大的低成本安全系统,这一优势对于系统设计人员来说极具吸引力。Spartan-3A系列FPGA主要

10、技术特征如下表示:型号系统门数SLICE数目分布式RAM容量块RAM容量专用乘法器数DCM数目最大可用I/O数最大差分I/O对数XC3S50A50k86411k54k3214464XC3S200A200k201628k288k164248112XC3S400A400k403256k360k204311142XC3S700A700k662492k360k208372165XC3S1400A1400k12672176k576k3285022271.2 VHDL语言的使用 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分

11、类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点:(1) VHDL 语言功能强大,设计方式多样。(2) VHDL 语言具有强大的硬件

12、描述能力。(3) VHDL 语言具有很强的移植能力。(4) VHDL 语言的设计描述与器件无关。(5) VHDL 语言程序易于共享和复用。VHDL 程序结构特点是将一个电路模块或一个系统分成端口和内部功能算法实现两部分。对于一个电路模块或者数字系统而言, 定义了外部端口后, 一旦内部功能算法完成后, 其他系统可以直接依据外部端口调用该电路模块或数字系统, 而不必知道其内部结构和算法。VHDL 的特点使得电子系统新的设计方法一一“自顶向下”设计方法更加容易实现。可以先对整个系统进行方案设计, 按功能划分成若干单元模块, 然后对每个单元模块进一步细分编程, 直到简单实现的单元电路。VHDL 支持硬

13、件的设计、验证、综合和测试, 以及硬件设计数据的交换、维护、修改和硬件的实现, 具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点。1.3 ISE软件的使用ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了可编程逻辑器件开发的全过程,从功能上讲,完成CPLD/FPGA的设计流程无需借助任何第三方EDA软件。下面简要说明各功能的作用:设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP

14、Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的Leonardo Spectrum和Synplicity公司的Synplify,实现无缝链接。 仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech公司的Modelsim进行仿真的接口。 实现:此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。 下

15、载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了IMPACT,功能是进行芯片配置和通信,控制将程序烧写到FPGA芯片中去。ISE使用的整体开发流程为:建立新工程建立源文件编写工程代码行为仿真各模块综合管脚约束功能实现时序仿真生成bit流文件下载到实验板上调试。1.4 Modelsim仿真软件的使用 仿真是指在软件环境下,验证电路的行为和设计意图是否一致。Modelsim是一种第三方EDA仿真工具,它是由Model公司开发的,它支持Verilog、VHDL以及两者的混合仿真,可以将整个程序分步执行,它在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以查

16、看某一单元或模块的输入输出的连续变化等。其主要特点是仿真速度快,仿真精度高,而且支持VHDL、Verilog HDL以及两者的混合使用,是目前业界最流行最通用的仿真器之一。 Modelsim仿真步骤分为以下5步:(1)建立库;(2)映射库到物理目录;(3)编译源代码,包括所有的HDL代码和Testbench;(4)启动仿真器并加载设计顶层;(5)执行仿真; 一般来说,仿真分为三种类型,即功能仿真、综合后功能仿真和时序仿真,分别对应于设计输入后、综合完成后、布局布线完成后等步骤,这些步骤也是仿真的切入点。(1)功能仿真 功能仿真也称为前仿真,主旨在于验证电路功能是否符合设计要求,其特点是不考虑电

17、路门延时与路径延时,考察重点为电路在理想环境下的行为和设计构想是否一致。可综合FPGA仿真代码是用RTL级代码语言描述的,功能仿真的输入是设计的RTL代码,也就是HDL源文件与Testbench.。 (2)综合后仿真综合后仿真的主旨在于验证综合后的电路结构是否与设计意图相符,是否存在歧义综合结果。综合后仿真的输入是从综合得到的一般性逻辑网表抽象出的仿真模型和综合产生的延时文件,综合时的延时文件仅仅能估算门延时,而不包含布线延时信息,所以延时信息不十分准确。(3)时序仿真 时序仿真也称为布局布线后仿真或者后仿真,是指电路已经映射到特定的工艺环境后,综合考虑电路的路径延时与门延时的影响,验证电路的

18、行为是否能够在一定时序条件下满足设计构想的功能。时序仿真主要目的在于验证电路是否存在时序违规,其输入为从布局布线抽象出的门级网表、Testbench以及扩展名为SDO的标准延时文件。一般来说,时序仿真是必选步骤,通过时序仿真能检查设计时序与FPGA的实际运行情况是否一致,确保设计的可靠性和稳定性。2 数字秒表的设计2.1 时间的概念 人类在生活中总结出时间的观念,其根源来自于日常生活中事件的发生次序。当然人们在生活中得到的绝不仅仅是事件发生次序的概念,同时也有时间间隔长短的概念,这个概念来源于对两个过程的比较比如两件事同时开始,但一件事结束了另一件事还在进行,我们就说另一件事所需的时间更长。这

19、里我们可以看到,人们运用可以测量的过程来测量抽象的时间。当前人类包括生物圈里的决大多数生命使用的都是太阳时。地球自转一周导致了太阳东升西落一次,这一周期的完成就表示过去了一天。一天这个时间是由地球自转一周导致的太阳东升西落这一运动状态决定的。一年也是一样,是由地球公转绕太阳一周这个运动状态决定的。地球的自转和公转速度的改变状态将直接导致人类使用的一天和一年发生改变时间来自于运动,不同的运动状态决定了不同的时间。控制运动、掌握时间成了每一个人都可以做到的事,时间不在神秘。一种运动状态决定了一个时间,一个独立的时间也表示了一种动动状态的延续。2.2 实验任务及要求 秒表的计时范围为0000”00

20、5959”99。 有两个按钮开关Start/Stop和Split/Reset,控制秒表的启动、停止、分段和复位:在秒表已经被复位的情况下,按下“Start/Stop”键,秒表开始计时。在秒表正常运行的情况下,如果按下“Start/Stop”键,则秒表暂停计时;再次按下该键,秒表继续计时。在秒表正常运行的情况下,如果按下“Split/Reset”键,显示停止在按键时的时间,但秒表仍然在计时;再次按下该键,秒表恢复正常显示。在秒表暂停计时的情况下,按下“Split/Reset”键,秒表复位归零。 图2.2.1 实验原理图 图2.2.2秒表实物图2.3系统需求和解决方案首先根据设计的要求明确设计的目

21、的,并根据设计需求制定相应的设计方法,设计出不同的设计模块,画出秒表设计的总框图,在设计时根据已有的设计框图一步步设计各个子模块。在设计一个秒表电路时,需要先设计各个不同的子模块,然后进行模块的综合。根据我们的习惯我们可以按照从左到右的顺序依次建立模块并进行组合。设计电路时遵循从上到下的设计原则,首先从系统设计入手,在顶层进行功能划分和结构设计,顶层的每个子模块均可完成一个独立的功能,子模块在调试成功后可生成一个默认的符号,以供上一层使用。考虑到实验电路板条件有限,仅有48MHZ的晶体振荡器,为获取准确时间,需要1KHZ的时钟信号,且实际使用时又涉及到计数,进位,8段数码管显示,暂停时的时间显

22、示和保存,各部分联动及按键的消抖等诸多问题,故在分模块的设计时可为分频器电路,按键消抖电路,控制电路,计数电路,锁存电路,扫描和显示电路。以下为各部分功能简述:图2.3.1 实验板实物图1.分频器对产生的时钟信号的48MHz晶体振荡器进行分频,先产生1KHz产生时间基准信号,用以控制8个数码管以扫描方式显示计时结果。 再对1KHz的分频信号再进行10分频,从而产生100Hz的基准信号,用于秒表最后一位的显示。2.按键消抖电路 在按键按下时,FPGA的输入为低电平;松开按键时,FPGA的输入为高电平,但是在按下按键和松开按键的瞬间会出现抖动现象,影响秒表的运行,因此需要按键消抖电路,用以消除按键

23、输入信号抖动的影响,输出单脉冲。3.控制器控制计数器的运行、停止以及复位。产生锁存器的使能信号,控制模块应包括开始计时/停止计时、分段/复位两个按钮, 即电路设计经常用到的使能端和清零端,这两个控制端口直接接到计数器的清零和史能端即可实现复位、 开始计时/停止计时; 但是外围使能输入需要经过使能转换电路后, 才可变为计数器可用的使能控制信号。 因此在输入使能信号和计数器使能输入之间需设计一个信号转换模块。显示计数结果的模块实现较为简单, 只需将六位计数结果通过七段译码电路接到输出即可点亮数码管, 无需时序控制, 直接用组合逻辑电路就可以实现。 数码管显示可以采用扫描显示, 用一个频率1KHz的

24、信号扫描一个多路选择器 , 实现对六位已经锁存的计数结果的扫描输出。该模块部分VHDL源程序见附录。状态图如图2.3.3所示: 图2.3.2 状态图4.计数器 对时间基准脉冲进行计数,完成10进制,6进制的计数功能,并在最后把他们进行综合级联,组成两个60进制,一个100进制的计数器。5.数据锁存器 锁存数据使显示并保持暂停。6.扫描显示的控制电路包括扫描计数器、数据选择器和7段译码器,控制8个数码管以扫描方式显示计时结果。总框图如图2.3.3所示 总设计框图2.3.1分频器设计 实验板提供48MHz 的震荡信号,要求输出频率分别为1KHz和100Hz。分频器的实现原理是基于计数器的方法设计的

25、,通过对若干个震荡信号的计数来实现输出信号的翻转 ,故而实现了分频。要得到1KHz 的方波,需要48000分频,同时若想得到100Hz的方波,需要再对得到的1KHz的时钟信号再进行10分频。对时钟分频模块是将输入的外部48MHz的时钟信号进行分频,从而产生用来消抖和用于控制的1KHz的时钟信号clk_out和用于秒表内部计时的100Hz的时钟信号clk,输入信号实验板晶振产生的48MHz的时钟信号,输出信号分别是用于消抖和控制的clk_out和用于计数的时钟信号clk ,如图示,本次设计,我使用的方法是取第24000次翻转,从而达到48000次一个周期实现1KHZ信号的获取,模块图如图1: 图

26、1 2.3.2消抖电路设计 由于秒表采用按键的输入方式,按键产生的时间和持续的时间的长短是随机的,存在各种原因引起的电平抖动现象,因此需要在每个开关后面加一个按键输入模块。消抖模块应能排除在按键按下电平不能稳定变化,出现纹波的情况下,对按键电平的识别。按键输入模块的作用是保证系统能捕捉到输入脉冲,并保证每按一键,只形成一个宽度为模块时钟周期的脉冲。 当按键按下时,做一个延时,一段延时后,仍检测出按键为低电平,则认为按键按下,否则不判定为按键按下。本设使用计的按键消抖模块的思想为,当按键按下后,在所设定的一小段时间内,持续维持低电平,则判断为真正按下,输出有效。2.3.3控制器 使能控制是为了产

27、生使能控制信号,在该控制信号作用下使输出发生翻转。按键输入每来一个上升沿,使能输出电平变化一次。即实现了每按一次按键计数器在停止和开始计数之间切换。控制模块的主要作用是产生秒表内部的定时计数的计数允许信号,该模块的输入信号分别是两个去除抖动后的启动信号ajxss,ajxsr,以及时钟信号clk_out,输出分别为用于控制计数器的清零信号kzrst,控制计数器使能信号的kzcin,以及控制锁存器的信号kzen,控制模块的引脚如图2示: 图22.3.4计数器秒表计数模块主要是用于实现秒表的定时计数功能。由于实验板数码管数量限制,计数器由六个计数器级联实现,其中4个十进制计数器、2个六进制计数器。本

28、实验方案采用同步级联实现。本设计使用的是异步清零和同步使能,即当清零有效时,计数器立即清零,而当使能有效时,只有当时钟上升沿到来时,才进行暂停或开始计数的功能。使能输入即进位输入。首先先判断清零是否有效,当有效时,执行清零操作,q值为0。当清零无效时,并且使能有效是,进行计数。计数输出为四位二进制数q。最后判断当计数值满并且使能有效时,进位输出有效。六进制计数器原理与十进制计数器类似。只是q值最大为“0101”。秒表计数模块的输入信号包括经过分频的100Hz时钟信号以及用于控制清零复位信号rst和使能的cin。秒表计数模块的输出信号就是秒表的计时信息,包括分十位信号,分个位信号,秒十位信号,秒

29、个位信号,0.01秒十位信号,0.01秒个位信号,并将输出信号与锁存器相连,作为锁存器的输入信号。根据计数器的知识我们可以知道,可以将6个计数器级联实现这个功能。利用分频器得到0.01s的方波信号,以此作为每一个计数器的clk,计数器计算上升沿,得到输出与进位,此计数器的进位作为下一个计数器的使能控制端cin,依次类推。一共有7个计数器,第1、2、4、7个计数器是十进制,第5、8个计数器是6进制。其中rst为复位清零信号,cin为计数使能信号,计数器有模10和模6计数器,其引脚电路图如图3示,结构图如图4示: 图3 图 42.3.5模块设计之数据锁存器因为秒表设计中要求在计时过程中能随时固定显

30、示时间,而计时仍然继续,所以要用到锁存器。数据锁存器,在使能en=1时,将计数器传送来的数据正常传输至输出口从而正常显示,en=0时,不能将计数器传出来的数据正常送至输出,而是将之前输入送至输出,一直显示因此不能正常显示,但此时仍能正常计数,当en再次等于1时,显示将回归原来的状态。锁存器的输入为计数器的输出,锁存器结构如图5示:图52.3.6模块设计之扫描显示和控制电路显示部分直接采用实验板上的6个共阳极数码管,如上图示,若想使数码管显示,则需先使其使能端置于低电平,在本设计中为ncs=0,扫描显示和控制电路共分为3个小模块,在clk信号1khz,计数器数其上升沿,输出q2、q1、q0三位位

31、选信号 在q2、q1、q0控制下,将来自锁存器的信号某一时刻只输出一个信号 将此信号输出成数码管编码 。位选某一时刻选择一个数码管显示相应数据,即为动态扫描显示。数码管的7个段,只需将其输出端口定义到可用作数码管显示的器件的I/O引脚上即可。显示电路引脚图如图6示;图62.3.7模块设计之模块综合秒表内部模块级联框图如下:3 数字秒表的仿真结果3.1各仿真结果编写各个模块的testbench文件,进行仿真,得到仿真波形。3.2模块仿真之分频器仿真波形如图示(图3.1) 图3.13.3计数电路仿真模6计数器仿真(图3.2) 图3.2模10计数器仿真(图3.3) 图3.34实验结论 经下载仿真后,

32、从FPGA实验板的运行结果来看,该秒表实现了设计要求中包括所有扩展功能在内的全部功能,且显示时间稳定准确,按键灵敏度高。在ISE软件的开发环境下,采用自顶向下的方法有利于在早期发现结构设计中的错误,再结合基于FPGA的可编程实验板,轻松的实现了秒表的功能,利用仿真和现场观察实验结果,大大地提高了设计的可靠性和成功率,充分体现了可编程逻辑器件在数字电路中的优越性。 参考文献 1 侯伯亨,顾新,VHDL硬件描述语言与数字逻辑电路设计 2 石英,李新新,ISE应用与开发技巧 3 冯祥,可编程逻辑器件在数字系统中的应用 4 John M.Yarbrough ,Digital logic Applica

33、tion and Design 5 熊焱春,刘益成,基于FPGA的数字秒表设计 6 古天祥,王厚军,习友宝,电子测量原理 7 洪海丽,用VHDL设计数字电路 8 胡青,EDA设计中的层次化设计方法 9 刘宁宁,VHDL语言在FPGA设计中的应用 10 于斌,米秀杰,ModelSim电子系统分析及仿真附录:1,分频器电路程序- Company: - Engineer: - - Create Date: 15:50:08 03/06/2014 - Design Name: - Module Name: fenpin - Behavioral - Project Name: - Target Dev

34、ices: - Tool versions: - Description: - Dependencies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx pri

35、mitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity fenpin is port(clk:in std_logic; clk_out:out std_logic); end fenpin;architecture Behavioral of fenpin is signal new_clk: integer:=0; signal clk_out_tmp: std_logic:=0;begin process(clk) begin if rising_edge(clk) then if new_clk =

36、 23999 then new_clk = 0;clk_out_tmp = not clk_out_tmp; else new_clk = new_clk +1; end if; end if; end process; clk_out= clk_out_tmp;end Behavioral;2,消抖电路程序- Company: - Engineer: - - Create Date: 16:37:31 03/06/2014 - Design Name: - Module Name: zongxiaodou - Behavioral - Project Name: - Target Devic

37、es: - Tool versions: - Description: - Dependencies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primi

38、tives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity zongxiaodou is port( clk : IN std_logic; key_in : IN std_logic; keysr_in : IN std_logic; key_out : OUT std_logic; keysr_out : OUT std_logic);end zongxiaodou;architecture Behavioral of zongxiaodou is COMPONENT xiaodouPORT(clk : IN

39、std_logic;key_in : IN std_logic; key_out : OUT std_logic);END COMPONENT; signal zbclk:std_logic; begin zbclk zbclk,key_in =key_in ,key_out = key_out);XD2: xiaodou PORT MAP(clk =zbclk ,key_in =keysr_in ,key_out = keysr_out);end Behavioral;XD1&XD2:- Company: - Engineer: - - Create Date: 16:38:26 03/06

40、/2014 - Design Name: - Module Name: xiaodou - Behavioral - Project Name: - Target Devices: - Tool versions: - Description: - Dependencies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGN

41、ED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity xiaodou is port(clk :in std_logic; key_in:in std_logic; key_out:out std_logic); end xiaodou;architecture Behavioral of xiaodou is signal k1,k2 :std_logic;signal cnt:std_logic_vector(1 downto 0);begin process(clk,key_in)begin if clkevent and clk =0 then if cnt = 3 then k1= 1; else k1=0; cnt = cnt+1; end if; k2=k1; end if; if key_in =0 then cnt=00; end if; end proces

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服