从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触发器

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

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

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

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

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

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

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

    2024年02月09日
    浏览(50)
  • 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日
    浏览(44)
  • 寄存器内存读写指令(二) —— 多寄存器读写 LDM / STM

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

    2024年02月07日
    浏览(58)
  • Arm汇编---寄存器

    寄存器:r0~r15, sp, lr, sb, sl, fp, ip, pc 条件码:eq, ne, hs, lo, mi, pl, vs, vc, hi, ls, ge, lt, gt, le, al ------------------------------------------ 一、数据寄存器 --------------------------------------------- ------------------------------------------ 二、指针寄存器 --------------------------------------------- --------------------

    2024年02月02日
    浏览(44)
  • ARM寄存器组

    CM3 拥有通用寄存器 R0‐R15 以及一些特殊功能寄存器。 R0-R7也被称为低组寄存器,所有指令可以访问它们,它们的字长为32位,复位后的初始值是不可预料的。 R8-R12也被称为高组寄存器,所有指令可以访问它们,它们的字长为32位,复位后的初始值是不可预料的。 R13寄存器中

    2024年02月10日
    浏览(48)
  • ARM 寄存器

    Cortex A 系列的 ARM 处理器共有 40 个 32 位寄存器,其中 33 个为通用寄存器,7 个为状态寄存器。用户模式和系统模式共用同一组寄存器。 一、未分组寄存器 R0~R7 有些寄存器是所有运行模式共用的,如 R0~R7,它们被称为未分组寄存器。 在所有运行模式下,未分组寄存器都指向同

    2024年02月02日
    浏览(45)
  • 寄存器模型

    寄存器配置总线:通过控制端口,配置DUT中的寄存器,DUT可以根据寄存器的值来改变其行为。 uvm_reg_field:寄存器模型中最小的单位是具体存储寄存器数值的变量。 uvm_reg:比uvm_reg_field高一个级别,但依然是比较小的单位。下图为uvm_reg_field与uvm_reg_的关系: uvm_reg_block:一个比

    2024年02月02日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包