TWI517633B - 路由電路及具有路由電路的電路 - Google Patents
路由電路及具有路由電路的電路 Download PDFInfo
- Publication number
- TWI517633B TWI517633B TW101115378A TW101115378A TWI517633B TW I517633 B TWI517633 B TW I517633B TW 101115378 A TW101115378 A TW 101115378A TW 101115378 A TW101115378 A TW 101115378A TW I517633 B TWI517633 B TW I517633B
- Authority
- TW
- Taiwan
- Prior art keywords
- signal
- circuit
- terminals
- channels
- signal terminals
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/56—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the control signals are multiplexed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/14—Merging, i.e. combining at least two sets of record carriers each arranged in the same ordered sequence to produce a single set having the same ordered sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
本發明是有關於一種路由電路及具有路由電路(routing circuit)的電路,且特別是有關於一種路由電路及具有路由電路的電路,其可彈性地配置多個信號通道至多個信號端。
在微控制器產品中,通常會具備各式各樣的介面(例如:通訊介面或儲存介面),以應付許多的應用。然而,在同一晶片上所有介面於運作時所需的腳位數目的總和,很可能會超過該晶片所擁有的腳位數量,而使腳位不敷使用。此外,系統商在應用上通常也不會完全地使用到晶片的所有介面之功能。因此,晶片的設計者往往得事先分析所有的應用類型,使晶片的每個腳位被賦予數個功能,以期望晶片的所有功能的組合,可以滿足最多的應用需求。
在許多晶片的應用上,晶片的某些功能的腳位會被期望能出現在特定的位置上。特別地,對於多晶片封裝(Multi-Chip Package,MCP)而言,因其內部的多個晶片已經具有既定的接腳位置和排列順序,故當要對多晶片封裝的腳位進行配置時,將會面臨許多的限制,進而使其在使用上可能無法滿足許多特定的需求。
在美國第6,839,795號專利中,揭露一種優先權橫樑解碼器(Priority Cross-Bar Decoder),其為多個介面設定其優先權,並基於所設定的優先權來配置腳位。
本發明實施例提供一種路由電路(routing circuit)及具有上述路由電路的電路,其可彈性地將多個積體電路的多個信號通道配置至多個信號端,可大大地增加積體電路在應用上的便利性。
本發明實施例提出一種路由電路,用以將多個積體電路的多個信號通道配置至多個信號端。上述的路由電路包括複數個定序器以及處理電路。每一定序器用以重新設定一個對應的積體電路之多個信號通道的排列順序。處理電路耦接於上述的定序器及多個信號端之間,並包括第一分配器。第一分配器用以依據控制信號並基於上述的定序器所重新設定的信號通道的排列順序,將上述的信號通道群組化地配置至上述的信號端。
本發明實施例提出一種電路,其包括多個積體電路、多個信號端以及路由電路。每一積體電路具有多個信號通道。路由電路耦接於上述的積體電路與上述的信號端之間,用以將上述的積體電路的信號通道配置至上述的信號端。上述的路由電路包括複數個定序器以及處理電路。每一定序器用以重新設定一個對應的積體電路之多個信號通道的排列順序。處理電路耦接於上述的定序器,並包括第一分配器。第一分配器用以依據控制信號並基於上述的定序器所重新設定的信號通道的排列順序,將上述的信號通道群組化地配置至上述的信號端。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
請參考圖1。圖1為本發明一實施例之電路100的功能方塊圖。電路100具有多個積體電路IP0~IP2、路由電路(routing circuit)300以及輸出介面500。積體電路IP0~IP2可以形成在同一半導體基板(如:含矽基板)上,亦可形成於不同的半導體基板上,例如砷化鎵(GaAs)基板、磷化鎵(GaP)基板或磷化銦(InP)基板。每一積體電路IP0~IP2用以提供特定的功能,例如:通訊、儲存、計算、量測...等功能,但本發明並不以此為限。積體電路IP0~IP2各具有一個對應的介面180(0)~180(2),而每一介面180(0)~180(2)具有多個信號通道S0~S3、S4~S7及S8~S9。每一信號通道S0~S9用以傳遞(即輸出或輸入)所對應的積體電路的信號。在本發明一實施例中,積體電路IP0~IP2共用某些共同的電路,例如:電源供電電路、靜電防護電路...等。在本發明一實施例中,積體電路IP0~IP2則相互地獨立運作。此外,輸出介面500具有多個訊號端D0~D31。路由電路300耦接於上述的積體電路IP0~IP2的信號通道S0~S9與輸出介面500的信號端D0~D31之間,用以將信號通道S0~S9配置(route)至信號端D0~D31。每一信號端D0~D31可以是一接腳(pin)、一信號墊(pad)或是其他形式的端子,用以傳遞信號通道S0~S9的信號。
必須瞭解地,本實施例中積體電路的數目、信號端的數目以及各積體電路的信號通道之數目僅為方便說明。本技術領域中具有通常知識者應可明白本發明中所提到的積體電路的數目、信號端的數目以及各積體電路的信號通道之數目可以是其他數目。更進一步地說,電路100所具有的積體電路之數目除了可為三個之外,亦可以為兩個、四個或更多個。每一個積體電路IP0~IP2具有的信號通道的數目可以是兩個、三個、四個或更多個。此外,信號端的數目只需符合應用上的最低需求即可。舉例來說,倘若僅需要用到積體電路IP0及IP2的功能,而不需要用到積體電路IP1的功能時,則信號端的數目可以僅為六個。
請參考圖2A及圖2B。圖2A和圖2B分別用以說明本發明一實施例之電路100的應用。其中,積體電路IP0~IP2及路由電路300封裝於同一個封裝體110中或設置在同一晶片上。路由電路300將信號通道S0~S3配置至群組G0所對應的四個信號端;路由電路300將信號通道S4~S7配置至群組G1所對應的四個信號端;且路由電路300將信號通道S8~S9配置至群組G2所對應的兩個信號端。以圖2A為例,群組G0對應於信號端D20~D23,群組G1對應於信號端D24~D27,而群組G2對應於信號端D8~D9。每一群組G0~G2皆對應至一個積體電路IP0~IP2。詳言之,群組G0對應至積體電路IP0,群組G1對應至積體電路IP1,而群組G2對應至積體電路IP2。此外,如圖2A和圖2B所示,群組G0~G2所對應的信號端可依據需要而予以配置。但必須瞭解地,群組G0~G2所對應的信號端並不限於圖1和圖2的配置情形。
必須瞭解地,雖然圖2A和圖2B中的信號端D0~D31被設置在封裝體110的四個側邊,但本發明並不以此為限。舉例來說,在本發明一實施例中,所有信號端D0~D31可都設置於封裝體110的同一側、底部或頂部。此外,在本發明一實施例中,信號端D0~D31可設置於封裝體110的兩個不同側邊。
請參考圖3,圖3為本發明一實施例之電路100的示意圖。電路100的路由電路300具有多個定序器(sequencer)320(0)~320(2)以及處理電路400。每一定序器320(0)~320(2)對應一個積體電路IP0~IP2,而用以重新設定其所對應的積體電路之多個信號通道的排列順序。舉例來說,定序器320(0)對應於積體電路IP0,並用來重新設定積體電路IP0的信號通道S0~S3的排列順序。關於定序器如何重新設定積體電路的信號通道之排列順序,將於下文中予以說明。在本實施例中,定序器320(0)~320(2)為可獨立運作的電路,但在本發明另一實施例中,定序器320(0)~320(2)可整合成單一個電路。另外,處理電路400耦接於上述的定序器320(0)~320(2),並包括第一分配器410。第一分配器410用以依據控制信號SC並基於上述的定序器320(0)~320(2)所重新設定的信號通道的排列順序,將上述的信號通道S0~S9群組化地配置至上述的信號端D0~D31。至於第一分配器410如何群組化地將上述的信號通道S0~S9配置至上述的信號端D0~D31,亦將於下文中予以說明。
請參考圖4A~4C。圖4A~4C分別用以說明本發明一實施例之定序器320(0)如何重新設定積體電路IP0之多個信號通道S0~S3的排列順序。定序器320(0)具有多個第一端子A0~A3,分別用以傳遞信號通道S0~S3的信號。此外,定序器320(0)還具有多個第二端子B0~B3,分別用以傳遞信號通道S0~S3的信號。其中,每一個第一端子A0~A3皆連接於一個對應的第二端子B0~B3。當定序器320(0)重新設定信號通道S0~S3的排列順序後,第一端子A0~A3與第二端子B0~B3之間的連接關係即可改變。以圖4A為例,第一端子A0、A1、A2及A3分別連接於第二端子B3、B0、B2及B1。以圖4B為例,第一端子A0、A1、A2及A3分別連接於第二端子B3、B2、B1及B0。以圖4C為例,第一端子A0、A1、A2及A3分別連接於第二端子B0、B1、B2及B3。必須瞭解地,第一端子A0~A3與第二端子B0~B3之間的連接關係並不限於上述幾種,且本發明也不以此為限。經過定序器320(0)重新設定後的信號通道S0~S3可被歸類至同一群組G0,而群組G0以第二端子B0~B3表示。此外,在本發明一實施例中,定序器320(0)受控於控制訊號S0。定序器320(0)會依據控制訊號S0重新設定信號通道S0~S3的排列順序。不同的控制信號S0對應於信號通道S0~S3不同的排列順序。因此,藉由控制訊號S0,可將信號通道S0~S3的排列順序設定成所需的排列順序。
請參考圖4D,圖4D為本發明一實施例之定序器320(0)的電路圖。定序器320(0)包含有多個多工器322(0)~322(3),每一多工器的第一端子A0、A1、A2及A3分別接收來自信號通道S0~S3的信號,並依據控制訊號S0從四個信號通道S0~S3的信號中選出一個輸出。其中,每個多工器322(0)~322(3)所輸出的信號會彼此不同。因此,來自信號通道S0~S3的信號經由定序器320(0)重新排序後,會分別自定序器320(0)的第二端子B0~B3輸出。
相似於定序器320(0),定序器320(1)及320(2)亦分別用以重新設定積體電路IP1及IP2之多個信號通道S4~S7及S8~S9的排列順序。請參考圖5並同時參照圖3,圖5用以說明定序器320(0)~320(2)如何重新設定積體電路IP0~IP2之多個信號通道S0~S9的排列順序。其中,定序器320(1)的第一端子A4~A7耦接於積體電路IP1的信號通道S4~S7。經過定序器320(1)重新設定後的信號通道S4~S7可被歸類至同一群組G1,而群組G1以第二端子B4~B7表示。相似地,定序器320(2)的第一端子A8~A9耦接於積體電路IP1的信號通道S8~S9。經過定序器320(2)重新設定後的信號通道S8~S9可被歸類至同一群組G2,而群組G2以第二端子B8~B9表示。此外,在本發明一實施例中,定序器320(0)~320(2)分別受控於控制訊號S0~S2。定序器320(0)會依據控制訊號S0重新設定信號通道S0~S3的排列順序;定序器320(1)會依據控制訊號S1重新設定信號通道S4~S7的排列順序;而定序器320(2)會依據控制訊號S2重新設定信號通道S8~S9的排列順序。
必須瞭解地,上述的控制信號SC或S0~S2可由路由電路300自行產生或是路由電路300利用信號端D0~D31中的一個或多個信號端從電路100外接收。倘若控制信號SC或S0~S2由路由電路300自行產生,路由電路300可具有一暫存器330,用以儲存一設定資料332,而路由電路300則依據暫存器330所儲存的設定資料332,產生控制信號SC或S0~S2。在本發明一實施例中,倘若路由電路300利用信號端D0~D31中的一個或多個信號端從電路100外接收控制信號SC或S0~S2,則當第一分配器410將信號通道S0~S9配置至上述的信號端D0~D31時,上述用以輸入控制信號SC或S0~S2的信號端將會被第一分配器410略過而不予配置。此外,在本發明一實施例中,倘若路由電路300利用其中一個或多個信號端從電路100外接收控制信號SC或S0~S2,則路由電路300會先接收控制信號SC或S0~S2,之後定序器320(0)~320(2)和第一分配器410再分別操作。其中,用以輸入控制信號SC或S0~S2至路由電路300的信號端在完成輸入控制信號SC或S0~S2之後,其使用權即可被釋放而可被第一分配器410所配置,故所有的信號端D0~D31皆有可能被第一分配器410所配置而連接於信號通道S0~S9。
在本發明一實施例中,當多個信號通道S0~S9經過定序器320(0)~320(2)重新排序後,第一分配器410會依據控制信號SC並基於定序器320(0)~320(2)所重新設定的信號通道S0~S9的排列順序,將信號通道S0~S9群組化地配置至信號端D0~D31。請參考圖6,圖6用以說明本發明一實施例中之第一分配器410如何將信號通道S0~S9群組化地配置至信號端D0~D31。其中,因定序器320(0)~320(2)已將第二端子B0~B9分別歸類至群組G0~G2,而第二端子B0~B9又分別對應於信號通道S0~S9,故當第一分配器410將信號通道S0~S9配置至信號端D0~D31時,第一分配器410以群組為配置的單位,將群組G0~G2分別配置到信號端D0~D31。在本發明一實施例中,第一分配器410會配置每一群組G0~G2中的第一個第二端子B0、B4或B8至信號端D0~D31,並將同群組中其餘的第二端子(即B1~B3、B5~B7或B9)配置至相鄰的信號端D0~D31。以群組G1為例,群組G1的第一個第二端子B4被配置到信號端D7,而群組G1中的其餘的第二端子B5~B7則依序地被配置到與信號端D7相鄰的信號端D8~D10。群組G1的第一個第二端子B4會被配置到哪一個信號端係由第一分配器410決定。在本發明一實施例中,第一分配器410會依據控制信號SC決定應將群組G1的第一個第二端子B4配置到哪一個信號端。類似地,第一分配器410會依據控制信號SC決定群組G0及G2第一個第二端子B0及B8應被配置到哪一個信號端D0~D31,並將群組G0及G2其餘的第二端子B1~B3及B9配置到相鄰的信號端。如圖6所示,在本發明一實施例中,群組G0的第二端子B0~B3被配置到信號端D0~D3,而群組G2的第二端子B8~B9被配置到信號端D5~D6。由於每一個第二端子B0~B9皆對應於一個信號通道S0~S9,故當第一分配器410將群組G0~G2配置至信號端D0~D31後,即完成將信號通道S0~S9群組化地配置至信號端D0~D31的操作。
當第一分配器410完成將信號通道S0~S9群組化地配置至信號端D0~D31的操作後,有可能會發生兩個或更多個信號通道被配置到同一信號端的狀況。請參考圖7並同時參照圖3,圖7用以說明本發明一實施例中之第一分配器410將兩個信號通道配置到同一信號端的狀況。其中第一分配器410將群組G1和G2的第二端子B4及B9都配置到信號端D6。在此情況下,處理電路400會輸出一衝突狀態信號SE,以表示信號端D0~D31中的哪一信號端被配置了兩個或更多個信號通道。以圖3和圖7為例,衝突狀態信號SE即表示了信號端D6被配置了兩個第二端子B4及B9所對應的信號通道。藉由衝突狀態信號SE的提醒,電路100的設計人員或使用者可得知哪些信號端被重複地配置,進而可藉由改變控制訊號SC、S0~S2,調整路由電路300的操作,以變更信號通道S0~S9與信號端D0~D31之間的路由狀態。
在某些應用中,積體電路IP0~IP2的部份信號通道S0~S9不需被使用到,而路由電路300藉由一遮罩遮斷上述不被使用的信號通道與信號端D0~D31之間的連接。請參考圖8,圖8為本發明一實施例之電路800的示意圖。電路800與電路100的差別在於電路800的處理電路400另包括遮罩420。遮罩420耦接於第一分配器410及信號端D0~D31之間,用以遮斷信號通道S0~S9中的至少一信號通道與信號端D0~D31之間的連接。請參考圖9並同時參照圖8,圖9用以說明圖8中的遮罩420如何遮斷部份的信號通道與信號端D0~D31之間的連接。在本發明一實施例中,遮罩420具有多個遮斷單元M0~M31,用以建立或遮斷信號通道S0~S9與信號端D0~D31之間的連接。每一個遮斷單元M0~M31對應於一個信號端D0~D31。在圖9的實施例中,遮罩420的遮斷單元M2和M10遮斷了第二端子B2及B7所對應的信號通道與信號端D0~D31之間的連接,而其餘的遮斷單元M0~M1、M3~M9及M11~M31則建立信號通道與信號端D0~D31之間的連接。如圖9所示,因遮斷單元M2和M10分別對應第二端子B2及B7,故第二端子B2所對應的積體電路IP0的信號通道S0~S3中的一個將會被遮蔽而不被使用,而第二端子B7所對應的積體電路IP1的信號通道S4~S7中的一個也將會被遮蔽而不被使用。
在本發明一實施例中,遮罩420可依據控制訊號SM控制各遮斷單元M0~M31的操作。再者,在本發明一實施例中,每一遮斷單元M0~M31可為開關,並可依據控制訊號SM開啟或關閉。此外,在本發明一實施例中,每一遮斷單元M0~M31可為熔絲,並可依據控制訊號SM維持現況或燒斷。由於遮斷單元M0~M31可分別地控制,故遮罩420可決定是否遮斷信號通道S0~S9中的至少一信號通道與信號端D0~D31之間的連接。其中,遮罩420亦可使每個信號通道S0~S9與信號端D0~D31之間的連接都不被遮斷。舉例來說,倘若所有遮斷單元M0~M31皆為開關,則當所有的遮斷單元M0~M31都被開啟而呈現短路狀態時,每個信號通道S0~S9與信號端D0~D31之間的連接即都不被遮斷。
在本發明之一實施例中,處理電路400可更包括多個遮罩,耦接於上述的定序器及第一分配器之間。每一遮罩用以決定是否遮斷一個對應的積體電路之至少一信號通道與上述的信號端之間的連接。請參考圖10及圖11。圖10為本發明一實施例之電路1000的示意圖,而圖11用以說明圖10中的遮罩420(0)~420(3)如何遮斷部份的信號通道與信號端D0~D31之間的連接。電路1000與電路100的差別在於電路1000另包括積體電路IP3,且電路1000的路由電路300另包括定序器320(3),而電路1000的處理電路400另包括多個遮罩420(0)~420(3)。定序器320(3)耦接於積體電路IP3,用以重新設定積體電路IP3的多個信號通道的排列順序。遮罩420(0)~420(3)耦接於上述的定序器320(0)~320(3)及第一分配器410之間。每一遮罩420(0)~420(3)用以決定是否遮斷所對應的積體電路IP0~IP3之至少一信號通道與信號端D0~D31之間的連接。在本發明一實施例中,每一遮罩420(0)~420(3)具有多個遮斷單元N0~N3、N4~N7、N8~N9或N10~N13,用以建立或遮斷積體電路IP0~IP3之多個信號通道與信號端D0~D31之間的連接。每一個遮斷單元N0~N13對應於一個第二端子B0~B13。
在圖10和圖11的實施例中,遮罩420(0)的遮斷單元N2遮斷第二端子B2所對應的信號通道與信號端D0~D31之間的連接,而遮罩420(0)的其餘的遮斷單元N0、N1及N3則建立第二端子B0、B1及B3所對應的信號通道與信號端D0~D31之間的連接。相似地,遮罩420(1)~420(3)的遮斷單元N5、N7、N8及N11遮斷第二端子B5、B7、B8及B11所對應的信號通道與信號端D0~D31之間的連接,而420(1)~420(3)的其餘的遮斷單元N4、N6、N9、N10、N12及N13則建立第二端子B4、B6、B9、B10、B12及B13所對應的信號通道與信號端D0~D31之間的連接。在此實施例中,第二端子B2、B5、B7、B8及B11所對應的信號通道會被遮蔽而不被使用。
此外,因第二端子B2、B5、B7、B8及B11所對應的信號通道會被遮蔽而不被使用,故第一分配器410可依據各遮斷單元N0~N13的狀態,將未被遮蔽的信號通道配置至信號端D0~D31。如圖11所示,群組G0的第二端子B0、B1及B3被分別配置到信號端D0、D1及D3。其中因信號端D2未被配置給第二端子B2,且群組G1的第二端子B5被遮蔽,故群組G1的第二端子B4可被配置到信號端D2。在此情況下,群組G1的第二端子B6即被配置到信號端D4。類似地,群組G2的第二端子B9即被配置到信號端D6,而群組G3的第二端子B10、B12及B13被分別配置到信號端D5、D7及D8。因第一分配器410係以群組為單位,將群組G0~G3所對應的信號通道配置至信號端D0~D31,故當部份的信號通道被遮斷單元N0~N13所遮蔽時,各群組G0~G3所配置到的信號端D0~D31可能會彼此交錯。
在本發明一實施例中,遮罩420(0)~420(3)可分別依據控制訊號SM0~SM3控制各遮斷單元N0~N13的操作。再者,在本發明一實施例中,每一遮斷單元N0~N13可為開關,並可依據控制訊號SM0~SM3開啟或關閉。此外,在本發明一實施例中,每一遮斷單元N0~N13可為熔絲,並可依據控制訊號SM0~SM3維持現況或燒斷。由於遮斷單元N0~N13可分別地控制,故每一遮罩420(0)~420(3)可決定是否遮斷其所對應的積體電路的至少一信號通道與信號端D0~D31之間的連接。其中,遮罩420(0)~420(3)亦可使積體電路IP0~IP3的每個信號通道與信號端D0~D31之間的連接都不被遮斷。
在部份的應用中,不需使用到所有的信號端D0~D31。在此情況下,會藉由一個重排電路來設定信號端D0~D31中的哪些信號端可被使用。請參考圖12。圖12為本發明一實施例之電路1200的示意圖。電路1200與電路100的差別在於電路1200的處理電路400另包括重排電路430。重排電路430耦接於第一分配器410及信號端D0~D31之間,用以設定信號端D0~D31中的哪些信號端可被使用,而第一分配器410只會將上述的信號通道配置至上述可被使用的信號端。以圖12為例,在此實施例中,重排電路430設定信號端D1、D4及D10為非使用的信號端,而第一分配器410只會將信號通道S0~S9配置至可被使用的信號端D0、D2~D3、D5~D9及D11~D31。
請參考圖13。圖13為本發明一實施例之重排電路430與輸出介面500的示意圖。在此實施例中,重排電路430包括多個指向單元T0~T31,而當第一分配器410配置信號通道S0~S9時,係將信號通道S0~S9配置到部份的指向單元T0~T31。指向單元T0~T31會依據控制訊號SR將來自第一分配器410的配置重新地指向對應的信號端D0~D31。其中,因信號端D1、D4及D10被設定為非使用的信號端,故藉由第一分配器410的配置及指向單元T0~T31的重新指向,信號通道S0~S9會被配置到信號端D0、D2~D3、D5~D9及D11~D31當中的部份信號端。其中,信號端D1、D4及D10會被忽略而不予配置。
請參考圖14,圖14為本發明一實施例之電路1400的示意圖。電路1400與電路1000的差別在於電路1400另包括多個第二分配器440(0)~440(3),而電路1400的多個遮罩422(0)~422(3)取代了電路1000的遮罩420(0)~420(3)。第二分配器440(0)~440(3)耦接於定序器320(0)~320(3)及遮罩422(0)~422(3)之間。每一第二分配器440(0)~440(3)用以分別依據控制信號SC0~SC3,將積體電路IP0~IP3中的一個對應的積體電路之多個信號通道分配至第一分配器410的多個分配單元O0~O31。其中,每一分配單元O0~O31耦接至一對應的信號端D0~D31。遮罩422(0)~422(3)則用以建立或遮斷第二分配器440(0)~440(3)之多個輸出端與第一分配器410的多個分配單元O0~O31之間的連接。
請參考圖15,圖15用以說明圖14中的第二分配器440(1)如何運作。第二分配器440(1)包含有多個多工器442(0)~442(31),耦接於對應的群組G1之第二端子B4~B7。多工器442(0)~442(31)會依據控制信號SC1,決定是否是將來自第二端子B4~B7的信號由其輸出端pin[0]~pin[31]輸出。必須瞭解的,每一多工器442(0)~442(31)的輸入端的數目會等於或大於所對應的群組之第二端子的數目。以第二分配器440(2)為例,因第二分配器440(2)對應於群組G2,而群組G2的第二端子的數目為二,故第二分配器440(2)的每個多工器的輸入端的數目至少須為兩個。此外,在本發明一實施例中,第二分配器440(0)、440(2)及440(3)有與第二分配器440(1)相同的架構。
請參考圖16,圖16為本發明一實施例中第二分配器440(1)的一個多工器442(n)的電路圖。n為整數,且其最大值等於輸出介面500的訊號端D0~D31的數目。因此,在本實施例中,0≦n≦31。多工器442(n)包括多個及閘(AND gate)Q1~Q4以及一個或閘(OR gate)R1。每一及閘Q1~Q4耦接於對應的第二端子B4~B7中的一個,並接收控制信號SC1中一對應的位元,以進行及運算(AND operation)。在本實施例中,控制信號SC1為32位元的控制信號,而在控制信號SC1為32位元中僅有一個位元的值會為1,其他位元的值則為0,其中其值為1的位元用以表示群組G1的第一個第二端子B4會被分配到分配單元O0~O31中的第幾個。舉例來說,假設控制信號SC1的第16個位元SC1[15]的值為1,則第二端子B4會被分配到分配單元O0~O31中的第16個分配單元O15。或閘R1則會對及閘Q1~Q4的輸出進行或運算(OR operation),以自其輸出端pin[n]輸出對應的信號。值得注意的,及閘Q1~Q4會分別接收控制信號SC1的位元SC1[n]~SC1[n-3]。其中,倘若(n-1)、(n-2)或(n-3)小於0,則對應的位元SC1[n-1]、SC1[n-2]或SC1[n-3]的值為0。
請參考圖17,圖17用以說明圖14中的遮罩422(1)如何運作。遮罩422(1)包含有多個多工器424(0)~424(31),耦接於第二分配器440(1)的多個輸出端pin[0]~pin[31]。每一多工器424(0)耦接於一個或多個輸出端pin[0]~pin[31],如圖17所示。每一多工器424(0)會依據控制訊號SM1,決定是否自其輸出端pin_en[0]~pin_en[31]輸出信號。其中,每一個輸出端pin_en[0]~pin_en[31]耦接於分配單元O0~O31中一個對應的分配單元。在本發明一實施例中,遮罩422(0)、422(2)及422(3)有與第二分配器440(1)相同的架構。
請參考圖18,圖18為本發明一實施例中遮罩422(1)的一個多工器424(n)的電路圖。n為整數,且其最大值等於輸出介面500的訊號端D0~D31的數目。因此,在本實施例中,0≦n≦31。多工器424(n)包括多個及閘Q5~Q8以及一個或閘R2。每一及閘Q5~Q8耦接於輸出端pin_en[0]~pin_en[31]中的一個,並接收控制信號SM1中一對應的位元,以進行及運算。在本實施例中,控制信號SM1為32位元的控制信號,而控制信號SM1中其值為1的位元所對應的分配單元O0~O31其與信號通道S1~S9之間的連結會被遮斷,而其值為0的位元所對應的分配單元O0~O31其與信號通道S1~S9之間的連結不會被遮斷。舉例來說,假設控制信號SM1的第5個和第19個位元SC1[4]、SC1[18]的值為1,則第5個和第19個分配單元O4、O18與信號通道S1~S9之間的連結會被遮斷。或閘R2則會對及閘Q5~Q8的輸出進行或運算,以自其輸出端pin_en[n]輸出對應的信號。值得注意的,控制信號SM1的各位元會經過反相處理後再輸入至及閘Q5~Q8。如圖18所示,及閘Q5~Q8分別接收控制信號SM1的反相位元。其中,倘若(n-1)、(n-2)或(n-3)小於0,則對應的位元SC1[n-1]、SC1[n-2]或SC1[n-3]的值為1。
請參考圖19,圖19為本發明一實施例之電路1900的示意圖。電路1900與電路1400的差別在於電路1900另包括重排電路430,耦接於第一分配器410及信號端D0~D31之間,用以設定信號端D0~D31中的哪些信號端可被使用。電路1900的重排電路430的功能與圖12中的重排電路430的功能相同,在此即不再贅述。
綜上所述,本發明之路由電路可彈性地將多個積體電路的多個信號通道群組化地配置至多個信號端,故積體電路的信號通道可依應用上的實際需要被配置到合適的信號端,進而大大地增加積體電路在應用上的便利性。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、800、1000、1200、1400、1900...電路
180(0)~180(2)...介面
300...路由電路
320(0)~320(3)...定序器
322(0)~322(3)、424(0)~424(n)、442(0)~442(n)...多工器
330...暫存器
332...設定資料
400...處理電路
410...第一分配器
420、420(0)~420(3)、422(0)~422(3)‧‧‧遮罩
430‧‧‧重排電路
440(0)~440(3)‧‧‧第二分配器
500‧‧‧輸出介面
A0~A9‧‧‧第一端子
B0~B9‧‧‧第二端子
D0~D31‧‧‧信號端
G0~G3‧‧‧群組
IP0~IP3‧‧‧積體電路
M0~M31、N0~N13‧‧‧遮斷單元
O0~O31‧‧‧分配單元
SC、S1~S3、SM、SM0~SM3、SR‧‧‧控制訊號
Sc0~Sc3‧‧‧控制信號
S0~S9‧‧‧信號通道
SE‧‧‧衝突狀態信號
T0~T31‧‧‧指向單元
pin[0]~pin[31]、pin[n]~pin[n-3]、pin_en[0]~pin_en[31]、pin_en[n]~pin_en[n-3]‧‧‧輸出端
Q1~Q8‧‧‧及閘
R1、R2‧‧‧或閘
~‧‧‧反相位元
圖1為本發明一實施例之電路的功能方塊圖。
圖2A和圖2B分別用以說明本發明一實施例之電路的應用。
圖3為本發明一實施例之電路的示意圖。
圖4A~4C分別用以說明本發明一實施例之一定序器如何重新設定一積體電路之多個信號通道的排列順序。
圖4D為本發明一實施例之定序器的電路圖。
圖5用以說明多個定序器如何重新設定多個積體電路之多個信號通道的排列順序。
圖6用以說明本發明一實施例中之第一分配器如何將信號通道群組化地配置至信號端。
圖7用以說明本發明一實施例中之第一分配器將兩個信號通道配置到同一信號端的狀況。
圖8為本發明一實施例之電路的示意圖。
圖9用以說明圖8中的遮罩如何遮斷部份的信號通道與信號端之間的連接。
圖10為本發明一實施例之電路的示意圖。
圖11用以說明圖10中的多個遮罩如何遮斷部份的信號通道與信號端之間的連接。
圖12為本發明一實施例之電路的示意圖。
圖13為本發明一實施例之重排電路與輸出介面的示意圖。
圖14為本發明一實施例之電路的示意圖。
圖15用以說明圖14中的第二分配器如何運作。
圖16為本發明一實施例中第二分配器的一個多工器的電路圖。
圖17用以說明圖14中的遮罩如何運作。
圖18為本發明一實施例中遮罩的一個多工器的電路圖。
圖19為本發明一實施例之電路的示意圖。
100...電路
300...路由電路
320(0)~320(2)...定序器
330...暫存器
332...設定資料
400...處理電路
410...第一分配器
500...輸出介面
D1~D31...信號端
G0~G2...群組
IP0~IP2...積體電路
SC、S1~S2...控制訊號
SE...衝突狀態信號
Claims (16)
- 一種路由電路(routing circuit),用以將多個積體電路的多個信號通道配置至多個信號端,該路由電路包括:複數個定序器,每一定序器用以重新設定該些積體電路中的一個對應的積體電路之多個信號通道的排列順序;以及一處理電路,耦接於該些定序器及該些信號端之間,該處理電路包括:一第一分配器,用以依據一控制信號並基於該些定序器所重新設定的該些信號通道的排列順序,將該些信號通道群組化地配置至該些信號端;其中,各該些信號通道同時對應至該些信號端的其中之一。
- 如申請專利範圍第1項所述之路由電路,其中當該處理電路將該些信號通道的至少兩個信號通道配置至該些信號端的同一信號端時,該處理電路會輸出一衝突狀態信號,以表示該些信號端中的哪一信號端被配置了該至少兩個信號通道。
- 如申請專利範圍第1項所述之路由電路,其中該處理電路更包括一遮罩,耦接於該第一分配器及該些信號端之間,用以決定是否遮斷該些信號通道中的至少一信號通道與該些信號端之間的連接。
- 如申請專利範圍第1項所述之路由電路,其中該處理電路更包括多個遮罩,耦接於該些定序器及該第一分配器之間,每一該些遮罩用以決定是否遮斷該些積體電路中一個對應的積體電路之至少一信號通道與該些信號端之間的連接。
- 如申請專利範圍第4項所述之路由電路,其中該處理電路更包括多個第二分配器,耦接於該些定序器及該些遮罩之間,而每一該些 第二分配器用以將該些積體電路中的一個對應的積體電路之多個信號通道分配至該第一分配器的多個分配單元。
- 如申請專利範圍第1項所述之路由電路,其中該處理電路更包括一重排電路,耦接於該第一分配器及該些信號端之間,用以設定該些信號端中的哪些信號端可被使用,而該第一分配器只會將該些信號通道配置至上述可被使用的信號端。
- 如申請專利範圍第1項所述之路由電路,其中該路由電路及該些積體電路封裝於同一個封裝體中,同一積體電路的該些信號通道對應至同一群組的該些信號端,同一群組的信號端彼此相鄰,並且各該些信號端為該封裝體的一接腳(pin)。
- 如申請專利範圍第7項所述之路由電路,其中在同一群組中,該些信號通道與該些信號端的對應關係為依據該控制信號而改變。
- 如申請專利範圍第7項所述之路由電路,其中同一群組的該些接腳為配置於該封裝體的幾何形狀上的同一側。
- 如申請專利範圍第1項所述之路由電路,其中該路由電路及該些積體電路設置在一晶片中。
- 一種電路,包括:多個積體電路,每一積體電路具有多個信號通道;多個信號端;以及一路由電路,耦接於該些積體電路與該些信號端之間,用以將該些積體電路的該些信號通道配置至該些信號端,該路由電路包括:複數個定序器,每一定序器用以重新設定該些積體電路中的一個對應的積體電路之多個信號通道的排列順序;以及一處理電路,耦接於該些定序器,該處理電路包括: 一第一分配器,用以依據一控制信號並基於該些定序器所重新設定的該些信號通道的排列順序,將該些信號通道群組化地配置至該些信號端;其中,各該些信號通道同時對應至該些信號端的其中之一。
- 如申請專利範圍第11項所述之電路,其中當該處理電路將該些信號通道的至少兩個信號通道配置至該些信號端的同一信號端時,該處理電路會輸出一衝突狀態信號,以表示該些信號端中的哪一信號端被配置了該至少兩個信號通道。
- 如申請專利範圍第11項所述之電路,其中該處理電路更包括一遮罩,耦接於該第一分配器及該些信號端之間,用以決定是否遮斷該些信號通道中的至少一信號通道與該些信號端之間的連接。
- 如申請專利範圍第11項所述之電路,其中該處理電路更包括多個遮罩,耦接於該些定序器及該第一分配器之間,每一該些遮罩用以決定是否遮斷該些積體電路中一個對應的積體電路之至少一信號通道與該些信號端之間的連接。
- 如申請專利範圍第14項所述之電路,其中該處理電路更包括多個第二分配器,耦接於該些定序器及該些遮罩之間,而每一該些第二分配器用以將該些積體電路中的一個對應的積體電路之多個信號通道分配至該第一分配器的多個分配單元。
- 如申請專利範圍第11項所述之電路,其中該處理電路更包括一重排電路,耦接於該第一分配器及該些信號端之間,用以設定該些信號端中的哪些信號端可被使用,而該第一分配器只會將該些信號通道配置至上述可被使用的信號端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101115378A TWI517633B (zh) | 2012-04-30 | 2012-04-30 | 路由電路及具有路由電路的電路 |
US13/831,914 US9456256B2 (en) | 2012-04-30 | 2013-03-15 | Routing circuit and circuit having the routing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101115378A TWI517633B (zh) | 2012-04-30 | 2012-04-30 | 路由電路及具有路由電路的電路 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201345203A TW201345203A (zh) | 2013-11-01 |
TWI517633B true TWI517633B (zh) | 2016-01-11 |
Family
ID=49477232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101115378A TWI517633B (zh) | 2012-04-30 | 2012-04-30 | 路由電路及具有路由電路的電路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9456256B2 (zh) |
TW (1) | TWI517633B (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839795B1 (en) | 2000-05-31 | 2005-01-04 | Silicon Labs Cp, Inc. | Priority cross-bar decoder |
WO2002030069A1 (en) * | 2000-10-06 | 2002-04-11 | Irvine Sensors Corporation | High speed multi-stage stacked layers switch |
WO2004095286A2 (en) * | 2003-04-22 | 2004-11-04 | Agere Systems Inc. | Method and apparatus for shared multi-bank memory in a packet switching system |
US7586917B1 (en) * | 2003-09-30 | 2009-09-08 | Juniper Networks, Inc. | Systems and methods for re-ordering data in distributed data forwarding |
US8149854B2 (en) * | 2005-06-30 | 2012-04-03 | Intel Corporation | Multi-threaded transmit transport engine for storage devices |
US8990501B1 (en) * | 2005-10-12 | 2015-03-24 | Azul Systems, Inc. | Multiple cluster processor |
US8170490B2 (en) * | 2009-04-08 | 2012-05-01 | Litepoint Corporation | Method and apparatus for testing multiple data signal transceivers substantially simultaneously with common transceiver tester |
US8901747B2 (en) * | 2010-07-29 | 2014-12-02 | Mosys, Inc. | Semiconductor chip layout |
US8897301B2 (en) * | 2012-03-14 | 2014-11-25 | International Business Machines Corporation | Multicast bandwidth multiplication for a unified distributed switch |
-
2012
- 2012-04-30 TW TW101115378A patent/TWI517633B/zh active
-
2013
- 2013-03-15 US US13/831,914 patent/US9456256B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201345203A (zh) | 2013-11-01 |
US20130287019A1 (en) | 2013-10-31 |
US9456256B2 (en) | 2016-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9571420B2 (en) | Integrated NoC for performing data communication and NoC functions | |
US9130856B2 (en) | Creating multiple NoC layers for isolation or avoiding NoC traffic congestion | |
US8661178B2 (en) | PCI-E system having reconfigurable link architecture | |
US7000212B2 (en) | Hierarchical general interconnect architecture for high density FPGA'S | |
US7797664B2 (en) | System for configuring an integrated circuit and method thereof | |
US6747480B1 (en) | Programmable logic devices with bidirect ional cascades | |
US8422619B2 (en) | Clock frequency divider circuit, clock distribution circuit, clock frequency division method, and clock distribution method | |
US8069431B1 (en) | Routing signals to pins of components in programmable logic devices | |
US8564336B2 (en) | Clock frequency divider circuit and clock frequency division method | |
US20140301241A1 (en) | Multiple heterogeneous noc layers | |
Janicki et al. | EDT bandwidth management in SoC designs | |
Chethan et al. | Hoplite-DSP: Harnessing the Xilinx DSP48 multiplexers to efficiently support NoCs on FPGAs | |
Kassab et al. | Dynamic channel allocation for higher EDT compression in SoC designs | |
CN112084729A (zh) | 用于逻辑器件的粗粒度可编程路由网络 | |
TWI517633B (zh) | 路由電路及具有路由電路的電路 | |
US20170220509A1 (en) | Active-by-active programmable device | |
SB et al. | Design and analysis of buffer and bufferless routing based NoC for high throughput and low latency communication on FPGA | |
US20230333826A1 (en) | Fast fpga compilation through bitstream stitching | |
US12019908B2 (en) | Dynamically allocated buffer pooling | |
CN113408228B (zh) | 基于共享管脚分时观测fpga内部不同信号的方法 | |
CN102971964A (zh) | 用于周期性信号的输入/输出接口 | |
Hredzak et al. | Optimization of placement of dynamic network-on-chip cores using simulated annealing | |
Nguyen et al. | XNoC: A non-intrusive TDM circuit-switched Network-on-Chip | |
EP3411953A2 (en) | Active-by-active programmable device | |
Dananjayan et al. | Low Latency NoC Switch using Modified Distributed Round Robin Arbiter. |