收藏 分销(赏)

数字逻辑实验指导书.doc

上传人:丰**** 文档编号:3397574 上传时间:2024-07-04 格式:DOC 页数:46 大小:2.25MB
下载 相关 举报
数字逻辑实验指导书.doc_第1页
第1页 / 共46页
数字逻辑实验指导书.doc_第2页
第2页 / 共46页
数字逻辑实验指导书.doc_第3页
第3页 / 共46页
数字逻辑实验指导书.doc_第4页
第4页 / 共46页
数字逻辑实验指导书.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、数字逻辑实验指导书目 录前 言1实验一 通过3-8译码器实例学习Quartus Prime3实验二 4选1多路选择器设计19实验三 异步清零和同步使能加法计数器设计21实验四 八位七段数码管显示电路的设计23实验五 整数分频器的设计26实验六 加减法运算器设计29实验七 状态机设计32实验八 设计七人表决器38实验九 设计四人抢答器40实验十 可控脉冲发生器的设计43实验一 通过3-8译码器实例学习Quartus一、 实验目的1、 通过简朴的3-8译码器的设计,掌握组合逻辑电路的设计方法。2、 初步掌握Quartus软件使用方法和设计流程。3、 掌握组合逻辑电路的静态测试方法。4、 掌握远程云

2、端硬件实验平台的使用。二、 实验原理3-8译码器顾名思义三输入,八输出。当输入信号按二进制方式的表达值为N时,标号为N的输出端输出高电平表达有信号产生,而其它则为低电平表达无信号产生。由于三个输入端能产生的组合状态有八种,即二进制07,所以输出端在每种组合中仅有一位为高电平。其真值表下表所示输入输出a2a1a0y7y6y5y4y3y2y1y00000000000100100000010010000001000110000100010000010000101001000001100100000011110000000译码器不需要像编码器那样用一个输出端指示输出是否有效。但可以在输入中加入一个输出

3、使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表达无任何信号。本例设计中没有考虑使能输入端,读者自己设计时可以考虑加入使能输入端时,程序如何设计。三、 实验内容 本实验通过VHDL实现一个38译码器功能模块,通过改变输入a2.0的值,从而改变输出y0y7的数值。实验中信号与管脚连接见下表信号名称FPGA I/O名称功能说明a0Pin_P93位输入a1Pin_R9a2Pin_T9y0Pin_A38位输出y1Pin_B4 y2Pin_A4 y3Pin_B5 y4Pin_A5 y5Pin_C6 y6Pin_B6 y7Pin_A6

4、四、 实验环节下面将通过这个实验,向读者介绍在Quartus软件下项目文献的生成、编译、管脚分派以及时序仿真等的操作过程。(本实验指导书使用Quartus Prime 17.1 Lite 版本)1 建立工程1)选择开始菜单下或者桌面上的Quartus图标, 运营Quartus软件,进入下图所示界面。选择软件中的菜单FileNew或者界面中的New 图标,选择新建New Quartus Prime Project,进入新建工程对话框。3) 点击NEXT进入工程设定对话框如下图所示。第一个输入框为工程工作文献夹地址输入框,设定好后所有工程相关文献将统一存放在该文献夹下;第二个输入框为工程名输入框;

5、第三个输入框为该工程的顶层文献名输入框。本例中工程文献夹名、工程名、顶层文献名都为decoder38。4) 点击NEXT,进入工程类型对话框,选择Empty project。5) 点击NEXT,进入工程文献对话框。在该界面下我们可以添加工程所需的文献,这里由于是新建工程故不添加任何文献。6) 点击NEXT,进入器件选择对话框,这里我们选择FamilyCyclone E;PackegeFBGA;Pin count256然后选择下方芯片EP4CE10F17C8即FPGA平台主芯片。7) 点击NEXT进入EDA工具设立对话框,如下图所示,在这里我们将仿真工具设立为ModelSim-Altera,即选

6、择SimulationModelSim-AlteraVHDL。8) 点击NEXT进入工程信息汇总对话框。该对话框汇总了本工程中所有的设立信息,确认无误后点击NEXT进入工程编辑界面。2、 Quartus Prime开发环境简介建立工程后就可以进入Quartus Prime集成开发环境(如下图所示)从图中可以看出Quartus Prime集成开发环境大体可以分为4个窗口,最左上角为工程管理窗口,涉及原代码文献、约束文献和仿真测试文献的管理;左中窗口为工程流程向导,涵盖FPGA开发过程中分析、综合、管脚分派、布局布线及静态时序分析的整个流程;右边主窗口为各种文献和报表的打开窗口;最下方窗口为工程信

