(完整版)fpga跨时钟域设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MTBF计算一个例子
如何减少亚稳态的风险
▪ 单一时钟域内信号
▪ 工具检查每个触发器的建立保持时间,确保 其不出现亚稳态
▪ 跨时钟域的信号
▪ 没有工具可以保证其可靠性; ▪ 静态时序分析其应该设置false path 约束;
▪ 只能靠逻辑设计来保证:同步化技术。
同步化技术
▪ 根据跨时钟域信号的特点来选择同步化 方法:
▪ "When sampling a changing data signal with a clock ... the order of the events determines the outcome.The smaller the time difference between the events, the longer it takes to determine which came first.When two events occur very close together, the decision process can take longer than the time allotted,and a synchronization failure occurs. "
为什么讨论多时钟域设计
▪ 全同步设计(totally synchronous) ▪ 一个时钟
▪ 全异步设计(totally asynchronous)
▪ 没有时钟
▪ 全局异步,局部同步设计(globally asynchronous,
locally synchronous) 多个独立时钟域,同一时钟域内同步 这是我们关心的多时钟域设计 不可避免,单一时钟不能满足设计的需求
D
Clock2
取沿电路-把上升沿转化成脉冲
OUTPUT
D
D
OUTPUT
脉冲同步器-快时钟域到慢时钟域
翻转电路-把脉冲转化成边沿
CLOΒιβλιοθήκη BaiduK1 DOMAIN
0
Q
1
D
Q\
CLOCK2 DOMAIN
D
Clock1
Clock2
取沿电路-把边沿转化成脉冲
OUTPUT
D
D
OUTPUT
同步器设计推荐的做法
▪ 同步器单独成模块,引入两个独立时钟 ▪ 其他模块都设计为单一时钟模块,完全同
步模块 ▪ 以时钟域作为信号命名的前缀 ▪ 静态时序分析的时候,对同步器模块异步
输入信号的设定false path:用通配符
使用同步器需要注意的问题
1. 原时钟域的寄存器和新时钟域的两个寄 存器之间都不能有组合逻辑
2. 快时钟域到慢时钟域 3. 多位控制信号跨时钟域 4. 总线信号跨时钟域
同步器寄存器之间的不能有组合逻辑
FPGA跨时钟域设计 -- Multi-Asynchronous Clock Design of FPGA
主要内容
▪ 局部同步设计概念 ▪ 跨时钟域的问题
▪ 亚稳态(metastability) ▪ 同步失败(synchronize failure)
▪ 同步化
▪ 同步器(synchronizer) ▪ 保持寄存器和握手(hold and handshake) ▪ 异步FIFO设计(asynchronous FIFO)
MTBF
▪ tr-the resolving time allowed for metastable events
▪ tsw-device specific ▪ W-device specific ▪ fc-system clock frequency ▪ fd-average asynchronous data frequency
没有任何组合逻辑
没有任何组合逻辑
CLOCK1 DOMAIN
DATA
D
CLOCK2 DOMAIN
D
OUTPUT
D
Clock1
同步器分类
▪ 电平同步器 ▪ 边沿检测同步器 ▪ 脉冲同步器
基本同步器-电平同步器
没有任何组合逻辑
没有任何组合逻辑
CLOCK1 DOMAIN
DATA
D
CLOCK2 DOMAIN
D
OUTPUT
D
Clock1
Clock2
边沿检测同步器-慢时钟域到快时钟域
CLOCK1 DOMAIN
D
Clock1
CLOCK2 DOMAIN
亚稳态
▪ 什么是亚稳态 ▪ 引起亚稳态的原因 ▪ 亚稳态对系统可靠性的危害 ▪ 如何评估其危害-MTBF ▪ 如何减少亚稳态的风险
什么是亚稳态
▪ a metastable output is undefined or oscillates between HIGH and LOW for an indefinite time due to marginal triggering of the circuit. This marginal triggering is usually caused by violating the storage elements’ minimum set-up and hold times.
要求无法接受的程度。
如何评估其危害-MTBF
▪ MTBF 定量评估亚稳态对可靠性的影响 ▪ MTBF is a measure of how often, on the average,
a metastable event lasts a time tr or longer. ▪ 下式适用于一级同步寄存
▪ 同步器--控制信号 ▪ 保持寄存器和握手--地址或数据总线信号 ▪ 异步FIFO设计--数据总线信号
同步器(two-stage of flip-flops)
▪ 为什么使用两级寄存器(接收时钟域) ▪ 是一级寄存概率平方,两级并不能完全
消除亚稳态危害,但是提高了可靠性, 减少其发生的概率 ▪ 一级概率很大,三级改善不大 ▪ 同步器延迟-1或2个接收时钟
亚稳态最终收敛于0或1或者振荡
引起亚稳态的原因
▪ 在数据跳变期间采样 ▪ 建立或保持时间不满足
▪ 跨时钟域的信号和同步时钟之间的关系不能 确定
▪ 单一时钟域内工具确保建立保持时间,不出 现亚稳态
从tsu ,th和tco的角度看亚稳态
亚稳态对系统可靠性的危害
▪ 同步失败(Synchronize Failure) ▪ 系统失败(System Failure) ▪ 按概率出现;发生概率可能达到可靠性