FPGA_触发器与计数器实验报告
数电实验:触发器及其应用

数字电子技术实验报告 实验三:触发器及其应用一、实验目的:1、 熟悉基本RS 触发器,D 触发器的功能测试。
2、 了解触发器的两种触发方式(脉冲电平触发和脉冲边沿触发)及触发特点。
3、 熟悉触发器的实际应用。
二、实验设备:1、 数字电路实验箱;2、 数字双综示波器;3、 指示灯;4、 74LS00、74LS74。
三、实验原理:1、触发器是一个具有记忆功能的二进制信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
在数字系统和计算机中有着广泛的应用。
触发器具有两个稳定状态,即“0”和“1”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。
触发器有集成触发器和门电路(主要是“与非门”)组成的触发器。
按其功能可分为有RS 触发器、JK 触发器、D 触发器、T 功能等触发器。
触发方式有电平触发和边沿触发两种。
2、基本RS 触发器是最基本的触发器,可由两个与非门交叉耦合构成。
基本RS 触发器具有置“0”、置“1”和“保持”三种功能。
基本RS 触发器也可以用二个“或非门”组成,此时为高电平触发有效。
3、 D 触发器在CP 的前沿发生翻转,触发器的次态取决于CP 脉冲上升沿来到之前D 端的状态,即Q n+1 = D 。
因此,它具有置“0”和“1”两种功能。
由于在CP=1期间电路具有阻塞作用,在CP=1期间,D 端数据结构变化,不会影响触发器的输出状态。
和 分别是置“0”端和置“1”端,不需要强迫置“0”和置“1”时,都应是高电平。
74LS74(CC4013),74LS74(CC4042)均为上升沿触发器。
以下为74LS74的引脚图和逻辑图。
D R D S四、实验原理图和实验结果:设计实验:1、一个水塔液位显示控制示意图,虚线表示水位。
传感器A、B被水浸沿时会有高电平输出。
框I是水泵控制电路。
逻辑函数L是水泵的控制信号,为1时水泵开启。
设计框I的逻辑电路,要求:水位低于A时,开启水泵L;水位高于B时,关闭水泵L。
FPGA实验报告

FPGA实验报告一、实验目的本次FPGA实验目的是通过使用FPGA开发板,了解FPGA的基本原理和应用,培养学生对数字电路设计的基本能力。
二、实验原理FPGA(Field-Programmable Gate Array)是一种可编程逻辑芯片,通过在芯片中加入多个查找表、可编程互连和触发器等基本模块,使得用户可以根据实际需求程序设计芯片的逻辑功能和互连关系。
FPGA的主要优点是能快速更新设计并且重配置灵活,而且速度快、功耗低。
本次实验我们使用的FPGA开发板是Xilinx Spartan-6系列,采用的开发环境是Xilinx ISE Design Suite。
三、实验内容1.实验用到的器件及端口我们使用的FPGA开发板上有多个输入输出端口,如LED灯、开关、按键等。
其中LED灯作为输出端口,开关和按键作为输入端口。
实验中,我们通过控制开关的状态,来控制LED灯的亮与灭。
2.设计电路我们的实验电路主要由一个FPGA芯片、多个LED灯、多个开关和按键等组成。
具体设计如下:(插入电路图)3.编写代码我们使用Verilog语言来描述逻辑电路的功能,并将其编写成代码。
代码示例如下:module led_controllerinput wire CLK,input wire [3:0] SWITCH,output reg [7:0] LEDcase(SWITCH)endcaseendendmodule4.烧录代码通过Xilinx ISE Design Suite的工具链,将上述代码综合、实现、生成比特文件。
然后通过JTAG接口将比特文件烧录到FPGA芯片中。
5.实验结果实验结果是通过观察LED灯的亮灭情况来验证代码的正确性。
根据开关的不同状态,LED灯的亮灭也不同。
四、实验总结通过本次实验,我们深入了解了FPGA的基本原理和应用,并且使用了Xilinx Spartan-6系列的开发板完成了LED控制的实验。
通过观察LED灯的亮灭情况,验证了我们编写的代码的正确性。
触发器实验报告

