system Fmax = 1/[MAX(Input Clock period, Internal Clock period , Output Clock period)]
影响Fmax主要由于Trd引起的,fmax = 1/(Trd +Clock skew+MICRO Tco+MICRO Tsu)
MICRO Tco MICRO Tsu 器件固定参数,<0.1ns
全局时钟 Clock skew可以忽略,所以 Fmax ~= 1/Trd
提高Fmax方法:
1、 减少走线时延。通过chip Editer修改走线
2、 减少组合逻辑的时延。加入流水(在REG和REG之间加了D触发器)
Setup Time:建立时间多时钟域下亚稳态的处理:
亚稳态无法避免,但要将其影响降到最低。
单根信号下,对第2个时钟用D触发器打2拍就可以将亚稳态的影响减少到可以忽略的地步。
多根信号下,不能用上面方法.
1、握手。速度太慢
2、异步FIFO
3、多相位/高频时钟多次采样数据
Synplify某些选项解释:
FSM compile:选中后根据状态机数目多少,自动选择采用one-hot还是binary编码。
FSM explorer:在FSM compile基础上对状态机尝试各种编码,根据约束设置选择一种最优的编码方式。
Resource sharing:资源共享,让综合工具对代码进行资源优化。
Pipelining:通过更改D触发器的位置而不改变逻辑功能来平衡D触发器到D触发器的时延,以提高Fmax 。
Retiming:可以对时序和资源进行优化。
SCOPE窗口下代码:
Clock:时钟约束
Clock to Clock:时钟到时钟约束
Input/Output:输入输出约束
Registers:寄存器约束
Multi-cycle Paths:多周期约束
Flase Paths:Flase路径约束
MAX Delay Paths:最大延迟路径
Attributes:属性
I/O standard:I/O标准
Compile Piont:多点编译
Quartus II中时序优化:
Assignment stting----Timming Requriments& Optionss ---- clock --- 设置Fmax
speed or Area or balanced
WYSIWYG和Retimming
standard fit auto fit fast fit
Physical Synthesis Optiimation ---- 复制 和 Retimming
管脚约束 Assignment Editer 对Tsu Tco约束:if Tsu +Tco> 1/Fmax ,则出错。
应该对于输入管脚添加Tsu约束, 对于输出管脚添加 Tco约束
对于双向口,添加Tsu Tco约束
最后在Time Quest中分析报告,查看出错原因
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |