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决定哪一个数据被选通。
(完整word版)FPGA专题实验实验报告-西安交通大学
实验1:状态机问题一:你觉得上面这段代码中,q 到底在怎样变化?答:首先语句中缺少begin,q <= q也不合理;如果有异步复位信号,q=0;否则,如果有上升沿且a不等于1,q=q;如果有上升沿且a=1,q直接等于b;问题二:本页中,q 到底在怎样变化?答:复位时,q=0;否则q=d。
问题三:sync电路图:仿真:该电路使输入信号与时钟同步,并产生稳定脉冲信号,进行节拍分配。
四、红路灯电路系统框图:问题分析:东西南北都有车时,状态转换时,东西绿灯时间长于60s;三秒后,南北通行,绿灯时间少于40s。
计数器不能使用同一个,但可以减少触发器数目实验2:数字钟环节二仿真时注意问题:1.仿真1小时需要多少时间?答:取决于输入信号clk的频率。
2.现在的时钟是秒时钟,实际系统的时钟是50MHz.那用50MHz的时钟的情况下,仿真1小时要多少时间?如何解决该问题?答:1/50000000*60*60=0.000072 s;可以将输入信号分频。
环节三1,复位如何输入的?按键防抖如何制作的?修改按键防抖的间隔会导致什么问题?答:复位信号由clock顶层文件输入,按键防抖思路是使按键信号通过触发器进行延迟,持续输入十个上升沿才认为按键一次,避免了抖动。
增加时间会导致按键时间边长,短按可能误认为是抖动。
2,数码管的显示使用组合逻辑输出好还是时序逻辑输出好?答:组合逻辑好环节四:闰年:y1和y2分别为输入的年高两位和年低两位,y为年份,当cout=1时为闰年,cou=0时为平年。
如果y2=0则y1能被4整除时为闰年:当y2!=0时y2能被4整除则为闰年。
后面通过将y1循环加100次再加上y2得到年份y。
process(y1,y2)variable i:integer;beginif y2=0 thenif (y1 rem 4)=0 thencout<='1';else cout<='0';end if;elsif y1 rem 4=0 thencout<='1';else cout<='0';end if;i:=y1;for n in 0 to 99 loopi:=i+i;end loop;y<=i+y2;end process;实验3:SRAM环节二、两种仿真的比较lab/lab3/step1/memtest.vhd用功能仿真和时序仿真两种方法,比较一下SS的状态数值的变化。
FPGA实验报告
FPGA实验报告FPGA专业:电子信息科学与技术EDA实验一一(实验内容:用原理图输入法设计8位全加器,具体要求参见教材第六章“原理图输入设计方法“的实验与设计部分(6-1) 二(实验目的1、熟悉利用MAX+plus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法;2、通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程‘三(实验原理一个8位全加器可以由8个1一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的低位进位输入信号cin相连。
四(实验内容1、设计一位半加器和一位全加器;2、根据1设计8位全加器。
五(实验过程及结果分析(1)半加器原理图如下:波形图如下:封装后如下:(2)一位全加器波形图如下:延迟分析:封装后如下:(3)八位全加器波形图延迟分析:六、总结1 仿真结果都比较理想。
2为了提高加法器的速度,可以采用流水线技术来进行设计以提高数字电路的整体运行速度。
流水线技术就是把在一个时钟周期内执行的操作分成几步较小的操作,并在多个较高速的时钟内完成。
EDA实验二一(实验内容:简单组合电路与时序电路的设计,具体要求参见教材第四章“VHDL设计初步”中的实验与设计(4-1,4-2)。
二(实验目的:熟悉MAX+plus2的VHDL文本设计流程全过程,学习组合电路的设计,多层次电路设计,仿真和硬件测试。
三(实验内容1:利用MAX+PLUS2完成2选1多路选择器的文本编辑输入和仿真测试等步骤。
实验内容2 :引脚锁定以及硬件下载测试。
四(实验报告:1(简单组合电路的设计(1)2选1多路选择器程序如下:波形如下:(2)波形如下:2(简单时序电路的设计 (1)实验内容一:设计触发器程序如下:(2)实验内容二:设计锁存器EDA实验三一(实验内容:8位十六进制频率计设计,具体要求参见教材第五章“VHDL设计进阶”中的实验与设计(5-5)。
FPGA数电实验报告
F PG A数电实验报告(总9页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除实验报告课程名称:数字电子技术实验姓名:学号:专业:开课学期:指导教师:实验课安全知识须知1.须知1:规范着装。
为保证实验操作过程安全、避免实验过程中意外发生,学生禁止穿拖鞋进入实验室,女生尽量避免穿裙子参加实验。
2.须知2:实验前必须熟悉实验设备参数、掌握设备的技术性能以及操作规程。
3.须知3:实验时人体不可接触带电线路,接线或拆线都必须在切断电源的情况下进行。
4.须知4:学生独立完成接线或改接线路后必须经指导教师检查和允许,并使组内其他同学引起注意后方可接通电源。
实验中如设备发生故障,应立即切断电源,经查清问题和妥善处理故障后,才能继续进行实验。
5.须知5:接通电源前应先检查功率表及电流表的电流量程是否符合要求,有否短路回路存在,以免损坏仪表或电源。
特别提醒:实验过程中违反以上任一须知,需再次进行预习后方可再来参加实验;课程中违反三次及以上,直接重修。
实验报告撰写要求1.要求1:预习报告部分列出该次实验使用组件名称或者设备额定参数;绘制实验线路图,并注明仪表量程、电阻器阻值、电源端编号等。
绘制数据记录表格,并注明相关的实验环境参数与要求。
2.要求2:分析报告部分一方面参考思考题要求,对实验数据进行分析和整理,说明实验结果与理论是否符合;另一方面根据实测数据和在实验中观察和发现的问题,经过自己研究或分析讨论后写出的心得体会。
3.要求3:在数据处理中,曲线的绘制必须用坐标纸画出曲线,曲线要用曲线尺或曲线板连成光滑曲线,不在曲线上的点仍按实际数据标出其具体坐标。
4.要求4:本课程实验结束后,将各次的实验报告按要求装订,并在首页写上序号(实验课上签到表对应的序号)。
请班长按照序号排序,并在课程结束后按要求上交实验报告。
温馨提示:实验报告撰写过程中如遇预留空白不足,请在该页背面空白接续。
FPGA程序设计实验报告 JK触发器
FPGA程序设计实验报告——JK触发器一.实验目的JK触发器是一种基础电子元件,这个程序用Quartus模拟JK触发器的功能,具有异步信号清零或置1功能,同时在JK触发器程序基础上进行修改,使其具有对输出q的显示功能,在q取1时显示1,在q取0时显示0。
这里使用的是上升沿触发式JK触发器。
二.程序代码module JK(clk,j,k,q,r,s,seg);input clk,j,k,r,s;output q;output [7:0]seg;reg q=0;reg [7:0]seg;always @(posedge clk)beginif(r==1 && s==0)begin q<=0;endif(r==0 && s==1)begin q<=1;endif(r==0 && s==0)beginif(j==1 && k==1)begin q<=~q;endif(j==1 && k==0)begin q<=1;endif(j==0 && k==0)begin q<=q;endif(j==0 && k==1)begin q<=0;endendendalways @(q)beginif(q==0)begin seg<=8'b0011_1111;endif(q==1)begin seg<=8'b0000_0110;endendendmodule三.仿真结果对程序进行编译仿真之后,得到以下结果:仿真结果说明:对于上升沿式JK触发器,仅在上升沿到来是触发改变q的取值。
r和s是两个异步信号输入端,在r取1,s取0时,无论j,k输入端如何,q始终取0。
在r取0,s取1时,无论j,k输入端如何,q始终取1。
在r和s都取0时,触发器正常工作,其q值取决于上升沿到来时的j,k以及之前一个周期的q值。
时序逻辑电路实验报告
一、实验目的1. 理解时序逻辑电路的工作原理和基本结构;2. 掌握触发器、计数器等时序逻辑电路的设计方法;3. 熟悉Multisim软件在时序逻辑电路设计与仿真中的应用;4. 培养实际操作能力和分析问题、解决问题的能力。
二、实验原理时序逻辑电路是一种在时钟信号控制下,输出不仅与当前输入有关,还与电路历史状态有关的数字电路。
其基本结构包括触发器、计数器等。
触发器是时序逻辑电路的基本单元,用于存储一位二进制信息。
计数器是时序逻辑电路的一种应用,用于对输入脉冲进行计数。
三、实验内容1. 触发器实验(1)实验目的:熟悉触发器的工作原理和功能,掌握触发器的使用方法。
(2)实验内容:设计一个JK触发器,实现时钟信号控制下的同步置1、同步置0、计数等功能。
(3)实验步骤:① 使用Multisim软件,搭建JK触发器电路;② 搭建计数器电路,实现时钟信号控制下的计数功能;③ 设置输入信号,观察触发器和计数器的输出波形,验证功能。
2. 计数器实验(1)实验目的:掌握计数器的设计方法,熟悉不同计数器电路的功能。
(2)实验内容:设计一个模为24的二进制计数器和模为60的十进制计数器。
(3)实验步骤:① 使用Multisim软件,搭建二进制计数器电路;② 设置输入信号,观察计数器的输出波形,验证功能;③ 使用Multisim软件,搭建十进制计数器电路;④ 设置输入信号,观察计数器的输出波形,验证功能。
四、实验结果与分析1. 触发器实验实验结果显示,设计的JK触发器能够实现同步置1、同步置0、计数等功能。
在计数过程中,触发器的输出波形符合预期,验证了JK触发器的功能。
2. 计数器实验实验结果显示,设计的模为24的二进制计数器和模为60的十进制计数器均能实现预期的计数功能。
在计数过程中,计数器的输出波形符合预期,验证了计数器电路的功能。
五、实验总结本次实验通过设计、搭建和仿真时序逻辑电路,掌握了触发器、计数器等时序逻辑电路的设计方法,熟悉了Multisim软件在时序逻辑电路设计与仿真中的应用。
FPGA实验报告
实验1:状态机实验目的:学习FPGA设计软件教学基本要求:掌握软件流程,掌握状态机编程实验内容提要:设计一个状态机1. 你觉得上面这段代码中,q 到底在怎样变化?(实验1ppt14页)答:在上述代码中,q变化如下:首先判断复位信号 rst 是否为 0,如果是 0 则q复位为0;否则当时钟信号上升沿到来时,将d的值赋给q,再判断a的值,如果a为1,则将b赋值给次态q,如果a为其他值,则将现态q赋给次态q。
2. 本页中,q 到底在怎样变化?(实验1 ppt15页)答:如果异步复位信号rst为0,则q置0;rst不为0时,当时钟上升沿到来时,判断a的值,如果a=1,则将b的值赋给q的次态,如果a是其他值,则将q的现态赋给q 的次态,结束这个判断语句后,将d赋值给q。
3. 画出你理解的这个电路的原理图(ppt16页)4.Out1 out2 out3 out4有什么区别?out1的上升沿与下降沿和50MHz时钟的上升沿始终保持一致,周期变为50MHz时钟的6倍,实现周期扩展;out2的上升沿与clkin的上升沿保持一致,下降沿与out1的上升沿保持一致,可将clkin的数据记录下来以起数据使能作用;out3的上升沿恰好是out2的下降沿,比out2慢一拍,是更适合使用的前端使能;out4的上升沿与out3的下降沿保持一致,可以减少延迟。
2. 红绿灯实验中,该状态机最少几个触发器可以实现?该逻辑情况下红绿灯状态机最少只需8个触发器即可实现。
将3个计时计数触发器合并,并将溢出、使能触发器达成的功能改由计数数值在各状态下的交替变化,使用组合逻辑代替触发器,达成减少触发器使用的设计方案。
实验2 数字钟设计实验目的:掌握FPGA语言设计方法教学基本要求:学习基本的VHDL语言结构和设计实验内容提要:使用VHDL设计一个完整的数字钟实验问题回答:1.现在的时钟是秒时钟,实际系统的时钟是50MHz.那用50MHz的时钟的情况下,仿真1小时要多少时间?如何解决该问题?仿真一小时需要计数器计数3600次,计数脉冲由50MHz的时钟驱动。
FPGA课程设计实验报告
FPGA课程设计实验报告1. 引言本报告是针对FPGA课程设计实验的实验结果进行总结和分析。
该实验旨在通过设计一个FPGA应用电路,加深对FPGA的理论知识的理解,并提高对FPGA设计流程的掌握能力。
本实验采用Verilog硬件描述语言进行FPGA设计。
2. 实验目的本实验的主要目的有以下几点: - 通过设计一个FPGA应用电路,提高对FPGA的理论知识的理解。
- 熟悉FPGA设计流程,掌握使用Verilog语言进行FPGA设计的方法。
- 掌握FPGA设计的仿真、综合和下载的流程。
- 提高对FPGA设计中时序约束的理解和处理能力。
3. 实验环境和工具本实验的实验环境和工具如下: - FPGA开发板:Xilinx Spartan-6 - FPGA设计工具:Xilinx ISE Design Suite - 仿真工具:Xilinx ISIM4. 实验设计本实验设计了一个简单的FPGA应用电路,实现了一个4位计数器。
该计数器能够从0递增到15,然后重新从0开始计数。
计数器的递增频率可通过外部开关调节,同时采用七段数码管显示当前计数器的值。
4.1 电路结构实验设计的电路结构如下所示:电路结构图电路结构图该电路包含以下模块: - 时钟模块:用于提供递增计数器的时钟信号。
- 计数器模块:实现了一个4位计数器,并能够从0递增到15。
- 控制模块:用于控制外部开关的输入,并将结果输出到七段数码管的控制端口。
- 七段数码管模块:用于将计数器的值以七段数码管的形式显示出来。
4.2 Verilog代码根据电路结构图,我们编写了如下的Verilog代码:module counter(input wire clk,input wire reset,output wire [6:0] seg,output wire seg_en);reg [3:0] count;always @(posedge clk or posedge reset)beginif (reset)count <= 4'b0000;else if (count == 4'b1111)count <= 4'b0000;elsecount <= count + 1;endassign seg = count;assign seg_en = 1'b1;endmodule5. 实验过程5.1 仿真在进行实际FPGA设计之前,我们首先对设计的Verilog代码进行仿真,以验证其功能的正确性。
基于FPGA的数字电路实验报告
·4位累加器
1.设计方案
需要用两个模块,一个用来进行保存工作,即累加器,另一个用来实现数据相加,即加法器。这样即可每次把数据加到总和里,实现累加器的工作。
2.原理说明及框图
基本原理为书上的结构图。只要实现了两个主要模块,再用线网连接即可。
State1
0
0
State1
State10
State1
0
0
State10
Empty
State101
0
0
State101
State1010
State1
0
0
State1010
Empty
Empty
0
1
经过状态化简,上面状态已经为最简状态。
状态装换图:
在用HDL代码实现时,利用always块和case语句实现有限状态机。
答:用两个异或门,比较计数器的输出与一个加数的大小,若相等时则输出低电平到累加器的使能端,则可停止累加。
实验9序列检测器的设计
·实验目的
掌握利用有限状态机实现时序逻辑的方法。
1实验原理:
有限状态机(FSM)本质上是由寄存器和组合逻辑电路构成的时序电路。次态由当前状态和输入一起决定,状态之间的转移和变化总是在时钟沿进行。有限状态机分为Moore型和Mealy型。Moore型有限状态机输出仅由当前状态决定;Mealy型有限状态机输出由当前状态和输入同时决定。
·思考题
1.给出锁存器的定义,它与边沿触发器的区别是什么?
答:锁存器是一种对脉冲电平敏感的存储单元电路,它可以在特定输入脉冲电平作用下改变状态。边沿触发器只有在固定的时钟上升沿或者下降沿来临时改变状态。可以通过锁存器实现边沿触发器。
FPGA实验报告
电气技术实践可编程逻辑器件FPGA应用开发实验报告2016年12月目录一、实验目的二、实验要求三、实验内容四、实验代码及实验结果(1)4位二进制加法计数器(2)半加器(3)LED静态显示(4)38译码器(5)点阵扫描显示(6)步进电机状态机五、实验感想六、学习并使用FPGA的心得与体会七、电气技术实践总结一、实验目的1、熟悉使用可编程逻辑器件(Altera公司FPGA Cyclone系列EP1C6Q)。
2、熟悉使用硬件描述语言VHDL。
3、掌握FPGA集成环境(Altera公司FPGA QuartusII 开发流程。
4、熟悉使用核心目标系统板与接口电路等工作原理及其功能模块绑定信息。
5、熟悉并掌握下载线方式和下载文件的选择。
二、实验要求1、学习并掌握文本、图形等输入和时序、功能仿真方法。
2、学习并熟悉门电路、组合电路、时序电路等单一模块功能。
3、学习并设计各种不同状态机逻辑功能。
4、学习并设计由单一模块→较多功能模块集成→系统集成方法。
5、学习并选择多种模式显示(发光二极管显示、米字型数码管显示、七段数码管→动态扫描或静态扫描显示、LED点阵显示各种字符和图形或静止或移动等方式、LCD液晶显示各种字符和图形或静止或移动等方式)。
6、根据自已的兴趣和愿望,可从以下给定的实验目录中选取或自已设定功能题目。
7、实验数目没有要求,关键是看质量,是否是自已编写、调试、实现。
三、实验内容1、按指导书集成开发环境章节操作实现文本编程实例1和图形编程实例2全过程。
2、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自已规定。
在进行FPGA目标器件输入和输出引脚绑定时,输入引脚绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED点阵等显示模式。
3、在完成1位十进制计数器的基础上,可增加完成2或3等多位十进制计数器逻辑功能并用多位七段数码管来显示。
4、根据状态机工作特点,设计一个有一定功能效果的例程。
数电实验五触发器实验报告
数电实验五触发器实验报告一、实验目的二、实验原理三、实验器材四、实验步骤五、实验结果分析六、实验总结一、实验目的本次数电实验旨在通过触发器实验,加深学生对于触发器的理解和应用,掌握触发器的工作原理及其在电路中的应用。
二、实验原理1. 触发器概述触发器是一种存储器件,可以将输入信号转换成稳定的输出信号,并且能够记住先前输入过的状态。
触发器有两个稳态(高电平或低电平),并且只有在时钟信号到来时才会改变状态。
2. SR锁存器SR锁存器是最简单的触发器之一,由两个交叉耦合反相输出(NOR或NAND)门构成。
当S=1,R=0时,Q=1;当S=0,R=1时,Q=0;当S=R=0时,保持上一个状态不变。
但是SR锁存器存在一个致命缺陷——SET和RESET不能同时为1。
3. D锁存器D锁存器是由一个数据输入口和一个时钟输入口组成。
当D为1且时钟信号到来时,Q会被置为1;当D为0且时钟信号到来时,Q会被置为0。
D锁存器可以看做是SR锁存器的一种特殊情况,即S=D,R=not D。
4. JK锁存器JK锁存器是由J、K、时钟和输出端Q组成的。
当J=1,K=0时,Q=1;当J=0,K=1时,Q=0;当J=K=1时,Q状态取反;当J=K=0时,保持上一个状态不变。
JK锁存器可以看做是SR锁存器的一种改进型。
5. T锁存器T锁存器是由T、时钟和输出端Q组成的。
当T为1且时钟信号到来时,Q状态取反;当T为0且时钟信号到来时,保持上一个状态不变。
T锁存器可以看做是JK锁存器的一种特殊情况,即J=T,K=not T。
三、实验器材本次实验所需材料如下:- 数字电路实验箱- 74LS73触发器芯片- 电源线、万用表等四、实验步骤1. 按照电路图连接74LS73芯片。
2. 打开电源并接通电路。
3. 分别将CLK输入高低电平,并记录输出结果。
4. 将D输入高低电平,并记录输出结果。
5. 将J、K输入高低电平,并记录输出结果。
6. 将T输入高低电平,并记录输出结果。
- 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步:锁定引脚以后,对项目进行全编译,然后下载到开发板上观察实验现象。