触发器实验报告一、实验目的本次实验的主要目的是深入了解触发器的工作原理和功能,通过实际操作和观察,掌握触发器在数字电路中的应用,以及如何利用触发器实现特定的逻辑功能。
二、实验原理触发器是一种具有存储功能的基本逻辑单元,能够在时钟信号的控制下,根据输入信号的变化改变其输出状态,并保持该状态直到下一个时钟脉冲的到来。
常见的触发器类型包括 D 触发器、JK 触发器、SR 触发器等。
D 触发器是在时钟脉冲上升沿或下降沿时,将输入数据(D 端)传输到输出端(Q 端)。
JK 触发器则根据输入的 J、K 信号和时钟脉冲来决定输出状态的翻转。
SR 触发器则由置位(S)和复位(R)信号控制输出状态。
三、实验设备与材料1、数字电路实验箱2、 74LS74(D 触发器)芯片、74LS112(JK 触发器)芯片、74LS279(SR 触发器)芯片3、示波器4、逻辑笔5、杜邦线若干四、实验内容与步骤1、 D 触发器实验按照实验箱的引脚说明,将 74LS74 芯片正确插入插座。
连接时钟信号源,将其频率设置为适当的值。
将 D 输入端分别接高电平和低电平,用逻辑笔观察 Q 和 Q'输出端的状态变化,并记录在表格中。
使用示波器观察时钟信号和 Q 输出端的波形,分析其关系。
2、 JK 触发器实验插入 74LS112 芯片,按照引脚连接电路。
设置不同的 J、K 输入组合,观察并记录 Q 输出端的状态变化。
同样使用示波器观察相关波形。
3、 SR 触发器实验安装 74LS279 芯片,连接电路。
改变 S、R 输入端的电平,观察 Q 输出端的状态。
五、实验数据记录与分析1、 D 触发器实验数据| D 输入| Q 输出(上升沿)| Q 输出(下降沿)|||||| 0 | 0 | 0 || 1 | 1 | 1 |从数据可以看出,在时钟上升沿或下降沿时,D 触发器能够准确地将 D 输入端的电平传输到 Q 输出端。
2、 JK 触发器实验数据| J | K | Q 输出(上升沿)| Q 输出(下降沿)||||||| 0 | 0 |保持|保持|| 0 | 1 | 0 | 0 || 1 | 0 | 1 | 1 || 1 | 1 |翻转|翻转|分析可知,JK 触发器的输出状态根据 J、K 输入和时钟脉冲的组合进行相应的变化。
触发器_实验报告

一、实验目的1. 理解和掌握触发器的基本原理和功能。
2. 熟悉基本RS、JK、D和T触发器的逻辑功能及其应用。
3. 学习触发器之间相互转换的方法。
4. 通过实验,加深对触发器在数字电路中的应用理解。
二、实验原理触发器是一种具有记忆功能的电子器件,它可以根据输入信号和时钟脉冲的变化,在两个稳定状态之间进行切换。
触发器在数字电路中有着广泛的应用,如计数器、寄存器、时序电路等。
触发器根据时钟脉冲的触发方式分为同步触发器和异步触发器。
同步触发器在时钟脉冲的上升沿或下降沿发生状态转换,而异步触发器则不受时钟脉冲的限制,可以在任何时刻发生状态转换。
三、实验仪器与设备1. 双踪示波器2. 数字万用表3. 数字电路实验箱4. 74LS00(二输入端四与非门)5. 74LS74(双D触发器)6. 74LS76(双J-K触发器)四、实验内容与步骤1. 基本RS触发器功能测试(1)搭建基本RS触发器电路,连接实验箱中的与非门。
(2)按照实验要求,在S、R端加信号,观察并记录触发器的Q、端状态。
(3)分析实验结果,总结RS触发器的逻辑功能。
2. JK触发器功能测试(1)搭建JK触发器电路,连接实验箱中的与非门。
(2)按照实验要求,在J、K端加信号,观察并记录触发器的Q、端状态。
(3)分析实验结果,总结JK触发器的逻辑功能。
3. D触发器功能测试(1)搭建D触发器电路,连接实验箱中的与非门。
(2)按照实验要求,在D端加信号,观察并记录触发器的Q、端状态。
(3)分析实验结果,总结D触发器的逻辑功能。
4. T触发器功能测试(1)搭建T触发器电路,连接实验箱中的与非门。
(2)按照实验要求,在T端加信号,观察并记录触发器的Q、端状态。
(3)分析实验结果,总结T触发器的逻辑功能。
5. 触发器之间相互转换(1)分析基本RS触发器与JK触发器之间的转换方法。
(2)分析基本RS触发器与D触发器之间的转换方法。
(3)分析基本RS触发器与T触发器之间的转换方法。
fpga触发器及计数器实验报告

