网易首页 > 网易号 > 正文 申请入驻

硬件架构的艺术之《复位信号的设计和策略》

0
分享至

点击上方蓝字“Alphabole”关注我们呦!

本文经授权转载自公众号“数字芯片作坊记”(作者:雨奇)

1

简介

在为ASIC 选择复位策略之前必须考虑许多设计方面的问题,如使用同步复位还是异步复位,是否每一个触发器都要接收到复位信号等。

复位最基本的目的是使Soc进入一个能进行稳定操作的状态 。这可以避免Soc在上电后进入随机状态而死机。一旦Soc生产出来,是否需要对Soc使用复位就由系统、Soc的应用场景以及Soc的自身的设计方式来决定。好的设计指南会在系统没有明确要求的情况下为Soc中的每个触发器提供复位信号。 在某些情况下,当流水线的寄存器(移位寄存器触发器)在高速应用时,应该去掉某些寄存器的复位信号以使设计达到更高性能。

设计可以使用异步复位或者同步复位,或者同时使用两者。两种复位方式都有各自明显的优点和缺点,在实际的设计中任何一种方法可以有效使用。设计者必须选择最合适于设计本身的复位方式。

笔记:所有的电路都离不开复位信号,一个系统最重要的就是时钟和复位信号来,如果这两个出问题,那么芯片回来真可能成砖头了。对于带异步复位端的寄存器速度一般要慢于不带异步复位端的寄存器的,同时面积也要大于不带异步复位端的寄存器。所以对于高速设计应用时,对于数据通路(datapath)可以考虑使用不带异步复位的寄存器,但也要小心数据通路会不会对控制通路带来影响。控制通路的话一般保险起见还是都用上复位的比较安全。

2

用同步复位进行设计

同步复位的复位信号只有在时钟的有效沿到来时才能影响或者复位触发器的状态。在某些仿真器中,根据电路的逻辑,可能会阻止复位信号到达触发器中。这只是仿真中出现的现象,并不存在于真实的硬件中。

由于复位树的高扇出,复位相对于时钟周期可能是一个"迟到的信号"。即使复位信号经过了复位缓冲树的缓冲,也要尽可能减少其到达本地逻辑前穿过的逻辑数量。图2.29展示了带有同步复位的可加载触发器的RTL代码。图2.30为对应的硬件实现。

使用同步复位会出现的一个问题是综合工具无法分辨复位信号和其他数据信号。综合工具可能产生一种图2.31所示的电路结构。

图2.31所示的电路在功能上与图2.30中的完全一样,区别仅仅在于复位与门在多路器之外。现在,思考在门级仿真时会出现什么现象。当"rst_n"信号为低时,能使多路器的两个输人强制为0,然而如果"load"是未知状态(X)并且多路器模型是悲观的,这时触发器就会停在未知态(X),而不会复位。注意,这只是仿真过程中出现的问题。实际电路将会正常工作,触发器也会复位到0值。

综合工作经常会提供编译指令,以告知综合工具指定的信号是同步复位信号(或置位信号)。综合工具会将该信号"拉"得尽可能接近触发器,以避免初始化问题的发生。

推荐的方式是在项目开始时把这些指令加入RTL代码中以避免重新综合影响到项目进度。

2.1 使用同步复位的优点

1)同步复位一般能确保电路是100%同步的。

2)同步复位会综合为更小的触发器,特别在该复位信号被触发器的输入逻辑门控时。

3)同步复位确保复位只发生在有效时钟沿。时钟可以作为过滤掉复位毛刺的手段。

4) 在一些设计中,复位必须由一组内部条件产生。推荐在这样的设计中使用同步复位信号,这样可以将时钟之间的复位毛刺过滤 掉。

2.2 使用同步复位的缺点

并不是所有ASIC库都带有内置的同步复位触发器。因为同步复位信号只是一个数据信号,所以很容易把复位逻辑综合到触发器自身之外(如图2.30和图2.31所示)。

1) 同步复位可能需要一个脉冲展宽器, 以保证复位信号能出现在时钟有效沿处。在进行多时钟设计时,这是必须要考虑的一个重要问题。可以使用一个小计数器来保证具有指定周期数的复位脉冲宽度。

2)如果复位由SoC的组合逻辑产生或复位必定经过多级组合逻辑, 就会存在潜在的问题。在仿真过程中,根据复位的产生方式或在功能模块上的使用方式,复位信号可能标记为X。问题并不是得到了一个什么样的 复位信号,而是该复位信号是否可以容易地被外部引脚控 制。

3) 就其本质而言,同步复位需要时钟以复位电路 。在出于节省功耗的目的而使用门控时钟时,就可能出现问题。在复位信号发出时,时钟可能关闭。在这种情况下只能使用异步复位,并在时钟恢复前移除复位信号。

