当前位置: 首页 > news >正文

同步寄存器的Tsu和Thold

两个公式确保了:当时钟边沿到来时,寄存器能够正确采样到稳定、有效的数据。

以下是这两个公式的推导逻辑:

公式一:建立时间约束(决定最慢速度/时钟周期)

公式T ≥ t_c-q + t_plogic + t_su

推导过程

这个公式用于计算电路的最小时钟周期 (T),它约束了电路能正常工作的最慢速度

  1. 起点:假设在某个时钟边沿,数据被启动寄存器 (Launch Flip-Flop)​ 捕获并输出。

  2. 旅程:这个数据需要经过:

    • 寄存器的时钟到输出延时 (t_c-q):时钟边沿后,数据从寄存器输出端稳定下来所需的时间。

    • 组合逻辑的最大传播延时 (t_plogic):数据在组合逻辑电路(如一系列门电路)中传输所需的最长时间(考虑最坏情况)。

  3. 终点:数据最终到达捕获寄存器 (Capture Flip-Flop)​ 的输入端。

  4. 关键要求:为了使捕获寄存器能在下一个时钟边沿正确采样,数据必须在下一个时钟边沿到来之前,提前至少建立时间 (t_su)​ 就保持稳定。

  5. 推导不等式:从第一个时钟边沿到第二个时钟边沿,中间间隔了一个时钟周期 T。因此,整个数据通路的“最晚到达时间”必须小于或等于一个周期T。这可以表述为:

    启动时间 (t=0) + 数据在路上花费的总最大时间 ≤ 下一个时钟边沿的时间 (t=T)

    即:t_c-q + t_plogic ≤ T - t_su

    移项后得到:T ≥ t_c-q + t_plogic + t_su

结论:时钟周期T必须大于等于数据通路所有最大延时的总和。这个公式限制了系统的最高工作频率 (F_max = 1/T_min)。

公式二:保持时间约束(决定最快变化)

公式t_cdregister + t_cdlogic ≥ t_hold

推导过程

这个公式用于确保数据在时钟边沿之后能保持足够长时间稳定,它约束了数据不能变化得太快

  1. 起点:考虑同一个时钟边沿。这个边沿不仅会让捕获寄存器采样当前数据,也会让启动寄存器输出新的数据

  2. 潜在的“破坏者”:这个新的数据也会开始它的旅程。它经过寄存器的最小时钟到输出延时 (t_cdregister,即污染延时)​ 和组合逻辑的最小传播延时 (t_cdlogic)​ 后,会试图冲向捕获寄存器。

  3. 关键要求:在时钟边沿之后,捕获寄存器的输入端必须在保持时间 (t_hold)​ 内不受打扰,以保证其正确锁存旧的数据。因此,那个试图“提前赶来”的新数据,其最早到达时间必须晚于保持时间的结束点。

  4. 推导不等式

    新数据的最早到达时间 ≥ 时钟边沿后保持时间的结束点

    即:t_cdregister + t_cdlogic ≥ t_hold

结论:必须保证数据通路的最小延时足够长,以防止新数据过早地覆盖掉当前时钟周期还需要被采样的旧数据。这个约束与时钟周期T无关,即使在极低频率下也必须满足。

总结

  • 建立时间约束 (T ≥ ...)​ 关注最慢路径,确保数据在下一个时钟到来前“及时赶到”,决定了系统最高工作频率

  • 保持时间约束 (t_cd... ≥ ...)​ 关注最快路径,确保新数据不会在采样窗口关闭前“提前闯入”,决定了数据稳定性的下限

这两个约束一“快”一“慢”,共同定义了一个围绕时钟边沿的、数据必须保持稳定的“有效窗口”,是同步数字电路设计的基石。

t_cdregister + t_cdlogic ≥ t_hold看似简单,却是时序设计中最微妙、最反直觉的约束。理解它的关键在于转变视角:它约束的不是“慢”,而是“快”;它不关心时钟周期,而关心同一时钟边沿下的“数据赛跑”。