XX电力学院FPGA应用开发实验报告实验名称:触发器与计数器专业:电子科学与技术姓名:班级:学号:1.触发器功能的模拟实现实验目的:1.掌握触发器功能的测试方法。
2.掌握基本RS触发器的组成及工作原理。
3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。
4.掌握几种主要触发器之间相互转换的方法。
5.通过实验,体会EPLD芯片的高集成度和多I/O口。
实验说明:将基本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集一个FPGA芯片中模拟其功能,并研究其相互转化的方法。
实验的具体实现要连线测试,实验原理如图所示:2.计数器在VHDL中,可以用Q<=Q+1简单地实现一个计数器,也可以用LPM来实现。
下面分别对这两种方法进行介绍。
方法一:第1步:新建一个Quartus项目。
第2步:建立一个VHDL文件,实现一个8位计数器。
计数器从“00000000”开始计到“11111111”,计数器的模是256。
计数器模块还需要包含一个时钟clock、一个使能信号en、一个异步清0信号aclr和一个同步数据加载信号sload。
模块符号如下图所示:第3步:VHDL代码如下:第4步:将VHDL文件另存为counter_8bit.vhd,并将其设定为项目的最顶层文件,再进行语法检查。
第5步:语法检查通过以后,用KEY[0]表示clock,SW[7..0]表示data,SW[8~10]分别表示en、sload和aclr;LEDR[7..0]表示q。
第6步:引脚分配完成后,编译并下载。
第7步:修改上述代码,把计数器的模更改为100,应如何操作。
模为100的计数器,VHDL代码如下:方法二:使用LPM实现8位计数器。
LPM是指参数化功能模块,用LPM可以非常方便快捷地实现一个计数器。
第1步:选择Tools->MegaWizard Plug-In Manager命令,打开如下图所示的对话框。
第2步:直接单击Next按钮,出现如下图所示的对话框。
实验六 触发器实验报告

实验六触发器实验报告一、实验目的本次实验的主要目的是深入理解触发器的工作原理和应用,通过实际操作和观察,掌握触发器在数字电路中的功能和特性。
二、实验原理触发器是一种具有记忆功能的基本逻辑单元,能够存储一位二进制信息。
常见的触发器类型有 SR 触发器、JK 触发器、D 触发器和 T 触发器等。
以 D 触发器为例,其工作原理是在时钟脉冲的上升沿或下降沿,将输入数据D 传递到输出端Q。
在没有时钟脉冲时,输出状态保持不变。
三、实验设备与材料1、数字电路实验箱2、 74LS74 双 D 触发器芯片3、示波器4、导线若干四、实验内容与步骤1、用 74LS74 芯片搭建 D 触发器电路将芯片插入实验箱的插座中,按照芯片引脚功能连接电源、地和输入输出引脚。
使用导线将 D 输入端连接到逻辑电平开关,将时钟输入端连接到脉冲信号源,将 Q 和 Q'输出端连接到发光二极管或逻辑电平指示器。
2、测试 D 触发器的功能置 D 输入端为高电平(1),观察在时钟脉冲作用下 Q 输出端的变化。
置 D 输入端为低电平(0),再次观察时钟脉冲作用下 Q 输出端的变化。
3、观察 D 触发器的异步置位和复位功能将异步置位端(PRE)和异步复位端(CLR)分别连接到逻辑电平开关,测试在置位和复位信号作用下触发器的状态。
4、用示波器观察时钟脉冲和 Q 输出端的波形将示波器的探头分别连接到时钟脉冲输入端和 Q 输出端,调整示波器的设置,观察并记录波形。
五、实验结果与分析1、在 D 输入端为高电平时,每当时钟脉冲的上升沿到来,Q 输出端变为高电平;在D 输入端为低电平时,每当时钟脉冲的上升沿到来,Q 输出端变为低电平,验证了 D 触发器的正常功能。
2、当异步置位端(PRE)为低电平时,无论其他输入如何,Q 输出端立即变为高电平;当异步复位端(CLR)为低电平时,Q 输出端立即变为低电平,表明异步置位和复位功能有效。
3、从示波器观察到的波形可以清晰地看到时钟脉冲与 Q 输出端的关系,进一步验证了触发器的工作特性。
《FPGA系统设计》实验报告》时序逻辑电路的设计

