Clock setup:時(shí)鐘建立關(guān)系
tsu:輸入建立時(shí)間
th:輸入保持時(shí)間
tco:時(shí)鐘到輸出延時(shí),Tco = Clock Delay + Micro Tco + Data Delay
tpd:管腳到管腳的延時(shí)
Trd:寄存器到寄存器之間的延時(shí)
Minimum tpd & tco:最小tpd和tco
Clock Skew:時(shí)鐘偏斜,時(shí)鐘到達(dá)兩個(gè)D觸發(fā)器的時(shí)間差,當(dāng)分頻由內(nèi)部電路產(chǎn)生,無(wú)法保證小的Clock skew
fmax:最高頻率,Clock period = Data Delay – Clock skew +Tco +Tsu,Internal Fmax =1/Clock period
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í)延。通過(guò)chip Editer修改走線 2、 減少組合邏輯的時(shí)延。加入流水(在REG和REG之間加了D觸發(fā)器) Setup Time:建立時(shí)間
Hold Time:保持時(shí)間
Latency:延遲
Slack:時(shí)間裕量
Multicycle path:多周期路徑,兩個(gè)寄存器之間數(shù)據(jù)要經(jīng)過(guò)多個(gè)時(shí)鐘才能穩(wěn)定的路徑,一般出現(xiàn)于組合邏輯較大的那些路徑。
亞穩(wěn)態(tài):建立和保持時(shí)間如果數(shù)據(jù)發(fā)生變化,就可能發(fā)生亞穩(wěn)態(tài)現(xiàn)象。
一般來(lái)說(shuō),在單一時(shí)鐘域的設(shè)計(jì)中只要系統(tǒng)電路的fmax能夠保證,就可以避免亞穩(wěn)態(tài)的發(fā)生;但是在跨時(shí)鐘域的時(shí)鐘的相位是異步的,亞穩(wěn)態(tài)將無(wú)法避免。此時(shí),在跨時(shí)鐘設(shè)計(jì)時(shí)的解決亞穩(wěn)態(tài)的思想是:雖然亞穩(wěn)態(tài)無(wú)法避免,但卻可以采用一定措施保證系統(tǒng)的可靠性,使得在發(fā)生亞穩(wěn)態(tài)后系統(tǒng)仍然可以穩(wěn)定地工作。
多時(shí)鐘域下亞穩(wěn)態(tài)的處理: 亞穩(wěn)態(tài)無(wú)法避免,但要將其影響降到最低。 單根信號(hào)下,對(duì)第2個(gè)時(shí)鐘用D觸發(fā)器打2拍就可以將亞穩(wěn)態(tài)的影響減少到可以忽略的地步。 多根信號(hào)下,不能用上面方法. 1、握手。速度太慢 2、異步FIFO 3、多相位/高頻時(shí)鐘多次采樣數(shù)據(jù)
同步設(shè)計(jì)準(zhǔn)則:
1、 盡可能使用同一時(shí)鐘,時(shí)鐘走全局時(shí)鐘網(wǎng)絡(luò)。多時(shí)鐘域采用“局部同步”。
2、 避免使用緩和時(shí)鐘采樣數(shù)據(jù)。采用混合時(shí)鐘采用將導(dǎo)致Fmax小一倍。
3、 避免在模塊內(nèi)部使用計(jì)數(shù)器分頻所產(chǎn)生的時(shí)鐘。
4、 避免使用門(mén)控時(shí)鐘。組合電路會(huì)產(chǎn)生大量毛刺,所以會(huì)在clk上產(chǎn)生毛刺導(dǎo)致FF誤翻轉(zhuǎn)�?梢杂脮r(shí)鐘始能代替門(mén)控時(shí)鐘。
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:通過(guò)更改D觸發(fā)器的位置而不改變邏輯功能來(lái)平衡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ò)原因
|