FPGA中的时序分析和设计知识讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在锁存沿到来之前,实际数据稳定的时间超出能正确采样的的余量。
保持时间余量大于0是采样稳定的必要条件。
Tclk1
REG1
PRE
DQ
CLR
组合 逻辑
Tdata
REG2
PRE
DQ
CLR
TCO
Tclk2 Th
CLK REG1.CLK
REG1.Q
REG2.D
REG2.CLK
锁存沿
Tclk1
Data Valid Data Valid
时序分析(建立时间 & 保持时间)
数据 时钟
PRE
D
பைடு நூலகம்
Q
CLR
CLK DATA
Tsu Th
采样窗
建立时间: 保持时间:
时钟沿到来之前,数据必须稳定的最短时间。 时钟沿到来之后,数据必须稳定的最短时间。
建立时间和(或)保持时间不满足是采样出错的根本原因。
时钟边沿前后,数据均需有个稳定期,以确保准确采样
时序分析(时钟延时)
从时钟输入引脚到采样寄存器时钟引脚的延时
REG1
PRE
DQ
组合 逻辑
CLR
REG2
PRE
DQ
CLR
Tclk2
锁存沿
CLK
Tclk2
REG2.CLK
时钟延时时间 = Tclk2
时序分析(时钟歪斜/抖动)
从时钟输入引脚到采样寄存器时钟引脚的延时
REG1
PRE
DQ
组合 逻辑
发射沿
Tclk1
REG1
PRE
DQ
CLR
TCO
组合 逻辑
Tdata
REG2
PRE
DQ
CLR
Tclk2 Tsu
锁存沿
CLK REG1.CLK
REG1.Q
REG2.D
REG2.CLK
Tclk1
Tco
Data Valid
Tdata
Setup Slack
Data Valid
Tclk2
Tsu
时序分析(保持时间余量)
OSC
Data required path
ASSP
reg1
PRE
DQ
CLR
FPGA/CPLD
reg2
PRE
DQ
CLR
Data arrival path
用同步信号控制异步接口(芯片间)
FPGA/CPLD
Data required path
reg2
PRE
DQ
CLR
reg1
PRE
DQ
CLR
Data arrival path
时序分析(数据延时时间)
从发射沿到数据到达目的寄存器输入端的时间
Tclk1
REG1
PRE
DQ
CLR
组合 逻辑
Tdata
TCO
发射沿
REG2
PRE
DQ
CLR
CLK REG1.CLK
REG1.Q
REG2.D
Tclk1 Tco
Tdata
Data Valid Data Valid
数据延时时间= Tclk1 + Tco +Tdata
时序基础
数字域上的采样(最简模型)
物理模型
DQ
C
时序模型
时序基础
数字域上的采样(内部模型)
物理模型
时序模型
时序基础
数字域上的采样(接口模型)
物理模型
时序模型
时序基础
数字域上的采样(全模型)
FPGA中的时序包括两大部分: 1,接口的时序。 2,内部的时序。
PRE
IN

D
Q
CLK
CLR
CLR
用同步信号控制异步接口(芯片内)
时序分析(IO接口分析)
接口时序分析必须考虑外部接口芯片的时序特性 接口时序分析包括外部走线的延时特性
FPGA/CPLD reg1
PRE
DQ
CLR
TCO
Tclk1
数据延时路径
数据到达路径
FPGA/CPLD
Tdata CL*
reg2
PRE
DQ
CLR
Tsu/Th
FPGA中的时序分析和设计
本课程涉及的内容
• 时序基础 • 时序分析 • 时序优化 • 时序约束 • 同步设计 • 跨时钟域 • 设计案例
时序基础
时序分析和设计是为了回答以下问题: • 为什么同一个FPGA烧写程序在同一个板卡上时好时坏? • 为什么同一个FPGA烧写程序在不同批板卡上表现不一? • 设计是否已经稳定?有多大裕量?怎样更稳定? • 设计是否可以跑得更快,怎样跑得更快? • 怎样对设计进行完整有效的约束,怎样确定约束是否完整和合理? • 为什么要进行同步设计,怎样进行同步设计? • 怎样进行跨时钟域的设计?
时序分析(异步和同步)
• 尽量用同步设计。 • 异步信号一般只在没有时钟的情况下需要复位/置位操作时使用。 • 同步等于所有的动作在时钟这个口令员的口令下同时动作,整齐划一,稳定性可靠。 • 异步等于各信号各自为政,需要设计者搞清他们的关系,把他们都控制和安排好。 • 异步设计不是不可以,但是增大了设计者的工作量,增加了设计的复杂度。
时序分析(发射沿 & 锁存沿)
REG1
SET
DQ
组合逻辑
REG2
SET
DQ
CLK
发射沿
CLK DATA
CLR
Data Valid
CLR
锁存沿
发射沿: 锁存沿:
“源寄存器”的输入端锁存信号的时钟沿 “目的寄存器”的输入端锁存信号的时钟沿。
通常发射沿到锁存沿的路径是时序分析工具分析的路径,在有时钟 频率约束的情况下,分析和布线工具会保证发射沿到锁存沿小于一 个时钟周期(多周期路径除外)。
组合逻辑延时
PRE
D
Q
CLR

OUT
时序分析(模型)
异步路径
PRE
D
Q
数据路径
PRE
D
Q
CLR
时钟路径
CLR
异步路径
三种路径: 1. 时钟路径 2. 数据路径 3. 异步路径*
两种分析: 1. 同步路径 2. 异步路径*
*在本例中异步路径是指控制寄存器异步信号的路径
– 时钟 & 数据路径 – 时钟 & 异步信号
CLR
CLK REG2.CLK
REG2.CLK
时钟歪斜
REG2
PRE
DQ
CLR
Tclk2
时钟歪斜/抖动通常都是PS级,在常用S6.C3.V5芯片中甚至是100PS级,在 分析时序时加一定的裕量就可以不考虑
时序分析(建立时间余量)
在锁存沿到来之前,实际数据稳定的时间超出能正确采样的Tsu的余量。 建立时间余量大于0是采样稳定的必要条件。
Tclk2
Tco
Tdata
Th
Hold Slack
时序分析(恢复/移除时间)
CLK ASYNC
SET
D
Q
CLR
CLK ASYNC
Trec Trem
Valid
恢复时间:
在时钟沿到来之前,数据已经稳定的最短时间。
移除时间:
在时钟沿到来之后,数据保持稳定的最短时间。
跟同步信号的建立时间和保持时间是类似的概念。
Tclk2
数据采样路径
OSC
时序分析(IO接口分析)
接口时序分析必须考虑外部接口芯片的时序特性 接口时序分析包括外部走线的延时特性
时序优化(软件优化选项)
Quartus:
ISE:
时序优化(软件优化选项)
Quartus:
ISE:
时序优化(软件优化的作用)
相关文档
最新文档