从D的触发机制到寄存器的同步清零

这篇具有很好参考价值的文章主要介绍了从D的触发机制到寄存器的同步清零。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从D触发器触发机制到寄存器的同步清零

之前助教向我们介绍了利用MUX进行同步清零的操作,但是对于寄存器的clk端没有进行使用。当我在看到D的触发器的触发冒险机制时,我在思考能否将这种机制应用到寄存器的同步复位上,最终结果证明是可行的。

D触发器的触发

D触发器的实现

我在这里截取了PPT中D触发器的一种实现方式,通过对于时钟信号以及时钟信号的非的与操作,利用1冒险,实现了上升沿那一小瞬间的数据写入。

从D的触发机制到寄存器的同步清零

关键部分在这一部分

从D的触发机制到寄存器的同步清零

D触发器触发原理——冒险(1冒险)

以下是PPT组合逻辑最后对于竞争和冒险的讲解

从D的触发机制到寄存器的同步清零

D触发器利用的就是A*~A的冒险机制,当A端为低电平时,~A端为高电平,当A端变成高电平的一瞬间(即时钟上升沿),由于非门的延迟,导致非门后的输出还来不及改变,此时与门的两端输入都为高电平,输出为高电平,但由于延迟只是很短一瞬间,之后便立即恢复稳定,即非门后输出低电平,最终与门输出为低电平。

正是这一瞬间的高电平输入,使得触发器可以存入内容,并且在之后保持不变。

寄存器同步复位的实现

同步复位实现及正确性证明

上面的D触发器是自动的触发,可是我们想实现的是可控。要实现可受控的触发,可以对以上的模块稍作改变,在与门接上第三个输入,当第三个输入为高电平时,实现触发功能,为低电平时,关闭触发功能。我们可以这样改进:

从D的触发机制到寄存器的同步清零

我们可以用逻辑表达式的形式说明这个改进的正确性:

当clr=1时,F=clk*~clk*clr=clk*~clk*1=clk*~clk 与初始功能一致

当clr=0时,F=clk*~clk*clr=clk*~clk*0=0 输出始终为0,无操作

在FSM(P0.Q4)中的效果

从D的触发机制到寄存器的同步清零

最终可顺利通过评测。

写在最后

感谢大家阅读,如有疏漏,请多多指教。文章来源地址https://www.toymoban.com/news/detail-479970.html

到了这里,关于从D的触发机制到寄存器的同步清零的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 带有时钟使能和同步清零的D触发器

    带有时钟使能和同步清零的D触发器

    每个 Slice 有 8 个 FF 。四个可以配置为 D 型触发器或电平敏感锁存器,另外四个只能配置为 D 型触发器,但是需要记得是:当原来的四个 FF 配置为锁存器时,不能使用这四个 FF 。 (1)FDCE 简介 带有时钟使能和异步清零的 D 触发器 当时钟使能(CE)为高并且异步清零信号 C

    2024年02月11日
    浏览(6)
  • Quartus实现寄存器:同步复位+异步复位

    Quartus实现寄存器:同步复位+异步复位

    图1 寄存器输入输出引脚 图2 输入为高电平-例1 同步复位和异步复位都存在于时序逻辑中,与组合逻辑相比对毛刺有屏蔽作用。 图3 组合逻辑和时序逻辑的区别 当复位为高电平时,组合逻辑的结果是其输入,时序逻辑的输出需参考上升沿,此时红色虚线处的key_in为高电平,故

    2024年02月03日
    浏览(9)
  • 用移位寄存器实现同步FIFO,带空满判断

    用移位寄存器实现同步FIFO,带空满判断

            如图所示,同步FIFO带有push信号和pop信号,push代表往队列里面压入一个数据,pop代表往队列外面排出一个数据。         同步FIFO的空满判断用一个计数器来判断,收到push信号计数器加1,收到pop信号时计数器减1,考虑同时push和pop的情况计数器不变,当计数器为

    2024年02月14日
    浏览(21)
  • stm32的BRR寄存器和BSRR寄存器

    stm32的BRR寄存器和BSRR寄存器

    1、BRR---   bit   RESET(置0)  register   //高16位无,低16位置1为0,不能写1 2 、BSRR---   bit   SET(设置1或0)       register   //低16位设置1为0 BSRR:用于低16位的作用是让指定的IO口置1;而高16位的作用是让指定的IO口置0。  

    2024年02月11日
    浏览(12)
  • 【汇编中的寄存器分类与不同寄存器的用途】

    寄存器分类 在计算机体系结构中,8086CPU,寄存器可以分为以下几类: 1. 通用寄存器: 通用寄存器是用于存储数据和执行算术运算的寄存器。在 x86 架构中,这些通用寄存器通常包括 AX、BX、CX、DX、SI、DI、BP 和 SP。其中,AX、BX、CX 和 DX 寄存器可以分别作为累加器(accumulat

    2024年02月09日
    浏览(10)
  • 寄存器内存读写指令(二) —— 多寄存器读写 LDM / STM

    寄存器内存读写指令(二) —— 多寄存器读写 LDM / STM

    有的时候,CPU可能会遇到 a++; b++; c++,这个时候为了提升效率,CPU可能会一次将多个寄存器里的变量保存到内存中。这个时候之前介绍的 LDR / STR 指令虽然也能实现,但只能操作一个寄存器的读写。 因此,考虑到这点,下面介绍多个寄存器的读写指令 将 多个寄存器 的数据写

    2024年02月07日
    浏览(6)
  • verilog——移位寄存器

    在Verilog中,你可以使用移位寄存器来实现数据的移位操作。移位寄存器是一种常用的数字电路,用于将数据向左或向右移动一个或多个位置。这在数字信号处理、通信系统和其他应用中非常有用。以下是一个使用Verilog实现的简单移位寄存器的示例: module ShiftRegister (   inpu

    2024年02月05日
    浏览(11)
  • 常见的寄存器

    常见的寄存器

    一、 常见寄存器的分类 1.通用寄存器(EAX EBX ECX EDX EBP ESP ESI EDI) 2.段寄存器(CS DS SS ES FS GS) 3.指令指针寄存器(EIP) 4.标志寄存器(EFLAGS) 二、 通用寄存器 通用寄存器分为前加上字母E表示32位寄存器,普通的32位寄存器分为高16位和低16位,低16位通用寄存器有具体名称,

    2024年02月07日
    浏览(3)
  • ARM寄存器组织

    ARM寄存器组织

     ARM有37个32位长的寄存器: 1个用做PC(Program Counter); 1个用做CPSR(Current Program Status Register); 5个用做SPSR(Saved Program Status Registers); 30个通用寄存器。 ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器均为32位的寄存器。6个状态寄存器,用以标识CPU的工作状

    2024年02月01日
    浏览(22)
  • 寄存器(详解)

    寄存器(详解)

            想象你在做菜的过程中,寄存器的作用可以类比为你在炒菜时使用的炉灶上的炊具和炊具支架。炊具支架上放置的是你即将使用的食材和调料,而这些食材和调料就相当于寄存器中的数据。 炊具支架: 炊具支架类似于CPU内部的寄存器。它们都是容量相对较小、位

    2024年02月05日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包