核心思想:同一时钟边沿下的新旧数据“竞赛”

与建立时间关注“当前数据”与“下一个时钟”的关系不同,保持时间关注的是“当前数据”和“即将产生的新数据”在同一个时钟边沿触发下的竞赛。

让我们拆解这个“竞赛”:

  1. 参赛方A(需保护的老数据):在时钟边沿到来时,正被捕获寄存器采样并锁存的数据。它需要在边沿后,稳定至少t_hold时间,以确保被正确捕获。

  2. 参赛方B(具有破坏性的新数据):同样是这个时钟边沿,它也会命令启动寄存器输出下一周期的数据。这个“新数据”一旦产生,就会立刻(经过最短路径)冲向捕获寄存器,试图改变其输入端的值。

保持时间约束的本质就是:我们必须确保新数据B跑得足够慢,慢到它冲过终点(捕获寄存器的输入端)时,老数据A的“保护期”(t_hold)已经结束。否则,新数据会过早地“撞翻”还在被采样的老数据,造成保持时间违例,电路功能完全错误。

公式推导与深度解析

公式t_cdregister + t_cdlogic ≥ t_hold就是这个“让新数据跑慢点”的数学表达。我们逐项拆解:

  • 不等式左边 (t_cdregister + t_cdlogic): 新数据的“最短抵达时间”

    • t_cdregister(寄存器的污染延时/最小延时): 这是新数据B在时钟边沿后,最快能出现在启动寄存器输出端的时间。可以把它看作寄存器开门的“最小延迟”,通常远小于其最大传播延时t_c-q。图片中特别强调这是“最小传播延时”。

    • t_cdlogic(组合逻辑的污染延时/最小延时): 这是新数据B在最理想、最快的情况下,通过两级寄存器之间的组合逻辑所需的时间。

    • 两者相加,就定义了从时钟边沿算起,新数据最早可能到达捕获寄存器输入端的时间。这是一个下限

  • 不等式右边 (t_hold): 老数据的“最低保护时长”

    • 这是捕获寄存器在时钟边沿后,要求其输入数据必须保持稳定不变最短时间。这是寄存器的固有物理特性。

  • 不等式的含义 ():

    • t_cdregister + t_cdlogic ≥ t_hold​ 意味着:新数据的最早可能抵达时间,必须不早于老数据保护期的结束

    • 翻译成电路要求:从启动寄存器到捕获寄存器这条路径的“总最小延时”,必须大于等于捕获寄存器的保持时间。

    • 如果这个不等式不成立(例如路径是直连导线,延时几乎为0),那么新数据就会在t_hold结束前到达,破坏老数据的稳定采样,电路必然出错。


为什么说它“决定最快变化”和“与时钟周期无关”?

  1. 决定最快变化 (Fighting “Too Fast”):

    • 它约束的是信号在电路中能够传播的最快速度。如果一条路径的延时太短(太快),就会违反保持时间。

    • 设计对策通常是“增加延时”:在数据路径上插入缓冲器(Buffer),故意增加t_cdlogic,让信号“慢一点”到达,以满足不等式。这与建立时间违例时“优化关键路径、让它变快”的对策完全相反。

  2. 与时钟周期无关 (Frequency Independent):

    • 请注意,公式中完全没有时钟周期T。这意味着无论你用的是1GHz的超高时钟,还是1Hz的慢速时钟,这个约束都必须被满足。

    • 因为问题发生在同一个时钟边沿触发的瞬间行为上,与新时钟边沿何时到来无关。即使你把时钟停住,在边沿到来时,这个“新旧数据竞赛”也已经发生并决定了结果。所以,保持时间违例是根本性的、与工作频率无关的设计缺陷。

一个关键场景:背靠背触发器

