時(shí)序路徑
典型的時(shí)序路徑有4類,如下圖所示,這4類路徑可分為片間路徑(標(biāo)記①和標(biāo)記③)和片內(nèi)路徑(標(biāo)記②和標(biāo)記④)。
對于所有的時(shí)序路徑,我們都要明確其起點(diǎn)和終點(diǎn),這4類時(shí)序路徑的起點(diǎn)和終點(diǎn)分別如下表。
這4類路徑中,我們最為關(guān)心是②的同步時(shí)序路徑,也就是FPGA內(nèi)部的時(shí)序邏輯。
時(shí)序模型
典型的時(shí)序模型如下圖所示,一個(gè)完整的時(shí)序路徑包括源時(shí)鐘路徑、數(shù)據(jù)路徑和目的時(shí)鐘路徑,也可以表示為觸發(fā)器+組合邏輯+觸發(fā)器的模型。
該時(shí)序模型的要求為(公式1)
Tclk ≥ Tco + Tlogic + Trouting + Tsetup - Tskew
其中,Tco為發(fā)端寄存器時(shí)鐘到輸出時(shí)間;Tlogic為組合邏輯延遲;Trouting為兩級寄存器之間的布線延遲;Tsetup為收端寄存器建立時(shí)間;Tskew為兩級寄存器的時(shí)鐘歪斜,其值等于時(shí)鐘同邊沿到達(dá)兩個(gè)寄存器時(shí)鐘端口的時(shí)間差;Tclk為系統(tǒng)所能達(dá)到的最小時(shí)鐘周期。
這里我們多說一下這個(gè)Tskew,skew分為兩種,positive skew和negative skew,其中positive skew見下圖,這相當(dāng)于增加了后一級寄存器的觸發(fā)時(shí)間。
但對于negative skew,則相當(dāng)于減少了后一級寄存器的觸發(fā)時(shí)間,如下圖所示。
當(dāng)系統(tǒng)穩(wěn)定后,都會是positive skew的狀態(tài),但即便是positive skew,綜合工具在計(jì)算時(shí)序時(shí),也不會把多出來的Tskew算進(jìn)去。
用下面這個(gè)圖來表示時(shí)序關(guān)系就更加容易理解了。為什么要減去Tskew,下面這個(gè)圖也更加直觀。
發(fā)送端寄存器產(chǎn)生的數(shù)據(jù),數(shù)據(jù)經(jīng)過Tco、Tlogic、Trouting后到達(dá)接收端,同時(shí)還要給接收端留出Tsetup的時(shí)間。而時(shí)鐘延遲了Tskew的時(shí)間,因此有:(公式2)
Tdata\_path + Tsetup < = Tskew + Tclk
對于同步設(shè)計(jì)Tskew可忽略(認(rèn)為其值為0),因?yàn)镕PGA中的時(shí)鐘樹會盡量保證到每個(gè)寄存器的延遲相同。
公式中提到了建立時(shí)間,那保持時(shí)間在什么地方體現(xiàn)呢?
保持時(shí)間比較難理解,它的意思是reg1的輸出不能太快到達(dá)reg2,這是為了防止采到的新數(shù)據(jù)太快而沖掉了原來的數(shù)據(jù)。保持時(shí)間約束的是同一個(gè)時(shí)鐘邊沿,而不是對下一個(gè)時(shí)鐘邊沿的約束。
reg2在邊沿2時(shí)刻剛剛捕獲reg1在邊沿1時(shí)刻發(fā)出的數(shù)據(jù),若reg1在邊沿2時(shí)刻發(fā)出的數(shù)據(jù)過快到達(dá)reg2,則會沖掉前面的數(shù)據(jù)。因此保持時(shí)間約束的是同一個(gè)邊沿。
在時(shí)鐘沿到達(dá)之后,數(shù)據(jù)要保持Thold的時(shí)間,因此,要滿足:(公式3)
Tdata\_path = Tco + Tlogic + Trouting ≥ Tskew + Thold
這兩個(gè)公式是FPGA的面試和筆試中經(jīng)常問到的問題,因?yàn)檫@種問題能反映出應(yīng)聘者對時(shí)序的理解。
在公式1中,Tco跟Tsu一樣,也取決于芯片工藝,因此,一旦芯片型號選定就只能通過Tlogic和Trouting來改善Tclk。其中,Tlogic和代碼風(fēng)格有很大關(guān)系,Trouting和布局布線的策略有很大關(guān)系。
關(guān)于時(shí)序約束的基本理論就講這么多,下篇講具體的約束。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618628 -
時(shí)序
+關(guān)注
關(guān)注
5文章
398瀏覽量
37959
發(fā)布評論請先 登錄
FPGA的IO口時(shí)序約束分析
FPGA時(shí)序約束之偽路徑和多周期路徑
FPGA時(shí)序約束之時(shí)序路徑和時(shí)序模型

FPGA時(shí)序約束--基礎(chǔ)理論篇
時(shí)序約束與時(shí)序分析 ppt教程
FPGA中的時(shí)序約束設(shè)計(jì)

正點(diǎn)原子FPGA靜態(tài)時(shí)序分析與時(shí)序約束教程

FPGA設(shè)計(jì)之時(shí)序約束四大步驟

FPGA設(shè)計(jì)之時(shí)序約束

FPGA時(shí)序約束理論篇之時(shí)序路徑與時(shí)序模型

FPGA時(shí)序約束之設(shè)置時(shí)鐘組

評論