参考:《数字电子技术基础简明教程》(第三版)

《正点原子逻辑设计指南 V1.8》

目录

锁存器与触发器

RS锁存器

逻辑门控RS锁存器

D锁存器

D触发器

边沿检测电路

同步复位与异步复位

同步复位

异步复位


锁存器与触发器

RS锁存器

锁存器(俗称 Latch)是数字电路中的一种具有记忆功能的逻辑元件。锁存器对脉冲电平敏感的存储单元电路,它只在输入脉冲的高电平(或低电平)期间对输入信号敏感并改变状态。在数字电路中可以记录二进制数字信号“0”和“1”。

真值表:

R(Reset) S(Set)

Qn+1

0

0 Qn
0 1 1
1 0 0
1 1 不使用

逻辑门控RS锁存器

在RS锁存器的基础上增加了使能信号

D锁存器

真值表:

C D Qn Qn+1
0 X 0 0
0 X 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

D触发器

工作原理:

D触发器具有主从结构的D锁存器,主锁存器受/CLK控制,从锁存器受CLK控制。

  1. CLK=1时的情况,门G7、G8被封锁,门G3、G4打开,从锁存器的状态决定与主锁存器,Q=Qm,Q'=Qm'。输入信号D被拒之门外。
  2. CLK=0时的情况,门G7、G8打开,门G3、G4被封锁,从锁存器保持原来的状态不变,D信号进入主锁存器。但是要特别注意,这是主锁存器只跟随而不锁存,即Qm跟随D的变化,D怎么变Qm也随之怎么变。
  3. CLK上升沿时刻情况,CLK上升沿到来时,将封锁门G7、G8,打开门G3、G4,主锁存器CLK上升时刻D的值即Qm=D,随后将该值送入从锁存器,时Q=D,Q'=D'。
  4. CLK上升沿过后情况,主锁存器锁存CLK上升沿时刻D的值显然将保持不变,从而从锁存器的状态当然也不会发生变化。

综上所述,可得 Qn+1 = D   CLK上升沿时刻有效

边沿检测电路

y1 是上升沿检测输出, y2 是下降沿检测输出,y3 是双沿检测输出(异或门)