《FPGA系统设计》实验报告》时序逻辑电路的设计
一、设计任务
分别设计并实现锁存器、触发器的VHDL模型。
二、设计过程
1、同步锁存器:
同步锁存器是指复位和加载功能全部与时钟同步,复位端的优先级较高。
下图为同步锁存器的VHDL程序及模型:
2、异步锁存器:
异步锁存器,是指复位与时钟不同步的锁存器。
下图为同步锁存器的VHDL程序及模型:
3、D触发器:
D触发器是最常用的触发器。
下图为简单D触发器的VHDL 模型:
4、T触发器:
T触发器的特点是在时钟沿处输出信号发生翻转。
按
照有无复位、置位信号以及使能信号等,T触发器也有多种类型。
下图为带异步复位T触发器的VHDL模型:
5、JK触发器:
JK触发器中,J、K信号分别扮演置位、复位信号的角色。
为了更清晰的表示出JK触发器的工作过程,以下给出JK触发器的真值表(如表1所示)。
表1 JK触发器真值表
按照有无复位、置位信号,常见的JK触发器也有多种类型,下图带异步复位(clr)、置位(prn)的JK触发器的VHDL模型:
三.总结
本次实验中较为顺利,在第一次课的时间内我就已经完成了必做实验与选作实验。
在实验的过程中,在防抖电路处有了较大的困难。
由于仿真中不存在此问题,在实际操作中参数选择时遇到了一定的困难。
在反复比对效果之后,我
确定了电路的参数,实现了防抖功能。
通过这次实验,我对时钟脉冲、计数器等有了更加深入的认识与理解。
FPGA实验报告

