專利名稱:一種fpga互連線延時(shí)獲取方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種FPGA互連線延時(shí)獲取方法及其系統(tǒng)。
背景技術(shù):
在當(dāng)今的現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)領(lǐng)域里,現(xiàn)有技術(shù)中芯片功能的開(kāi)發(fā)應(yīng)用的步驟為用戶提供設(shè)計(jì)源代碼_>根據(jù)設(shè)計(jì)源代碼的設(shè)計(jì)思想對(duì)芯片的各個(gè)電路模塊進(jìn)行綜合、翻譯、映射和布局布線(布局布線就是將源代碼的設(shè)計(jì)進(jìn)行布局,使其連線到FPGA中的特定的某個(gè)電路功能模塊上)"> 得到配置信息_>將配置信息下載到對(duì)應(yīng)的FPGA中,就能實(shí)現(xiàn)具體的功能。在此過(guò)程中,需要進(jìn)行合理的布局布線,以滿足邏輯與時(shí)序的要求,并根據(jù)布局布線后的結(jié)果得到芯片工作的最高頻率,從而可以做后續(xù)的靜態(tài)時(shí)序分析與動(dòng)態(tài)時(shí)序仿真,驗(yàn)證布局布線后的電路是否實(shí)現(xiàn)了用戶設(shè)計(jì)目標(biāo)。為保證時(shí)序分析準(zhǔn)確模擬了真實(shí)芯片工作情況以及獲得最高工作頻率,在布局布線前需要將芯片真實(shí)的延時(shí)數(shù)據(jù)提供給 FPGA配套開(kāi)發(fā)軟件,然后軟件根據(jù)一定的算法,即可準(zhǔn)確地布局布線及產(chǎn)生后仿真網(wǎng)表。FPGA主要由四個(gè)基本的組件構(gòu)成輸入/輸出模塊(I/O Block,Ι0Β)、可編程邏輯模塊(Configurable Logic Block,CLB)、可編禾呈互連資源(Programmable Interconnect Resource,PI)以及存儲(chǔ)器模塊。I0B、CLB以及存儲(chǔ)器模塊電路較小,邏輯功能明確,因此可直接根據(jù)邏輯功能獲得延時(shí)信息;在可編程互連資源方面,互連線結(jié)構(gòu)復(fù)雜,電路較大,因此此部分的延時(shí)參數(shù)提取相比Ι0Β、CLB以及存儲(chǔ)器模塊要復(fù)雜很多,并且互連資源占據(jù)了芯片的大部分面積,互連線延時(shí)的準(zhǔn)確與否直接關(guān)系到了依托時(shí)序信息布局布線的準(zhǔn)確與否,也關(guān)系到了根據(jù)軟件判斷FPGA工作頻率和標(biāo)準(zhǔn)延遲格式文件(SDF文件)的準(zhǔn)確性。如圖1所示,目前對(duì)于互連線延時(shí)的獲取,通常使用的辦法是使用Elmore延時(shí)(艾莫延時(shí))獲取方法。Elmore延時(shí)獲取方法主要是通過(guò)將FPGA互連線分成多段,每段等效為簡(jiǎn)化的RC (電阻電容)網(wǎng)絡(luò),然后每段RC網(wǎng)絡(luò)級(jí)聯(lián),再利用Elmore延時(shí)公式將整段互連線的延時(shí)獲取出來(lái)。還有一些公司是利用芯片測(cè)試的方式,不斷重復(fù)使用特定的單元,實(shí)際測(cè)試得到這些單元的延時(shí)。這兩種方法都有著一定的限制性,Elmore延時(shí)獲取方法由于利用的是簡(jiǎn)化的RC網(wǎng)絡(luò),因此模擬得不夠準(zhǔn)確。測(cè)試的辦法則是通過(guò)不斷地寫(xiě)設(shè)計(jì)重復(fù)地使用某些單元和互連線,但由于互連線的種類較多,利用此辦法工作量非常大。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是,用以給FPGA互連線建立一種更準(zhǔn)確的技術(shù)方案, 從而提取出的延時(shí)信息與真實(shí)延時(shí)更為接近。對(duì)此,本發(fā)明提供了一種FPGA互連線延時(shí)獲取方法,包括如下步驟
模型的建立與分析步驟將FPGA的互連線劃分為若干個(gè)模型,并確定每個(gè)模型負(fù)載數(shù)量變化引起路徑個(gè)數(shù)變化的數(shù)量;
初步處理步驟根據(jù)負(fù)載數(shù)量的變化,通過(guò)版圖提取的網(wǎng)表,以得到每一條路徑的延時(shí),再將這些模型的延時(shí)參數(shù)填寫(xiě)在庫(kù)中;延時(shí)處理步驟在進(jìn)行布局布線的時(shí)候,通過(guò)查找?guī)欤玫交ミB線模型,然后調(diào)用相應(yīng)模型的延時(shí)參數(shù),用數(shù)值擬合方式獲得整條互連線的總延時(shí)。優(yōu)選的,所述模型的建立與分析步驟中根據(jù)互連線結(jié)構(gòu)、驅(qū)動(dòng)和負(fù)載類型的不同,劃分互連線的模型。優(yōu)選的,所述初步處理步驟中,所述網(wǎng)表帶有版圖寄生參數(shù)。本發(fā)明還提供一種FPGA互連線延時(shí)獲取系統(tǒng),包括
模型的建立與分析模塊用于將FPGA的互連線劃分為若干個(gè)模型,并確定每個(gè)模型負(fù)載數(shù)量變化引起路徑個(gè)數(shù)變化的數(shù)量;
初步處理模塊用于根據(jù)負(fù)載數(shù)量的變化,通過(guò)版圖提取的網(wǎng)表,以得到每一條路徑的延時(shí),再將這些模型的延時(shí)參數(shù)填寫(xiě)在庫(kù)中;
延時(shí)處理模塊用于在進(jìn)行布局布線的時(shí)候,通過(guò)查找?guī)?,得到互連線模型,然后調(diào)用相應(yīng)模型的延時(shí)參數(shù),用數(shù)值擬合方式獲得整條互連線的總延時(shí)。優(yōu)選的,所述模型的建立與分析模塊中根據(jù)互連線結(jié)構(gòu)、驅(qū)動(dòng)和負(fù)載類型的不同,劃分互連線的模型。優(yōu)選的,所述初步處理模塊中,所述網(wǎng)表帶有版圖寄生參數(shù)。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于,綜合考慮了互連線驅(qū)動(dòng)端與負(fù)載的變化,并且能根據(jù)實(shí)際布局布線的負(fù)載數(shù)量進(jìn)行延時(shí)的增減,因此精準(zhǔn)度較高,能很好地獲取真實(shí)芯片的延時(shí)參數(shù)。
圖1為現(xiàn)有技術(shù)中對(duì)FPGA互連線延時(shí)獲取的過(guò)程示意圖2為本發(fā)明FPGA互連線延時(shí)獲取系統(tǒng)一種實(shí)施例的結(jié)構(gòu)示意圖; 圖3為FPGA中的一種DOUBLE線的連線方式; 圖4是本發(fā)明FPGA互連線延時(shí)獲取方法一種實(shí)施例的流程示意圖; 圖5是本發(fā)明FPGA互連線延時(shí)獲取方法一種實(shí)施例中互連線建模的過(guò)程。
具體實(shí)施例方式結(jié)合圖2、圖3、圖4和圖5,對(duì)本發(fā)明的實(shí)施例做進(jìn)一步的說(shuō)明。一般意義上所說(shuō)的互連線包括了可編程的配置選擇器(MUX)、連線上的反相器 (inverter)和物理連線。大多數(shù)FPGA都是采用了層次式互連方式的可編程互連線模型,該模型通常在布線通道中存在三種連線,即相鄰高速互連層次的短線(Short Line)、局部連線層次的可分割長(zhǎng)線(Dividable Long Line)和全局層次的長(zhǎng)線(Long Line),配置選擇器作為不同的線之間連接的開(kāi)關(guān)?;ミB線延時(shí)主要受到了互連線結(jié)構(gòu)、驅(qū)動(dòng)和負(fù)載所影響,短線、可分割長(zhǎng)線、長(zhǎng)線這三種類型互連線的驅(qū)動(dòng)與負(fù)載都是不一樣的,因此對(duì)互連線建立模型的時(shí)候,需要根據(jù)驅(qū)動(dòng)與負(fù)載的不同建立不同的模型。即使對(duì)于驅(qū)動(dòng)和負(fù)載都相同的線,由于在實(shí)際布局布線時(shí),并非所有負(fù)載都同時(shí)導(dǎo)通,實(shí)際導(dǎo)通負(fù)載數(shù)量的變化也會(huì)引起延時(shí)的改變,因此需要構(gòu)造一個(gè)較好的方案,用以根據(jù)布局布線實(shí)際情況獲得互連線的延時(shí)。參見(jiàn)圖2,為短線中的一種DOUBLE線的連線方式。
其中,多項(xiàng)式模型與數(shù)值擬合方式如正文所言,負(fù)載會(huì)影響互連線延時(shí);在實(shí)際的 FPGA開(kāi)發(fā)過(guò)程中,不同的用戶設(shè)計(jì)會(huì)引起布局布線方式的改變,從而負(fù)載數(shù)量會(huì)發(fā)生變化, 此時(shí)即使是同一根互連線,其延時(shí)也有所不同。為近似地體現(xiàn)出此現(xiàn)象導(dǎo)致的互連線延時(shí)的變化,本發(fā)明構(gòu)思了一種新的互連線建模方式,既考慮到了驅(qū)動(dòng)與負(fù)載不同影響到互連線的延時(shí),也考慮到了負(fù)載數(shù)量的變化引起延時(shí)的變化。本發(fā)明的實(shí)施例中,以互連線種類為基本進(jìn)行劃分,利用多項(xiàng)式模型來(lái)建立互連線的近似延時(shí)模型,最后用數(shù)值擬合方式獲取所有互連線的延時(shí)。以double線為例,互連線延時(shí)模型采用多項(xiàng)式形式,如 Td=KO+ Σ KxNx
其中
(1)Td表示互連線延時(shí);
(2)KO是“本征延時(shí)”,即負(fù)載為0的時(shí)候該互連線的延時(shí)數(shù)據(jù),此延時(shí)不隨負(fù)載變化;
(3)Kx是該互連線上某種負(fù)載的其中一個(gè)導(dǎo)通時(shí)在輸出端引起的延時(shí)增量(假若某互連線有U種負(fù)載,并且每個(gè)負(fù)載有MpL MOS管,則Kx - +Κ+ ΣΛ /|、);
(4)Nx是EDA工具根據(jù)布局布線后的信息,獲取獲得該互連線上與Kx對(duì)應(yīng)的某種負(fù)載的某一級(jí)MOS管的導(dǎo)通數(shù)目。在FPGA配套軟件對(duì)用戶設(shè)計(jì)進(jìn)行布局布線后,所用到的互連線的負(fù)載都已經(jīng)被確定下來(lái)了,因此Nx是可以通過(guò)軟件得到的,每個(gè)Kx都有其相對(duì)應(yīng)的 Nx.
圖2即為兩級(jí)Double線,左下角的CLB為源端,其余為接收端。在本文中,設(shè)定每個(gè)方向上(水平、垂直)靠近源端的終端CLB為第一級(jí)(CLB1),遠(yuǎn)離源端的終端CLB為第二級(jí) (CLB2),這種互連線的負(fù)載為CLB內(nèi)部的可編程的配置選擇器(MUX)。在圖2可看到,Double線共有兩級(jí)負(fù)載,但是由于CLBl和CLB2內(nèi)部各有兩種類型的MUX,每種MUX都有兩級(jí)傳輸管,因此在建模時(shí),應(yīng)將CLB看作為共有四級(jí)負(fù)載,并且每一級(jí)負(fù)載都應(yīng)有兩個(gè)k值。可將此四級(jí)負(fù)載定義為四條路徑(Path),共8個(gè)k值。(1) Pathl 源端到 CLBl 的第一種 MUX ;
(2)Path2:源端到CLBl的第二種MUX ;
(3)Path3:源端到CLBl的第一種MUX ;
(4)Path4:源端到CLBl的第二種MUX ;
以Pathl為例,源端經(jīng)過(guò)Pathl到輸出,其延時(shí)估算多項(xiàng)式(子模型)為
Td=K0+Kl*m+K2*N2+K3*N3+K4*N4
+K5*N5+K6*N6+K7*N7+K8*N8
其中,
(1)Pathl負(fù)載的第一級(jí)傳輸管導(dǎo)通數(shù)為Ni,在第一級(jí)傳輸管導(dǎo)通的前提下,第二級(jí)傳輸管導(dǎo)通數(shù)為N2 ;
(2)Path2的第一級(jí)傳輸管導(dǎo)通數(shù)為N3,在第一級(jí)傳輸管導(dǎo)通的前提下,第二級(jí)傳輸管導(dǎo)通數(shù)為N4 ;
(3)Path3的第一級(jí)傳輸管導(dǎo)通數(shù)為N5,在第一級(jí)傳輸管導(dǎo)通的前提下,第二級(jí)傳輸管導(dǎo)通數(shù)為N6 ;
(4)Path4的第一級(jí)傳輸管導(dǎo)通數(shù)為N7,在第一級(jí)傳輸管導(dǎo)通的前提下,第二級(jí)傳輸管導(dǎo)通數(shù)為N8。KO為本征延時(shí),K1-K8是m_N8對(duì)應(yīng)位置的一個(gè)傳輸管導(dǎo)通時(shí)在輸出端所引起的延時(shí)增量,這即本發(fā)明參數(shù)提取的主要內(nèi)容,此互連線模型其他的路徑與I^athl用類似的方法算出。對(duì)于不同的輸出路徑,延時(shí)不同,有不同的K0-K8參數(shù)值,如下表,為標(biāo)準(zhǔn) double線延時(shí)函數(shù)參數(shù)(單位ps)
在布局布線時(shí),F(xiàn)PGA配套軟件根據(jù)布局布線信息,通過(guò)庫(kù)獲取所用到的模型及其延時(shí)參數(shù),利用上述多項(xiàng)式的公式算出每一根用到的互連線的延時(shí),此方法即為數(shù)值擬合方式。3. 具體實(shí)施例方式
為說(shuō)明我們這種互連線的建模與參數(shù)提取的方式,下面分步將所有步驟列出來(lái)。1.01分析FPGA互連線的結(jié)構(gòu);
1. 02根據(jù)互連線結(jié)構(gòu)、驅(qū)動(dòng)和負(fù)載類型的不同,劃分互連線的模型; 1. 03對(duì)劃分好的互連線模型確定負(fù)載個(gè)數(shù),并確定K值的數(shù)量 1.04在FPGA的總電路圖中找到對(duì)應(yīng)模型形成的電路,將其單獨(dú)提取出來(lái),并在電路中對(duì)該模型對(duì)應(yīng)的電路添加必要的配置點(diǎn)和測(cè)量點(diǎn)(配置點(diǎn)是用來(lái)在SPICE仿真中加激勵(lì)的);
1.05對(duì)該電路提取帶有版圖寄生參數(shù)的網(wǎng)表;
1. 06利用SPICE仿真激勵(lì)文件(SP文件)對(duì)電路添加激勵(lì),并利用SPICE仿真獲得所有模型的全部路徑的延時(shí)參數(shù);
1. 07將SPICE仿真獲得的延時(shí)參數(shù)做一定的數(shù)學(xué)處理,使之成為多項(xiàng)式模型方式; 1.08根據(jù)TDL語(yǔ)言格式,將延時(shí)參數(shù)填寫(xiě)到庫(kù)中;
1. 09 FPGA配套軟件根據(jù)數(shù)值擬合方式獲取每一段互連線的延時(shí),從而得到整條路徑的延時(shí)。以上即是此實(shí)施例的全部步驟,可見(jiàn)參見(jiàn)圖4。下面將對(duì)上述9個(gè)步驟做詳細(xì)的說(shuō)明。1. FPGA互連線的建模
在理解建模的過(guò)程之前,首先明確兩個(gè)概念,一為路徑的定義,本文中所說(shuō)的路徑即是互連線到達(dá)的一個(gè)終點(diǎn),即互連線的源端到達(dá)負(fù)載的終點(diǎn)都是路徑,負(fù)載有多少種,即有多少條路徑;二為K值的個(gè)數(shù),K值個(gè)數(shù)由路徑的數(shù)量以及每條路徑的MUX的級(jí)數(shù)決定,如上文所說(shuō)的DoubIe線,它有四條路徑(U=4),每條路徑的MUX有兩級(jí)(Mj2 =2),那么K為ΣMm =2+2+2+2=8 個(gè)。建模過(guò)程可見(jiàn)圖4,由于FPGA互連線的延時(shí)與結(jié)構(gòu)、驅(qū)動(dòng)和負(fù)載相關(guān),因此可將這三項(xiàng)內(nèi)容分層次,先從結(jié)構(gòu)上將互連線劃分為^iort Line、Dividable Long Line和Long Line三種,這三種類型的互連線由于驅(qū)動(dòng)端MOS管的尺寸不一致,還可劃分為幾種類型的線,例如short line可劃分為時(shí)鐘線(clock line)、一般的短線(local line)和二線 (double line),對(duì)于進(jìn)一步劃分的線而言,由于負(fù)載個(gè)數(shù)的不同,尚可劃分成幾個(gè)模型。當(dāng)模型劃分好,即可根據(jù)電路得到K值個(gè)數(shù)。1. 10如圖5所示,為互連線建模的過(guò)程,對(duì)FPGA互連線建模需要熟悉整個(gè)電路結(jié)構(gòu),以便能正確劃分互連線模型,并確定K的數(shù)量。1. 11 2. SPICE仿真與數(shù)學(xué)處理1. 12通過(guò)SPICE仿真可得到上面劃分的模型中的KO-Kx的值,KO是扇出為0時(shí)的“本征延時(shí)”,Kx是某類型負(fù)載的一個(gè)傳輸管導(dǎo)通帶來(lái)的延時(shí)增量。SPICE仿真需要三個(gè)文件, 一為電路對(duì)應(yīng)的版圖提取網(wǎng)表,此項(xiàng)是通過(guò)提取FPGA電路涉及該模型部分的電路,再提取版圖數(shù)據(jù)獲得的,含有RC寄生參數(shù)(互連線的等效電容電阻的寄生參數(shù)),能真實(shí)地模擬真實(shí)芯片的情況;二是仿真激勵(lì)文件,此文件通過(guò)給模型的源端和配置點(diǎn)激勵(lì),從而使得波形能夠通過(guò)互連線傳輸;三是其他仿真設(shè)置文件,如仿真精度設(shè)置文件等。1. 13 SPICE仿真的基本思路是在輸出路徑開(kāi)啟的前提下,分別開(kāi)啟不同類型的傳輸管,測(cè)得開(kāi)啟前后的延時(shí)值,相減即得延時(shí)增量。1. 14為了在仿真速度和精度上得到平衡,在使用nanosim (nanosim為SPICE仿真軟件的一種)仿真時(shí)設(shè)置為3級(jí)精度。此外,為了減小工具誤差,在仿真時(shí)同時(shí)開(kāi)啟多個(gè)相同類型的傳輸管,通過(guò)求平均值的方法得到延時(shí)增量Kx。1. 15以上文所說(shuō)的標(biāo)準(zhǔn)double線為例,延時(shí)參數(shù)的提取過(guò)程為首先開(kāi)啟Ni,N2 使得pathl導(dǎo)通,測(cè)出該測(cè)試路徑的延時(shí)K,然后開(kāi)啟pathl的其他扇出的第一級(jí)傳輸管,可獲取出第一級(jí)傳輸管的延時(shí)增量Kl ;然后再開(kāi)啟第二級(jí)傳輸管,可獲取出第二級(jí)傳輸管的延時(shí)增量K2 ;用K減去Kl和K2可得到本路徑0扇出時(shí)的本征延時(shí)KO ;同理可仿真,獲取得出K3-K8。根據(jù)以上所述的方法可分別仿真、獲取出每條路徑的延時(shí)參數(shù)。1.16以上過(guò)程中,仿真時(shí)的扇出要始終保持在較低的情況下,可以避免延時(shí)參數(shù)過(guò)于悲觀,在實(shí)際應(yīng)用中,多扇出的情況也是很少的。1. 17 3.庫(kù)的填寫(xiě)及軟件調(diào)用參數(shù)
1. 18通過(guò)SPICE仿真獲得所有模型的參數(shù)后,即可根據(jù)一定的方式將參數(shù)填寫(xiě)到庫(kù)中,我們采用的是TDL語(yǔ)言格式,以上述所寫(xiě)的標(biāo)準(zhǔn)double線為例,可見(jiàn)下表,為參數(shù)庫(kù)的格式
權(quán)利要求
1.一種FPGA互連線延時(shí)獲取方法,其特征在于,包括如下步驟模型的建立與分析步驟將FPGA的互連線劃分為若干個(gè)模型,并確定每個(gè)模型負(fù)載數(shù)量變化引起路徑個(gè)數(shù)變化的數(shù)量;初步處理步驟根據(jù)負(fù)載數(shù)量的變化,通過(guò)版圖提取的網(wǎng)表,以得到每一條路徑的延時(shí),再將這些模型的延時(shí)參數(shù)填寫(xiě)在庫(kù)中;延時(shí)處理步驟在進(jìn)行布局布線的時(shí)候,通過(guò)查找?guī)?,得到互連線模型,然后調(diào)用相應(yīng)模型的延時(shí)參數(shù),用數(shù)值擬合方式獲得整條互連線的總延時(shí)。
2.如權(quán)利要求1所述的FPGA互連線延時(shí)獲取方法,其特征在于,所述模型的建立與分析步驟中根據(jù)互連線結(jié)構(gòu)、驅(qū)動(dòng)和負(fù)載類型的不同,劃分互連線的模型。
3.如權(quán)利要求1所述的FPGA互連線延時(shí)獲取方法,其特征在于,所述初步處理步驟中, 所述網(wǎng)表帶有版圖寄生參數(shù)。
4.一種FPGA互連線延時(shí)獲取系統(tǒng),其特征在于,包括模型的建立與分析模塊用于將FPGA的互連線劃分為若干個(gè)模型,并確定每個(gè)模型負(fù)載數(shù)量變化引起路徑個(gè)數(shù)變化的數(shù)量;初步處理模塊用于根據(jù)負(fù)載數(shù)量的變化,通過(guò)版圖提取的網(wǎng)表,以得到每一條路徑的延時(shí),再將這些模型的延時(shí)參數(shù)填寫(xiě)在庫(kù)中;延時(shí)處理模塊用于在進(jìn)行布局布線的時(shí)候,通過(guò)查找?guī)欤玫交ミB線模型,然后調(diào)用相應(yīng)模型的延時(shí)參數(shù),用數(shù)值擬合方式獲得整條互連線的總延時(shí)。
5.如權(quán)利要求1所述的FPGA互連線延時(shí)獲取系統(tǒng),其特征在于,所述模型的建立與分析模塊中根據(jù)互連線結(jié)構(gòu)、驅(qū)動(dòng)和負(fù)載類型的不同,劃分互連線的模型。
6.如權(quán)利要求1所述的FPGA互連線延時(shí)獲取系統(tǒng),其特征在于,所述初步處理模塊中, 所述網(wǎng)表帶有版圖寄生參數(shù)。
全文摘要
本發(fā)明提供一種FPGA互連線延時(shí)獲取方法及其系統(tǒng)。一種FPGA互連線延時(shí)獲取方法,包括如下步驟模型的建立與分析步驟將FPGA的互連線劃分為若干個(gè)模型,并確定每個(gè)模型負(fù)載數(shù)量變化引起路徑個(gè)數(shù)變化的數(shù)量;初步處理步驟根據(jù)負(fù)載數(shù)量的變化,通過(guò)版圖提取的網(wǎng)表,以得到每一條路徑的延時(shí),再將這些模型的延時(shí)參數(shù)填寫(xiě)在庫(kù)中;延時(shí)處理步驟在進(jìn)行布局布線的時(shí)候,通過(guò)查找?guī)?,得到互連線模型,然后調(diào)用相應(yīng)模型的延時(shí)參數(shù),用數(shù)值擬合方式獲得整條互連線的總延時(shí)。
文檔編號(hào)G06F17/50GK102542098SQ20111038110
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年11月26日 優(yōu)先權(quán)日2011年11月26日
發(fā)明者包朝偉, 袁梅, 趙多華 申請(qǐng)人:深圳市國(guó)微電子股份有限公司