版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、随着数字化设计和的日益复杂,复位架构也变得非常复杂。在实施如此复杂的架 构时,设计人员往往会犯一些低级错误,这些错误可能会导致亚稳态、F扰或其他系统功能 故障。本文讨论了一些复位设计的基本的结构性问题。在每个问题的最后,都提出了一些解 决方案。复位域交叉问题1.问题在一个连续设计中,如果源寄存器的异步复位不同于目标寄存器的复 位,并且在起点寄存器的复位断言过程中目标寄存器的数据输入发生异步 变化,那么该路径将被视为异步路径,尽管源寄存器和目标寄存器都位于 同一个时钟域,在源寄存器的复位断言过程中可能导致目标寄存器出现亚 稳态。这被称为复位域交叉,其中启动和捕捉触发的复位是不同的。在这种情况下,
2、C寄存器和A寄存器的起点异步复位断言是不同的。在 C寄存器复位断言过程中而A触发器没有复位,如果A寄存器的输入端有 一些有效数据交易,那么C寄存器的起点异步复位断言引起的异步变更可 能导致目标A寄存器发生时序违规,从而可能产生亚稳态。图1:复位域交叉问题在上面的时序图中,当有一些有效数据交易通过C1进行时,rst_c_b 获得断言,导致C1发生异步改变,w.r.tclk从而使QC1进入亚稳态,这 可能导致设计发生功能故障。2.解决方案*使用异步复位、不可复位触发器或D1触发器POR.*如果复位源rst_c_b是同步的,那么则认为来自C_CLR Q的用 于从rst_c_b_reg -C_CLR-
3、C_Q1C1-A_D进行设置保持检查的时 序弧能够避免设计亚稳态。然而,通常在默认情况下C_CLR-Q时序弧在 库中不启用,需要在定时分析过程中明确启用。*在目的地(A)使用双触发器同步器,以避免设计中发生亚稳态传播。 然而,设计人员应确保安装两个触发器引入的延迟不会影响预期功能。由于组合环路导致复位源干扰1.问题在SoC中,全局系统复位在设备中组合了软件或硬件生成的各种复位 源。LVD复位、看门狗复位、调试复位、软件复位、时钟丢失复位是导致 全局系统复位断言的一些示例。然而,如果由于任何复位源导致的全局 复位断言是完全异步的,且复位发生源逻辑被全局复位清零,那么设计中 会产生组合环路,这会在
4、该复位源产生干扰。组合路径的传播延迟会根据 不同的流程、电压或温度以及干扰范围而不同。如果设计中使用了组合信元用于复位断言和去断言,那么也会导致模拟中出现紊乱情况。这被视为 设计人员的非常低级的错误。图2:复位源干扰(基本问题)在上图中,当复位源SW_Q断言时,会导致rst_b断言,这是全局复位。 现在,如果全局复位本身被用于清除“SW_Q”复位断言,那么会在设计 中在SW_Q输出和全局复位时产生干扰。此外,在模拟中,这会导致紊乱 情况,因为复位源断言试图通过该组合逻辑去断言。然而,如果复位源(SW_Q)在复位状态机(触发器的SET/CLR输入)为全 局复位断言被异步使用,那么复位干扰可能能够
5、复位整个系统(通过断言 全局复位),因为全局系统复位去断言不仅仅和复位源去断言相关。当该 复位源(有干扰)被同步使用或在触发器D输入使用的情况下可能依然有一 个问题。干扰范围可能无法在至少一个周期内保持稳定,因此这不会被目 标触发器捕获。此外,该复位源不能被用作任何电路的时钟(除了脉冲捕 捉电路),因为它可能违反时钟宽度。图3:复位源干扰(问题2)在上图中,复位源SW_Q将出现干扰。虽然如果复位源SW_Q的干扰在 某个触发器被捕捉作为复位事件状态(在S)或用于其他目的,全局复位输 出(rst_b)都没有干扰,但它将导致时序违反/亚稳态,或根本不可能被捕 获。2.解决方案*设计人员永远都不应犯下
6、上述(图2)低级错误。*如果复位实现如图3所示,那么设计人员应保证复位源(在该示例中 为SW_Q)总是在触发器的SET/CLR输入使用,而不在D或CLK使用。*解决这个问题的最好的方法是在复位状态机中使用之前注册该复位 源。虽然它将导致时钟依靠全局复位断言,但是无论如何,如果没有时 钟,该内部复位(SW_Q)都不会断言。请参见图4.图4:解决方案1此外,用户也可以扩展SW_Q断言,然后再在设计中使用它,复位断言和时钟无关。请参见图5.图5:解决方案2复位路径的组合逻辑1问题如果组合逻辑输入大约在同一时间发生变化,那么使用复位路径中的 组合逻辑可能产生干扰,这可能在设计中触发虚假复位。下面是一个
7、RTL 代码,它会在设计中意外复位。assign module_a_rstb 二!(slave_addr 7:0二二8 h02 & write_enable& (wdata7:0=00)always (posedge elk or negedge module_rst_b)if(!module_rst_b) data_q = 1bO;else data_q 00000010 00000000 01000000 01100000” 生成过渡。在这段时间里,salve_addr为”,如果wdata7:0始终为零且 uwrite_enablen已经被断言,那么它将在module_rst_b创建一个无
8、用 脉冲,从而导致虚假复位。图6:复位路径的组合逻辑2.解决方案首先注册组合输出,然后再将其用作复位源(如图7所示)。图7:复位路径的组合逻辑解决方案3.问题(II)在上面的示例中,复位路径的组合逻辑解决方案并不完善。如果组合 逻辑输入大约在同一时间发生变化,那么它可能在设计中触发虚假复位。 然而,如果组合逻辑的输入信号变化相互排斥,那么它可能不会引起任何 设计问题。例如,测试模式和功能模式相互排斥。因此复位路径的测试复 用是有效的设计实践。然而,对于某些情况,变化相互排斥的静态信号或信号可能会导致设 计出现虚假复位触发。下面的示例描述了此类设计可能出现问题。r.;JJ49e:J910Jixx
9、JeO ”;eG1厂厂X7图8:复位路径的组合逻辑(问题2).在上面的示例中,多路复用结构用于复位路径,同时进行RTL编码。其中mode”是一个控制信号,不频繁改变,而modeO_rst_b和 mode_l_rst_b是两个复位事件,然而在合成RTL时,在门控级它被分解成 不同的复杂的组合(And-Or-InvertAOI)信元。虽然在逻辑上它相当于一 个多路复用器,但由于不同的信元和净延迟,每当信号“mode”从1一0 变化时,final_rst_b都会产生干扰。4.解决方案*在合成过程中在复位路径保留多路复用结构,因为多路复用结构和 其他组合逻辑相比易于产生干扰。MUX Pragma可以在
10、编码RTL时使用,这 将有助于合成工具在复位路径中保留任何多路复用器。设计中的同步复位问题1.问题(I)在许多地方,设计人员在时钟方面喜欢同步复位设计。原因可能是为 了节省一些芯片面积(带有异步复位输入的触发器比任何不可复位触发器 都大)或让系统和时钟完全同步,也可能有一些其他原因。对于此类设计, 当复位源被断言时需要向设计的触发器提供时钟,否则,这些触发器可能 会在一段时间内都不进行初始化。但当该模块被插入一个系统时,系统设 计人员可能选择在复位阶段禁用其时钟(如果在一开始不需要激活该模 块),以节省整个系统的动态功耗。因此,该模块共至在复位去断言后一 段时间内都不进行初始化。如果该模块的任
11、何输出直接在系统中使用,那 么将捕获未初始化和未知的值(X),这可能会导致系统功能故障。Clock234SGT8910Tlfrw.Qr,图9:同步复位问题时序图2.解决方案在复位阶段启用该模块的时钟且持续最短的时间,使该模块内的所有 触发器都在复位过程中被初始化。当系统复位被去断言时,模块输出不 会有任何未初始化的值。1ZJ4557&210Clock 2r-L_rn_f_ei.bdata_ouUrtRSowR Value.Reset valua图10:同步复位问题已解决3.问题(II)在时钟域交叉路径使用两个触发同步器是常见做法。然而,有时设计人员对这些触发器使用同步复位。相同的RTL代码是a
12、lways (posedge elk )if (!sync_rst_b) beginsyncl = IbO; sync2 = V bO ;endelse beginsyncl = async_in; sync2 二 synclend在硬件中进行了 RTL合成后,上面的代码会在双触发器同步器的同步链中引入组合逻辑,这会带来风险,并缩短sync2触发器输入进入亚稳态 的时间。同步锻中的组合逻辑dk图11:同步复位问题22.解决方案可用以下方式编写RTL代码,以避免同步链的组合逻辑。always (posedge elk )if(!sync_rst_b) beginsyncl = r bO;endelse beginsyncl = async_in; sync2 A满足复位去断言时序(见图14) o这不应是个问题。图1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林师范大学《世界艺术史》2021-2022学年第一学期期末试卷
- 吉林师范大学《国际公法与国际私法》2021-2022学年第一学期期末试卷
- 河北省承德市高中2023-2024学年高一年级下册期末考试语文试题
- 医疗行业师徒结对工作总结
- 家庭聚会活动安全预案
- 吉林大学《现代统计学基础》2021-2022学年第一学期期末试卷
- 2024打印复印合同模板
- 2024新版广东省茶青订购合同(官方范本)
- 2024建造工程公司集体合同范本
- 吉林大学《数字通信原理》2021-2022学年第一学期期末试卷
- 2024-2025学年浙教版八年级上册科学期中模拟卷
- 2023-2024学年北京海淀区首都师大附中初二(上)期中道法试题及答案
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 二级公立医院绩效考核三级手术目录(2020版)
- 新苏教版六年级上册《科学》全一册全部课件(含19课时)
- 设计概论第五章-设计的哲学-PPT课件(PPT 111页)
- 口腔科诊断证明书模板
- 爱心妈妈结对帮扶记录表
- 农贸市场建设项目装饰工程施工方案
- 跨海大桥施工方案
- 八年级语文上册期中文言文默写(含答案)
评论
0/150
提交评论