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 器件固定參數(shù),<0.1ns
全局時(shí)鐘 Clock skew可以忽略,所以 Fmax ~= 1/Trd
提高Fmax方法:
1、 減少走線時(shí)延。通過chip Editer修改走線
2、 減少組合邏輯的時(shí)延。加入流水(在REG和REG之間加了D觸發(fā)器)
Setup Time:建立時(shí)間多時(shí)鐘域下亞穩(wěn)態(tài)的處理:
亞穩(wěn)態(tài)無法避免,但要將其影響降到最低。
單根信號(hào)下,對(duì)第2個(gè)時(shí)鐘用D觸發(fā)器打2拍就可以將亞穩(wěn)態(tài)的影響減少到可以忽略的地步。
多根信號(hào)下,不能用上面方法.
1、握手。速度太慢
2、異步FIFO
3、多相位/高頻時(shí)鐘多次采樣數(shù)據(jù)
Synplify某些選項(xiàng)解釋:
FSM compile:選中后根據(jù)狀態(tài)機(jī)數(shù)目多少,自動(dòng)選擇采用one-hot還是binary編碼。
FSM explorer:在FSM compile基礎(chǔ)上對(duì)狀態(tài)機(jī)嘗試各種編碼,根據(jù)約束設(shè)置選擇一種最優(yōu)的編碼方式。
Resource sharing:資源共享,讓綜合工具對(duì)代碼進(jìn)行資源優(yōu)化。
Pipelining:通過更改D觸發(fā)器的位置而不改變邏輯功能來平衡D觸發(fā)器到D觸發(fā)器的時(shí)延,以提高Fmax 。
Retiming:可以對(duì)時(shí)序和資源進(jìn)行優(yōu)化。
SCOPE窗口下代碼:
Clock:時(shí)鐘約束
Clock to Clock:時(shí)鐘到時(shí)鐘約束
Input/Output:輸入輸出約束
Registers:寄存器約束
Multi-cycle Paths:多周期約束
Flase Paths:Flase路徑約束
MAX Delay Paths:最大延遲路徑
Attributes:屬性
I/O standard:I/O標(biāo)準(zhǔn)
Compile Piont:多點(diǎn)編譯
Quartus II中時(shí)序優(yōu)化:
Assignment stting----Timming Requriments& Optionss ---- clock --- 設(shè)置Fmax
speed or Area or balanced
WYSIWYG和Retimming
standard fit auto fit fast fit
Physical Synthesis Optiimation ---- 復(fù)制 和 Retimming
管腳約束 Assignment Editer 對(duì)Tsu Tco約束:if Tsu +Tco> 1/Fmax ,則出錯(cuò)。
應(yīng)該對(duì)于輸入管腳添加Tsu約束, 對(duì)于輸出管腳添加 Tco約束
對(duì)于雙向口,添加Tsu Tco約束
最后在Time Quest中分析報(bào)告,查看出錯(cuò)原因
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |