verilog学习笔记6——锁存器和触发器


前言

2023.8.15


在这里插入图片描述

一、锁存器

1、基本SR锁存器——或非门实现

信号高电平有效
R:复位端
S:置位端
表达式:Q = S + R' Qn
约束条件:SR=0,也就是SR不能同时为1
在这里插入图片描述

2、基本SR锁存器——与非门实现

信号低电平有效
R:复位端
S:置位端
表达式:Q = S' + R Qn
约束条件:S+R=1,也就是SR不能同时为0

在这里插入图片描述

3、门控SR锁存器

E = 0:锁存器保持不变,锁住
E = 1:相当于正常得SR锁存器
在这里插入图片描述

4、门控D锁存器

把S取反接到R端
(4个与非门或者2个或非门+2个与门

E = 0:锁存器保持不变,锁住
E = 1:相当于正常得SR锁存器

二、触发器

1、 电平触发的RS触发器/同步SR触发器

把EN信号换成CLK即为电平触发的RS触发器
clk=0:S=R=1,锁存器保持不变
clk=1:表达式为Q = S + R' Qn
(clk=1的时候,相当于S和R接了非门再进入锁存器,所以之前与非门的时候是低电平有效,现在变成高电平有效了)

在这里插入图片描述

2、电平触发的D触发器/D型锁存器

clk=0:电路锁存
clk=1Q=D,且没有约束条件,因为输入是取反的,不可能同时为0或者同时为1
在这里插入图片描述

3、边沿触发的D触发器

主从结构实现
clk=0:clk1=1,FF1锁存D输入的数据,FF2保持不变
clk=1:clk1=0,FF1保持不变,FF2锁存数据输出
上面是上升沿有效触发
(如果要实现下降沿触发的话,只加一个反相器)
在这里插入图片描述

4、脉冲触发的RS触发器

clk=1:主触发器根据SR的状态进行翻转,从触发器不变
clk由1变为0:主触发器不再改变,从触发器按照和主触发器相同的状态翻转
在这里插入图片描述

与非门构成的SR锁存器本是低电平有效,现在接了个与非门,变成高电平有效
约束条件:SR=0(也就是S、R不能同时为1)

在这里插入图片描述

在这里插入图片描述

5、主从JK触发器

  • 主触发器clk高电平信号有效的话,翻转和置数发生在在下降沿
  • 主触发器clk低电平信号有效的话,翻转和置数发生在在上升沿
JK功能
10置1
01置0
11翻转
00保持不变

在这里插入图片描述

在这里插入图片描述

上述题目,如果在高电平期间,有毛刺的话会对主触发器电路状态造成影响,因此主从结构最好还是分来画图,先画出主触发器的变化,再根据主触发器来判断从触发器。

三、D锁存器和D触发器的verilog实现

always@(posedge clk)
	q <= d;
always@(*)
	if(EN)
		q <= d;

四、边沿触发、脉冲触发、电平触发的区别

电平触发:使能信号有效期间,数据输出随输入变化,这样会带来一些毛刺

  • 电平触发的D触发器
  • 电平触发的SR触发器

边沿触发:只在时钟上升沿或者下降沿数据有效,仅与该时刻的状态相关,能有效滤除掉毛刺

  • 边沿触发的D触发器(由两个电平触发的D触发器组成)

脉冲触发:一般是主从结构,主从触发器串联,触发信号反相
正脉冲:触发信号为高电平的时候,输入信号进入主触发器;触发信号为低电平的时候,主触发器不变,从触发器根据主触发器变化(因此信号只改变一次

  • 主从SR触发器
  • 主从JK触发器
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 锁存器触发器是数字电路中常用的元件,用于存储和控制信号的传输。在Logisim中,可以通过组合逻辑电路和时序逻辑电路来设计锁存器触发器锁存器可以通过D触发器和时钟信号来实现。当时钟信号为高电平时,D触发器会将输入信号存储在内部,当时钟信号为低电平时,D触发器会保持原来的状态。通过将多个D触发器串联,可以实现更复杂的锁存器电路。 触发器可以通过JK触发器、RS触发器或D触发器来实现。这些触发器都有一个时钟信号和一个或多个输入信号,当时钟信号为高电平时,触发器会根据输入信号的状态改变输出信号的状态。通过将多个触发器组合,可以实现更复杂的逻辑电路。 在Logisim中,可以使用内置的元件库来设计锁存器触发器电路。也可以自定义元件来实现更复杂的功能。设计电路时,需要注意时序逻辑电路的时序关系和时钟信号的稳定性,以确保电路的正确性和可靠性。 ### 回答2: 锁存器触发器是数字电路中非常重要的元件,它们可以用来存储和控制数据。本文将介绍在Logisim中如何设计锁存器触发器。 首先,让我们了解一下锁存器触发器的概念。 锁存器是一种可以将输入数据存储下来的电路,能够在其输入的时钟脉冲作用下保存数据。在下一个脉冲到来之前,锁存器会一直保持输入的状态。锁存器常用于计数器和寄存器等电路。 触发器是一种类型的锁存器,它只有一位输入和一位输出。触发器也可以用来存储数据,有时也被称为单稳态多触发器。其通过输入时钟脉冲使得输出状态改变,输出状态上升或下降;当输入脉冲结束时,它将保留输出状态,直到下一个脉冲到来才会改变状态。触发器有很多种类型,如D触发器(数据输入触发器)、JK触发器和T触发器等。 在Logisim中,我们可以很容易地设计锁存器触发器。首先,我们需要在模块列表中找到“记忆元件”选项。在“记忆元件”下拉菜单中,我们可以选择锁存器触发器使用Logisim设计锁存器时,我们需要添加以下元件:时钟、输入和输出端口、以及一个锁存器。我们可以使用“输入”元件添加输入端口,并使用“输出”元件添加输出端口。将时钟和输入连接到锁存器的时钟和数据输入线上,将锁存器的输出连接到输出线上,建立电路连接关系。我们还可以在锁存器的属性中设置初始值和存储方式。 设计触发器遵循与锁存器相同的基本步骤。我们需要选择正确的触发器类型,然后将时钟、输入和输出端口添加到电路图中。最后,我们将输出端口连接到触发器的输出线上,建立电路连接关系。 通过使用Logisim,我们可以轻松地设计锁存器触发器。我们可以根据电路的需要,选择适合的锁存器触发器类型,然后将它们添加到电路图中以实现所需的功能。 ### 回答3: 锁存器触发器设计是数字电路设计中非常常见的设计,它们都在电路中起到了存储数据的作用。这里以Logisim软件为例,简单介绍锁存器触发器设计的实现方法。 首先,我们先讲一下锁存器设计锁存器通常是用来暂时存储一些数据或状态,它可以用来存储寄存器、计数器等。Logisim中的锁存器一般由两个D触发器构成,D触发器带有时钟信号,作用是存储输入数据,并在时钟下降沿时输出数据。 对于一个双D触发器锁存器的实现方法,可以使用Logisim的内置元件D触发器和三路选择器来实现。首先,我们将两个D触发器连接在一起,并把其中一个D触发器的输出引入到另一个D触发器的输入,就构成了一个双D触发器锁存器。接着,我们再使用三路选择器来控制数据的输入和输出,将一路连接到输入数据,一路连接到上一个锁存器的输出,还有一路连接到一个常数输入,通过选择器的输入选择开关来决定数据存储或读取。 而对于触发器设计,则可以使用Logisim的内置元件JK触发器,在此不做过多赘述。当然,除了JK触发器以外,还有很多其他的触发器可以使用,例如SR触发器,D触发器等。 熟练掌握锁存器触发器设计是数字电路设计的基础,它们可以用来实现存储、计数、寄存、跳转等各种功能。无论是在课程学习还是实际应用中,都有着重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值