如果ASIC/FPGA有内部三态总线,就迫切需要时钟来产生复位动作。为了阻止芯片上电时内部三态总线出现竞争,芯片应当有图2.32 所示的异步上电复位。

可以使用同步复位信号;但是也必须使用复位信号直接撤销三态使能(见图2.33)。这种同步技术的优点是能简化复位-高阻这一路径的时序分析。

笔记:同步复位一般就是脉冲信号将寄存器输出置为一个特定的状态,它只有在时钟上升沿来了之后才有效,这样就可以忽略时钟之间的复位毛刺,而异步复位需要注意毛刺。另外同步复位一般需要时钟产生电路,该电路有时为了低功耗设计使用门控时钟,需要特别注意不要发生复位信号无法产生的场景。(针对验证的话,验证环境不要出现force的原因也在此,防止电路出现自锁)

3

使用异步复位进行设计

异步复位触发器在设计时加入了一个复位引脚。通过低电平有效的复位(在设计中经常使用),当该信号使触发器的复位端变为逻辑低电平时, 触发器进入复位状态。

图2.34是带有异步复位的可加载触发器的RTL代码。图2.35是对应的硬件实现图。

3.1 使用异步复位的优点

1) 使用异步复位的最大好处在于只要生产方提供的库中有带有异步复位的触发器,就能保证数据路径上是干净的。 对于数据路径时序已经很紧的设计,无法承担由于加入同步复位带来的额外单元门和额外线路延迟。而使用异步复位,设计人员就能保证没有任何复位信号加在数据路径上(见图2.35)。

2)异步复位最明显的优势电路是不管有没有时钟都能复位。综合工具能自动推断出异步复位而不必加入任何综合参数。

3.2 使用异步复位的缺点

1)在 DFT时,如果异步复位信号不能直接被 I/O引脚驱动,就必须将异步复位线路与复位驱动器断开以保证 DFT扫描和测试的正确。

2) 异步复位最大的问题是不管产生或撤销复位信号,它们都是一个异步过程。 产生复位信号不存在问题,但是撤销时就出现了问题。如果异步复位在触发器时钟有效沿附近释放,触发器的输出就会进入亚稳态,因此 SoC 的复位状态就会丢失。

3) 异步复位的另一个问题与其源头有关,即由板级或系统复位所产生的噪声或毛刺引发的伪复位 。需要设计毛刺过滤器来消除复位电路上毛刺的影响。如果在系统中这真是一个问题,那么设计人员就应该考虑使用同步复位的方案。

4)对于同步和异步复位,复位树都应是时间可控的,以确保复位能在一个时钟周期内释放。必须在设计版图后分析复位树的时序以确保满足时序要求。解决这个问题的一种方法是使用分布式复位同步触发器。

笔记:对于系统设计,异步复位要注意毛刺问题,涉及到去毛刺电路的设计,另外对于IO 引脚也要注意异步信号的上升时间,逻辑设计可能是理想的,但实际电路可能又是一回事。

4

带异步复位和异步置位的触发器

大多数设计并没有既包含异步置位又包含异步复位的触发器,但是有时需要这样的触发器。

图2.36是异步置位/复位触发器的Verilog RTL代码。

综合工具能正确推断出带有异步置位/复位的触发器,但是在仿真时并不是这样。仿真的问题是只在置位、复位或时钟信号的有效沿才进入al-ways 块。

如果复位信号首先有效,然后置位信号有效,之后复位信号无效,触发器应该先进入复位状态,然后进入置位状态(见图2.37中的时序图)。

由于以上所有输入都是异步的,因此只要一移除置位复位就应该有效,但是在Verilog中并不是这样,因为在下一个时钟上升沿到来前,没有其他方式能触发always块。always块仅对于图2.37所示的1和2事件才触发,并跳过3和4事件。

在某些很少见的设计中,允许复位和置位同时发出,然后复位先撤销,修复这种仿真问题的方式是将自校验码附着在正确的编译器指令中对触发器建模,并在这种情况发生时将触发器输出强制为正确的值。 建议最好尽可能避免使用同时带有异步置位和异步复位的触发器。

图2.38 所示的代码是使仿真正确,并且能保证综合前和综合后仿真结果一致的修改方案。

5

移除异步复位的问题

移除系统中的异步复位会使芯片进入不稳定的未知状态。在释放复位时必须要特别注意避免这种情况的发生。 在使用同步复位时,复位信号的前沿和尾沿必须远离时钟的有效边沿。

如图2.39所示,在移除异步复位信号时,有两个潜在的问题。