7、息框,显示综合过程信息等内容。有了以上基本结识,下面我们就来实现本实验指导书的第一个实验3-8译码器。3、工程实现1)如下图所示,点击菜单 FileNew,在新建菜单下选择VHDL File。 2)在新建的文献内输入相应的设计代码,代码如下:LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY decoder38 IS PORT (a : IN std_logic_vector(2 DOWNTO 0); y : OUT std_logic_vector(7 DOWNTO 0);END decoder38;ARCHITECTURE rtl OF deco

8、der38 ISBEGIN PROCESS (a) BEGIN CASE a IS WHEN 000 = y y y y y y y y y Pin Planner。此时应看到如下界面在界面下方的窗口中的输入输出信号后,输入相应的 FPGA 管脚标号(或将信号拖拽到上方的 Package 图中相应的管脚上),并指定 I/O输入输出标准。(远程云端硬件实验平台I/O电压电流均为3.3V 2mA)。管脚设立完毕后如图,关闭Pin Planner即完毕管脚分派6) 管脚约束完毕后,就可以指定下载所需文献的类型。远程云端硬件实验平台下载需要.rbf类型的下载文献,该文献的生成需要在工程中设定后才可由Q

9、uartus Prime软件自动产生。具体方法如下,一方面点击菜单栏中的AssignmentsDevice,选择Device and Pin Options。然后选择Programming Files,在右侧对话框中勾选Raw Binary File(.rbf),点击OK确认。此时工程全编译后Quartus软件即会自动生成远程云端实验平台所需的.rbf下载文献。7) 点击菜单栏中的ProcessingStart Compilation或者图标栏中的完毕整个工程的编译。8) 假如将文献下载到本地开发板,则点击菜单栏中ToolsProgrammer或者图标栏的Programmer,进入硬件编程管理

10、界面。将Altera USB Blaster的USB端连接电脑,JTAG端连接开发板JTAG口,打开开发板电源。将Hardware Setup选择成USB-Blaster,Mode选择成JTAG,同时选择工程文献夹下的.sof文献作为写入文献。点击 Start,将.sof文献下载到开发板上的 FPGA 中,本工程完毕。五、实验报告1、进一步熟悉和理解Quartus Prime软件的使用方法和工程实现的流程。2、仿照3-8译码器实现数字电路中最基本的与门、或门、非门及比较器、多路选择器等基本逻辑电路的VHDL代码。实验二 4选1多路选择器设计一、 实验目的1、 了解多路选择器设计的原理。2、 进

11、一步熟悉Quartus Prime软件的使用方法和VHDL输入的全过程。3、 进一步掌握实验系统的使用。二、 实验原理多路选择器是数字系统设计中经常使用的模块,其特点是在选择信号控制下,输出端与拟定的数据通道联通,并随数据通道的信号变化而变化。在本实验中,我们将实现一个4选1多路选择器,因此将有一个2位的选择信号,4个数据输入信号和1个数据输出信号。三、 实验内容本实验规定通过VHDL实现一个4选1多路选择器。通过选择信号sel1.0实现数据输出通路dataout在不同的数据输入通路datain0datain3之间切换,并观测输出信号随输入信号的变化而变化。实验中信号与管脚连接如下表信号名称F

12、PGA I/O名称功能说明sel0Pin_P9通路选择信号sel1Pin_R9datain0Pin_T9数据输入通路datain1Pin_N8datain2Pin_P8datain3Pin_R8dataoutPin_A3数据输出通路四、 实验环节1、 打开Quartus Prime软件,新建一个工程。2、 建竣工程之后,再新建一个VHDL空白源文献。3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,读者可参照光盘中提供的示例程序。4、 编写完VHDL程序后,保存。5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。6、 编译仿真无误后,依照拨动开关、LED与F