图片文本最后提到“当寄存器之间存在很少或没有逻辑电路时这会成为一个问题”,这指向了保持时间违例最经典的高危场景:背靠背触发器

  • 场景:一个触发器的输出Q直接(或仅通过很短导线)连接到下一个触发器的输入D。两级寄存器之间几乎没有组合逻辑。

  • 问题:此时,t_cdlogic ≈ 0。公式简化为:t_cdregister ≥ t_hold

  • 风险:如果芯片制造工艺波动导致t_cdregister变得异常小,或者t_hold要求较大,就极有可能违反t_cdregister ≥ t_hold,新数据在t_hold内就覆盖了输入端,造成功能随机错误。

  • 解决方案:即使在直连路径中,设计者也必须手动插入延迟单元,人为增加t_cdlogic,以确保总的最小延时满足保持时间要求。这在现代高速芯片设计中是标准操作。

总结

公式二(保持时间约束)​ 是一个下限约束。它像一个安全护栏,确保在时钟边沿这个“敏感时刻”,新产生的数据不会因为跑得太快而回头干扰了系统对当前数据的正确抓取。它防范的是电路中的“过快路径”,与时钟速度无关,是电路可靠性的基础。

http://www.jsqmd.com/news/192023/

相关文章:

  • 用户权限失控频发?C#中细粒度访问控制的5种实现方案
  • C#批量操作性能提升10倍的秘密:你不知道的5个关键优化点
  • 搜索引擎排名提升:标题包含‘huggingface镜像网站’等热点
  • 内存不足怎么办?建议至少16GB RAM配合RTX 3090起步
  • STM32F407 OLED显示屏驱动开发实战指南
  • 非营利组织福利:公益项目有机会获赠免费Token额度
  • 揭秘C#交错数组遍历:99%开发者忽略的5种高性能写法
  • HeyGem挑战赛举办计划:激发社区创造力促进生态繁荣
  • JavaScript插件能否增强?目前不能自定义脚本扩展
  • 新能源知识库(167)什么是章鱼能源?
  • 新手入门指南:手把手教你启动HeyGem并生成第一个视频
  • 科研绘图告别 “灵魂画手”!虎贲等考 AI:10 分钟搞定期刊级图表,数据可视化直接封神[特殊字符]
  • M4A苹果用户友好:HeyGem接受iTunes导出的音频文件
  • 【C#跨平台日志分析实战】:掌握高效日志采集与解析核心技术
  • 企业级权限架构落地实践(从RBAC到ABAC的演进之路)
  • 2026年有实力的MBTI官方测试,中文MBTI测试,MBTI免费测试入口推荐榜单 - 品牌鉴赏师
  • 声道选择立体声or单声道?HeyGem均可正常处理
  • Windows 与 Linux 跨平台自动化 MySQL 8 备份:专业级脚本设计与实战指南
  • 2025年宁波推荐庭院绿植租赁服务公司、实力强的办公室绿植租赁公司排名 - 工业品牌热点
  • cuDNN是否必须?深度学习推理依赖此库加速运算
  • MKV封装也能处理:HeyGem读取复杂容器格式能力强
  • 还在逐条处理数据?C#批量操作让你效率飙升,秒杀单条循环
  • Docker部署可行吗?HeyGem容器化改造正在社区讨论中
  • 2025年体育设施工程行业技术特色与口碑TOP5企业榜单:奥帆体育设施工程推荐 - 工业推荐榜
  • v1.0稳定版发布:HeyGem进入生产可用阶段
  • 操作系统期末复习——第一章:引论
  • 抖音短视频切片:提取‘一键打包下载’等功能亮点传播
  • 2025年合肥产后康复机构年度排名:至尊妈妈产后恢复怎么样? - myqiye
  • 私有化部署报价咨询:企业客户可联系科哥定制方案
  • 2026年知名的母乳储存,创新母乳储存,职场母乳储存公司推荐及选择参考 - 品牌鉴赏师