目录

前言

恢复时间与去除时间

异步复位,同步撤离

写在最后



前言

现在写博客和以前有点不一样的地方在于,不是东打一耙子,西打一耙子,更在的看重专题写作。给自己以清晰条理的感觉,有助于日后管理与维护。

这是一个新的阶段,也与心态有关,以前写博客为的是粗放式的增长知识范围,为找工作加油。

现在2019校招结束,写博客,已经是一种生活习惯,知识要更加的具有连续性,专业性。

今天的主题也和时序设计有关,时序设计不是狭义的静态时序分析,添加时序约束就完事了,还包括时序约束管理不到的地方,例如上一批博文,跨时钟域的问题就是设计出来的,而非通过约束解决的。时序违规,我们可以从约束上找问题,也可以从设计上找问题,因此,我把设计的问题也归于时序设计的专题上。那些会容易造成时序违规的设计,跨时钟域传输是,今天的主角,复位设计也是。


恢复时间与去除时间

谈到复位,就能想到同步复位以及异步复位,这个话题已经写了好多遍了,这里给出链接:

【 FPGA/IC 】谈谈复位

【 FPGA 】关于FPGA中复位的设计问题(包含异步复位,同步释放方案)

高电平复位还是低电平复位?

说起异步复位,就不得不说起恢复时间和去除时间,这是针对具有异步复位端的触发器而言的,和建立时间和保持时间的概念很相似,也很有意思。

下面这句解释,是我见过最喜欢的解释,原文是谁,我暂时也不知道,搜集于互联网:

恢复时间(Recovery Time)是指异步控制信号(如寄存器的异步清除和置位控制信号)在“下个时钟沿”来临之前变无效的最小时间长度。这个时间的意义是,如果保证不了这个最小恢复时间,也就是说这个异步控制信号的解除与“下个时钟沿”离得太近(但在这个时钟沿之前),没有给寄存器留有足够时间来恢复至正常状态,那么就不能保证“下个时钟沿”能正常作用,也就是说这个“时钟沿”可能会失效。

先形象的解释下:

如上图所示,恢复时间就是异步复位信号撤离(无效)时刻与下一个时钟有效沿之间的时间,也就是复位信号必须在时钟有效沿到来之前的一段时间撤离,这样才能保证触发器有足够的时间恢复到非复位状态。如果违反了恢复时间,则会导致触发器输出出现亚稳态。

去除时间(Removal)是指异步控制信号(如寄存器的异步清除和置位控制信号)在“有效时钟沿”之后变无效的最小时间长度。这个时间的意义是,如果保证不了这个去除时间,也就是说这个异步控制信号的解除与“有效时钟沿”离得太近(但在这个时钟沿之后),那么就不能保证有效地屏蔽这个“时钟沿”,也就是说这个“时钟沿”可能会起作用。

同样,形象的解释下去除时间:

如上图,在时钟有效沿来临之后复位信号还需要保持的时间为去除时间removal time(去除时间);

换句话来说,如果你想让某个时钟沿起作用,那么你就应该在“恢复时间”之前是异步控制信号变无效,如果你想让某个时钟沿不起作用,那么你就应该在“去除时间”过后使控制信号变无效。如果你的控制信号在这两种情况之间,那么就没法确定时钟沿是否起作用或不起作用了,也就是说可能会造成寄存器处于不确定的状态。而这些情况是应该避免的。所以恢复时间和去除时间是应该遵守的。

这篇文档中所说的和上面这句话有异曲同工之妙:

Removal problems can occur if there are slight differences in propagation delays in either (or both) the reset signal or clock signal, which can cause some registers to exit the reset state before the others.

如果复位信号或时钟信号中的一个(或两者)的传播延迟存在细微差异,则可能会出现清除问题,这可能导致某些寄存器先于其他寄存器退出复位状态。

就是说,如果不满足去除时间,则可能导致提前复位提前撤离。


异步复位,同步撤离

异步复位和同步复位都有着各自的优缺点,但异步复位反应快的有点让我们比较喜欢,但是由于异步复位的时刻如果不满足恢复时间,就会出问题,也就是会产生亚稳态,亚稳态是危险的,因此我们要设法避免,异步复位,同步撤离的设计方式可以解决这个问题,见之前博文:谈谈复位

异步复位,同步释放的设计原理图如下:

可以将异步复位,同步释放电路设计在一个模块里面,供不同时钟域内的设计使用。

例如:

异步复位,同步释放,从名字上,也知道也属于异步复位,所以它所在的路径,在静态时序分析时候,不需要分析,直接设置为伪路径。

对应的XDC文件中的TCL命令为:

set_false_path -from [get_ports fpga_reset]

其中fpga_reset为异步复位端口。


写在最后

在今年的秋招一开始,我就建立了一个微信群,在CSDN发布了一条博文,召集全国各地的同行朋友们共同加入,共同讨论秋招求职笔试,面试经验,目前已经有300多人加入,各位才华横溢,让我大开眼界。

到今天11月份,从西北地区最早结束到其他各地陆续结束,但是我们曾开玩笑说,本群继续召集下一届同行,作为先行者的我们也会对你们给予应有的帮助,欢迎加入,到你们晒工资的时候,会不会再次把我们倒挂呢?拭目以待。

