亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種fpga芯片配置信息模型的層出化構(gòu)建方法

文檔序號(hào):6382472閱讀:191來源:國(guó)知局
專利名稱:一種fpga芯片配置信息模型的層出化構(gòu)建方法
技術(shù)領(lǐng)域
本發(fā)明屬于電子技術(shù)領(lǐng)域,具體涉及一種FPGA芯片配置信息模型的層出化構(gòu)建方法。
背景技術(shù)
目前,F(xiàn)PGA芯片和配套的EDA設(shè)計(jì)軟件正在為IC設(shè)計(jì)提供靈活快捷的設(shè)計(jì)解決方案和驗(yàn)證方案?,F(xiàn)在主流的FPGA大多基于SRAM單元配置,通過對(duì)片內(nèi)SRAM置0或置I來完成數(shù)據(jù)通路選擇和互聯(lián)的開關(guān),從而實(shí)現(xiàn)各種電路功能。在配置FPGA時(shí),必然需要一套數(shù)據(jù)庫(kù)來為我們提供該FPGA所能提供的配置選項(xiàng)和相應(yīng)SRAM值的全部信息。為了迎接FPGA日益擴(kuò)大的陣列規(guī)模以及日益增多的可配置單元提出的挑戰(zhàn),我們提出了一種普遍適用的建模方法,能夠提供所有已有可配置資源的正確配置信息,同時(shí),即使再有新的可配置單元出現(xiàn),也能使用該方法迅速建立該單元的配置信息模型。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種普遍適用的建模方法,為FPGA中所有可配置資源建立配置信息模型。該模型能夠配合較為簡(jiǎn)單的SRAM配置值查找程序,根據(jù)較高抽象層次的電路描述來生成配置位流,從而達(dá)到配置FPGA的目的。本發(fā)明提出的普遍適用的建模方法,配置信息模型的最根本的描述對(duì)象是FPGA中的SRAM陣列。為了獲取正確的配置信息,我們需要對(duì)FPGA芯片內(nèi)部所有SRAM和其控制的可編程資源的配置信息進(jìn)行統(tǒng)一建模。由于FPGA陣列模塊設(shè)計(jì)的復(fù)用性和重復(fù)性很高,本發(fā)明故采用層次化的建模方式來構(gòu)建該配置信息的模型。本發(fā)明的層次化主要體現(xiàn)在兩個(gè)發(fā)面,一是SRAM地址劃分的層次化,二是可編程邏輯資源配置信息的層次化。層次化劃分SRAM地址
隨著FPGA陣列的擴(kuò)大,SRAM陣列的規(guī)模更為龐大,這決定著我們必須考慮采用多級(jí)地址。本發(fā)明將整塊FPGA的SRAM陣列按地址等級(jí)從上往下分別劃分為T0P,AREA, BLOCK,TILE, FRAME, BIT六個(gè)層次(附圖1)。其中
(a)BIT即對(duì)應(yīng)一個(gè)SRAM,值為SRAM的輸出。SRAM輸出由WL(Word Line,地址線)和BL (BitLine,數(shù)據(jù)線)共同控制。(b)FRAME的由縱向的BIT構(gòu)成,長(zhǎng)度根據(jù)TILE中SRAM陣列規(guī)模而定。本發(fā)明規(guī)定一個(gè)FRAME中的SRAM由同一個(gè)WL控制,意味著同一 FRAME的SRAM在編程下載時(shí)會(huì)被同時(shí)配置,這也決定了 FRAME的地址次序應(yīng)與WL的選通次序保持一致。(c)BLOCK由橫向的FRAME組成,其中的SRAM陣列的長(zhǎng)度與FRAME長(zhǎng)度相同,寬度等于一個(gè)TILE所擁有的WL個(gè)數(shù)。(d) AREA由橫向的BLOCK組成,其中SRAM陣列的長(zhǎng)度與FRAME長(zhǎng)度相同,寬度由包含的BLOCK個(gè)數(shù)確定。AREA的劃分個(gè)數(shù)根據(jù)芯片規(guī)模確定,當(dāng)電路規(guī)模較小時(shí),可只劃分一個(gè)AREA,即TOP和AREA層次相同。
(e)TOP由所有AREA組成,是SRAM陣列頂層。層次化構(gòu)建可編程資源
在本發(fā)明提出的結(jié)構(gòu)模型中,TILE層以上的信息將直接給出,但FRAME和BIT需要通過查找可編程資源的配置信息模型得到,于是我們提出了層次化構(gòu)建可編程資源的方法。邏輯門、觸發(fā)器(DFF)、選擇器(MUX)、存儲(chǔ)器(RAM)和查找表(LUT)是構(gòu)成FPGA的最基本的幾個(gè)模塊單元,在構(gòu)建配置信息模型時(shí),我們可以將FPGA看成是由眾多諸如此類的黑匣子構(gòu)成的,我們只需要知道這些黑匣子的配置選項(xiàng)和選擇某個(gè)選項(xiàng)時(shí)對(duì)應(yīng)的SRAM值,而根本不必了解黑匣子內(nèi)部具體的電路實(shí)現(xiàn)。 在上述基本邏輯單元的基礎(chǔ)上,本發(fā)明根據(jù)具體電路,將可配置資源的配置信息劃分為4個(gè)層次,從底層向頂層分別為SRAM層,ELEMENT層,SITE層和TILE層(附圖2)。其中
(a)SRAM 層
對(duì)SRAM對(duì)象建模的內(nèi)容包括名稱,值,所控制的ELEMENT單元。層
ELEMENT層描述最小功能單元模塊的配置信息,建模的內(nèi)容包括名稱,功能選項(xiàng),以及功能選項(xiàng)對(duì)應(yīng)的SRAM集合的值。其中,功能選項(xiàng)需要制定該功能是否為默認(rèn)配置選項(xiàng),在對(duì)FPGA的SRAM陣列進(jìn)行賦值初始化時(shí),需要根據(jù)默認(rèn)配置選項(xiàng)來確定默認(rèn)配置值。層
SITE由ELEMENT層模塊構(gòu)成,包括可編程邏輯資源(SITE)和可編程互聯(lián)資源(GSB)兩大類。例如,一個(gè)簡(jiǎn)單的可配置邏輯片SLICE單元中含有LUT,MUX和DFF三種基本單元。層
TILE由SITE層模塊構(gòu)成,是組成FPGA陣列的最小重復(fù)單元。在TILE層中主要描述TILE中所有SRAM對(duì)應(yīng)的BL和WL,從而實(shí)現(xiàn)TILE層中的SRAM地址區(qū)分。有益效果
本方法具有通用性,在設(shè)計(jì)不同款FPGA芯片時(shí),只需要按照本方法要求建立配置模型,便能采用同一種SRAM陣列值查找程序生成位流。配套的查找算法能夠根據(jù)電路配置的具體要求,在配置模型中查找所需實(shí)現(xiàn)功能對(duì)應(yīng)SRAM值的集合;根據(jù)SRAM地址和值將該集合映射成規(guī)定格式的二進(jìn)制位流文件,通過編程下載程序和電路下載到FPGA中,最終實(shí)現(xiàn)配置FPGA芯片以獲得所需電路。此外,采用層次化思想建模,不僅能夠清晰地描述電路內(nèi)部的層次關(guān)系,便于后期測(cè)試和驗(yàn)證,還能極大地減小配置數(shù)據(jù)的存儲(chǔ)以及解析該模型的軟件運(yùn)行所需要的內(nèi)存。


