本發(fā)明涉及集成電路
技術(shù)領域:
:,尤其涉及一種加法器的打包布局方法。
背景技術(shù):
::目前,在現(xiàn)場可編程邏輯門陣列(FieldProgrammableGateArray,FPGA)應用中,要求集成電路具有可編程或可配置的互連網(wǎng)絡,邏輯門通過可配置的互連網(wǎng)絡而彼此連接。作為獨立芯片或系統(tǒng)中核心部分起作用的FPGA已經(jīng)廣泛被應用于大量微電子設備中。廣義的FPGA的邏輯門的定義,不單指簡單的與非門,也指具有可配置功能的組合邏輯與時序邏輯的邏輯單元或由多個邏輯單元互連而組成的邏輯塊。在芯片硬件上有短距離的物理連線,延時短,屬于皮秒級別,一般是10ps以內(nèi)。短距離的快速物理連線,可以提高物理性能,提高繞線資源的可布性。如果使用這些快速物理連線,一般是把這些物理連線的時間延遲存入數(shù)據(jù)文件,通過優(yōu)化算法自動尋找最優(yōu)解。但是由于算法的局限性,往往不能找到所有的最優(yōu)解。目前工業(yè)界還沒有提出很好的能夠保證解決根據(jù)芯片固有的快線資源,提取一種使用模式對用戶的設計模式進行匹配的問題。技術(shù)實現(xiàn)要素:本發(fā)明的目的是提供一種加法器的打包布局方法,該方法能夠根據(jù)芯片的固有快線資源,通過一種使用模式對用戶的設計模式進行匹配。匹配后,減少加法器和其它模塊使用的布線資源,布線資源使用減少的同時也降低了延時。為實現(xiàn)上述目的,本發(fā)明提供了一種加法器的打包布局方法,該方法包括:識別出用戶設計中加法器和其它可打包模塊的設計模式;然后將所述加法器和其它可打包模塊打包成一個宏模塊;將所述宏模塊放置在一個有快速物理連線的邏輯單元里面。優(yōu)選地,識別出用戶設計中加法器和其它可打包模塊的設計模式步驟包括:對用戶 網(wǎng)表中每個加法器的驅(qū)動端口的連線進行遍歷;判斷該驅(qū)動端口連線驅(qū)動的模塊是否為可移動模塊;若該驅(qū)動端口連線驅(qū)動的模塊為可移動模塊,再判斷模塊類型是否為可優(yōu)化性能和可布性的模塊;若模塊的類型為可優(yōu)化性能和可布性的模塊,識別出用戶設計中加法器和其它可打包模塊的設計模式。優(yōu)選地,判斷該驅(qū)動端口連線驅(qū)動的模塊是否為可移動模塊步驟包括:若該驅(qū)動端口連線驅(qū)動的模塊是寄存器時,所述模塊為可移動的模塊。優(yōu)選地,判斷該模塊類型是否為可優(yōu)化性能和可布性的模塊步驟包括:若加法器和模塊之間有直接的連線,也就是存在兩端線網(wǎng),該模塊的類型為可優(yōu)化性能和可布性的模塊。優(yōu)選地,對該宏模塊進行整體的優(yōu)化操作,在優(yōu)化操作的過程中不能破壞該宏模塊的整體性。優(yōu)選地,在進行加法器布局過程中,滿足具體設計需求的基礎上,將宏模塊放置在一個有快速物理連線的邏輯單元里。本發(fā)明能夠根據(jù)芯片的固有快線資源,通過一種使用模式對用戶的設計模式進行匹配。匹配后,減少加法器和其它模塊使用的布線資源,布線資源使用減少的同時也降低了延時。附圖說明為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種加法器的打包布局方法的流程示意圖;圖2為本發(fā)明實施例提供的一種基本邏輯單元示意圖;圖3為本發(fā)明實施提供的一種基本邏輯單元內(nèi)部的加法器和寄存器的示意圖;圖4為本發(fā)明實施例提供的一種宏模塊整體移動示意圖;圖5為本發(fā)明實施例提供的又一種加法器的打包布局方法的流程示意圖。具體實施方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。本發(fā)明實施例提供一種加法器的打包布局方法,該方法能夠根據(jù)芯片的固有快線資源,通過一種使用模式對用戶的設計模式進行匹配。匹配后,減少加法器和其它模塊使用的布線資源,布線資源使用減少的同時也降低了延時。圖1為本發(fā)明實施例提供的一種加法器的打包布局方法的流程示意圖。如圖1所示,一種加法器的打包布局方法,該方法包括步驟S101-S103:步驟S101:識別出用戶設計中加法器和其它可打包模塊的設計模式;步驟S102:然后將所述加法器和其它可打包模塊打包成一個宏模塊;步驟S103:將所述宏模塊放置在一個有快速物理連線的邏輯單元里面。具體地,識別出用戶設計中加法器和其它可打包模塊的設計模式步驟包括:對用戶網(wǎng)表中每個加法器的驅(qū)動端口的連線進行遍歷;判斷該驅(qū)動端口連線驅(qū)動的模塊是否為可移動模塊;若該驅(qū)動端口連線驅(qū)動的模塊為可移動模塊,再判斷模塊類型是否為可優(yōu)化性能和可布性的模塊;若模塊的類型為可優(yōu)化性能和可布性的模塊,識別出用戶設計中加法器和其它可打包模塊的設計模式。具體地,判斷該驅(qū)動端口連線驅(qū)動的模塊是否為可移動模塊步驟包括:若該驅(qū)動端口連線驅(qū)動的模塊是寄存器時,所述模塊為可移動的模塊。具體地,判斷該模塊類型是否為可優(yōu)化性能和可布性的模塊步驟包括:若加法器和模塊之間有直接的連線,也就是存在兩端線網(wǎng),該模塊的類型為可優(yōu)化性能和可布性的模塊。具體地,對該宏模塊進行整體的優(yōu)化操作,在優(yōu)化操作的過程中不能破壞該宏模塊的整體性。具體地,在進行加法器布局過程中,滿足具體設計需求的基礎上,將宏模塊放置在一個有快速物理連線的邏輯單元里。本發(fā)明能夠根據(jù)芯片的固有快線資源,通過一種使用模式對用戶的設計模式進行匹 配;匹配后,減少加法器和其它模塊使用的布線資源,布線資源使用減少的同時也降低了延時。圖2為本發(fā)明實施例提供的一種基本邏輯單元示意圖。如圖2所示,CME-C1型號的現(xiàn)場可編程邏輯門陣列(FieldProgrammableGateArray,FPGA)的架構(gòu)中,一個基本邏輯單元的示意圖。一個基本邏輯單元(LogicElement,LE)包括4個基本的可編程邏輯片(LP,LogicParcel),也就是LP0、LP1、LP2、LP3。一個基本的邏輯片包括2個6輸入的查找表(Lookuptable-LUT)、2個加法器(Adder-ADD)、4個寄存器(Register-Reg)。如圖所示,在芯片的基本邏輯單元中,加法器與寄存器之間本身就有一條快速物理連線。在識別用戶的設計中,若出現(xiàn)加法器和其它可打包模塊的設計模式;然后將加法器和其它可打包模塊打包成一個宏模塊;最后將該宏模塊放在如圖所示的邏輯片LP中,成為一個整體。在用戶的設計之中,加法器ADD可能與查找表LUT模塊、輸入輸出IO(InputOutput)模塊、嵌入式存儲模塊EMB(Embeddedstorage)、數(shù)字聲音處理器DSP(Digitalsoundfieldprocessor)模塊等模塊相連,該模塊在此不一一列舉。在本發(fā)明實施例中,需要識別用戶設計中加法器ADD與寄存器Reg相連的連線模式。圖3為本發(fā)明實施提供的一種基本邏輯單元內(nèi)部的加法器和寄存器的示意圖。如圖3所示,加法器ADD的S(sum)端口通過快速物理線路與寄存器Reg相連,加法器通過連線,數(shù)據(jù)輸入到寄存器Reg,進而驅(qū)動寄存器Reg。在電子線路設計中,綜合工具根據(jù)用戶設計輸入的硬件描述語言(Verilog或者VHDL),將用戶設計轉(zhuǎn)換為網(wǎng)表(netlist),利用網(wǎng)表來描述電路元件相互之間連接關(guān)系。用戶網(wǎng)表包括用戶設計的各個邏輯單元、每個邏輯單元的所有端口以及每個邏輯單元的各個端口的連線信息。在本發(fā)明實施例中,遍歷用戶網(wǎng)表中所有的加法器S端口連線信息,判斷是否與寄存器Reg模塊相連,若與寄存器Reg模塊相連,那么該寄存器Reg模塊為可移動模塊;判斷該寄存器Reg模塊為可移動模塊后,繼續(xù)判斷加法器與寄存器Reg模塊之間是否有快速物理連線,也就是兩端線網(wǎng),若有,則該寄存器Reg模塊為可優(yōu)化性能和可布性的模塊。識別出用戶的這種設計模式后。由于在芯片的邏輯資源中本身提供有這種模式,因此將識別 到的用戶的這種設計模式后,將用戶設計中的加法器和寄存器打包成一個宏模塊,然后將宏模塊放置在具有快速物理連線的邏輯單元中。因此,減少了加法器和寄存器模塊Reg所占用的布線資源??焖傥锢磉B線是皮秒級,一般是10ps以內(nèi)。因此,所占用邏輯資源的減少的同時,延時也會降低。圖4為本發(fā)明實施例提供的一種宏模塊整體移動示意圖。如圖4所示,在宏模塊整體移動過程中,需要保證宏模塊的整體性。在目標位置的寄存器和加法器位置未被占用時,整體移動宏模塊到目標位置。如果目標位置被寄存器和加法器占用,則整體移動到下一個目標位置。圖5為本發(fā)明實施例提供的又一種加法器的打包布局方法的流程示意圖。如圖所示,一種加法器的布局方法包括步驟S201-S205:步驟S201:對用戶網(wǎng)表中每個加法器的驅(qū)動端口的連線進行遍歷;加法器ADD可能與查找表LUT模塊、輸入輸出IO(InputOutput)模塊、嵌入式存儲模塊EMB(Embeddedstorage)、數(shù)字聲音處理器DSP(Digitalsoundfieldprocessor)模塊等模塊相連,對用戶網(wǎng)表中所有的加法器的S(sum)端口的連線進行遍歷。遍歷是指對每一個與加法器的S(sum)端口的連線連接的模塊做且僅做一次訪問。步驟S202:判斷所述驅(qū)動端口連線驅(qū)動的模塊是否為可移動模塊;當訪問到加法器的S(sum)端口的連線與寄存器模塊相連時,就判定為該寄存器模塊為可移動模塊;當訪問到加法器的S(sum)端口的連線不與寄存器模塊相連時,直接跳至步驟S206。步驟S203:判斷模塊類型是否為可優(yōu)化性能和可布性的模塊;在判斷完成步驟S202后,對可移動模塊進行判斷。當加法器的S(sum)端口與寄存器之間的連線為快速物理連線,就判定該模塊為可優(yōu)化性能和可布性的模塊。快速物理連線能夠減少延時,在全局和局部的布局中,快速物理連線兩端的模塊能夠減少對布線資源的使用。當加法器的S(sum)端口與寄存器之間的連線不為快速物理連線時,就判定該模塊不為可優(yōu)化性能和可布性的模塊,直接跳至步驟S206。步驟S204:然后將所述加法器和其它可打包模塊打包成一個宏模塊;打包處理的基本單位是查找表和寄存器、加法器等其他模塊,打包的目標主要是為了解決三個問題:第一,處理布局時的一些查找表級別的約束,例如:某兩個查找表必須要放置在相鄰的位置,某些特殊關(guān)系的查找表和寄存器不能放在一起,一般而言,約束越早處理,處理的難度相對越??;第二,打包時將一些小的邏輯單元組合成一個大的邏輯單元,減少了邏輯單元的數(shù)量級,這樣可以大大減少后面全局布局時的求解規(guī)模,減少了布局時間;第三,可以提高芯片的面積使用效率,芯片上的可編輯可編程邏輯模塊(PLB,ProgrammableLogicBlock)和打包成的邏輯單元是相對應的,在打包時可以方便的控制每個邏輯單元的使用率,從而提高芯片面積的使用率。打包的過程主要分為兩步:第一步,將查找表、寄存器以及加法器或者其他模塊組合組成基本單元;第二步,將基本單元組合成邏輯單元。用打包算法將加法器和寄存器模塊打包成宏模塊,宏模塊具有整體性,對宏模塊進行整體的優(yōu)化操作過程中不能破壞宏模塊的整體性。步驟S205:將所述宏模塊放置在一個有快速物理連線的邏輯單元里面;將宏模塊放置在一個具有快速物理連線的芯片的邏輯單元里面;CME-C1型號FPGA芯片中分為可編程邏輯模塊PLB(ProgrammableLogicBlock)和帶本地存儲器的可編程邏輯模塊PLBR(ProgrammableLogicBlockLocalmemorylram),在芯片中PLBR與PLB所占的比例為1:1,但是PLBR所占的面積大。每一個PLB包括一個邏輯單元LE和邏輯單元內(nèi)部的連線。一個基本的邏輯片包括2個6輸入的查找表(Lookuptable-LUT)、2個加法器(Adder-ADD)、4個寄存器(Register-Reg)。因此如圖3的示意圖所示,一個邏輯單元內(nèi)部可以有8組加法器和寄存器模塊的連接情況。在此說明的是,在圖3的示意圖中,查找表LUT和一些內(nèi)部連線等與本發(fā)明實施例無關(guān)的結(jié)構(gòu)沒有畫出。打包成宏模塊之后,加法器和寄存器不再需要使用相對來說過多的布線資源,也就減少了加法器和寄存器之間的延時,提升了整體的性能,也提高了宏模塊整體的可布性。步驟S206:結(jié)束。本發(fā)明能夠根據(jù)芯片的固有快線資源,通過一種使用模式對用戶的設計模式進行匹 配;匹配后,減少加法器和其它模塊使用的布線資源,布線資源使用減少的同時也降低了延時。專業(yè)人員應該還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應用和設計約束條件。專業(yè)技術(shù)人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或
技術(shù)領域:
:內(nèi)所公知的任意其它形式的存儲介質(zhì)中。以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁1 2 3 當前第1頁1 2 3