1)违背复位恢复时间。复位恢复时间指复位撤销后和时钟再一次置高之间的时间。违背复位恢复时间会使寄存器数据输出端出现数据完整性或亚稳态问题。

2)复位移除会在不同时序元件的不同时钟周期内发生。当复位移除与时钟上升沿异步时,在复位信号和/或时钟信号上不同的传播延迟会导致某些寄存器或触发器提前退出复位状态。

笔记:异步复位撤离时会出现的 问题有1) 违背复位恢复时间 。2)复位移除会在不同时序元件的不同时钟周期内发生。

6

复位同步器

在2.6.4节中提到解决异步复位移 除问题的方法是使用复位同步器 。对于使用异步复位信号的电路,这是确保正确移除复位最常使用的方法。如果没有复位同步器,即使在仿真时复位能正常工作,最终系统中的异步复位信号仍然是无效的。

图2.40中设计的复位同步逻辑最好用于异步复位和同步复位。

用外部异步复位信号来复位一对触发器,这对触发器异步地依次驱动主复位信号通过复位缓冲树,再到达设计中的其他触发器。然后整个设计异步复位。

通过撤销复位信号将复位移除,这时允许第一个主复位寄存器的D输入端信号在时钟控制下穿过复位同步器。在复位撤销后,典型情况下需要两个时钟上升沿来同步移除主复位信号。

将复位信号与时钟脉冲同步需要两个触发器,这里第二个触发器用于移除由于异步撤销的复位信号与时钟上升沿过于接近所导致的亚稳态。还要注意的一点是在移除复位后,第二个触发器不存在亚稳态问题。复位同步器的第一个触发器有潜在亚稳态风险的原因是其输人固定为高电平,输出异步复位为0并且复位可能在触发器规定的恢复时间内移除(复位可能与同一个触发器的时钟输人上升沿过于接近)。这就是需要第二个触发器的原因。

复位同步器中的第二个触发器不会出现恢复时间亚稳态问题,因为在移除复位时该触发器的输入和输出都为低电平。由于这个触发器的输入和输出没有差别,因此其输出也就没有机会在不同逻辑值之间振荡。下面的等式计算了总的复位分布时间:

笔记:异步复位同步撤离一般也是Soc系统最常见的复位电路。

7

过滤复位毛刺

异步复位对毛刺很敏感 ,这就意味着任何满足触发器最小复位脉冲宽度的输入都能引起触发器复位。如果复位线受到毛刺的影响,这就真的成为问题了。在设计中,可能没有足够高频的采样时钟来检测复位上的小毛刺;本节将会介绍过滤掉毛刺的方法。该方法需要一个数字延时来过滤毛刺。 复位输入引脚也必须是施密特触发器引脚才有助于毛刺过滤。 图2.41显示了复位毛刺滤波器的电路和时序图。

为了加入延时,一些生产商提供了用于延迟且能够手动实例化的宏单元。 如果没有这样的宏单元,设计人员就需要在优化后的已综合设计中手动加人延时。第二种方法需要创建一个包含较慢缓冲器的模块,再多次实例化该模块以达到所期望的延迟。基于这种思想,可以产生许多变种的解决办法。

由于该方法使用了延迟链,因此一个缺点是所产生的延迟会随着温度、电压和工艺而变化。必须注意确保延迟在所有PVT环境下都能满足设计要求。

笔记:知识点:复位输入引脚必须有施密特功能,必须进行滤毛刺处理,这点很重要。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
记者:赛后篮协主席、郭士强和赵睿都哭了,大家压力确实很大

记者:赛后篮协主席、郭士强和赵睿都哭了,大家压力确实很大

懂球帝
2026-03-01 21:41:53
伊朗反击,不设红线!以色列怎么也没想到,自己才是最大冤大头

伊朗反击,不设红线!以色列怎么也没想到,自己才是最大冤大头

Ck的蜜糖
2026-03-01 22:01:38
长寿男人都有这2个爱好,都跟女人有关,你占几个?

长寿男人都有这2个爱好,都跟女人有关,你占几个?

伊人河畔
2026-03-01 19:16:28
与董洁牵手同框仅1个月,50岁陈坤现状曝光,网友:一点都不意外

与董洁牵手同框仅1个月,50岁陈坤现状曝光,网友:一点都不意外

白面书誏
2026-03-01 14:37:02
小米上架米家燃气灶3猛火版,到手价899元

小米上架米家燃气灶3猛火版,到手价899元

ZAEKE知客
2026-02-27 12:41:13
北京协和医院张海敏:快乐生活,勇敢无畏,放下过去的重担!

北京协和医院张海敏:快乐生活,勇敢无畏,放下过去的重担!