圖1為SRAM地址劃分示意圖,圖中為了清晰地表示各地址層次的地址范圍,特意將每個(gè)層次獨(dú)立出來表示,事實(shí)上它們是相互交叉來共同實(shí)現(xiàn)SRAM地址標(biāo)識(shí),如最左上角的BLOCK中所示。圖2為配置信息模型層次示意。從下往上分別為SRAM層,ELEMENT層,SITE層和TILE 層。圖3為位流生成軟件流程。
圖中標(biāo)號(hào)1. TOP, FPGA SRAM陣列頂層;2. AREA,配置域,大規(guī)模FPGA可劃分為多個(gè)域分別進(jìn)行配置;3. BLOCK,由AREA中屬于同一列TILE的SRAM構(gòu)成;4. TILE,為FPGA的最小重復(fù)單元;5. FRAME,巾貞,為FPGA下載的最小數(shù)據(jù)流,長(zhǎng)度固定;5. BIT,構(gòu)成幀的比特,I比特對(duì)應(yīng)一個(gè)SRAM。
具體實(shí)施例方式
(I)建立目標(biāo)FPGA配置信息模型
根據(jù)具體目標(biāo)FPGA的具體電路功能,采用本發(fā)明提出的層出化構(gòu)建方法建立相應(yīng)的配置信息模型。(2)編寫電路配置文件
由于FPGA的巨大規(guī)模和人腦的局限性,在配置FPGA時(shí)我們不可能直接指定每個(gè)SRAM的配置值。因此我們需要先人為地或者借助EDA工具在較高抽象層次上規(guī)定FPGA中各可編程邏輯資源的配置選項(xiàng),再通過程序?qū)⑦@種抽象層次較高的配置要求轉(zhuǎn)換為FPGA下載電路能夠讀取的二進(jìn)制文件。對(duì)于FPGA中所有可編程資源,其功能均可以用“可編程資源名-功能名”的鍵值對(duì)形式描述,其中功能名必須與使用本發(fā)明方法建立的配置模型中給出的SITE功能選項(xiàng)保持一致。例如4輸入LUT實(shí)現(xiàn)邏輯功能F=A1+A2+A3+A4,可表述為“LUT-F=AI+A2+A3+A4” ;MUX選通0輸入端,可表述為“MUX-0” ;DFF配置成鎖存器,可以表述為“DFF-LATCH” ;互聯(lián)單元GSB中PO到Pl的通路導(dǎo)通,可表述為“GSB-P0->P1”;一個(gè)16位塊存儲(chǔ)單元BlockRAM配置成全 1,可以表述為 “BlockRAM-1111111111111111”。此外,電路配置文件還可以有更高層次的描述,即使用宏模塊。宏模塊中已經(jīng)預(yù)先使用上述方法編寫好所有可配置單元的配置情況,在調(diào)用時(shí)根據(jù)FPGA電路實(shí)際可用資源直接例化。(3)初始化 BitMap
BitMap是描述FPGA SRAM陣列信息的數(shù)據(jù)結(jié)構(gòu),其中每個(gè)結(jié)點(diǎn)與BitMap中的SRAM一一對(duì)應(yīng)。結(jié)點(diǎn)包含SRAM的名稱、值、地址、賦值控制線信息。在初始化時(shí),需要從配置模型中給出的SRAM地址劃分情況確定SRAM個(gè)數(shù),以及根據(jù)默認(rèn)功能選項(xiàng)來確定SRAM初始值。(4)根據(jù)配置功能選項(xiàng)要求重置BitMap相應(yīng)結(jié)點(diǎn)
可編程單元的種類不同,相應(yīng)的SRAM值查找方式也會(huì)有所不同。其中可編程功能單元查找算法為鍵值查找和等式換算;可編程互聯(lián)單元的查找算法為路徑查找;可編程存儲(chǔ)單元的查找算法為RAM查找。)鍵值查找
鍵值查找用于可編程單元為非LUT的邏輯單元的情況,功能名為待實(shí)現(xiàn)功能的配置選項(xiàng)要求。直接根據(jù)鍵名,也就是功能名找到SRAM的配置值。)等式換算
等式轉(zhuǎn)換用于可配置單元為L(zhǎng)UT,功能名為布爾表達(dá)式的配置要求。等式換算將算出布爾表達(dá)式中所有輸入變量可能情況下相應(yīng)SRAM的配置值。如查找四輸入LUT實(shí)現(xiàn)F=A1+A2+A3+A4時(shí)相應(yīng)SRAM配置值時(shí),在A1A2A2A4=0000時(shí)選通SRAMO,若要F=A1+A2+A3+A4=0,那么SRAMO=O,對(duì)于A1A2A3A4=000Tllll的情況以此類推,得到SRAM(Ti5=omimimim。)路徑查找
路徑查找用于可配置單元為互聯(lián)單元,功能名為路徑起始點(diǎn)的配置要求。根據(jù)路徑的起點(diǎn)和終點(diǎn)和配置模型中有關(guān)互聯(lián)結(jié)構(gòu)的描述我們可以定位到控制該路徑的開關(guān),繼而可以確定控制該開關(guān)的SRAM值。) RAM 查找
RAM查找用于可編程單元為存儲(chǔ)單元,功能名為存儲(chǔ)數(shù)據(jù)的情況。存儲(chǔ)單元本身包含在BitMap中,可從配置模型中提取存儲(chǔ)單元RAM在BitMap中的地址信息,存儲(chǔ)數(shù)據(jù)直接為RAM的配置值。 (5) SRAM映射成位流文件,實(shí)現(xiàn)下載
FPGA中SRAM的配置先后順序是按照幀地址由低到高排列的,因此我們可以通過配置模型中的地址劃分將BitMap中所有SRAM打包成幀,再將這些FRAME按地址先后順序排列,最終輸出為位流文件,下載到電路中實(shí)現(xiàn)需要的電路。
權(quán)利要求
1.一種FPGA芯片配置信息模型的層出化構(gòu)建方法,其特征在于具體步驟為(一)SRAM地址劃分的層次化,(二)可編程邏輯資源配置信息的層次化,其中 (一)層次化劃分SRAM地址 將整塊FPGA的SRAM陣列按地址等級(jí)從上往下分別劃分為TOP, AREA, BLOCK, TILE,FRAME, BIT六個(gè)層次,其中 (a)BIT即對(duì)應(yīng)一個(gè)SRAM,值為SRAM的輸出;SRAM輸出由WL和BL共同控制; (b)FRAME由縱向的BIT構(gòu)成,長(zhǎng)度根據(jù)TILE中SRAM陣列規(guī)模而定;本發(fā)明規(guī)定一個(gè)FRAME中的SRAM由同一個(gè)WL控制,意味著同一 FRAME的SRAM在編程下載時(shí)會(huì)被同時(shí)配置,這也決定了 FRAME的地址次序應(yīng)與WL的選通次序保持一致; (c)BLOCK由橫向的FRAME組成,其中的SRAM陣列的長(zhǎng)度與FRAME長(zhǎng)度相同,寬度等于一個(gè)TILE所擁有的WL個(gè)數(shù); (d)AREA由橫向的BLOCK組成,其中SRAM陣列的長(zhǎng)度與FRAME長(zhǎng)度相同,寬度由包含的BLOCK個(gè)數(shù)確定; (e)TOP由所有AREA組成,是SRAM陣列頂層; (2)層次化構(gòu)建可編程資源 將可配置資源的配置信息劃分為4個(gè)層次,從底層向頂層分別為SRAM層,ELEMENT層,SITE層和TILE層,其中(a)SRAM層 對(duì)SRAM對(duì)象建模的內(nèi)容包括名稱,值,所控制的ELEMENT單元;(b)ELEMENT層 ELEMENT層描述最小功能單元模塊的配置信息,建模的內(nèi)容包括名稱,功能選項(xiàng),以及功能選項(xiàng)對(duì)應(yīng)的SRAM集合的值;其中,功能選項(xiàng)需要制定該功能是否為默認(rèn)配置選項(xiàng),在對(duì)FPGA的SRAM陣列進(jìn)行賦值初始化時(shí),需要根據(jù)默認(rèn)配置選項(xiàng)來確定默認(rèn)配置值;(c)SITE層 SITE由ELEMENT層模塊構(gòu)成,包括可編程邏輯資源(SITE)和可編程互聯(lián)資源(GSB)兩大類; ⑷TILE層 TILE由SITE層模塊構(gòu)成,是組成FPGA陣列的最小重復(fù)單元;在TILE層中主要描述TILE中所有SRAM對(duì)應(yīng)的BL和WL,從而實(shí)現(xiàn)TILE層中的SRAM地址區(qū)分。
全文摘要
本發(fā)明屬于電子技術(shù)領(lǐng)域,具體為一種FPGA芯片配置信息模型的層次化構(gòu)建方法。具體包括(一)層次化劃分SRAM地址,是將整塊FPGA的SRAM陣列按地址等級(jí)從上往下分別劃分為TOP,AREA,BLOCK,TILE,FRAME,BIT六個(gè)層次;(2)層次化構(gòu)建可編程資源,是將可配置資源的配置信息劃分為4個(gè)層次,從底層向頂層分別為SRAM層,ELEMENT層,SITE層和TILE層。本方法具有通用性,在設(shè)計(jì)不同款FPGA芯片時(shí),只需要按照本方法要求建立配置模型,便能采用同一種SRAM陣列值查找程序生成位流;采用層次化思想建模,不僅能夠清晰地描述電路內(nèi)部的層次關(guān)系,便于后期測(cè)試和驗(yàn)證,還能極大地減小配置數(shù)據(jù)的存儲(chǔ)以及解析該模型的軟件運(yùn)行所需要的內(nèi)存。
文檔編號(hào)G06F12/02GK103019947SQ201210493318
公開日2013年4月3日 申請(qǐng)日期2012年11月28日 優(yōu)先權(quán)日2012年11月28日
發(fā)明者來金梅, 王馳, 王鍵, 周灝 申請(qǐng)人:復(fù)旦大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1