13、PGA的管脚连接表进行管脚分派,然后进行综合和实现。7、 用下载电缆通过JTAG口将相应的sof文献加载到FPGA中。观测实验结果是否与自己的编程思想一致。五、 实验报告1、 绘出仿真波形,并作说明。2、 进一步熟悉Quartus Prime软件3、 尝试编写VHDL程序,实现多路分派器功能。4、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。实验三 异步清零和同步使能加法计数器设计一、 实验目的1、 了解二进制计数器的工作原理。2、 进一步熟悉Quartus Prime软件的使用方法和VHDL输入。3、 理解时钟在时序逻辑电路中的作用。二、 实验原理二进制计数器是应用最

14、多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:在时钟上升沿的情况下,检测使能端是否允许计数,假如允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。在计数过程中检测异步复位信号是否有效(低电平有效),当复位信号起作用时,计数值立即清零,继续进行检测和计数。其工作时序如图所示:三、 实验内容本实验规定完毕的任务是在时钟信号的作用下,通过使能信号和异步复位信号来完毕加法计数器的计数。当使能信号有效时,计数器从0开始计数,最大计数到9后返回到0重新开始计数;当异步复位信号有效时,计数器立即清零,直到复位信号撤除后计数器开始正常工作。实验中信号与管脚连接

15、如下表信号名称FPGA I/O名称功能说明clkPin_E1系统时钟rst_nPin_C2异步复位enPin_P9同步使能cnt0Pin_A3计数器输出cnt1Pin_B4cnt2Pin_A4cnt3Pin_B5四、 实验报告1、 绘出仿真波形,并作说明。2、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。3、 说明异步复位和同步复位的区别以及各自的优缺陷。实验四 八位七段数码管显示电路的设计一、 实验目的1、 了解数码管的工作原理。2、 学习七段数码管显示译码器的设计。3、 学习数码管扫描显示的原理。二、 实验原理七段数码管是电子开发过程中常用的输出显示设备。本实验中中

16、使用的是一个八位一体、共阴极型七段数码管。其单个静态数码管如下图所示。由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。八位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,当位选信号为低电平时该位数码管被选中。同一时刻只有一位数码管被选中并点亮,下一时刻则切换到相邻位数码管,但由于切换速度不久,在视觉暂留效应的帮助下,我们看到的就是8位数码管被整体点亮。三、 实验内容本实验规定完毕的任务是在时钟信

17、号的作用下,将输入的二进制数值在八位数码管上显示。实验中选择1KHZ作为扫描时钟,输入一个4位二进制数值,译码为相应的段码后,在位选扫描信号的帮助下,在八位数码管上显示其十六进制的值。实验中信号与FPGA的管脚连接见下表。信号名称FPGA I/O名称功能说明clkPin_E1系统时钟rst_nPin_C2系统复位seg_aPin_A3段选信号seg_bPin_B4seg_cPin_A4seg_dPin_B5seg_ePin_A5seg_fPin_C6seg_gPin_B6seg_dpPin_A6del0Pin_B7位选信号del1Pin_A7del2Pin_C8del3Pin_B8del4Pi

18、n_A8del5Pin_C9del6Pin_B9del7Pin_A9data0Pin_P9四位二进制数值data1Pin_R9data2Pin_T9data3Pin_N8四、 实验报告1、 绘出仿真波形,并作说明。2、 阐明扫描时钟是如何工作的,改变扫描时钟会有什么变化。3、 实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。4、 设计实验让八位数码管不同位显示不同的数字实验五 整数分频器的设计一、 实验目的1、 学习整数分频器中偶数分频和奇数分频的电路的设计和实现方法。2、 了解和掌握分频电路实现的方法。3、 将实现的模块打包作为后续实验的IP核使用二、 实验原理整数分频器是

19、数字电路中最常用的电路模块,其作用是对时钟信号进行降频使用。整数分频中又分为偶数分频和奇数分频,顾名思义分频常数为偶数和奇数(分频常数=系统输入频率/系统输出频率)。其中偶分频相对简朴,奇数分频相对复杂,实现的原理都是运用计数器对输入时钟进行计数,当计到指定数值时将输出时钟信号取反,同时将计数器清零从新开始计数,从而实现系统时钟的降频使用。三、 实验内容本实验规定完毕的任务是对时钟信号完毕偶数分频和奇数分频,并通过设立不同的分频参数,输出不同频率的时钟信号,同时仿真查看实验效果。然后将分频后的时钟分派到观测测试引脚用示波器观测输出结果。实验中信号与fpga连接如下:信号名称FPGA I/O名称

