verilog|关于异步复位,同步释放的几个思考

这篇具有很好参考价值的文章主要介绍了verilog|关于异步复位,同步释放的几个思考。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

异步复位,同步释放是一种常见的设计思路,那么什么情况下,复位信号需要做“异步复位,同步释放”处理?
verilog|关于异步复位,同步释放的几个思考

一般来说,同步系统,都使用异步复位。这是因为同步复位的电路实现,比异步复位的电路实现,要浪费更多电路资源。

未在本模块时钟域做过“异步复位,同步释放”处理的复位信号,提供给本模块做异步复位使用时,都需要做“异步复位,同步释放”处理。

常见于系统内两部件不在同一时钟域的情况下。
verilog|关于异步复位,同步释放的几个思考
假设rst_async_n撤除时发生在clk上升沿,如果不加此电路则可能发生亚稳态事件(有的时候会打三拍)。

但是加上此电路以后,假设第一级D触发器clk上升沿时rst_async_n正好撤除,则D触发器1可能输出高电平“1”,也可能输出亚稳态,也可能输出低电平。

但此时第二级触发器不会立刻更新输出,第二级触发器输出值为前一级触发器Q1的输出状态。显然Q1之前为低电平,故第二级触发器输出保持复位低电平。

直到下一个时钟有效沿到来之后,才随着变为高电平。即实现同步释放。

以下几个问题大家可以思考一下,我给出了参考答案:

问题1. 如果没有前面两级触发器的处理。异步信号直接驱动系统的触发器。会出现什么情况?

异步复位信号或者异步置位信号,存在建立保持时间的违反,从而时序冲突,引发输出亚稳态。

问题2. 复位信号存在亚稳态,有危险吗?

一个信号出现亚稳态,是在信号变化的时候,不能保证第一拍采样的值是固定的。可能是0,也可能是1,是一个不确定的X态。

而系统不希望这样的未知状态发生,系统希望知道在某一个时刻,后续逻辑需要的输入信号,是稳定值。

二级触发器同步后,第二级触发器的输出基本上是稳定值。后续逻辑根据稳定值,会有稳定的行为。

这就是追求的系统稳定性。最好是系统一起复位释放,但是时钟域不同,不可能保证系统一起复位释放。

一般来说,系统复位释放的顺序,是需要保证的。否则系统就是不安全的。

问题3. 如果只做一级触发器同步,如何?

不可以。

第一级触发器的输出,永远存在亚稳态的可能。亚稳态,导致系统不会复位初始化到已知状态。 当第一级触发器采样异步输入之后,允许输出出现的亚稳态可以长达一个周期,在这个周期内,亚稳态特性减弱。

在第二个时钟沿到来时,第二级同步器采样,之后才把该信号传递到内部逻辑中去。第二级输出是稳定且已被同步了的。

如果在第二级采样时保持时间不够,第一级的输出仍然处于很强的亚稳态,将会导致第二级同步器也进入亚稳态,但这种故障出现的概率比较小。

一般情况下,两级同步器总体的故障概率是一级同步器故障概率的平方。在大部分的同步化设计中,用两级同步器消除可能的亚稳态,有时候用三级。

问题4. 两级触发器同步,就能消除亚稳态吗?

不能。只是概率降低了。

更多关于verilog的相关资料可以去IC修真院资料下载中心
以上就是给大家分享的“verilog|关于异步复位,同步释放的几个思考”!文章来源地址https://www.toymoban.com/news/detail-413919.html

到了这里,关于verilog|关于异步复位,同步释放的几个思考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 复位策略:同步复位与异步复位

    在IC设计种,复位策略分为同步复位和异步复位两种设计,根据不同的设计,会采用不同的复位方式。 复位的文章已有很多文章讲解了,这里只讨论实现策略。  一、异步复位 1、优点: 1)无需额外的逻辑资源,实现简单,可以保证复位引脚到各个寄存器的时钟偏移最小;

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

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

    2024年02月03日
    浏览(43)
  • Verilog数字系统设计——10进制计数器,具有异步复位功能

    编程实现10进制计数器,具有异步复位功能,十位和个位用8421BCD码表示,各端口定义如下图所示: 仔细考虑端口定义中每个端口的含义; 要求完成程序编辑、编译、时序仿真; 实验提交Verilog设计文件(.v文件)、仿真波形截图以及对于第3个步骤所提出问题的回答,文件打包

    2024年02月11日
    浏览(35)
  • 用Verilog设计一个8位二进制加法计数器,带异步复位端口,进行综合和仿真。

    点此处编译 这里还需将rst置1才有效 可以在clk=0;后加rst=1; 或者在clk=0;后加rst=0; 并且在#DELY clk=~clk;后加#(DELY*20) rst=~rst; 仿真即可

    2024年02月04日
    浏览(43)
  • 关于中断的几个小问题

    1. intel 8259芯片中的IRQ2和int2的区别是什么? 答曰:IRQ2是芯片上的引脚,而int2是中断向量表的第2项,两者有很大区别。 Intel8259A芯片的中断引脚分别为: 主片: 0:8254时钟 1:键盘 2: 从片 3: com2 4:com1 5:声卡 6:软盘 7: lpt打印机 从片: 0:cmos时钟 1:到主片IRQ2的引脚 2:网

    2024年02月07日
    浏览(37)
  • 北邮22级信通院数电:Verilog-FPGA(9)第九周实验(2)实现下降沿触发的JK触发器(带异步复位和置位功能)

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客   目录 ​编辑 一.代码部分 1.1 JK.v 1.2 JK_tb.v 二.仿真结果

    2024年02月05日
    浏览(46)
  • Linux关于memory cgroup的几个要点

    概述 本文讲述memory cgroup比较容易误解的一些逻辑,如果不太经常使用和解决问题的话,对于memory cgroup的认知会比较浅显:cgroup memory用来限制进程的内存使用,但是我们进一步想如下的问题: 进程的内存可以分很多类型,比如page cache,slab,anon memory等,到底是限制的哪些内

    2024年02月07日
    浏览(31)
  • AIGC: 关于ChatGPT这个智能工具带来的几点思考

    ChatGPT的出现 2022年11月底,ChatGPT 上线,引爆 AI 圈 和 科技圈,2023年春节后, 人人都开始关注并讨论这项新技术 它是 OpenAI 研发的智能聊天工具, 基于GPT语言模型,模拟人类的对话方式 默认只能用文字进行交互,理解多种语言,有一些插件,可用语音,图表等 截止现在,Chat

    2024年02月04日
    浏览(45)
  • TECHnalysis Research:关于生成式AI的几个意外发现

    TECHnalysis Research是一家美国的独立市场调查公司,该调查公司于2023年5月份对于全美10个行业的1000家企业IT决策负责人进行了调研,调研围绕生成式AI及其对于企业业务的影响。就在全球持续升温的生成式AI热度中,TECHnalysis Research的调研结果却显示了几个令人惊讶的意外发现,

    2024年02月12日
    浏览(43)
  • 关于 setData 同步异步的问题

    小程序官方文档中的回答解释: 所以大概意思就是:    1.setData 在逻辑层的操作是同步,因此 this.data 中的相关数据会立即更新,比如下面的例子:          2.  setData 在视图层的操作是异步,因此页面渲染可能并不会立即发生。  其实从逻辑层发送到视图层的过程中相比直接在

    2024年02月01日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包