TWI445312B - 具有鏡像互連結構的可程式積體電路 - Google Patents
具有鏡像互連結構的可程式積體電路 Download PDFInfo
- Publication number
- TWI445312B TWI445312B TW099138642A TW99138642A TWI445312B TW I445312 B TWI445312 B TW I445312B TW 099138642 A TW099138642 A TW 099138642A TW 99138642 A TW99138642 A TW 99138642A TW I445312 B TWI445312 B TW I445312B
- Authority
- TW
- Taiwan
- Prior art keywords
- programmable
- row
- interconnect
- block
- blocks
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本發明基本上係有關於積體電路,特別是關於可程式積體電路。
可程式邏輯元件(programmable logic device;PLD)係一種眾所習知的積體電路,其可以被編定程式以執行特定之邏輯功能。其中一類PLD,現場可程式邏輯閘陣列(field programmable gate array;FPGA),基本上包含一可程式方塊之陣列。此等可程式方塊可以包含,舉例而言,輸入/輸出區塊(input/output block;IOB)、可組構邏輯區塊(configurable logic block;CLB)、專用隨機存取記憶體區塊(dedicated random access memory block;BRAM)、乘法器(multiplier)、數位信號處理區塊(digital signal processing block;DSP)、處理器(processor)、時脈管理器(clock manager)、延遲鎖定迴路(delay lock loop;DLL)、等等。
每一可程式方塊基本上包含可程式互連結構(programmable interconnect)和可程式邏輯。可程式互連結構一般而言包含透過可程式互連點(programmable interconnect point;PIP)彼此互連的數量龐大的不同長度之互連線。可程式邏輯利用可程式構件實施使用者設計之邏輯,可程式構件可以包含,舉例而言,函數產生器(function generator)、暫存器(register)、算術邏輯、等等。
其通常藉由將組態資料之資料串載入界定可程式構件如何組構的內部組態記憶體單元而對可程式互連結構和可程式邏輯進行程式之編定。該等組態資料可以是讀取自記憶體(例如,自一外部PROM)或者透過一外部裝置被寫入FPGA。個別記憶體單元的集體狀態從而決定該FPGA之功能。
其基本上需要改良可程式積體電路以增加可以實施於可程式積體電路中的使用者設計種類。
本發明可以針對前述之一或多個問題加以解決。
本發明的各種實施例提出一種具有鏡像互連結構(mirrored interconnect structure)的可程式積體電路(IC)。該可程式IC包含水平排列於該可程式IC中的複數個配置。每一配置包含一第一邏輯行、一互連行、和一第二邏輯行,依照左列順序水平排列於該配置之內。每一互連行包含複數個可程式互連區塊垂直地排列於上述的互連行之中。上述的第一及第二邏輯行各自均包含複數個可程式邏輯區塊垂直地排列於上述的邏輯行之中。
該等可程式互連區塊各自均提供複數個第一輸入及輸出埠於該可程式互連區塊之一第一側以及複數個第二輸入及輸出埠於該可程式互連區塊之一第二側。每一該可程式邏輯區塊均提供複數個第三輸入及輸出埠。每一該可程式互連區塊之該第一埠和該第一側與該可程式互連區塊之該第二埠和該第二側彼此呈實體上的鏡像關係。每一配置的互連行中的可程式互連區塊之該第一埠耦接至該配置的第一邏輯行中的可程式邏輯區塊之該第三埠,且每一配置的互連行中的可程式互連區塊之該第二埠耦接至該配置的第二邏輯行中的可程式邏輯區塊之該第三埠。
在另一實施例之中,一可程式IC包含複數個水平排列於該可程式IC中的複數個配置。每一配置包含一第一邏輯行、一第一互連行、一第二互連行、和一第二邏輯行,依照左列順序水平排列於該配置之內。每一上述之第一及第二互連行包含複數個可程式互連區塊垂直地排列於該互連行之中。上述的第一及第二邏輯行各自均包含複數個可程式邏輯區塊垂直地排列於上述的邏輯行之中。
該等可程式互連區塊各自均提供複數個第一輸入及輸出埠於該可程式互連區塊之一側。該等可程式邏輯區塊各自均提供複數個第二輸入及輸出埠於該可程式邏輯區塊之一側。每一配置的第一互連行中的每一可程式互連區塊之該第一埠及該一側與該配置的第二互連行中的每一可程式互連區塊之該第一埠及該一側彼此呈實體上的鏡像關係。每一配置的第一互連行中的可程式互連區塊之該第一埠耦接至該配置的第一邏輯行中的可程式邏輯區塊之該第二埠。每一配置的第二互連行中的可程式互連區塊之該第一埠耦接至該配置的第二邏輯行中的可程式邏輯區塊之該第二埠。
在另一實施例中之一可程式IC包含複數個可程式互連區塊垂直地排列於複數個第一互連行的每一行以及複數個第二互連行的每一行之中。該等可程式互連區塊各自均提供複數個第一輸入及輸出埠於該可程式互連區塊的四側中之一側。複數個可程式邏輯區塊垂直地排列於複數個第一邏輯行的每一行以及複數個第二邏輯行的每一行之中。該等可程式邏輯區塊各自均提供複數個第二輸入及輸出埠於該可程式邏輯區塊的四側中之一側。該第一及第二邏輯行和該第一及第二互連行均水平排列於可程式IC的複數個配置之中。每一配置均包含該第一邏輯行中之一。該第一互連行中之一、該第二互連行中之一、以及該第二邏輯行中之一以左列順序水平排列於該配置之內。每一配置的第一互連行中的每一可程式互連區塊之該第一埠及該一側與該配置的第二互連行中的每一可程式互連區塊之該第一埠及該一側彼此呈實體上的鏡像關係。每一配置的第一互連行中的可程式互連區塊之該第一埠耦接至該配置的第一邏輯行中的可程式邏輯區塊之該第二埠。每一配置的第二互連行中的可程式互連區塊之該第一埠耦接至該配置的第二邏輯行中的可程式邏輯區塊之該第二埠。配置的互連行中的每一可程式互連區塊均耦接至至少四個可程式互連區塊,以透過該等可程式互連區塊之一的第一輸出埠及透過該至少四個可程式互連區塊的第一輸入埠選擇性地將該邏輯行中的該等可程式邏輯區塊的第二輸入埠耦接至該等可程式邏輯區塊的第二輸出埠。
其應理解,許多其他實施例將於以下實施方式段落中提出,並於申請專利範圍中界定。
圖1係依據本發明許多實施例之一可程式邏輯元件之功能方塊圖。該可程式邏輯元件包含配置102至104,其包含可程式邏輯及互連資源。配置102至104水平排列於該可程式邏輯元件之中。其應理解,對該可程式邏輯元件進行一簡單的旋轉將使得配置102至104變成垂直排列。
在一實施例之中,配置102包含可程式邏輯及互連區塊的四個行106、108、110、及112。該四個行106、108、110、及112依上列順序由左至右水平排列於配置102之內。邏輯行106和112包含可程式邏輯區塊114、116、和118至120、以及122、124、和126至128。可程式邏輯區塊114、116、和118至120垂直排列於邏輯行106之中,而可程式邏輯區塊122、124、和126至128垂直排列於邏輯行112之中。互連行108和110包含可程式互連區塊130、132、和134至136、以及138、140、和142至144。可程式互連區塊130、132、和134至136垂直排列於互連行108之中,而可程式互連區塊138、140、和142至144垂直排列於互連行110之中。
在另一實施例之中,配置102包含可程式邏輯及互連區塊的三個行106、146、及112。該三個行106、146、及112依上列順序由左至右水平排列於配置102之內。互連行146包含可程式互連區塊148、150、和152至154之一垂直配置。可程式互連區塊148包含可程式互連區塊130及138二個子區塊,其以左列順序由左而右水平排列於可程式互連區塊148之內。以類似形式,可程式互連區塊150包含區塊132及140,可程式互連區塊152包含區塊134及142,而互連區塊154包含區塊136及144。
在一實施例中,邏輯行106中的可程式邏輯區塊114、116、和118至120與邏輯行112中的可程式邏輯區塊122、124、和126至128係同一型態,且邏輯行112中的每一可程式邏輯區塊122、124、和126至128係邏輯行106中的每一可程式邏輯區塊114、116、和118至120之一實體上的鏡像。在此實施例之中,可程式互連區塊130、132、和134至136各自均與可程式互連區塊138、140、和142至144呈功能上的鏡像關係,但通常並非完全呈實體上的鏡像關係。
在另一實施例之中,邏輯行106中的可程式邏輯區塊114、116、和118至120係一種型態,而邏輯行112中的可程式邏輯區塊122、124、和126至128則係另一種型態。在此實施例之中,可程式邏輯區塊114右側之埠156及158與可程式邏輯區塊122左側之埠160及162呈實體上的鏡像關係,但可程式邏輯區塊114與122彼此並非實體上的鏡像關係,因為區塊114和122係不同型態。同樣地,邏輯行106中的每一可程式邏輯區塊114、116、和118至120的右側與邏輯行112中的每一可程式邏輯區塊122、124、和126至128的左側均呈實體上的鏡像關係。
其應理解,配置102至104中的某些部分可以包含完全同一型態的可程式邏輯區塊,而配置102至104中的其他部分可以包含多重型態的可程式邏輯區塊。在一實例之中,配置102中的可程式邏輯區塊114、116、和118至120以及122、124、和126至128均係同一種型態,但在配置104之中,可程式邏輯區塊164、165、和166至167之型態不同於可程式邏輯區塊168、169、和170至171。
在某些實施例之中,每一可程式邏輯區塊均連接至一對應之可程式互連區塊。舉例而言,可程式邏輯區塊114之輸入埠156連接至可程式互連區塊130之輸出埠172,而可程式邏輯區塊114之輸出埠158連接至可程式互連區塊130之輸入埠174。
每一可程式邏輯區塊的輸入埠均透過特定的可程式互連區塊耦接至許多可程式邏輯區塊的輸出埠。舉例而言,可程式邏輯區塊124之輸入埠176透過可程式互連區塊140耦接至可程式邏輯區塊124之輸出埠178,輸入埠176透過可程式互連區塊140及138耦接至可程式邏輯區塊122之輸出埠162,輸入埠176透過可程式互連區塊140及142耦接至可程式邏輯區塊126之輸出埠180,輸入埠176透過可程式互連區塊140及130耦接至可程式邏輯區塊114之輸出埠158,輸入埠176透過可程式互連區塊140及132耦接至可程式邏輯區塊116之輸出埠182,輸入埠176透過可程式互連區塊140及134耦接至可程式邏輯區塊118之輸出埠184,輸入埠176透過可程式互連區塊140及188耦接至可程式邏輯區塊164之輸出埠186,輸入埠176透過可程式互連區塊140及192耦接至可程式邏輯區塊165之輸出埠190,輸入埠176透過可程式互連區塊140及196耦接至可程式邏輯區塊166之輸出埠194,而輸入埠176透過可程式互連區塊140及199耦接至可程式邏輯區塊169之輸出埠198。綜而言之,特定的可程式互連區塊將可程式邏輯區塊124之輸入埠176耦接至可程式邏輯區塊124、122、126、114、116、118、164、165、166、和169之輸出埠。可程式互連區塊以類似方式將其他可程式邏輯區塊之輸入埠耦接至許多其他可程式邏輯區塊之輸出埠。
因此,每一可程式互連區塊均連接至許多可程式互連區塊以使得每一可程式邏輯區塊之輸入埠均可以連接至許多其他可程式邏輯區塊之輸出埠。舉例而言,可程式互連區塊140連接至可程式互連區塊138、142、130、132、134、188、192、196、以及199以使得可程式邏輯區塊124之輸入埠176可以連接至可程式邏輯區塊122、126、114、116、118、164、165、166、以及169之輸出埠。
在所例示的可程式邏輯區塊114、116、118、120、122、124、126、128、164、165、166、167、168、169、170、以及171的陣列之中,假設配置102及104在此可程式邏輯元件中彼此相鄰,則此例中可程式邏輯區塊124在垂直方向、水平方向、和對角線方向上的鄰接可程式邏輯區塊分別是可程式邏輯區塊122、126、116、165、114、118、164、以及166。在例示實施例之中,該等可程式互連區塊將實例中的可程式邏輯區塊124耦接至所有該等鄰接的可程式邏輯區塊122、126、116、165、114、118、164、以及166。將每一可程式邏輯區塊耦接至垂直方向、水平方向、和對角線方向上的鄰接可程式邏輯區塊的連接稱為單連接(single connection)。該等可程式互連區塊同時亦將實例中的可程式邏輯區塊124耦接至可程式邏輯區塊169。諸如實例中可程式邏輯區塊124和遠端可程式邏輯區塊169間的連接稱為長連接(long connection)。其應理解,其可以有各種不同長度的長連接。
可程式邏輯元件之效能愈來愈決定於該可程式邏輯元件的接線延遲。由於單連接一般而言短於長連接,故單連接較之長連接具有較低的接線延遲。為了增加實施於可程式邏輯元件中的邏輯設計之效能,所實施的邏輯設計針對該邏輯設計中的關鍵時序路徑應以單連接為主。
本發明的許多實施例提出一種可程式邏輯元件,其縮短某些單連接長度且降低其接線延遲,從而增進實施於該可程式邏輯元件中一邏輯設計之效能。當該等長度縮短的單連接優先使用以實施一邏輯設計中的關鍵時序路徑之時,所實施之該邏輯設計之效能將顯著增進。
將可程式互連行146配置於可程式邏輯行106與112之間使得介於此實例中的可程式邏輯區塊124與可程式邏輯區塊114、116、和118之間的單連接長度為之縮短。此係由於介於此實例中可程式邏輯區塊124的輸入埠176以及相對可程式邏輯區塊114、116、和118的輸出埠158、182、和184之間的連接維持於可程式互連行146的範圍內部,完全未進入可程式邏輯行106和112的範圍。實例中可程式邏輯區塊124的輸出埠178的對應單連接亦同樣地被縮短。實例中的可程式邏輯區塊124與可程式邏輯區塊114、116、和118間的單連接直接耦接此等可程式邏輯區塊,並未跨越至可程式邏輯行106和112而招致任何接線延遲。
圖2係依據本發明許多實施例之一可程式邏輯元件之佈局示意圖。此可程式邏輯元件包含由多行可程式邏輯及互連區塊構成的配置201、202、203、及204。
諸如一現場可程式邏輯閘陣列(FPGA)之高階可程式邏輯元件可以在其陣列中包含許多不同型態的可程式方塊。舉例而言,圖2例示一FPGA架構200,具有數量龐大的不同可程式方塊,其中包含可組構邏輯區塊(CLB 212)、隨機存取記憶體(BRAM 213)、輸入/輸出邏輯區塊(IOL 215)、組態及時脈產生區塊205、數位信號處理區塊(DSP 214)、專用輸入/輸出區塊(I/O 207)(例如,組態埠及時脈埠)、和諸如數位時脈管理器、類比至數位轉換器、系統監測邏輯之其他可程式邏輯208,等等。某些FPGA亦包含專用處理器區塊(圖中未顯示)。
雖然許多可程式方塊被置放於配置201、202、203、和204內部,但晶粒之中央並未落入任一配置之中,而是包含可程式邏輯及互連區塊216,其在例示實施例之中包含可組構邏輯區塊、可程式互連區塊、以及輸入/輸出邏輯區塊。
在一些FPGA之中,每一可程式互連區塊(PIB 211)均與鄰近的可程式互連區塊以及可能一些遠端可程式互連區塊之間具有標準化之連接。因此,該等可程式互連區塊共同實施出該例示FPGA的可程式互連結構。一可程式互連區塊(PIB 211)同時亦包含與諸如CLB 212、一BRAM 213、一IOL 215、或一DSP 214之毗鄰可程式邏輯區塊之連接。
一可組構邏輯構件可以包含一可程式互連區塊(PIB 211)和毗鄰之可以被編定程式以實施使用者邏輯的可組構邏輯區塊(CLB 212)。一記憶體構件可以包含一隨機存取記憶體(BRAM 213)加上一或多個可程式互連區塊。基本上,用於一可程式邏輯區塊的互連區塊的數目係取決於該可程式邏輯區塊之高度。在所描繪的實施例之中,CLB 212與一可程式互連區塊(PIB 211)具有相同之高度,且BRAM 213與五個可程式互連區塊(PIB 211)具有相同之高度,但其可以實施為其他的數目(例如,二、三、或四個)。一數位信號處理構件可以包含一DSP區塊(DPS 214)加上一適當數目之毗連可程式互連區塊(PIB 211)。一輸入/輸出構件可以包含,舉例而言,二個輸入/輸出邏輯區塊(IOL 215)的實施體毗連一個可程式互連區塊(PIB 211)的實施體。配置201中的輸入/輸出邏輯區塊(IOL 215)與配置204中的輸入/輸出邏輯區塊彼此成實體上的鏡像關係。如相關領域的熟習者所明白,連接至每一輸入/輸出邏輯區塊(IOL 215)的實際I/O接墊,舉例而言,通常並未被局限於該輸入/輸出邏輯區塊(IOL 215)的範圍。
在所描繪的實施例之中,組態及時脈信號透過控制邏輯區域(圖2中顯示為交叉線區域)被產生並分佈於晶粒各處。靠近晶粒中心的控制產生區塊205產生組態、時脈、以及其他控制信號。延伸自控制產生區塊205的水平區域209將此等控制信號在晶粒的寬度方向分佈。直行區域210將時脈及組態信號在垂直方向分佈至可程式邏輯及互連區塊各行的配置201、202、203、以及204。每一配置201、202、203、及204均包含一共用直行區域210,其將左側的一行可程式互連區塊(PIB 211)連接至右側的另一行可程式互連區塊(PIB 211)。此共用直行區域將組態、時脈、和其他控制信號分散至該等可程式互連區塊以控制該等可程式互連區塊,並用以進一步分散至配置中的可程式邏輯區塊。
注意圖2僅係預定例示一示範性FPGA架構。例如,一行中的可程式邏輯或互連區塊的數目、各行的相對寬度、配置的數目、包含於各行中的可程式邏輯或互連區塊的種類、以及可程式邏輯或互連區塊的相對尺寸均係純粹示範性的。
圖3係例示依據本發明許多實施例之可程式互連及邏輯區塊之一配置之功能方塊圖。該配置包含一行可程式邏輯區塊301、302、303、304、305、和306至307;一行可程式互連區塊311、312、313、314、315、和316至317;另一行可程式互連區塊321、322、323、324、325、和326至327;以及另一行可程式邏輯區塊331、332、333、334、335、和336至337,各行以左列的順序由左至右包含於該配置之內。
可程式互連區塊323及可程式邏輯區塊333被展開以顯示其彼此之間和與可程式互連區塊312、313、314、321、322、324、和325之間的互連狀況。其應理解,未展開的可程式互連及邏輯區塊301、302、303、304、305、306至307、311、312、313、314、315、316至317、321、322、324、325、326至327、331、332、334、335、和336至337均具有類似的連接。
可程式邏輯區塊333具有一輸入埠340和一輸出埠342。在某些實施例之中,可程式邏輯區塊333可以同時亦具有一選擇性輸入埠344和一選擇性輸出埠346。可程式邏輯區塊333從輸入埠340(以及選擇性輸入埠344)之數值產生輸出埠342(以及選擇性輸出埠346)之數值。其應理解,可程式邏輯區塊333可以從其他額外數值產生輸出埠342(以及選擇性輸出埠346)之數值,諸如可程式邏輯區塊333內的儲存狀態以及來自可程式邏輯區塊332或334中一跨可程式邏輯區塊331、332、333、334、335、336、及337實施之一加法器(adder)之進位(carry)數值。
可程式互連區塊323中的泛用互連多工器348選擇性地將來自可程式邏輯區塊333之輸出埠342的一或多個數值繞接至可程式互連區塊312、313、314、321、322、324、和325,而可程式互連區塊312、313、314、321、322、324、和325將此等來自輸出埠342的數值選擇性地分別轉送至可程式邏輯區塊302、303、304、331、332、334、和335之一輸入埠。同樣地,可程式互連區塊312、313、314、321、322、324、和325將分別來自可程式邏輯區塊302、303、304、331、332、334、和335之輸出埠之數值選擇性地轉送至可程式互連區塊323,其將該等數值經由泛用互連多工器348及輸入多工器350選擇性地繞接至輸入埠340。因此,可程式互連區塊311、312、313、314、315、316至317、321、322、323、324、325、及326至327將可程式邏輯區塊301、302、303、304、305、306至307以及331、332、333、334、335、336至337的輸出埠選擇性地耦接至該等可程式邏輯區塊的特定輸入埠。
輸入多工器350選擇繞送至可程式邏輯區塊333之輸入埠340的信號數值。輸入多工器350將輸入埠340選擇性地耦接至來自輸出埠342在信號線352上的回授,或者是耦接至共用行356之信號線354,或者是透過泛用互連多工器348和可程式互連區塊312、313、314、321、322、324、和325耦接至可程式邏輯區塊302、303、304、331、332、334、和335之一輸出埠。來自共用行356的信號線354包含時脈信號、重置信號、以及其他控制信號。在一實施例之中,共用行356對應至圖2所示的其中一配置的共用行210的其中之一。
在一實施例之中,組態記憶體單元之數值透過多工器348及350控制信號的繞接。因此,組態記憶體之內容決定介於共用行356與可程式邏輯區塊301、302、303、304、305、306至307、331、332、333、334、335、336至337的輸入及輸出埠間的互連。
在一實施例之中,可程式邏輯區塊333包含組構可程式邏輯區塊333之運作的額外組態記憶體單元。在一實例之中,可程式邏輯區塊333包含一可組構對照表(look-up table)及一具有旁通架構之暫存器。該可組構對照表可以實施來自輸入埠340(以及選擇性埠344)之數值的任何邏輯函數。該暫存器可以被組構成直接以來自可組構對照表或來自儲存可組構對照表先前結果的暫存器的結果驅動輸出埠342(以及選擇性埠346)。
因此,可程式邏輯區塊301、302、303、304、305、306至307、以及331、332、333、334、335、336至337可以被組構成實施一使用者設計之邏輯及狀態機,而可程式互連區塊311、312、313、314、315、316至317、321、322、323、324、325、及326至327可以被組構成適當地連接該使用者設計之邏輯及狀態機。
在某些實施例之中,可程式邏輯區塊333毗連一相鄰配置中之另一可程式邏輯區塊(未顯示於圖中)。可程式邏輯區塊333在一側上具有輸入及輸出埠340和342,而在可程式邏輯區塊333的一對立側上具有選擇性的輸入及輸出埠344和346。雖然埠340和342係耦接至可程式互連區塊323,但選擇性埠344和346係耦接至相鄰配置中之毗連可程式邏輯區塊。可程式邏輯區塊333與相鄰配置中毗連可程式邏輯區塊的直接連接允許該二個可程式邏輯區塊之間略過任何可程式互連區塊的快速通信。雖然可程式邏輯區塊333與相鄰配置中之毗連可程式邏輯區塊在一實施例中係彼此之鏡像,在二者的鏡像之外係介於選擇性輸出埠346與毗連可程式邏輯區塊之一對應輸入埠以及該毗連可程式邏輯區塊之一輸出埠與選擇性輸入埠344之間的交叉連接。
本發明被認為適用於各種可程式積體電路架構。雖然本發明之例示係利用包含諸如現場可程式邏輯閘陣列之可程式邏輯元件的示範性實施例,但其並非局限於此。經由說明書的審視和所揭示發明之實習,本發明之其他特色和實施例對於習於斯藝之人士將顯而易見。本說明書及例示實施例均應僅視為示範性質,而本發明的實際範疇及精神應由後附申請專利範圍界定之。
102、104...配置
106、112...邏輯行
108、110...互連行
114~128...可程式邏輯區塊
130~144...可程式互連區塊
146...互連行
148~154...可程式互連區塊
156~162...埠
164~171...可程式邏輯區塊
172...輸出埠
174、176...輸入埠
178~186...輸出埠
188...可程式互連區塊
190...輸出埠
192...可程式互連區塊
194...輸出埠
196...可程式互連區塊
198...輸出埠
199...可程式互連區塊
200...FPGA架構
201~204...配置
205...組態及時脈產生區塊
207...專用輸入/輸出區塊
208...可程式邏輯
209...水平區域
210‧‧‧共用直行區域
211‧‧‧可程式互連區塊
212‧‧‧可組構邏輯區塊
213‧‧‧隨機存取記憶體
214‧‧‧數位信號處理區塊
215‧‧‧輸入/輸出邏輯區塊
216‧‧‧可程式邏輯及互連區塊
301~307‧‧‧可程式邏輯區塊
311~317‧‧‧可程式互連區塊
321~327‧‧‧可程式互連區塊
331~337‧‧‧可程式邏輯區塊
340‧‧‧輸入埠
342‧‧‧輸出埠
344‧‧‧輸入埠
346‧‧‧輸出埠
348‧‧‧泛用互連多工器
350‧‧‧輸入多工器
352‧‧‧信號線
354‧‧‧信號線
356‧‧‧共用行
配合圖式的詳細說明使得本發明的各個特色及優點趨於明顯,其中:
圖1係依據本發明許多實施例之一可程式邏輯元件之功能方塊圖;
圖2係依據本發明許多實施例之一可程式邏輯元件之佈局示意圖;以及
圖3係例示依據本發明許多實施例之可程式互連及邏輯區塊之一配置之功能方塊圖。
102、104...配置
106、112...邏輯行
108、110...互連行
114~128...可程式邏輯區塊
130~144...可程式互連區塊
146...互連行
148~154...可程式互連區塊
156~162...埠
164~171...可程式邏輯區塊
172...輸出埠
174、176...輸入埠
178~186...輸出埠
188...可程式互連區塊
190...輸出埠
192...可程式互連區塊
194...輸出埠
196...可程式互連區塊
198...輸出埠
199...可程式互連區塊
Claims (20)
- 一種可程式積體電路(IC),包含:複數個配置,水平排列於該可程式IC之中,每一配置包含一第一邏輯行、一互連行、和一第二邏輯行,以此順序水平排列於該配置內,其中:每一互連行均包含複數個可程式互連區塊垂直地排列於該互連行之中;每一該第一及第二邏輯行均包含複數個可程式邏輯區塊垂直地排列於該邏輯行之中;在該互連行中的該複數個可程式互連區塊在數量上等於在該第一邏輯行中的該複數個可程式邏輯區塊;每一該可程式互連區塊均提供複數個第一輸入及輸出埠於該可程式互連區塊之一第一側以及複數個第二輸入及輸出埠於該可程式互連區塊之一第二側;每一該可程式邏輯區塊均提供複數個第三輸入及輸出埠於該可程式邏輯區塊之其中一側,在該第一邏輯行中的每一可程式邏輯區塊的所述其中一側面對在該第二邏輯行中對應的可程式邏輯區塊的所述其中一側且面對該複數個可程式互連區塊其中一對應的可程式互連區塊的該第一側,而在該第二邏輯行中所述對應的可程式邏輯區塊的所述其中一側面對所述對應的可程式互連區塊的該第二側;每一該可程式互連區塊之該第一埠和該第一側與該可程式互連區塊之該第二埠和該第二側彼此呈實體上的鏡像關係; 每一配置的該互連行中的可程式互連區塊之該第一埠耦接至該配置的該第一邏輯行中的可程式邏輯區塊之該第三埠;以及每一配置的該互連行中的可程式互連區塊之該第二埠耦接至該配置的該第二邏輯行中的可程式邏輯區塊之該第三埠。
- 如申請專利範圍第1項所述之可程式IC,其中該配置的該互連行中的每一可程式互連區塊均耦接至至少四個可程式互連區塊,以透過該可程式互連區塊其中之一的該第一輸出埠及透過該至少四個可程式互連區塊的該第一輸入埠選擇性地將該配置的該邏輯行中的可程式邏輯區塊的該第二輸入埠耦接至該可程式邏輯區塊的該第二輸出埠。
- 如申請專利範圍第1項所述之可程式IC,其中:每一該配置之該互連行中的每一該可程式互連區塊之該第一及第二側均係該可程式互連區塊之四側中的對立側;且該配置中之一的該第一邏輯行中的每一該可程式邏輯區塊與該配置中之一的該第二邏輯行中的每一該可程式邏輯區塊呈實體上的鏡像關係。
- 如申請專利範圍第1項所述之可程式IC,其中:每一該配置之該互連行包含一第一互連子行和一第二互連子行依序水平排列於該互連行之中;該互連行之可程式互連區塊包含一第一複數個可程式互連子區塊垂直排列於該配置之該第一互連子行之中以及 一第二複數個可程式互連子區塊垂直排列於該配置之該第二互連子行之中;該可程式互連區塊之該第一埠為與該配置之該第一邏輯行中之可程式邏輯區塊之該第三埠所耦接之該第一可程式互連子區塊之埠;該可程式互連區塊之該第二埠為與該配置之該第二邏輯行中之可程式邏輯區塊之該第三埠所耦接之該第二可程式互連子區塊之埠;以及該第一可程式互連子區塊的埠和其四側其中之一與該第二可程式互連子區塊的埠和其四側其中之一呈實體鏡像關係。
- 一種可程式積體電路(IC),包含:複數個配置,水平排列於該可程式IC之中,每一配置包含一第一邏輯行、一第一互連行、一第二互連行、和一第二邏輯行,以此順序水平排列於該配置內,其中:每一該第一及第二互連行均包含複數個可程式互連區塊垂直地排列於該互連行之中;每一該第一及第二邏輯行均包含複數個可程式邏輯區塊垂直地排列於該邏輯行之中;每一該可程式互連區塊均提供複數個第一輸入及輸出埠於該可程式互連區塊之一側;每一該可程式邏輯區塊均提供複數個第二輸入及輸出埠於該可程式邏輯區塊之一側;每一配置的該第一互連行中的每一可程式互連區塊之 該第一埠及該一側與該配置的該第二互連行中的每一可程式互連區塊之該第一埠及該一側彼此呈實體上的鏡像關係;在該第一邏輯行中的每一可程式邏輯區塊的該一側面對在該第二邏輯行中對應的可程式邏輯區塊的該一側且面對在該第一互連行中該複數個可程式互連區塊其中一對應的可程式互連區塊的該一側,而在該第二邏輯行中所述對應的可程式邏輯區塊的該一側面對在該第二互連行中該複數個可程式互連區塊其中一對應的可程式互連區塊的該一側;每一配置的該第一互連行中的可程式互連區塊之該第一埠均耦接至該配置的該第一邏輯行中的可程式邏輯區塊之該第二埠;以及每一配置的該第二互連行中的可程式互連區塊之該第一埠均耦接至該配置的該第二邏輯行中的可程式邏輯區塊之該第二埠。
- 如申請專利範圍第5項所述之可程式IC,其中該配置的該互連行中的每一可程式互連區塊均耦接至至少四個可程式互連區塊,以透過該可程式互連區塊其中之一的該第一輸出埠及透過該至少四個可程式互連區塊的該第一輸入埠選擇性地將該配置的該邏輯行中的可程式邏輯區塊的該第二輸入埠耦接至該可程式邏輯區塊的該第二輸出埠。
- 如申請專利範圍第6項所述之可程式IC,其中:每一配置包含該第一邏輯行、該第一互連行、該第二 互連行、和該第二邏輯行,依照此順序由左至右水平排列於該配置之內;該可程式邏輯區塊之該一側係每一第一邏輯行中之可程式邏輯區塊之一右側及每一第二邏輯行中之可程式邏輯區塊之一左側;以及該可程式互連區塊之該一側係每一第一互連行中之可程式互連區塊之一左側及每一第二互連行中之可程式互連區塊之一右側。
- 如申請專利範圍第7項所述之可程式IC,其中:每一配置的該第一邏輯行中的可程式邏輯區塊之該右側毗連該配置之該第一互連行中之可程式互連區塊之該左側;以及每一配置的該第二互連行中的可程式互連區塊之該右側毗連該配置之該第二邏輯行中之可程式邏輯區塊之該左側。
- 如申請專利範圍第8項所述之可程式IC,其中:每一配置的該第一互連行中的每一可程式互連區塊與每一配置的該第二互連行中的每一可程式互連區塊均呈功能上的鏡像關係;每一配置的每一邏輯行中的可程式邏輯區塊均具有複數個型態中之一同一型態;以及對於每一該型態,每一配置之該第一邏輯行中具有該型態的每一可程式邏輯區塊與每一配置之該第二邏輯行中具有該型態的每一可程式邏輯區塊均呈實體上的鏡像關 係。
- 如申請專利範圍第9項所述之可程式IC,其中:每一該配置更包含一共用行水平配置於該第一互連行和該第二互連行之間並與其毗連;以及該第一及第二互連行中的每一可程式互連區塊均選擇性地將該共用行之複數個時脈及控制線各自耦接至該可程式互連區塊之該第一輸出埠所耦接之該第二輸入埠中之至少其一。
- 如申請專利範圍第10項所述之可程式IC,其中,對於在該可程式IC中相鄰至一第二配置之該第一邏輯行之一第一配置之該第二邏輯行:在該第二及第一邏輯行中之每一可程式邏輯區塊在與該可程式邏輯區塊之該一側對立之另一側均具有複數個第三埠;以及該第二及第一邏輯行中之可程式邏輯區塊均透過該第三埠耦接。
- 如申請專利範圍第5項所述之可程式IC,其中:每一配置的該第一邏輯行中的可程式邏輯區塊之該一側毗連該配置之該第一互連行中之可程式互連區塊之該一側;以及每一配置的該第二邏輯行中的可程式邏輯區塊之該一側毗連該配置之該第二互連行中之可程式互連區塊之該一側。
- 如申請專利範圍第5項所述之可程式IC,其中每 一配置的每一邏輯行中的可程式邏輯區塊均具有複數個型態中之同一型態。
- 如申請專利範圍第13項所述之可程式IC,其中:每一配置的該第一邏輯行中之第一複數個群組可程式邏輯區塊對應至該配置之該第一互連行中之第二複數個群組可程式互連區塊;該第二邏輯行中之第三複數個組群可程式邏輯區塊對應至該配置之該第二互連行中之第四複數個群組可程式互連區塊;對於每一該第一群組中之一第一數目之可程式邏輯區塊以及每一該第二群組中之一第二數目之可程式互連區塊,該第一和第二數目分別是二和一、一和一、一和二、一和三、一和四、或者一和五;以及對於每一該第三群組中之一第三數目之可程式邏輯區塊以及每一該第四群組中之一第四數目之可程式互連區塊,該第三和第四數目分別是二和一、一和一、一和二、一和三、一和四、或者一和五。
- 如申請專利範圍第13項所述之可程式IC,其中,對於每一該型態,具有該型態且位於該配置之該第一邏輯行中的每一可程式邏輯區塊與具有該型態且位於該配置之該第二邏輯行中的每一可程式邏輯區塊均呈實體上的鏡像關係。
- 如申請專利範圍第5項所述之可程式IC,其中該配置其中之一的該第一邏輯行中的每一可程式邏輯區塊與 該配置其中之一的該第二邏輯行中的每一可程式邏輯區塊均呈實體上的鏡像關係。
- 如申請專利範圍第5項所述之可程式IC,其中:每一配置的該第一邏輯行中的每一可程式邏輯區塊的每一該第二輸入埠均選擇性地耦接至該配置的該第二邏輯行中的至少三個可程式邏輯區塊之該第二輸出埠中之至少其中之一;以及該第二輸入埠選擇性地耦接至完全位於該配置之該互連行之一區域內且未進入該配置之該邏輯行之一區域之至少三個可程式邏輯區塊之至少一第二輸出埠。
- 如申請專利範圍第5項所述之可程式IC,其中:每一該配置更包含一共用行水平排列於該第一互連行和該第二互連行之間並與其毗連;以及該第一及第二互連行中的每一可程式互連區塊均選擇性地將該共用行之複數個信號線各自耦接至該可程式互連區塊之該第一輸出埠所耦接之該第二輸入埠中之至少其中之一。
- 如申請專利範圍第5項所述之可程式IC,其中,對於在該可程式IC中相鄰至一第二配置之該第一邏輯行之一第一配置之該第二邏輯行:在該第二及第一邏輯行中之每一可程式邏輯區塊在與該可程式邏輯區塊之該一側對立之另一側均具有複數個第三埠;以及該第二及第一邏輯行中之可程式邏輯區塊均透過該第 三埠耦接。
- 一種可程式積體電路(IC),包含:複數個可程式互連區塊,垂直排列於複數個第一互連行中之每一行以及複數個第二互連行中之每一行,每一該可程式互連區塊均在該可程式互連區塊四側中之一側提供複數個第一輸入及輸出埠;以及複數個可程式邏輯區塊,垂直排列於複數個第一邏輯行中之每一行以及複數個第二邏輯行中之每一行,每一該可程式邏輯區塊均在該可程式邏輯區塊四側中之一側提供複數個第二輸入及輸出埠,其中:該第一及第二邏輯行和該第一及第二互連行均水平排列於該可程式IC的複數個配置之中,每一配置均包含該第一邏輯行其中之一;該第一互連行其中之一、該第二互連行其中之一、以及該第二邏輯行其中之一以此順序水平排列於該配置之內;每一配置的該第一互連行中的每一可程式互連區塊之該第一埠及該一側與該配置的該第二互連行中的每一可程式互連區塊之該第一埠及該一側彼此呈實體上的鏡像關係;在每一配置內,在該第一邏輯行中的每一可程式邏輯區塊的該一側面對在該第二邏輯行中對應的可程式邏輯區塊的該一側且面對在該第一互連行中該複數個可程式互連區塊其中一對應的可程式互連區塊的該一側,而在該第二 邏輯行中所述對應的可程式邏輯區塊的該一側面對在該第二互連行中該複數個可程式互連區塊其中一對應的可程式互連區塊的該一側;每一配置的該第一互連行中的可程式互連區塊之該第一埠均耦接至該配置的該第一邏輯行中的可程式邏輯區塊之該第二埠;每一配置的該第二互連行中的可程式互連區塊之該第一埠均耦接至該配置的該第二邏輯行中的可程式邏輯區塊之該第二埠;且該配置的該互連行中的每一可程式互連區塊均耦接至至少四個可程式互連區塊,以透過該可程式互連區塊之一的該第一輸出埠及透過該至少四個可程式互連區塊的該第一輸入埠選擇性地將該配置的該邏輯行中的可程式邏輯區塊的該第二輸入埠耦接至該可程式邏輯區塊的該第二輸出埠。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/718,848 US8120382B2 (en) | 2010-03-05 | 2010-03-05 | Programmable integrated circuit with mirrored interconnect structure |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201145832A TW201145832A (en) | 2011-12-16 |
TWI445312B true TWI445312B (zh) | 2014-07-11 |
Family
ID=43332298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099138642A TWI445312B (zh) | 2010-03-05 | 2010-11-10 | 具有鏡像互連結構的可程式積體電路 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8120382B2 (zh) |
EP (1) | EP2543145B1 (zh) |
JP (1) | JP5698268B2 (zh) |
KR (1) | KR101377886B1 (zh) |
CN (1) | CN102763334B (zh) |
TW (1) | TWI445312B (zh) |
WO (1) | WO2011109045A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3003969B1 (fr) * | 2013-03-28 | 2015-04-17 | Nanoxplore | Dispositif d'interconnexion programmable |
EP3107212B1 (en) * | 2015-06-16 | 2018-04-25 | Framatome | Field programmable gate array comprising plurality of functional blocks and control device for a power plant |
CN106156402A (zh) * | 2016-06-15 | 2016-11-23 | 深圳市紫光同创电子有限公司 | Fpga逻辑块阵列的版图布局方法及版图布局 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448493A (en) * | 1989-12-20 | 1995-09-05 | Xilinx, Inc. | Structure and method for manually controlling automatic configuration in an integrated circuit logic block array |
US6130550A (en) * | 1993-01-08 | 2000-10-10 | Dynalogic | Scaleable padframe interface circuit for FPGA yielding improved routability and faster chip layout |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5815004A (en) * | 1995-10-16 | 1998-09-29 | Xilinx, Inc. | Multi-buffered configurable logic block output lines in a field programmable gate array |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5880598A (en) * | 1997-01-10 | 1999-03-09 | Xilinx, Inc. | Tile-based modular routing resources for high density programmable logic device |
US5966027A (en) * | 1997-09-30 | 1999-10-12 | Cypress Semiconductor Corp. | Symmetric logic block input/output scheme |
US6515509B1 (en) * | 2000-07-13 | 2003-02-04 | Xilinx, Inc. | Programmable logic device structures in standard cell devices |
US6693456B2 (en) | 2000-08-04 | 2004-02-17 | Leopard Logic Inc. | Interconnection network for a field programmable gate array |
EP1700231B1 (en) * | 2003-12-29 | 2012-10-17 | Xilinx, Inc. | Integrated circuit with cascading dsp slices |
US7126406B2 (en) | 2004-04-30 | 2006-10-24 | Xilinx, Inc. | Programmable logic device having an embedded differential clock tree |
US7327159B1 (en) * | 2005-11-28 | 2008-02-05 | Lattice Semiconductor Corporation | Interface block architectures |
US7456653B2 (en) * | 2007-03-09 | 2008-11-25 | Altera Corporation | Programmable logic device having logic array block interconnect lines that can interconnect logic elements in different logic blocks |
CN100576746C (zh) * | 2007-03-15 | 2009-12-30 | 复旦大学 | 一种现场可编程逻辑阵列布线资源结构及其建模方法 |
CN100590977C (zh) * | 2007-11-30 | 2010-02-17 | 电子科技大学 | 一种fpga |
-
2010
- 2010-03-05 US US12/718,848 patent/US8120382B2/en active Active
- 2010-10-20 JP JP2012552857A patent/JP5698268B2/ja active Active
- 2010-10-20 KR KR1020127018983A patent/KR101377886B1/ko active IP Right Grant
- 2010-10-20 CN CN201080063963.6A patent/CN102763334B/zh active Active
- 2010-10-20 WO PCT/US2010/053308 patent/WO2011109045A1/en active Application Filing
- 2010-10-20 EP EP10774352.8A patent/EP2543145B1/en active Active
- 2010-11-10 TW TW099138642A patent/TWI445312B/zh active
Also Published As
Publication number | Publication date |
---|---|
JP5698268B2 (ja) | 2015-04-08 |
CN102763334B (zh) | 2015-03-04 |
US20110215834A1 (en) | 2011-09-08 |
WO2011109045A1 (en) | 2011-09-09 |
TW201145832A (en) | 2011-12-16 |
EP2543145A1 (en) | 2013-01-09 |
EP2543145B1 (en) | 2014-12-31 |
JP2013520074A (ja) | 2013-05-30 |
KR20120106832A (ko) | 2012-09-26 |
CN102763334A (zh) | 2012-10-31 |
KR101377886B1 (ko) | 2014-03-25 |
US8120382B2 (en) | 2012-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3939698B2 (ja) | 埋込み固定論理回路をサポートする相互接続ロジックを有するプログラマブルゲートアレイ | |
JP6364015B2 (ja) | 構成可能な混載メモリシステム | |
US7518396B1 (en) | Apparatus and method for reconfiguring a programmable logic device | |
EP2645574B1 (en) | Integrated circuits with multi-stage logic regions | |
US7157933B1 (en) | Configurable circuits, IC's, and systems | |
US7675319B2 (en) | Programmable logic device having complex logic blocks with improved logic cell functionality | |
JP6517626B2 (ja) | 再構成可能な半導体装置 | |
US7193436B2 (en) | Fast processing path using field programmable gate array logic units | |
US7876601B2 (en) | Variable sized soft memory macros in structured cell arrays, and related methods | |
WO2014163099A2 (ja) | 再構成可能な論理デバイス | |
US7345508B1 (en) | Programmable logic device having a programmable selector circuit | |
TWI445312B (zh) | 具有鏡像互連結構的可程式積體電路 | |
US9553590B1 (en) | Configuring programmable integrated circuit device resources as processing elements | |
US9621159B2 (en) | Reconfigurable semiconductor integrated circuit and electronic device | |
US20080290897A1 (en) | Programmable logic device having logic modules with improved register capabilities |