專利名稱:可編程邏輯器件結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬電子電路設(shè)計(jì)技術(shù)領(lǐng)域,具體涉及一種可編程邏輯器件結(jié)構(gòu),該結(jié)構(gòu)適合于數(shù)據(jù)通路應(yīng)用。
背景技術(shù):
FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)是一種被廣泛應(yīng)用的可編程邏輯器件,可以通過用戶向器件內(nèi)寫入“編程數(shù)據(jù)”,實(shí)現(xiàn)不同功能的邏輯電路。FPGA的現(xiàn)場可編程特性可以降低電子系統(tǒng)的開發(fā)成本,縮短上市時(shí)間,減少系統(tǒng)維護(hù)升級(jí)成本。FPGA既可以作為電子系統(tǒng)開發(fā)的設(shè)計(jì)驗(yàn)證,也可以用于電子產(chǎn)品的成品生產(chǎn),在各種軍用、民用的電子產(chǎn)品中擁有廣泛的應(yīng)用。片上系統(tǒng)(SOC)是將一個(gè)電子系統(tǒng)集成在一塊芯片上的技術(shù)。與普通的電子系統(tǒng)一樣,在片上系統(tǒng)中也會(huì)大量應(yīng)用到具有可變邏輯功能的可編程模塊。因此要設(shè)計(jì)出可編程IP核,供SOC設(shè)計(jì)者用于系統(tǒng)設(shè)計(jì)。FPGA的核心部分與可編程IP核的核心部分有很大相似性,它們的結(jié)構(gòu)(包括可編程邏輯單元結(jié)構(gòu)和可編程互連線結(jié)構(gòu))可以采用同樣的設(shè)計(jì),在本發(fā)明中將它們統(tǒng)稱為FPGA。
在諸如聲音/圖像處理、數(shù)字通信、實(shí)時(shí)控制等領(lǐng)域,需要大量的加法、乘法、FFT、DCT變換等運(yùn)算。目前,這些運(yùn)算往往采用DSP、FPGA或ASIC(專用集成電路)芯片來實(shí)現(xiàn)。在實(shí)時(shí)性要求較高的場合,往往采用FPGA或ASIC才能達(dá)到所需的計(jì)算速度。由于FPGA與ASIC相比在速度上較接近,而在開發(fā)速度、開發(fā)成本和應(yīng)用靈活性上卻要優(yōu)越得多。因此,F(xiàn)PGA在數(shù)據(jù)通路的應(yīng)用上具有很好的性能價(jià)格比,正被廣泛地采用。
FPGA的結(jié)構(gòu)設(shè)計(jì)所涵蓋的問題有可編程邏輯單元陣列的組織、可編程連線資源和可編程邏輯單元陣列的結(jié)合、可編程I/O單元的使用、設(shè)計(jì)同樣結(jié)構(gòu)不同規(guī)模FPGA的解決方案等。FPGA結(jié)構(gòu)設(shè)計(jì)對(duì)于FPGA產(chǎn)品的功能、性能、使用、測試、維護(hù)等各方面都有非常重要的作用。在不同領(lǐng)域中的應(yīng)用會(huì)對(duì)FPGA的結(jié)構(gòu)提出不同的優(yōu)化要求,因此有必要針對(duì)FPGA的主要應(yīng)用領(lǐng)域(如數(shù)據(jù)通路應(yīng)用)提出專門優(yōu)化的FPGA結(jié)構(gòu)設(shè)計(jì)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種適于數(shù)據(jù)通路應(yīng)用的優(yōu)化的可編程邏輯器件結(jié)構(gòu)設(shè)計(jì)。
本發(fā)明提出的適于數(shù)據(jù)通路應(yīng)用的可編程邏輯器件(FPGA for DataPath,縮寫為FDP)結(jié)構(gòu),由可編程邏輯單元(LC)陣列組成,通過層次式的可編程連線資源組織成為層次式結(jié)構(gòu)。該結(jié)構(gòu)針對(duì)數(shù)據(jù)通路應(yīng)用領(lǐng)域進(jìn)行了優(yōu)化,使用了適于數(shù)據(jù)通路應(yīng)用的可編程邏輯單元結(jié)構(gòu)和可編程連線結(jié)構(gòu);將m×n個(gè)(16≥m,n≥2)LC組成可編程宏單元(MC),有利于實(shí)現(xiàn)多位的數(shù)據(jù)運(yùn)算;可以按MC為基本單元進(jìn)行陣列擴(kuò)展,獲得不同規(guī)格的FPGA系列,也可以得到滿足不同邏輯容量要求的可編程IP核。FDP結(jié)構(gòu)既可以作為FPGA芯片,也可以作為可編程片上系統(tǒng)或者可編程IP核。
(1)關(guān)于層次式芯片結(jié)構(gòu)FDP對(duì)數(shù)據(jù)通路應(yīng)用進(jìn)行了專門的優(yōu)化,其中采用了適于數(shù)據(jù)通路應(yīng)用的可編程邏輯單元(Programmable Logic Cell,LC)和可編程連線結(jié)構(gòu),同時(shí)也能很好地兼顧通用邏輯應(yīng)用的使用要求。芯片中可編程連線結(jié)構(gòu)以層次式組織,分為三層,分別對(duì)應(yīng)于將可編程邏輯單元在LC級(jí)別、MC級(jí)別和芯片級(jí)別進(jìn)行連接;用這樣的層次式互連結(jié)構(gòu)把芯片的可編程資源組織為層次式結(jié)構(gòu)若干個(gè)LC組成m×n(16≥m,n≥2)的陣列和相應(yīng)的短線、可編程長線、專用進(jìn)位線、專用時(shí)鐘線構(gòu)成一個(gè)宏單元(Macro Cell,MC),整個(gè)芯片由MC按照陣列形式組成。
FDP層次式的組織結(jié)構(gòu)見圖1、圖2中的示例。如圖1中所示,芯片中心部分是一個(gè)MC的陣列。在MC陣列四周是可編程I/O單元,作為FDP的用戶在設(shè)計(jì)電路時(shí)輸入輸出管腳。
圖2中為一個(gè)由4×4個(gè)LC組成的宏單元,鄰近LC通過短線連接,可分割長線完成在MC內(nèi)部的連接。MC中的LC之間由可分割長線、專用進(jìn)位鏈、時(shí)鐘線等資源形成的聯(lián)系比較緊密,將它們作為一個(gè)整體進(jìn)行電路和版圖設(shè)計(jì)。
以MC為單位,通過對(duì)MC邊緣上的連線資源編程開關(guān)的控制,可以確定可分割長線的長度、可以控制專用進(jìn)位鏈的進(jìn)位方式(置“1”、置“0”或進(jìn)位在MC之間傳遞)。一個(gè)MC可以實(shí)現(xiàn)高效的四個(gè)半字節(jié)的全加器,或一個(gè)高速的4位乘法器??梢远彝ㄟ^將數(shù)個(gè)MC的可分割長線、專用進(jìn)位鏈等連通在一起,用數(shù)個(gè)來MC來達(dá)到更多位數(shù)的數(shù)據(jù)運(yùn)算。另外,專用時(shí)鐘網(wǎng)絡(luò)按MC為單位進(jìn)行時(shí)鐘緩沖和分配,通過控制MC中的時(shí)鐘線,可以在不需要時(shí)序功能時(shí)禁止時(shí)鐘在此MC中的傳遞,達(dá)到減少動(dòng)態(tài)功耗的目的。
在MC邊緣上的可編程開關(guān)組綜合了可分割長線、專用進(jìn)位鏈和專用時(shí)鐘網(wǎng)絡(luò)的控制,其結(jié)構(gòu)如圖3所示。在垂直和水平方向上各有一組這樣的可編程開關(guān)組——垂直控制單元和水平控制單元。
(2)芯片規(guī)模的擴(kuò)展可編程邏輯芯片或可編程IP核要根據(jù)不同用戶不同的電路規(guī)模要求,提供不同規(guī)模的系列化產(chǎn)品,讓用戶在保證功能應(yīng)用的前提下降低成本和芯片面積消耗。FDP由MC作為層次式陣列化的單元,因此可以通過改變MC的數(shù)目和相應(yīng)的長線布線資源,就可以組成不同規(guī)模大小的可編程邏輯芯片或可編程IP核。以圖1中的FDP結(jié)構(gòu)為例,將4×4MC陣列增加為5×5的陣列,并增加長線縱橫各一列,就能使原來的芯片擴(kuò)大50%左右。
當(dāng)MC陣列的規(guī)模大幅度變化時(shí),由于長線長度變化,需要調(diào)整MC對(duì)長線的驅(qū)動(dòng),也需要根據(jù)規(guī)模變化造成的連線資源需求變化,改變長線、可分割長線的通道寬度(每一組線中連線的條數(shù))。但當(dāng)芯片的變化在一定的范圍內(nèi),仍可以不對(duì)通道寬度和長線驅(qū)動(dòng)做改動(dòng),通過簡單變化MC和長線的陣列大小調(diào)整可編程邏輯器件或可編程IP核的規(guī)模。
圖1.FDP整體結(jié)構(gòu)圖2.宏單元結(jié)構(gòu)圖3.垂直/水平控制單元結(jié)構(gòu)圖中標(biāo)號(hào)1為長線,2為可分割長線,3為短線,4為可編程宏單元,5為專用進(jìn)位線,6為可編程I/O單元,7為垂直進(jìn)位線,8為水平進(jìn)位線,9為垂直控制單元,10為水平控制單元,11為可編程邏輯單元,12為時(shí)鐘輸入,13為時(shí)鐘緩沖輸出,14為進(jìn)位輸入,15為進(jìn)位輸出,16為可分割長線開關(guān)組,17為進(jìn)位值控制,18為進(jìn)位通/斷控制。
具體實(shí)施例方式
在圖1、圖2、圖3中所示的結(jié)構(gòu)實(shí)際上就是本發(fā)明的一個(gè)具體實(shí)施例子。如圖1中所示,此例子的器件中包括4×4個(gè)MC單元,共有4組水平方向長線和4組垂直方向長線,每組4根,共有32根長線。在4×4的MC陣列四周是可編程I/O單元,實(shí)現(xiàn)FDP的用戶在設(shè)計(jì)電路時(shí)的輸入輸出管腳。每一邊的I/O單元中包括16個(gè)可供用戶使用的I/O口,即MC陣列中每一列/行對(duì)應(yīng)一個(gè)I/O口。
MC內(nèi)部的結(jié)構(gòu)如圖2所示。4×4的LC單元陣列,由短線(圖中所畫的一條短線代表包括5根短線的一組)和可分割長線(圖中所畫的一條可分割長線代表包括4根可分割長線的一組)連接。MC邊緣的16根可分割長線和4根專用進(jìn)位線通過可編程開關(guān)組(圖2中的水平控制單元和垂直控制單元,結(jié)構(gòu)如圖3所示)進(jìn)行控制,與相鄰的MC相連。
此例中的結(jié)構(gòu)就是一個(gè)包含16×16LC單元、64個(gè)可編程I/O口的可編程器件。
權(quán)利要求
1.一種層次式組織的可編程邏輯器件結(jié)構(gòu),可用于FPGA和可編程IP核的設(shè)計(jì)中,其特征在于采用適于數(shù)據(jù)通路應(yīng)用的可編程邏輯單元IC結(jié)構(gòu)和可編程連線結(jié)構(gòu);將m×n個(gè)(16≥m,n≥2)LC組成可編程宏單元(MC),以MC為基本單元進(jìn)行陣列擴(kuò)展,獲得不同規(guī)格的FPGA系列,或滿足不同邏輯容量要求的可編程IP核。
2.根據(jù)權(quán)利要求1所述的層次式組織的可編程邏輯器件結(jié)構(gòu),其特征在于芯片的可編程資源組織為3個(gè)層次可編程邏輯單元LC是最低層次的可編程資源;每m×n個(gè)(16≥m,n≥2)LC和相應(yīng)的連線資源構(gòu)成一個(gè)宏單元(MC);整個(gè)芯片由MC按照陣列形式組成,陣列四周有可編程I/O口。
3.根據(jù)權(quán)利要求2所述的層次式組織的可編程邏輯器件結(jié)構(gòu),其特征在于將m×n個(gè)(16≥m,n≥2)LC陣列及它們之間的短線、可編程長線、專用進(jìn)位線、專用時(shí)鐘線作為一個(gè)整體進(jìn)行電路和版圖設(shè)計(jì);MC和MC的連接處有可編程開關(guān)組對(duì)可編程長線、專用進(jìn)位線進(jìn)行連接和控制。
全文摘要
本發(fā)明為一種適于數(shù)據(jù)通路應(yīng)用的可編程邏輯器件(FDP),由可編程邏輯單元(LC)陣列組成,通過層次式的可編程連線資源組織成為層次式結(jié)構(gòu)。其中,將m×n個(gè)(16≥m,n≥2)LC組成可編程宏單元(MC),以利于實(shí)現(xiàn)多位的數(shù)據(jù)運(yùn)算;以MC為基本單元進(jìn)行陣列擴(kuò)展,獲得不同規(guī)格的FPGA系列,也可以得到滿足不同邏輯容量要求的可編程IP核。FDP結(jié)構(gòu)既可以作為FPGA芯片,也可以作為可編程片上系統(tǒng)或者可編程IP核。
文檔編號(hào)H03K19/00GK1547249SQ20031010945
公開日2004年11月17日 申請(qǐng)日期2003年12月16日 優(yōu)先權(quán)日2003年12月16日
發(fā)明者童家榕, 郭斌林, 馬曉駿 申請(qǐng)人:復(fù)旦大學(xué)