荷兰豆爱健康
2026-03-01 17:15:01
它要爆炸了?银河系外最大恒星之一:WOHG64发生巨变!

它要爆炸了?银河系外最大恒星之一:WOHG64发生巨变!

窥探宇宙1
2026-03-01 18:00:03
这老师真是绝代美人啊!

这老师真是绝代美人啊!

东方不败然多多
2026-03-01 01:09:31
自称无法获得世界宽恕后,中央媒体对谷爱凌的称呼发生变化

自称无法获得世界宽恕后,中央媒体对谷爱凌的称呼发生变化

陈意小可爱
2026-03-01 13:17:13
全球能源命脉被掐断!伊朗强行关闭霍尔木兹海峡,油价即将引爆

全球能源命脉被掐断!伊朗强行关闭霍尔木兹海峡,油价即将引爆

老马拉车莫少装
2026-03-01 00:41:05
近4战场均25分!普尔的交易添头打成鹈鹕核心,大伤没能毁掉他

近4战场均25分!普尔的交易添头打成鹈鹕核心,大伤没能毁掉他

你的篮球频道
2026-03-01 13:36:40
2-1,47岁兰帕德神了:率队绝杀斯托克城,豪取4连胜+8分优势领跑

2-1,47岁兰帕德神了:率队绝杀斯托克城,豪取4连胜+8分优势领跑

凌空倒钩
2026-03-01 01:24:26
伊朗足协主席亲承:世界杯或弃赛!亚洲2队按规将递补,国足无缘

伊朗足协主席亲承:世界杯或弃赛!亚洲2队按规将递补,国足无缘

我爱英超
2026-03-01 06:49:59
冠军穿拖鞋训练,亚军球衣现场脱线!新加坡大满贯最大输家出炉!

冠军穿拖鞋训练,亚军球衣现场脱线!新加坡大满贯最大输家出炉!

曹老师评球
2026-03-01 20:39:05
遗憾!总决赛轰18+9+6+4帽!中国女篮内核拼到5犯毕业,加时丢冠

遗憾!总决赛轰18+9+6+4帽!中国女篮内核拼到5犯毕业,加时丢冠

萌兰聊个球
2026-03-01 16:04:04
中国要做好战争准备,中国的下场战争不是印度菲律宾越南而是日本

中国要做好战争准备,中国的下场战争不是印度菲律宾越南而是日本

百态人间
2026-01-09 17:17:17
恩科洛洛高级,国安单后腰进攻流畅,拉莫斯1对1坚决 新援超预期

恩科洛洛高级,国安单后腰进攻流畅,拉莫斯1对1坚决 新援超预期

替补席看球
2026-03-01 18:08:21
内贾德,遇袭身亡

内贾德,遇袭身亡

新华社
2026-03-01 22:13:51
困在德黑兰的中国人:本要留守看护公司设备,见炸弹在山头爆炸,他决定立马撤离

困在德黑兰的中国人:本要留守看护公司设备,见炸弹在山头爆炸,他决定立马撤离

红星新闻
2026-03-01 16:27:28
一夜暴富!20岁小哥意外中2亿彩票,瞒家人5年吃光了所有,最后你绝对想不到....

一夜暴富!20岁小哥意外中2亿彩票,瞒家人5年吃光了所有,最后你绝对想不到....

澳洲红领巾
2026-02-27 13:33:53
2026-03-01 22:44:52
AlphaBole半导体招聘
AlphaBole半导体招聘
真实有效的岗位,成就更好的你
50文章数 27关注度
往期回顾 全部

科技要闻

荣耀发布机器人手机、折叠屏、人形机器人

头条要闻

在以贴瓷砖的中国小伙:爆炸声在头顶响起 真的被吓到

头条要闻

在以贴瓷砖的中国小伙:爆炸声在头顶响起 真的被吓到

体育要闻

火箭输给热火:乌度卡又输斯波教练

娱乐要闻

黄景瑜 李雪健坐镇!38集犯罪大剧来袭

财经要闻

中东局势升级 如何影响A股、黄金和原油

汽车要闻

理想汽车2月交付26421辆 历史累计交付超159万辆

态度原创

手机
旅游
教育
本地
军事航空

手机要闻

一加15T再次被确认:骁龙8E5+7500mAh+潜望镜,配置全曝光!

旅游要闻

去踏青、共赏花,春意正浓!““春日经济”蓬勃绽放

教育要闻

中考数学复习,中考数学重难点二次函数,经典压轴题,难度大

本地新闻

津南好·四时总相宜

军事要闻

伊朗前总统内贾德遇袭身亡

无障碍浏览 进入关怀版