FPGA电路实验报告实验一、Nexys DDR4入门实验实验目的:1.熟悉Vivado软件的使用2.熟悉Verilog编程3.下载Bit流文件实验内容:基本步骤:1.创建新工程,完成新文件的配置 2.在sources框架下创建design sources 和constraint 3.创建输入输出(可选) 4.在对应文件下分别放入源代码、仿真代码和约束文件5.依次执行run simulation、run synthesis并最后generate bitstream生FPGA配置文件6.下载FPGA配置文件bit文件至Nexys A7主板使用器件:LED灯、电路、vivado软件实验方法:在给LED灯设置开关SW来控制LED灯的高低电平来控制LED灯的开和关源程序与实验结果:源文件:beginLED_0<=switch_0;LED_1<=switch_1;end实验结果:LD21点亮,拨动L16和J15可以控制LED灯K15,H17的变化实验总结:基本熟悉FPGA文件在vivado软件中的实现流程;设置输入输出是可选项,可在源代码中代替此功能;约束文件用于定义输入输出对应的端口。
实验二、多路选择器的FPGA实现实验目的:1.了解多路选择器的功能与原理2.了解通过vivado实现多路选择器的方法实验步骤:1.创建新工程2.在sources框架下创建design sources 、仿真文件和constraint3.分别创建两个输入输出(可选)4.在对应文件下分别放入源代码、仿真代码和约束文件5.依次执行run simulation、run synthesis并最后generate bitstream生FPGA 配置文件6.下载FPGA配置文件bit文件至Nexys A7。
源程序与实验结果:源代码:assign y=~s&a | s&b;实验结果:使用SW1和SW2作为两个数据输入端,使用SW0决定哪一个数据被选通。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电力学院
FPGA应用开发实验报告
实验名称:触发器与计数器
专业:电子科学与技术
姓名:
班级:
学号:
1.触发器功能的模拟实现
实验目的:
1.掌握触发器功能的测试方法。
2.掌握基本RS触发器的组成及工作原理。
3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。
4.掌握几种主要触发器之间相互转换的方法。
5.通过实验,体会EPLD芯片的高集成度和多I/O口。
实验说明:
将基本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集一个FPGA芯片中模拟其功能,并研究其相互转化的方法。
实验的具体实现要连线测试,实验原理如图所示:
2.计数器
在VHDL中,可以用Q<=Q+1简单地实现一个计数器,也可以用LPM来实现。
下面分别对这两种方法进行介绍。
方法一:
第1步:新建一个Quartus项目。
第2步:建立一个VHDL文件,实现一个8位计数器。
计数器从“00000000”开始计到“11111111”,计数器的模是256。
计数器模块还需要包含一个时钟clock、一个使能信号en、一个异步清0信号aclr和一个同步数据加载信号sload。
模块符号如下图所示:
第3步:VHDL代码如下:
第4步:将VHDL文件另存为counter_8bit.vhd,并将其设定为项目的最顶层文件,再进行语法检查。
第5步:语法检查通过以后,用KEY[0]表示clock,SW[7..0]表示data,SW[8~10]分别表示en、sload和aclr;LEDR[7..0]表示q。
第6步:引脚分配完成后,编译并下载。
第7步:修改上述代码,把计数器的模更改为100,应如何操作。
模为100的计数器,VHDL代码如下:
方法二:使用LPM实现8位计数器。
LPM是指参数化功能模块,用LPM可以非常方便快捷地实现一个计数器。
第1步:选择Tools->MegaWizard Plug-In Manager命令,打开如下图所示的对话框。
第2步:直接单击Next按钮,出现如下图所示的对话框。
如图所示,在左边的选择框中选择“LPM_COUNTER”,在输出文件类型单选框中选中“VHDL”,并输入文件名为“counter_lpm”。
第3步:完成设置后直接单击Next按钮,打开如下图所示的对话框。
在输出位数的下拉框中选择“8 bits”,在计数方向的单选框中选中“Up only”。
这个设置表示生成的计数器是8位加法计数器。
第4步:独立设计模为七的计数器
第4步:单击Next按钮后,出现如下图所示的对话框。
在该对话框中选择添加额外的端口,在这里选中“Count Enable”选项,表示添加了一个计数使能端口,此时在左边的图形符号中可以看到多了一个“cnt_en”的引脚。
第5步:单击Next按钮,打开如下图所示的下一个对话框。
在同步输入(Synchronous inputs)处选择“Load”,在异步输入(Asynchronous inputs)处选择“Clear”。
表示在计数器中添加了一个同步置数端和一个异步清0端,在左边的图形符号中可以看到又添加了一个aclr、sload和用于置数用的
data[7..0]。
第6步:继续单击Next按钮直到结束为止。
到此即完成了一个8位计数器的设计,同时生成了一个VHDL文件此couter_lpm.vhd。
第7步:接着需要将生成的couter_lpm.vhd文件添加到项目中,如下图所示,在项目浏览器窗口中,右击“Device Design Files”,在下拉菜单中选择“Add/Remove Files in Project”命令。
第8步:选择添加文件命令后,打开如下图所示的对话框。
在“File name”处可直接输入将添加的文件名,或通过点击右边的浏览按钮,打开浏览窗口,选择需要添加的文件。
然后点击右边的Add按钮,即完成。
第9步:将couter_lpm.vhd设定为顶层设计文件,进行语法检查后,执行与方法一相同的操作即可。
3.时钟电路
利用上面设计好的计数器和分频器设计一个实时的时钟。
一共需要1个模24计数器、2个模6计数器、2个模10计数器、一个生成1Hz的分频器和6个数码管解码器。
最终用HEX5~HEX4显示小时(0~23),用HEX3~HEX2显示分钟(0~59),用HEX1~HEX0显示秒钟(0~59)。
具体步骤如下:
第1步:新建一个QuartusII工程,将其命名为Clockcircut。
第2步:建立各功能模块(计数器、分频器及7段数码管)的VHDL文件,并分别将它们设置成顶层文件,进行编译和仿真。
(1)模为24的计数器VHDL代码:
(2)模为6的计数器VHDL代码:
(3)模为10的计数器VHDL代码:
(4)7段数码管的VHDL代码:
(5)50M分频的分频器VHDL代码:
第3步:语法检查通过后直接生成符号。
第4步:采用图形编辑器,将几个模块连接起来构成一个时钟。
第5步:将原理图保存为clockcircuit.bdf,并进行语法分析,确定无误后在进行引脚分配。
第6步:锁定引脚以后,对项目进行全编译,然后下载到开发板上观察实验现象。