基本時序路徑 本文節(jié)選自特權(quán)同學(xué)的圖書《FPGA設(shè)計實戰(zhàn)演練(邏輯篇)》 配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 對于FPGA內(nèi)部而言,通常有四大類的基本時序路徑,即: ● 內(nèi)部寄存器之間的時序路徑,即reg2reg ● 輸入引腳到內(nèi)部寄存器的時序路徑,即pin2reg ● 內(nèi)部寄存器到輸出引腳的時序路徑,即reg2pin ● 輸入引腳到輸出引腳之間的時序路徑(不通過寄存器),即pin2pin 前面三類是和FPGA內(nèi)部的寄存器相關(guān)的,也是和時鐘相關(guān)的,所以我們關(guān)注的重點(diǎn)還是數(shù)據(jù)信號和時鐘鎖存沿之間的建立時間和保持時間關(guān)系。而最后一類信號的傳輸通常不通過時鐘,因此它的時序約束也相對直接,我們一般是直接約束pin2pin的延時值范圍。這四類時序路徑的基本模型如圖8.13所示。(特權(quán)同學(xué),版權(quán)所有) ![]() 圖8.13 時序路徑基本模型 我們逐個來看這四類基本路徑所約束的具體時序路徑。(特權(quán)同學(xué),版權(quán)所有) reg2reg路徑約束的對象是路徑起始的源寄存器以及最終結(jié)束的目的寄存器都在FPGAn內(nèi)部的路徑。如圖8.14所示,F(xiàn)PGA內(nèi)部圈起來的部分是從一個寄存器到另一個寄存器的路徑,他們共用一個時鐘(當(dāng)然也有不共用一個時鐘的reg2reg路徑,這種路徑的分析會復(fù)雜一些,這里不做深入討論)。對于reg2reg路徑,我們只要告訴FPGA的時序設(shè)計工具他們的時鐘頻率(或時鐘周期),那么時序設(shè)計工具通常就“心領(lǐng)神會”的讓這條reg2reg的路徑延時符合這個固定時鐘頻率所要求的范圍內(nèi)(即它的建立時間和保持時間得到滿足)。(特權(quán)同學(xué),版權(quán)所有) ![]() 圖8.14 reg2reg路徑模型 我們再來看pin2reg的路徑模型,如圖8.15所示。雖然和FPGA連接的外部芯片內(nèi)部寄存器的狀態(tài)我們無從知曉(一般芯片也不會給出這么詳細(xì)的內(nèi)部信息),但是一般芯片都會給出針對于這個芯片引腳的一些時序信息,如Tco(數(shù)據(jù)在芯片內(nèi)部的路徑延時)、Tsu(建立時間)和Th(保持時間)等,我們也可以用圖示的這個模型來剖析一下芯片所給出的這些時序參數(shù)的具體路徑。在這個模型中,畫圈部分所覆蓋的路徑代表了和FPGA內(nèi)部reg2reg分析一樣的模型,pin2reg原則上只是reg2reg的一部分。FPGA內(nèi)部的小圈部分則表示我們實際要告訴FPGA的pin2reg約束信息。或者可以這樣說,我們能夠進(jìn)行路徑控制的就是這段小圈所覆蓋的路徑。但是,我們還需要通過整個reg2reg路徑的情況,即小圈以外、大圈以內(nèi)這部分路徑的延時情況去告訴FPGA內(nèi)部pin2reg路徑延時應(yīng)該限制在什么樣的范圍內(nèi)。(特權(quán)同學(xué),版權(quán)所有) ![]() 圖8.15 pin2reg路徑模型 reg2pin的路徑如圖8.16所示。同樣的,大圈部分覆蓋了FPGA內(nèi)部的源寄存器到FPGA外部芯片的目的寄存器為止的reg2reg的路徑。外部芯片通常也不會給出詳細(xì)的信息,而是通過相對它們的引腳給出一些時序的信息。而小圈所覆蓋的路徑則是我們需要去約束的reg2pin的延時。它的延時信息同樣是需要通過大圈以內(nèi)、小圈以外的路徑情況來推測得出。(特權(quán)同學(xué),版權(quán)所有) ![]() 圖8.16 reg2pin路徑模型 最后,我們再來看看pin2pin的路徑。如圖8.17所示,F(xiàn)PGA內(nèi)部上方的大圈內(nèi)路徑是pin2pin的路徑,即FPGA外部信號從FPGA的輸入引腳到輸出引腳所經(jīng)過的整個路徑延時,這個路徑中不經(jīng)過任何寄存器,它的整個路徑延時基本上只是一些組合邏輯延時和走線延時。這類路徑在純組合邏輯電路中比較常見,也必須在時序分析中覆蓋到。這類路徑也沒有所謂的建立時間和保持時間,設(shè)計者關(guān)心的是這條路徑從輸入到輸出允許的延時時間范圍,而在做時序設(shè)計時,設(shè)計者只需要把這樣的最大和最小延時值傳達(dá)給時序設(shè)計工具即可。(特權(quán)同學(xué),版權(quán)所有) ![]() 圖8.17 pin2pin路徑模型 |