由于人数较多,所以加我的时候务必备注:CSDN+地区或学校+职位(意向职位)+昵称。

我的微信号是:ljs521615

漫谈时序设计(2)需要给复位足够的关心!相关推荐

  1. 漫谈时序设计(3)走进时序约束的大门!

    目录 前言 Intra-Clock&Inter-Clock Paths 时序约束 主时钟约束 衍生时钟约束 延迟约束 伪路径约束 多周期路径约束 写在最后 前言 为了秋招,对时序分析做了一些准 ...

  2. 漫谈时序设计(1)跨时钟域是设计出来的,而非约束出来的!

    目录 亚稳态(Metastability) 单比特信号同步 慢时钟域到快时钟域 快时钟域到慢时钟域 多比特信号同步 Handshake Mechanism 异步FIFO 参考链接 写在最后 这篇博文在 ...

  3. (20)FPGA面试题时序设计的实质

    1.1 FPGA面试题时序设计的实质 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题时序设计的实质: 5)结束语. 1.1.2 本节引言 "不积 ...

  4. STM32F407之使用LM75BD的IIC时序设计

    STM32F407之使用LM75BD的IIC时序设计 IIC协议理解 IIC协议可参考https://www.cnblogs.com/pejoicen/p/4611698.html,此文章写得较详细. ...

  5. 东芝线阵CCD芯片TCD1305DG驱动时序设计

    最近在做微型光谱仪,用到了东芝的CCD芯片TCD1305DG,该芯片是单行3648像素,输出信号是时间上离散的模拟信号,典型输出速率为0.5M,即每2000ns输出一个像素值(模拟信号),芯片内部集成 ...

  6. 漫谈物理设计 - Floorplan

    漫谈 物理设计的方方面面很多,"漫谈"不涉及具体的命令啊,详细技术,命令,技巧之类的内容,而是讲清楚『是什么』,『为什么』,『什么用』. Floorplan很大程度上决定了desi ...

  7. FPGA设计中同步异步复位造成亚稳态问题的探讨

    所谓亚稳态,是指"trecovery(recovery time)指的是原本有效的异步复位信号释放(对低电平有效的复位来说就是上跳沿)与紧跟其后的第一个时钟有效沿之间所必须的最小时间.tre ...

  8. 硬件设计——外围电路(复位电路)

    对于硬件设计来说,复位电路是必不可少的一部分,为了确保微机系统中电路稳定可靠工作,复位电路的第一功能是上电复位. 在 FPGA 设计中,复位起到的是同步信号的作用,能够将所有的存储元件设置成已知状态. ...

  9. 漫谈 · 软件设计中的具象化

    本文微信公众号链接:https://mp.weixin.qq.com/s/PiZU1biNR5DeqrjnhXE9ag 何为具象化?要说具象,就要说说与具象有关的抽象.表象. 抽象与具象: 抽象是通过 ...

最新文章

  1. dede修改mysql,Dedecms(织梦)程序MySQL修复表和文章路径修改方法
  2. LeetCode Populating Next Right Pointers in Each Node(dfs)
  3. 必须正确理解的---ng指令中的compile与link函数解析
  4. ICCV 2019 | 商汤科技57篇论文入选,13项竞赛夺冠
  5. 【hbase】HBASE的安装与配置的步骤详解
  6. 如何使用EasyRecovery进行深度扫描和继续扫描
  7. springboot使用Log4j动态改变日志级别
  8. 使用async.whilst要注意的地方
  9. 混沌与分形(一):谢尔宾斯基三角形与门格海绵
  10. 松香的用法(电烙铁焊接)
  11. 实验三 面向对象(二)
  12. 服务器最多带多少硬盘,一般服务器的硬盘空间有多大?怎么能给那么多 – 手机爱问...
  13. 习题6-1 平衡的括号(Parentheses Balence,UVa 673)
  14. 冒险岛启动游戏提示计算机丢失,各种无法登陆情况解决建议汇总
  15. Hive QL的经典题详解
  16. 在有M1芯片的Mac上安装微信、抖音等软件
  17. STM32开发基础知识入门
  18. rap2接口mock数据初始值和常用属性设置
  19. 五星好文·射频功率放大器(RF PA)概述
  20. python词云图库一般装多久_Python数据可视化:词云库的讲解和如何制作词云

热门文章

  1. Linux vim 中文显示乱码解决方法
  2. 算法导论-动态规划(dynamic programming)
  3. php百度自动推送代码,怎么设置百度自动推送代码安装教程-百度自动推送好处解析...
  4. Android判断CPU是否为x86,如何判断. NET 程序集是否编译为 x86,x64或者任何 CPU_visual-studio_开发99编程知识库...
  5. python游戏服务器框架_Scut游戏服务器免费开源框架--快速开发(2)
  6. 南航计算机硬件实验,南航80X86微机原理及接口技术实验指导书.pdf
  7. java主窗体设计代码_java窗体设计+GUI经典代码全放送
  8. SpringCloud_Zuul
  9. FootSwitch脚踏开关:三位USB静音脚踏板脚踏开关脚踏键盘鼠标
  10. 你的大脑里有AI吗?