reg a_dly1 ;always @ (posedge clk or negedge rst_n ) beginif (rst_n == 1'b0)a_dly1 <= 1'b0 ;elsea_dly1 <= a ;endassign y1 = a & ( ~a_dly1 ) ;
assign y2 = ~a & a_dly1 ;
assign y3 = a ^ a_dly1 ;

同步复位与异步复位

同步复位

always @ (posedge clk) beginif (rst_n == 1'b0)y <= 1'b0 ;elsey <= b ;
end

同步复位的优点如下:
a、有利于仿真器的仿真;
b、可以使所设计的系统成为 100%的同步时序电路,有利于时序分析,而且可综合出较高的 Fmax;
c、由于只在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的复位毛刺。
同步复位也有一些缺点, 缺点如下:
a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑诸如
时钟偏移、组合逻辑路径延时、复位延时等因素(所以复位信号有时需要脉冲展宽,用以保证时钟有效期间
有足够的复位宽度);
b、由于大多数的逻辑器件的目标库内的 DFF 都只有异步复位端口,所以,倘若采用同步复位的话,综
合器就会在寄存器的数据输入端口插入组合逻辑,这样就会一方面额外增加 FPGA 内部的逻辑资源,另一
方面也增加了相应的组合逻辑门时延。

异步复位

always @ (posedge clk or negedge rst_n) beginif (rst_n == 1'b0)y <= 1'b0 ;elsey <= b ;
end

优点:
a、大多数目标器件库的 DFF 都有异步复位端口,那么该触发器的复位端口就不需要额外的组合逻辑,
这样就可以节省资源;
b、设计相对简单;
c、异步复位信号产生和响应都很方便(电路在任何情况下都能复位而不管是否有时钟出现)。
异步复位也有一些缺点, 缺点如下:
a、最大的问题在于它属于异步逻辑,问题出现在复位释放时,而不是有效时,如果复位释放接近时钟
有效沿,则触发器的输出可能进入亚稳态(此时 clk 检测到的 rst_n 的状态就会是一个亚稳态,即是 0 是 1
是不确定的),从而导致复位失败。
b、可能因为噪声或者毛刺造成虚假复位信号(比如系统正常工作时突然复位)(注意:时钟端口、清
零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错,因此判断逻辑电路中是否存在冒
险以及如何避免冒险是设计人员必须要考虑的问题);
c、静态定时分析比较困难,静态时序分析一般是针对同步设计的,都是基于时钟周期来分析时序的。
d、对于 DFT(DesignForTest 可测性设计) 设计,如果复位信号不是直接来自于 I/O 引脚,在 DFT 扫描
和测试时,复位信号必须被禁止,因此需要额外的同步电路。

FPGA学习笔记06——数电基础知识相关推荐

  1. 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符

    Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...

  2. JDBC 学习笔记(一)—— 基础知识 + 分页技术

    2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" ...

  3. MATLAB学习笔记2:MATLAB基础知识(下)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  4. GDAL学习笔记02:GDAL基础知识

    你的习惯决定了你会成为什么样的人. GDAL学习笔记02:GDAL基础知识 前言 1. 版本 2. 摘要 3. 说明 4. 微信公众号GISRSGeography 一.GDAL简介 二.导入GDAL ...

  5. JavaSE学习笔记(一)基础知识

    本章包含内容有: java环境配置.注释.标识符.数据类型.类型转换.变量.常量.运算符.包机制.顺序结构.选择结构.循环结构.方法的定义和调用.命令行传参.可变参数. 点击这里查看更多JavaSE的 ...

  6. CSS学习笔记 01、CSS3基础知识学习

    文章目录 前言 CSS3基本了解 如何学习? 一.什么是CSS 1.1.发展史 1.2.快速入门(三种引用方式) 扩展:外部样式两种写法 二.选择器 2.1.基本选择器(标签.类.id) 2.2.元素 ...

  7. java多线程学习笔记--一.多线程的基础知识

    需要学习的知识 多线程基础知识讲解 参考索隆和jim的视频,以及自己做的笔记 导读 为了充分利用CPU资源,人们发明了线程和进程 进程 由来:在单核cpu的时期,为了方便操作把一系列的操作的指令写下来 ...

  8. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入&q ...

  9. 【BLE学习笔记】之 BLE基础知识

    前言 很多时候,对于BLE的开发者而言,有90%的时间会用在coding上,从而很容易忽视了BLE硬件相关的知识.小编在下键盘准备敲打内容的时候,在想 "到底要不要花费时间在这占比很小的硬件 ...

  10. RPGMakerMV学习笔记(一)—— 基础知识

    RPGMakerMV是什么? 用于2D版RPG游戏制作,无需编程能力,主要以叙事类RPG游戏为主 下载:RPGMakerMV下载_rpg制作大师mv中文版下载v1.61_3DM单机,也可以在steam ...

最新文章

  1. java百度地图地名定位地址_百度地图定位显示省市区街道名称,非常实用
  2. gitlab安装_Gitlab安装和配置教程(包括邮箱配置)
  3. 2!=5 or 0在python中是否正确-不吹不擂,你想要的Python面试都在这里了【315+道题】...
  4. POJ - 3322 Bloxorz I(bfs+状态设计)
  5. 真不值!技术大神,却只是阿里P6...
  6. 计算机网络---ICMP、IGMP协议
  7. 解决计算治理问题,详解微众银行大数据平台中间件Linkis架构和应用
  8. SSL证书相关技巧 -- 为什么有时候访问某些加密网站是不需要证书的?
  9. python︱批量操作文件(os)、图片操作技巧(下载网络图片、skimage.io)
  10. 口令破解:kali字典工具的使用:CUPP、Crunch、Hydra
  11. 企业如何建立强大的绩效管理系统
  12. Android PackageInstaller 静默安装的实现(附源码)
  13. 六度空间(广度优先遍历 · 数据结构 · 图)
  14. 关于笔记本突然鼠标无法连接,电脑蓝牙消失的问题
  15. 安徽大学计算机复试刷人比例,658人进复试刷掉564多人!盘点21复试比奇高、刷人狠的院校专业...
  16. 实验吧-简单的登录题——WriteUp再研究
  17. 谷歌免费CDN加速Google PageSpeed Service申请和使用教程
  18. DNS_PROBE_FINISHED_NXDOMAIN完美解决办法
  19. qlikview连接数据库
  20. Java当中的IO流-时间api(下)-上

热门文章

  1. pdf打印机有什么功能
  2. 如何修改pdf文件内容
  3. 免费的video解析接口
  4. 用matlab解决马尔可夫模型,MatLa工具箱b 马尔可夫模型的MatLab程序
  5. Visual studio插件:Visual Svn 替代工具--AnkhSvn
  6. 人工智能——深度学习
  7. FreeCAD源码分析:Path模块
  8. 详解CAN 2.0协议
  9. 标准误计算机excel公式,标准误差怎么用excle计算公式!估计标准误差 用excel 如何求?...
  10. RHEL 7 使用 CentOS 源安装 docker ce