20、功能说明clkPin_E1系统时钟rst_nPin_C2系统复位clkoutPin_A3分频时钟四、 实验设计思想偶分频:以4分频为例,当分频常数N=4时,参数FULL=1,即分频计数器从0开始每计到1时,分频输出时钟翻转一次,其时序如下图,从而达成了4分频的效果奇分频:以5分频为例,当分频常数N=5时,参数FULL0=1、FULL1=2,时钟信号clk0以系统时钟上升沿为触发点,先计数到1翻转一次,在计数到2翻转一次,实现一个占空比非50%的5分频时钟;时钟信号clk1则以系统时钟下降沿为触发点,先计数到1翻转一次,在计数到2翻转一次,实现一个占空比非50%的5分频时钟。因clk0和clk1

21、相位相差半个系统时钟,将两者相与可以得到占空比为50%的5分频时钟信号。再用一个块生成语句将两种情况结合,则可以得到一个任意整数分频模块。模块可以自动判断奇偶分频并生成相应电路。实验报告1、 输入不同的分频值绘出仿真波形和观测结果,并作说明。2、 将实验原理、设计过程、编译仿真波形和观测结果记录下来。实验六 加减法运算器设计一、 实验目的1 加深对二进制加减法的结识。2 了解用VHDL语言实现运算器器的过程。3 理解二进制转BCD码算法。二、 实验原理实验中为两个4位二进制数相加减,同时有一个加减法选择信号,当信号为1时,输出相加结果,否则输出相减结果。同时对结果的5位二进制数转换为相应BCD

22、码以适应人们十进制计数的习惯。这里重点要理解二进制数转换BCD码的算法,即大四加三算法。其转换方法如下:1 一方面将5位二进制数高位加上8位0,组成一个13位运算数;2 将运算数左移3位,同时低位补零。3 判断移位后的运算数的85位是否大于4,假如大于4则将该四位数加上3,否则不变。4 将解决后的运算数再左移1位,同时低位补零。5 再判断移位后的运算数的85位是否大于4,假如大于4则将该四位数加上3,否则不变。6 然后将解决后的运算数再左移1位,同时低位补零。此时运算数的高8位即是该数所相应的BCD码。以转换二进制数5b11101为例,其所相应的十进制数为d29,那么它所相应的BCD码为001

23、0_1001。转换过程如下表:说明11101运算数扩展0000000011101左移三位0000011101000大四加三0000101001000左移一位0001010010000大四加三0001010010000左移一位0010100100000三、 实验内容本实验的任务是实现一个简朴的4位运算器,包含加法和减法运算,通过选择信号选择是将两数值相加还是相减,同时输出结果的BCD码。实验中信号与fpga连接如下:信号名称FPGA I/O名称功能说明selPin_P9运算选择dataA0Pin_T9运算数AdataA1Pin_N8dataA2Pin_P8dataA3Pin_R8dataB0Pi

24、n_T8运算数BdataB1Pin_R7dataB2Pin_T7dataB3Pin_N6dataout0Pin_A3运算结果dataout1Pin_B4dataout2Pin_A4dataout3Pin_B5dataout4Pin_A5dataoutBCD0Pin_C6BCD码结果dataoutBCD1Pin_B6dataoutBCD2Pin_A6dataoutBCD3Pin_B7dataoutBCD4Pin_A7dataoutBCD5Pin_C8dataoutBCD6Pin_B8dataoutBCD7Pin_A8四、 实验报告1、 绘仿真波形,并作说明。2、 设计实验用数码管来显示运算器的结

25、果。3、 设计实验实现BCD码转换为二进制数。4、 实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。实验七 状态机设计一、实验目的1 理解什么是状态机。2 纯熟运用一段式、二段式、三段式实现状态机。二、实验原理本实验要实现的状态机的状态转移图如下所示:其中状态为S0到S3,根据输入信号in0到in3不同的值在各个状态之间切换,同时输出相应的数值。下面我们来看一下什么是状态机。状态机的本质就是对具有逻辑顺序或时序规律事件的一种描述方法。状态机有三个基本要素即:l 状态:也叫状态变量。在逻辑设计中,使用状态划分逻辑顺序和时序规律。如上图中的S0到S3即为状态转移图的4个状态。l

26、输出:输出指在某一个状态时特定发生的事件。如上图中的outdata,outdata的输出总是随着着状态的变化而变化。l 输入:指状态机中进入每个状态的条件,有的状态机没有输入条件,其中的状态转移较为简朴,有的状态机有输入条件,当某个输入条件存在时才干转移到相应的状态。上图中in0到in3即为状态机的输入,状态机根据输入的不同,跳转到不同的状态。根据状态机的输出是否与输入条件相关,又可将状态机分为两大类:摩尔( Moore)型和米勒( Mealy)型。摩尔状态机的输出仅仅依赖于当前状态,而与输入条件无关;米勒型状态机的输出不仅依赖于当前状态,并且取决于该状态的输入条件。他们的区别可以见下图:本实

27、验的状态机的输出仅取决于当前状态,那么这显然是一个摩尔型状态机。用VHDL实现一个状态机,有三种描述方式,即一段式、二段式和三段式。l 一段式状态机:将整个状态机写到 1 个 always 模块里面,在该模块中即描述状态转移,又描述状态的输入和输出。其电路结构可以由下图表达:l 二段式状态机:一个 always 模块采用同步时序描述状态转移;另一个模块采用组合逻辑判断状态转移条件,描述状态转移规律以及当前状态输出。其电路结构可以由下图表达:l 三段式状态机:一个 always模块采用同步时序描述状态转移;第二个采用组合逻辑判断状态转移条件,描述状态转移规律;第三个 always 模块使用同步时

28、序电路描述每个状态的输出。其电路结构可以由下图表达: 一般而言,推荐的 FSM 描述方法是后两种,即两段式和三段式 FSM 描述方法。其因素为: FSM 和其他设计同样,最佳使用同步时序方式设计,以提高设计的稳定性,消除毛刺。状态机实现后,一般来说,状态转移部分是同步时序电路而状态的转移条件的判断是组合逻辑。两段式之所以比一段式编码合理,就在于两段式编码将同步时序和组合逻辑分别放到不同的 always 程序块中实现。这样做的好处不仅仅是便于阅读、理解、维护,更重要的是利于综合器优化代码,利于用户添加合适的时序约束条件,利于布局布线器实现设计。而一段式 FSM 描述不利于时序约束、功能更改、调试

29、等,并且不能很好的表达米勒 FSM 的输出,容易写出 Latches,导致逻辑功能错误。 在一般两段式描述中,为了便于描述当前状态的输出,很多设计者习惯将当前状态的输出用组合逻辑实现。但是这种组合逻辑仍然有产生毛刺的也许性,并且不利于约束,不利于综合器和布局布线器实现高性能的设计。因此假如设计运营额外的一个时钟节拍的插入( latency),则规定尽量对状态机的输出用寄存器寄存一拍。但是很多实际情况不允许插入一个寄存节拍,此时则可以通过三段式描述方法进行解决。三段式与两段式相比,关键在于根据状态转移规律,在上一状态根据输入条件判断出当前状态的输出,从而在不插入额外时钟节拍的前提下,实现了寄存器

30、输出。三、实验内容本实验的任务是实现一个简朴的4状态状态机,根据输入信号in0in3的不同值在各个状态之间切换,同时输出相应的数值。规定分别由一段式、二段式和三段式状态机实现同一个状态转移图。实验中信号与fpga连接如下:信号名称FPGA I/O名称功能说明clkPin_E1系统时钟rst_nPin_C2系统复位in0Pin_P9输入信号in1Pin_R9in2Pin_T9in3Pin_N8outdata0Pin_A3状态输出outdata1Pin_B4outdata2Pin_A4outdata3Pin_B5四、实验报告1 绘仿真波形,并作说明。2 说明不同形式状态机的差异和优劣性。3 实验原

31、理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。实验八 设计七人表决器一、 实验目的1、 熟悉七人表决器的工作原理。2、 进一步了解实验系统的硬件结构。二、 实验原理所谓表决器就是对于一个决议,由多个人投票,假如批准的票数过半,就认为此决议可行;否则假如否决的票数过半,则认为此决议无效。七人表决器顾名思义就是由七个人来投票,当批准的票数大于或者等于4时,则认为批准;反之,当否决的票数大于或者等于4时,则认为不批准。实验中用7个输入来表达七个人,当相应输入为1时,表达此人批准,否则表达此人反对。若表决的结果为通过,则pass信号为1;否则,pass信号为0。同时,显示通过的票数。三、

32、 实验内容本实验实现一个简朴的七人表决器的功能。用7位输入代表7个人,结果显示通过与否,并显示批准的人数。 实验中信号与fpga连接如下:信号名称FPGA I/O名称功能说明vote0Pin_P97人投票信号vote1Pin_R9vote2Pin_T9vote3Pin_N8vote4Pin_P8vote5Pin_R8vote6Pin_T8passPin_A3通过信号sum0Pin_B4批准人数sum1Pin_A4sum2Pin_B5四、 实验报告1、绘出仿真波形,并作说明。2、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。3、试在此实验的基础上增长一个表决的时间,只的在这

33、一时间内的表决结果有效。4、用数码管显示通过的票数。实验九 设计四人抢答器一、 实验目的1、熟悉四人抢答器的工作原理。2、加深对VHDL语言的理解。3、掌握EDA开发的基本流程。二、 实验原理抢答器在各类竞赛性质的场合得到了广泛的应用,它的出现,消除了本来由于人眼的误差而未能对的判断最先抢答的人的情况。抢答器的原理比较简朴,一方面必须设立一个抢答允许标志位,目的就是为了允许或者严禁抢答者按按钮;假如抢答允许位有效,那么第一个抢答者按下的按钮就将其清除,同时记录按钮的序号,也就是相应的按按钮的人,这样做的目的是为了严禁后面再有人按下按钮的情况。总的说来,抢答器的实现就是在抢答允许位有效后,第一个

34、按下按钮的人将其清除以严禁再有按钮按下,同时记录清楚抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。三、 实验内容本实验的任务是设计一个四人抢答器,具体规定为:按下开始按键一次,允许一次抢答,这时4个抢答信号中第一个按下的按键将抢答允许信号清除,同时点亮相应指示灯,用来表达相应的按键抢答成功,此时其他按键再按下均无效。实验中信号与fpga连接如下:信号名称FPGA I/O名称功能说明clkPin_E1系统时钟rst_nPin_C2系统复位startPin_P9抢答开始信号answer0Pin_R9抢答信号answer1Pin_T9answer2Pin_N8answer3Pin_P8s

35、tart_flagPin_A3抢答开始指示信号answer_num0Pin_B4抢中选手指示answer_num1Pin_A4answer_num2Pin_B5answer_num3Pin_A5四、 实验报告1、 绘出仿真波形,并作说明。2、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。实验十 可控脉冲发生器的设计一、 实验目的1、 了解可控脉冲发生器的实现机理。2、 学会用示波器观测FPGA产生的信号。3、 学习用VHDL编写复杂功能的代码。二、 实验原理脉冲发生器就是要产生一个脉冲波形,而可控脉冲发生器则是要产生一个周期和占空比可变的脉冲波形。可控脉冲发生器的实现原

36、理比较简朴,可以简朴的理解为一个计数器对输入的时钟信号进行分频的过程。通过改变计数器的上限值来达成改变周期的目的,通过改变电平翻转的阈值来达成改变占空比的目的。下面举个简朴的例子来说明其工作原理。假如有一个计数器T对时钟分频,其计数的范围是从0N,另取一个M(0MN),若输出为Q,那么Q只要满足条件时,通过改变N值,即可改变输出的脉冲波的周期;改变M值,即可改变脉冲波的占空比。这样输出的脉冲波的周期和占空比分别为:三、 实验内容本实验的任务就是要设计一个可控的脉冲发生器,规定输出的脉冲波的周期和占空比都可变。具体的实验过程中,时钟信号选用时钟模块产生的1kHz时钟,然后再用add和sub信号来

37、控制脉冲波的周期与占空比。实验中信号与fpga连接如下:信号名称FPGA I/O名称功能说明clkPin_E1系统时钟rst_nPin_C2系统复位add_nPin_P9N值控制信号sub_nPin_R9add_mPin_T9M值控制信号sub_mPin_N8pulsePin_B11脉冲信号cnt_n0Pin_A3N值cnt_n1Pin_B4cnt_n2Pin_A4cnt_n3Pin_B5cnt_m0Pin_A5M值cnt_m1Pin_C6cnt_m2Pin_B6cnt_m3Pin_A6四、 实验报告1、 绘出仿真波形,并作说明。2、 在实验的基础上重新设计,使程序改变频率的时候不会影响占空比的改变。3、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。

展开阅读全文
相似文档                                   自信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 

客服