TW202117932A - 積體電路及動態腳位控制方法 - Google Patents

積體電路及動態腳位控制方法 Download PDF

Info

Publication number
TW202117932A
TW202117932A TW108136972A TW108136972A TW202117932A TW 202117932 A TW202117932 A TW 202117932A TW 108136972 A TW108136972 A TW 108136972A TW 108136972 A TW108136972 A TW 108136972A TW 202117932 A TW202117932 A TW 202117932A
Authority
TW
Taiwan
Prior art keywords
output pins
matrix
input
up2k
general
Prior art date
Application number
TW108136972A
Other languages
English (en)
Inventor
盧進宏
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW108136972A priority Critical patent/TW202117932A/zh
Priority to US17/070,870 priority patent/US20210109880A1/en
Publication of TW202117932A publication Critical patent/TW202117932A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/409Mechanical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/22Means for limiting or controlling the pin/gate ratio

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

一種動態腳位控制方法,使用於一積體電路,該積體電路包括複數個周邊輸入輸出腳位,複數個通用型輸入輸出腳位,一連結網路連結於該些周邊輸入輸出腳位及該些通用型輸入輸出腳位,及一網路控制電路耦接於該連結網路。該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係產生一控制訊號,以及根據該控制訊號將該些周邊輸入輸出腳位經由該連結網路連結至該些通用型輸入輸出腳位。

Description

積體電路及動態腳位控制方法
本發明是有關於一種腳位控制方法,尤指使用於積體電路的動態腳位控制方法。
隨著半導體製程技術的進步,由早期的微米製程進化到目前的奈米製程,積體電路的功能不斷提高,以一般的微處理器為例,其接腳數已經高達數百支。由於積體電路製程技術的提高,單位面積內的電子元件數量倍數成長,但是積體電路(IC)接腳所連接的銲墊卻無法隨其製程技術的提升而等量縮小,這是受限於焊接技術、導線尺寸與封裝技術並沒有大幅提升的關係。因此,在積體電路中,接腳的面積成本可能是相當高的。由於積體電路面積成本相當昂貴,接腳數目的增加意謂著成本的增加,且單位面積內的電路增加表示相同的封裝內需要有更多的接腳數目,接腳數目的多寡也會直接影響晶片封裝良率。
傳統的積體電路經由封裝後,都會有明確的腳位定義,因此封裝完畢後,就不能更改積體電路內部的腳位定義。這對於系統廠商在電路板佈局上會有很多的限制。若要達到可變換腳位,要先確認積體電路的輸入腳位的位置與輸出腳位的位置,根據腳位配置表使用多級多工器(MUX)將輸入腳位串接至對應的輸出腳位,亦即除了封裝後的腳位配置,還要參考腳位配置表去設定多級多工器(MUX)才可提供另一新的腳位配置。因此,若欲使積體電路的某一輸入腳位能夠彈性地連結到相異的輸出腳位,則需要使用較複雜的多級多工器,使得多級多工器需要佔用更大的面積,再者,使用者利用參考腳位配置表去做設定的過程也會越趨複雜。
本發明實施例提供一種積體電路,包括複數個周邊輸入輸出腳位,複數個通用型輸入輸出腳位,一連結網路,連結至該些周邊輸入輸出腳位及該些通用型輸入輸出腳位,及一網路控制電路,耦接於該連結網路,用以根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係控制該些周邊輸入輸出腳位經由該連結網路連結至該些通用型輸入輸出腳位。
本發明實施例提供一種動態腳位控制方法,使用於一積體電路,該積體電路包括複數個周邊輸入輸出腳位,複數個通用型輸入輸出腳位,一連結網路,連結於該些周邊輸入輸出腳位及該些通用型輸入輸出腳位,及一網路控制電路,耦接於該連結網路,該方法包括該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係產生一控制訊號,及根據該控制訊號將該些周邊輸入輸出腳位經由該連結網路連結至該些通用型輸入輸出腳位。
第1圖為實施例積體電路100的示意圖。積體電路100包括周邊輸入輸出腳位101-10N、通用型輸入輸出腳位111-11N、腳位控制暫存器122、連結網路130及網路控制電路120。連結網路130連結周邊輸入輸出腳位101-10N以及通用型輸入輸出腳位111-11N。網路控制電路120耦接於連結網路130,且根據周邊輸入輸出腳位101-10N以及通用型輸入輸出腳位111-11N的對應關係控制周邊輸入輸出腳位101-10N經由連結網路130連結至通用型輸入輸出腳位111-11N。
腳位控制暫存器122儲存周邊輸入輸出腳位101-10N與通用型輸入輸出腳位111-11N的對應關係。當要動態調整腳位對應關係,如將周邊輸入輸出腳位101連結至通用型輸入輸出腳位118,周邊輸入輸出腳位102連結至通用型輸入輸出腳位116,則將腳位對應關係更新至腳位控制暫存器122。腳位控制暫存器122傳送腳位對應關係至網路控制電路120的硬體計算單元124以產生控制訊號126。連結網路130再依據控制訊號126來做開關控制以完成腳位連接。在本發明的一個實施例中,腳位控制暫存器122亦可獨立在積體電路100外,而係耦接於積體電路100的網路控制電路120。
在本發明的一個實施例中,周邊輸入輸出腳位101-10N可為積體電路的功能腳位。積體電路的功能腳位包含讀取控制(RD)腳位、中斷要求(INT)腳位、寫入控制(WR)腳位 、記憶體存取控制腳位、系統重置(RESET)腳位等,但不限於此。硬體計算單元124計算出控制訊號126後,網路控制電路120便可依不同的需要改變積體電路100的功能腳位和通用型輸入輸出腳位111-11N的連結。
第2圖為實施例汴尼茲網路(Benes network)的示意圖。在本發明的一個實施例中,連結網路130可為汴尼茲網路(Benes network)。在汴尼茲網路(Benes network)中,由於每個輸入端點到輸出端點之間通過的閘門(gate)數量是相同的,因此不會有選擇不同路徑而造成不同閘門延遲(gate delay)的問題。如第2圖所示,由左側000連接至右側000的閘門數量為5。同樣地,由左側100連接至右側100的閘門(gate)數量也為5。使用傳統多工器多級串接(MUX)或縱橫式交換開關(crossbar switch)的方式,隨著想要連接腳位的位置越多,MUX串接起來的複雜度與面積都會變大,導致經過的閘門數量增加,且使用者查表去做設定的過程也會越複雜。此外,因MUX串接方式不同,在某些情形下,不同輸入端點到輸出端點通過的閘門數量會有很大差異,例如一個輸入到輸出通過的閘門數量為1,但另一個輸入到輸出通過的閘門數量可能為19。因此在應用上,汴尼茲網路(Benes network)不會有一般使用多工器多級串接(MUX)與縱橫式交換開關,由於通過的閘門數量不同而造成各個路徑的不同延遲問題。
在本發明的一個實施例中,可以改善電路板因積體電路擺放位置造成的拉線問題。第3A、3B圖為積體電路100與其他複數個積體電路204、206、208拉線的示意圖,如第3A圖所示,積體電路100擺放位置已經固定,在先前技術中,由於積體電路100的輸出腳位是固定不可變的,以致於積體電路206以及積體電路204並不容易與積體電路100拉線。然而透過本發明實施例的網路控制電路120,即可以改變積體電路100輸出腳位的位置,如第3B圖所示,將可以使積體電路206以及積體電路204的拉線容易,也可以減少因不良佈線所造成的電流或電磁干擾。
第4圖為積體電路100使用軟體應用程式402控制周邊輸入輸出腳位101-10N以及通用型輸入輸出腳位111-11N的連結的示意圖。積體電路100包括周邊輸入輸出腳位101-10N、通用型輸入輸出腳位111-11N、連結網路130及網路控制電路120。網路控制電路120可包含軟體應用程式402,網路控制電路120可耦接於連結網路130。連結網路130亦可使用汴尼茲網路(Benes network)連結周邊輸入輸出腳位101-10N以及數個通用型輸入輸出腳位111-11N。當需要動態調整周邊輸入輸出腳位101-10N以及通用型輸入輸出腳位111-11N的對應關係,則將腳位對應關係更新至軟體應用程式402。當軟體應用程式402產生控制訊號406,控制訊號406會使網路控制電路120控制連結網路130。連結網路130再依據控制訊號406來做開關控制以連結周邊輸入輸出腳位101-10N以及數個通用型輸入輸出腳位111-11N。在本發明的一個實施例中,軟體應用程式402亦可獨立在積體電路100外,而將控制訊號406由外部輸入網路控制電路120。
第5圖為實施例的動態腳位控制方法的流程圖。
步驟S502:   將積體電路的周邊輸入輸出腳位101-10N與通用型輸入輸出腳位111-11N的腳位對應關係儲存至腳位控制暫存器122;
步驟S504:   網路控制電路120根據周邊輸入輸出腳位101-10N與通用型輸入輸出腳位111-11N的腳位對應關係產生控制訊號126、406;
步驟S506:   網路控制電路120傳送控制訊號126、406用以控制連結網路130,依據控制訊號126、406將周邊輸入輸出腳位101-10N經由連結網路130連結通用型輸入輸出腳位111-11N。
在步驟S502中,周邊輸入輸出腳位101-10N與通用型輸入輸出腳位111-11N的對應關係儲存至腳位控制暫存器122,若因需求要動態調整腳位,僅需更改腳位控制暫存器122。如第6圖所示,想要把I2C的位置從GPIOA[2] 與GPIOA [3]修改到GPIOA[14] 與GPIOA [15],直接修改腳位控制暫存器122內容即可,也不需要查表。動態調整腳位修改設定後,若要得知目前腳位分配,也是直接讀出此腳位控制暫存器122內容即可。根據腳位控制暫存器122的腳位對應關係,網路控制電路120的硬體計算單元124會產生控制訊號126來控制汴尼茲網路(Benes network)的連接。傳統使用多工器多級串接(MUX)或縱橫式交換開關(crossbar switch)的方式,隨著想要連接腳位的位置越多,多工器多級串接起來的複雜度與面積都會變大,使用者查表去做設定的過程也會越複雜。本發明實施例提供一簡易的方式提供動態腳位設定。
在步驟S504中,網路控制電路120根據周邊輸入輸出腳位101-10N與通用型輸入輸出腳位111-11N的對應關係,使用完整殘餘分樹控制(complete residue partition tree control)及位元控制(bit control)產生控制訊號126。根據實施例的不同,可以由硬體計算單元124產生控制訊號126或軟體應用程式402產生控制訊號406。連結網路130是使用汴尼茲網路(Benes network)。控制訊號126、406主要是用來控制汴尼茲網路(Benes network)中的每一個閘門(gate)開關控制,以達成周邊輸入輸出腳位101-10N以及數個通用型輸入輸出腳位111-11N的連結控制。
第7圖為實施例積體電路示意圖。第7圖右邊的通用型輸入輸出腳位721-728數量,相對於左邊的周邊輸入輸出腳位701-716數量,腳位數量是較少的,若使用傳統的積體電路封裝方式,則無法使用全部的周邊輸入輸出腳位701-716,而必須有所取捨。使用本實施例的動態腳位控制方法,通用型輸入輸出腳位721-728可依需求,透過網路控制電路130控制與周邊輸入輸出腳位701-716的耦接,所以可以有效使用全部的周邊輸入輸出腳位701-716。且連結網路可使用汴尼茲網路(Benes network),通過的閘門(gate)數量相同,而不會有腳位延遲時間相異的問題。
第8圖為汴尼茲網路(Benes network)產生控制訊號實施例的示意圖。將具有N個輸入的汴尼茲網路分兩個區塊。第一區塊801是使用完整殘餘分樹控制(Complete Residue Partition Tree Control, CRPT Control)演算法,第一區塊801的階段數量為K,K=log2 N–1。如第9圖所示,K=1,1層數列,K=2,2層數列,K=3,4層數列,依此類推。在本實施例中,如第8圖所示,若N=16,則第一區塊801具有3個階段。把輸入數列0至16做除2K 的取商運算再使用汴尼茲網路(Benes Network)將數列轉換為兩層數列,各個階段使用相同步驟,利用CRPT控制演算法算出汴尼茲網路(Benes network)的第一區塊801的開關控制結果。第二區塊802使用位元控制(Bit Control),第二區塊802的階段數量是log2 N,在本實施例中,N=16,因此第二區塊802具有4個階段。使用位元控制(bit control)演算法根據數列相對於特定位置的位元(Bit)來做汴尼茲網路(Benes network)的第二區塊802開關控制。
第10圖為汴尼茲網路(Benes network)第一區塊801使用完整殘餘分樹(CRPT Control)控制演算法實施例的流程圖。其中,第一區塊801含有K個階段,K=(log2 N–1),第一區塊801中每一階段包含以下步驟:
步驟S1001: 將輸入的數列轉換為兩層數列,數列中的奇數組成為上位序列(Upper sequence),數列中的偶數組成為下位序列(Lower sequence);
步驟S1002: 將上位序列(Upper sequence)執行除2K 的取商運算,得到第一矩陣Up2K,將下位序列(Lower sequence)執行除2K 的取商運算,得到第二矩陣Low2K;
步驟S1003: 依先標記第一矩陣Up2K再標記第二矩陣Low2K的順序,將0到(N/2 - 1)的數字標記在第一矩陣Up2K以及第二矩陣Low2K中,若標記過程發生搜尋衝突,即數字應標記在第一矩陣Up2K的第i項,但第二矩陣Low2K的第i項已被標記,或數字應標記在第二矩陣Low2K的第i項,但第一矩陣Up2K的第i項已被標記,則執行步驟S1004,否則持續執行步驟S1003,直到完成標記數字=(N/2 - 1)的位置,則跳至步驟S1005;
步驟S1004: 將應標記數字標記在第一矩陣Up2K或第二矩陣Low2K的第i項,清除另一矩陣的第i項,並將另一矩陣的第i項的值儲存為衝突數字,再依第一矩陣Up2K至第二矩陣Low2K的順序重新找出並標記衝突數字不為原先位置的新位置,若再發生搜尋衝突則回到步驟S1004,否則執行步驟S1003;
步驟S1005: 將標記第一矩陣Up2K以及第二矩陣Low2K的結果轉換為開關的控制,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1。
在第1階段,當K=1時,依照步驟S1001-S1005,可得到第1階段的開關控制結果。在第2階段,當K=2時,依照步驟S1001-S1005,可得到第2階段的開關控制結果。依序將K從1至(log2 N–1),依照所述步驟S1001-S1005,可以得到第一區塊801的所有開關解。開關的控制方式,如第11A圖所示,當開關控制是0,即平行輸出;如第11B圖所示,當開關控制是1,即交叉輸出。
如第12圖所示,實施例具有16個輸入,即N=16,16個輸入的數列為[0,1,2,3,4,6,5,8,7,10,12,11,14,13,15,9],代表將周邊輸入輸出腳位0欲耦接至通用型輸入輸出腳位0,周邊輸入輸出腳位1欲耦接至通用型輸入輸出腳位1,周邊輸入輸出腳位2欲耦接至通用型輸入輸出腳位2,周邊輸入輸出腳位3欲耦接至通用型輸入輸出腳位3,周邊輸入輸出腳位4欲耦接至通用型輸入輸出腳位4,周邊輸入輸出腳位5欲耦接至通用型輸入輸出腳位6,周邊輸入輸出腳位6欲耦接至通用型輸入輸出腳位5,周邊輸入輸出腳位7欲耦接至通用型輸入輸出腳位8,周邊輸入輸出腳位8欲耦接至通用型輸入輸出腳位7,周邊輸入輸出腳位9欲耦接至通用型輸入輸出腳位10,周邊輸入輸出腳位10欲耦接至通用型輸入輸出腳位12,周邊輸入輸出腳位11欲耦接至通用型輸入輸出腳位11,周邊輸入輸出腳位12欲耦接至通用型輸入輸出腳位14,周邊輸入輸出腳位13欲耦接至通用型輸入輸出腳位13,周邊輸入輸出腳位14欲耦接至通用型輸入輸出腳位15,周邊輸入輸出腳位15欲耦接至通用型輸入輸出腳位9。在第1階段,當K=1時,執行步驟S1001,擷取數列中的奇數組以得到上位序列:[0,2,4,5,7,12,14,15],及擷取數列中的偶數組以得到下位序列:[1,3,6,8,10,11,13,9]。執行步驟S1002,進行除21 的取商運算,得到第一矩陣Up2K=[0,1,2,2,3,6,7,7,]以及第二矩陣Low2K=[0,1,3,4,5,5,6,4],顯示如第1表:
Up2K 0 1 2 2 3 6 7 7
Low2K 0 1 3 4 5 5 6 4
第1表
接下來執行步驟S1003,將0做標記,如第2表所示,0位在第一矩陣Up2K的第0個位置及第二矩陣Low2K的第0個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將0標記在第一矩陣Up2K的第0個位置:
Up2K “0” 1 2 2 3 6 7 7
Low2K 0 1 3 4 5 5 6 4
第2表
接著標記1,如第3表所示,1位在第一矩陣Up2K的第1個位置及第二矩陣Low2K的第1個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將1標記在第一矩陣Up2K的第1個位置:
Up2K “0” “1” 2 2 3 6 7 7
Low2K 0 1 3 4 5 5 6 4
第3表
接著標記2,如第4表所示,2位在第一矩陣Up2K的第2個位置及第一矩陣Up2K的第3個位置,但第一矩陣Up2K的第2個位置在第一矩陣Up2K的第3個位置前面,因此將2標記在第一矩陣Up2K的第2個位置:
Up2K “0” “1” “2” 2 3 6 7 7
Low2K 0 1 3 4 5 5 6 4
第4表
接著標記3,如第5表所示,3位在第一矩陣Up2K的第4個位置及第二矩陣Low2K的第2個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將3標記在第一矩陣Up2K的第4個位置:
Up2K “0” “1” “2” 2 “3” 6 7 7
Low2K 0 1 3 4 5 5 6 4
第5表
接著標記4,如第5表所示,4位在第二矩陣Low2K的第3個位置及第二矩陣Low2K的第7個位置,但第二矩陣Low2K的第3個位置在第二矩陣Low2K的第7個位置前面,因此將4標記在第二矩陣Low2K的第3個位置:
Up2K “0” “1” “2” 2 “3” 6 7 7
Low2K 0 1 3 “4” 5 5 6 4
第5表
接著標記5,如第6表所示,5位在第二矩陣Low2K的第4個位置及第二矩陣Low2K的第5個位置,但第二矩陣Low2K的第4個位置在第二矩陣Low2K的第5個位置前面,因此將5標記在第二矩陣Low2K的第4個位置,但此時因為第一矩陣Up2K第4個位置已被標記,發生搜尋衝突,得執行步驟S1004:
Up2K “0” “1” “2” 2 “3” 6 7 7
Low2K 0 1 3 “4” “5” 5 6 4
第6表
接下來執行步驟S1004,保留標記5在第二矩陣Low2K的第4個位置,清除第一矩陣Up2K的第4個位置,並儲存衝突數字=3,重新由第一矩陣Up2K至第二矩陣Low2K的順序找出衝突數字=3的新位置,即第二矩陣Low2K的第2個位置,如第7表所示,執行標記動作,但此時因為第一矩陣Up2K的第2個位置已被標記,發生搜尋衝突,得執行步驟S1004:
Up2K “0” “1” “2” 2 3 6 7 7
Low2K 0 1 “3” “4” “5” 5 6 4
第7表
接下來執行步驟S1004,保留標記3在第二矩陣Low2K的第2個位置,清除第一矩陣Up2K的第2個位置,並儲存衝突數字=2,重新由第一矩陣Up2K至第二矩陣Low2K的順序找出衝突數字=2的新位置,即第一矩陣Up2K的第3個位置,如第8表所示,執行標記動作,但此時因為第二矩陣Low2K第3個位置已被標記,發生搜尋衝突,得執行步驟S1004:
Up2K “0” “1” 2 “2” 3 6 7 7
Low2K 0 1 “3” “4” “5” 5 6 4
第8表
接下來執行步驟S1004,保留標記2在第一矩陣Up2K的第3個位置,清除第二矩陣Low2K的第3個位置,並儲存衝突數字=4,重新由第一矩陣Up2K至第二矩陣Low2K的順序找出衝突數字=4的新位置,即第二矩陣Low2K的第7個位置,如第9表所示,執行標記動作:
Up2K “0” “1” 2 “2” 3 6 7 7
Low2K 0 1 “3” 4 “5” 5 6 “4”
第9表
接下來執行步驟S1003,接著標記6,如第10表所示,6位在第一矩陣Up2K的第5個位置及第二矩陣Low2K的第6個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將6標記在第一矩陣Up2K的第5個位置:
Up2K “0” “1” 2 “2” 3 “6” 7 7
Low2K 0 1 “3” 4 “5” 5 6 “4”
第10表
接著標記7,如第11表所示,7位在第一矩陣Up2K的第6個位置及第一矩陣Up2K的第7個位置,但第一矩陣Up2K的第6個位置在第一矩陣Up2K的第7個位置前面,因此將7標記在第一矩陣Up2K的第6個位置,此時完成標記數字7的位置,即完成所有標記(N/2-1),便可執行步驟S1005:
Up2K “0” “1” 2 “2” 3 “6” “7” 7
Low2K 0 1 “3” 4 “5” 5 6 “4”
第11表
接下來執行步驟S1005,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1,如第12表所示,可得到開關控制結果為[0,0,1,0,1,0,0,1]。
Up2K “0” “1” 2 “2” 3 “6” “7” 7
Low2K 0 1 “3” 4 “5” 5 6 “4”
開關 0 0 1 0 1 0 0 1
第12表
如第12圖所示,當經過第1階段,依步驟S1001-S1005,可得到第1個階段的開關控制結果為[0,0,1,0,1,0,0,1],由於開關控制是0時代表平行輸出,開關控制是1時代表交叉輸出,因此原數列經由第1個階段的開關會被分為新的兩數列[0,2,6,5,10,12,14,9]及[1,3,4,8,7,11,13,15]。在第2階段,對此兩數列進行取商運算,此時N=8,K=2。先計算第一數列[0,2,6,5,10,12,14,9],執行步驟S1001,擷取數列中的奇數組以得到上位序列:[0,6,10,14],及擷取數列中的偶數組以得到下位序列:[2,5,12,9]。執行步驟S1002,進行除22 的取商運算,得到第一矩陣Up2K=[0,1,2,3]以及第二矩陣Low2K=[0,1,3,2],顯示如第13表:
Up2K 0 1 2 3
Low2K 0 1 3 2
第13表
接下來執行步驟S1003,將0做標記,如第14表所示,0位在第一矩陣Up2K的第0個位置及第二矩陣Low2K的第0個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將0標記在第一矩陣Up2K的第0個位置:
Up2K “0” 1 2 3
Low2K 0 1 3 2
第14表
接著標記1,如第3表所示,1位在第一矩陣Up2K的第1個位置及第二矩陣Low2K的第1個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將1標記在第一矩陣Up2K的第1個位置:
Up2K “0” “1” 2 3
Low2K 0 1 3 2
第15表
接著標記2,如第16表所示,2位在第一矩陣Up2K的第2個位置及第二矩陣Low2K的第3個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將2標記在第一矩陣Up2K的第2個位置:
Up2K “0” “1” “2” 3
Low2K 0 1 3 2
第16表
接著標記3,如第17表所示,3位在第一矩陣Up2K的第3個位置及第二矩陣Low2K的第2個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將3標記在第一矩陣Up2K的第3個位置,此時完成標記數字3的位置,完成所有標記(N/2-1),即可執行步驟S1005:
Up2K “0” “1” “2” “3”
Low2K 0 1 3 2
第17表
接下來執行步驟S1005,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1,如第18表所示,可得到開關控制結果為[0,0,0,0]。
Up2K “0” “1” “2” “3”
Low2K 0 1 3 2
開關 0 0 0 0
第18表
接下來計算第2階段的第二數列[1,3,4,8,7,11,13,15],執行步驟S1001,擷取數列中的奇數組以得到上位序列:[1,4,7,13],及擷取數列中的偶數組以得到下位序列:[3,8,11,15]。執行步驟S1002,進行除22 的取商運算,得到第一矩陣Up2K=[0,1,1,3]以及第二矩陣Low2K=[0,2,2,3],顯示如第19表:
Up2K 0 1 1 3
Low2K 0 2 2 3
第19表
接下來執行步驟S1003,將0做標記,如第20表所示,0位在第一矩陣Up2K的第0個位置及第二矩陣Low2K的第0個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將0標記在第一矩陣Up2K的第0個位置:
Up2K “0” 1 1 3
Low2K 0 2 2 3
第20表
接著標記1,如第21表所示,1位在第一矩陣Up2K的第1個位置及第一矩陣Up2K的第2個位置,但第一矩陣Up2K的第1個位置在第一矩陣Up2K的第2個位置前面,因此將1標記在第一矩陣Up2K的第1個位置:
Up2K “0” “1” 1 3
Low2K 0 2 2 3
第21表
接著標記2,如第22表所示,2位在第二矩陣Low2K的第1個位置及第二矩陣Low2K的第2個位置,但第二矩陣Low2K的第1位置在第二矩陣Low2K的第2個位置前面,因此將2標記在第二矩陣Low2K的第1個位置,但此時因為第一矩陣Up2K第1個位置已被標記,發生搜尋衝突,得執行步驟S1004:
Up2K “0” “1” 1 3
Low2K 0 “2” 2 3
第22表
接下來執行步驟S1004,保留標記2在第二矩陣Low2K的第1個位置,清除第一矩陣Up2K的第1個位置,並儲存衝突數字=1,重新由第一矩陣Up2K至第二矩陣Low2K的順序找出衝突數字=1的新位置,即第一矩陣Up2K的第2個位置,如第23表所示,執行標記動作:
Up2K “0” 1 “1” 3
Low2K 0 “2” 2 3
第23表
接下來執行步驟S1003,接著標記3,如第24表所示,3位在第一矩陣Up2K的第3個位置及第二矩陣Low2K的第3個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將3標記在第一矩陣Up2K的第3個位置,此時完成標記數字3的位置,完成所有標記(N/2-1),即可執行步驟S1005:
Up2K “0” 1 “1” “3”
Low2K 0 “2” 2 3
第24表
接下來執行步驟S1005,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1,如第25表所示,可得到開關控制結果為[0,1,0,0]。
Up2K “0” 1 “1” “3”
Low2K 0 “2” 2 3
開關 0 1 0 0
第25表
在第2階段,經由計算第一數列[0,2,6,5,10,12,14,9]得到開關控制結果如第18表,經由計算第二數列[1,3,4,8,7,11,13,15]得到開關控制結果如第25表,可以得到K=2階段的所有開關控制結果[0,0,0,0,0,1,0,0],如第12圖所示。
如第12圖所示,經過第2階段,原數列經過第1個階段以及第2個階段開關,被分為新的四個數列[0,6,10,14]、[2,5,12,9]、[1,8,7,13]、[3,4,11,15]。在第3階段,對此四數列進行取商運算,此時N=4,K=3,計算此四個數列。先計算第一數列[0,6,10,14],執行步驟S1001,擷取數列中的奇數組以得到上位序列:[0,10],及擷取數列中的偶數組以得到下位序列:[6,14]。執行步驟S1002,進行除23 的取商運算,得到第一矩陣Up2K=[0,1]以及第二矩陣Low2K=[0,1],顯示如第26表:
Up2K 0 1
Low2K 0 1
第26表
接下來執行步驟S1003,將0做標記,如第27表所示,0位在第一矩陣Up2K的第0個位置及第二矩陣Low2K的第0個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將0標記在第一矩陣Up2K的第0個位置:
Up2K “0” 1
Low2K 0 1
第27表
接著標記1,如第28表所示,1位在第一矩陣Up2K的第1個位置及第二矩陣Low2K的第1個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將1標記在第一矩陣Up2K的第1個位置,此時完成標記數字1的位置,完成所有標記(N/2-1),即可執行步驟S1005:
Up2K “0” “1”
Low2K 0 1
第27表
接下來執行步驟S1005,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1,如第28表所示,可得到開關控制結果為[0,0]。
Up2K “0” “1”
Low2K 0 1
開關 0 0
第28表
接下來計算第二數列[2,5,12,9],執行步驟S1001,擷取數列中的奇數組以得到上位序列:[2,12],及擷取數列中的偶數組以得到下位序列:[5,9]。執行步驟S1002,進行除23 的取商運算,得到第一矩陣Up2K=[0,1]以及第二矩陣Low2K=[0,1],顯示如第29表:
Up2K 0 1
Low2K 0 1
第29表
接下來執行步驟S1003,將0做標記,如第30表所示,0位在第一矩陣Up2K的第0個位置及第二矩陣Low2K的第0個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將0標記在第一矩陣Up2K的第0個位置:
Up2K “0” 1
Low2K 0 1
第30表
接著標記1,如第31表所示,1位在第一矩陣Up2K的第1個位置及第二矩陣Low2K的第1個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將1標記在第一矩陣Up2K的第1個位置,此時完成標記數字1的位置,完成所有標記(N/2-1),即可執行步驟S1005:
Up2K “0” “1”
Low2K 0 1
第31表
接下來執行步驟S1005,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1,如第32表所示,可得到開關控制結果為[0,0]。
Up2K “0” “1”
Low2K 0 1
開關 0 0
第32表
接下來計算第三數列[1,8,7,13],執行步驟S1001,擷取數列中的奇數組以得到上位序列:[1,7],及擷取數列中的偶數組以得到下位序列:[8,13]。執行步驟S1002,進行除23 的取商運算,得到第一矩陣Up2K=[0,0]以及第二矩陣Low2K=[1,1],顯示如第33表:
Up2K 0 0
Low2K 1 1
第33表
接下來執行步驟S1003,將0做標記,如第34表所示,0位在第一矩陣Up2K的第0個位置及第二矩陣Low2K的第0個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將0標記在第一矩陣Up2K的第0個位置:
Up2K “0” 0
Low2K 1 1
第34表
接著標記1,如第35表所示,1位在第二矩陣Low2K的第0個位置及第二矩陣Low2K的第1個位置,但第二矩陣Low2K的第0位置在第二矩陣Low2K的第1個位置前面,因此將1標記在第一矩陣Low2K的第0個位置,但此時因為第一矩陣Up2K第0個位置已被標記,發生搜尋衝突,得執行步驟S1004:
Up2K “0” 0
Low2K “1” 1
第35表
接下來執行步驟S1004,保留標記1在第二矩陣Low2K的第0個位置,清除第一矩陣Up2K第0個位置,並儲存衝突數字=0,重新由第一矩陣Up2K至第二矩陣Low2K的順序找出衝突數字=0的新位置,即第一矩陣Up2K的第1個位置,如第36表所示,此時完成標記數字0的位置,完成所有標記(N/2-1),即可執行步驟S1005:
Up2K 0 “0”
Low2K “1” 1
第36表
接下來執行步驟S1005,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1,如第37表所示,可得到開關控制結果為[1,0]。
Up2K 0 “0”
Low2K “1” 1
開關 1 0
第37表
接下來計算第四數列[3,4,11,15],執行步驟S1001,擷取數列中的奇數組以得到上位序列:[3,11],及擷取數列中的偶數組以得到下位序列:[4,15]。執行步驟S1002,進行除23 的取商運算,得到第一矩陣Up2K=[0,1]以及第二矩陣Low2K=[0,1],顯示如第38表:
Up2K 0 1
Low2K 0 1
第38表
接下來執行步驟S1003,將0做標記,如第39表所示,0位在第一矩陣Up2K的第0個位置及第二矩陣Low2K的第0個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將0標記在第一矩陣Up2K的第0個位置:
Up2K “0” 1
Low2K 0 1
第39表
接著標記1,如第40表所示,1位在第一矩陣Up2K的第1個位置及第二矩陣Low2K的第1個位置,但第一矩陣Up2K比第二矩陣Low2K具有較高的優先次序,因此將1標記在第一矩陣Up2K的第1個位置,此時完成標記數字1的位置,完成所有標記(N/2-1),即可執行步驟S1005:
Up2K “0” “1”
Low2K 0 1
第40表
接下來執行步驟S1005,若被標記的數字在第一矩陣Up2K的第i項,則第i開關控制即是0,若被標記的數字在第二矩陣Low2K的第i項,則第i開關控制即是1,如第41表所示,可得到開關控制結果為[0,0]。
Up2K “0” “1”
Low2K 0 1
開關 0 0
第41表
在第3階段,經由計算四個數列[0,6,10,14]、[2,5,12,9]、[1,8,7,13]、[3,4,11,15]得到開關控制結果如第28表、第32表、第37表及第41表,結合此四組開關控制結果,即可得到如第12圖中所示之第3階段的所有開關控制結果[0,0,0,0,1,0,0,0],其即為第一區塊801使用CRPT控制演算法的開關控制結果。
第13圖為汴尼茲網路(Benes network)第二區塊802使用位元控制演算法實施例的流程圖。其中,第二區塊802含有P個階段,P=log2 N,第二區塊802中每一個階段包含以下步驟:
步驟S1301: 將輸入的數列轉為兩層數列,數列中的奇數組成為上位序列(Upper sequence);
步驟S1302: 將上位序列(Upper sequence)轉為二進位存入第一矩陣UpBin;
步驟S1303: 將UpBin內的值與2^(log2 N-P)的二進位值做AND運算,若結果為0則開關不做切換,否則開關需做切換。運算結果矩陣為第P個階段的開關控制結果。
在第二區塊802的第1個階段,P=1,依照所述步驟S1301-S1303,可得到第1個階段的開關控制結果。依序將P從1至log2 N,依照所述步驟S1301-S1303,可以得到第二區塊802的所有開關控制結果。
如第14圖所示,延續第12圖的實施例數列,第二區塊802中每一個階段使用位元控制演算法進行運算。實施例的汴尼茲網路(Benes network)之第二區塊802的輸入數列為[0,10,6,14,2,12,5,9,8,7,1,13,3,11,4,15]。在第1個階段,P=1,N=16,依照所述步驟S1301,將輸入的數列轉為兩層數列,數列中的奇數組成為上位序列:[0,6,2,5,8,1,3,4]。執行步驟S1302,將上位序列(Upper sequence)轉為二進位存入第一矩陣UpBin,如第42表的第二列所示。接著執行步驟S1303,UpBin內的值與2^(log2 N-P)的二進位做AND運算,此時N=16,P=1,即和23 做AND運算,以產生第42表的第三列的運算結果,若結果為0000,則開關不做切換,表示為0,否則開關需做切換,表示為1,如第42表的第四列所示。
Up2K 0 6 2 5 8 1 3 4
UpBin 0000 0110 0010 0101 1000 0001 0011 0100
運算結果 0000 0000 0000 0000 1000 0000 0000 0000
開關 0 0 0 0 1 0 0 0
第42表
第二區塊802的輸入數列經由第1個階段開關,得到數列[0,6,10,14,2,5,12,9,7,1,8,13,3,4,11,15]為第2個階段的輸入。在第2個階段,P=2,N=16,依照所述步驟S1301,將輸入的數列轉為兩層數列,數列中的奇數組成為上位序列:[0,10,2,12,7,8,3,11]。執行步驟S1302,將上位序列(Upper sequence)轉為二進位存入第一矩陣UpBin,如第43表的第二列所示。接著執行步驟S1303,UpBin內的值與2^(log2 N-P)的二進位做AND運算,此時N=16,P=2,即和22 做AND運算,以產生第43表的第三列的運算結果,若結果為0000,則開關不做切換,表示為0,否則開關需做切換,表示為1,如第43表的第四列所示。
Up2K 0 10 2 12 7 8 3 11
UpBin 0000 1010 0010 1100 0111 1000 0011 1011
運算結果 0000 0000 0000 0100 0100 0000 0000 0000
開關 0 0 0 1 1 0 0 0
第43表
第二區塊802的輸入數列經由第1個階段開關以及第2個階段開關,得到數列[0,2,6,5,10,9,14,12,1,3,7,4,8,11,13,15]為第3個階段的輸入。在第3個階段,P=3,N=16,依照所述步驟S1301,將輸入的數列轉為兩層數列,數列中的奇數組成為上位序列:[0,6,10,14,1,7,8,13]。執行步驟S1302,將上位序列(Upper sequence)轉為二進位存入第一矩陣UpBin,如第44表的第二列所示。接著執行步驟S1303,UpBin內的值與2^(log2 N-P)的二進位做AND運算,此時N=16,P=3,即和21 做AND運算,以產生第44表的第三列的運算結果,若結果為0000,則開關不做切換,表示為0,否則開關需做切換,表示為1,如第44表的第四列所示。
Up2K 0 6 10 14 1 7 8 13
UpBin 0000 0110 1010 1110 0001 0111 1000 1101
運算結果 0000 0010 0010 0010 0000 0010 0000 0000
開關 0 1 1 1 0 1 0 0
第44表
第二區塊802的輸入數列經由第1個階段開關,第2個階段開關以及第3個階段開關,得到數列[0,1,2,3,5,4,6,7,9,8,10,11,12,13,14,15]為第4個階段的輸入。在第4個階段,P=4,N=16,依照所述步驟S1301,將輸入的數列轉為兩層數列,數列中的奇數組成為上位序列:[0,2,5,6,9,10,12,14]。執行步驟S1302,將上位序列(Upper sequence)轉為二進位存入第一矩陣UpBin,如第45表的第二列所示。接著執行步驟S1303,UpBin內的值與2^(log2 N-P)的二進位做AND運算,此時N=16,P=4,即和20 做AND運算,以產生第45表的第三列的運算結果,若結果為0000,則開關不做切換,表示為0,否則開關需做切換,表示為1,如第45表的第四列所示。
Up2K 0 2 5 6 9 10 12 14
UpBin 0000 0010 0101 0110 1001 1010 1100 1110
運算結果 0000 0000 0001 0000 0001 0000 0000 0000
開關 0 0 1 0 1 0 0 0
第45表
由第42表、第43表、第44表、第45表可得到4個階段的開關控制結果。如第14圖所示,第二區塊802中的開關控制結果。因此,結合完整殘餘分樹控制(CRTC Control)演算法以及位元控制(bit control)演算法可得汴尼茲網路(Benes network)的所有開關控制結果。
本實施例使用完整殘餘分樹控制(CRPT Control)演算法以及位元控制(bit control)演算法,可以快速運算出汴尼茲網路(Benes network)中的每一個閘門(gate)開關控制,以達成動態調整周邊輸入輸出腳位101-10N以及數個通用型輸入輸出腳位111-11N的連結控制。使用本發明實施例,甚至可以達成在不同時間提供變換不同腳位連接的功能。
本實施例提供一種積體電路以及動態腳位控制方法。網路控制電路耦接於連結網路,用以動態控制周邊輸入輸出腳位經由連結網路連結至通用型輸入輸出腳位。周邊輸入輸出腳位可以是積體電路的功能腳位。連結網路可採用汴尼茲網路(Benes network),以達到每個周邊輸入輸出腳位到通用型輸入輸出腳位之間通過的閘門(gate)數量是相同的,因而不會有選擇不同路徑而造成有不同閘門延遲(gate delay)的問題。本實施例將腳位對應關係儲存至腳位控制暫存器,修改設定後,若要參考目前腳位,可直接讀出此腳位控制暫存器設定即可。本實施例可動態設定或調整腳位連結,因而可以解決電路板上部分積體電路(IC)因固定在某些位置造成與主要控制積體電路(control IC)之間不易拉線的問題,使拉線更容易也減少因佈線所造成的電流干擾問題。當製作不同腳位數量與封裝的積體電路(IC),如周邊輸入輸出腳位遠多於通用型輸入輸出腳位,使用本實施例的動態腳位控制方法,將可以有效使用全部的周邊輸入輸出腳位。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100、202、204、206:積體電路 101至10N、701至716:周邊輸入輸出腳位 111至11N、721至728:通用型輸入輸出腳位 120:網路控制電路 122:腳位控制暫存器 124:硬體計算單元 126:控制訊號 130:連結網路 402:軟體應用程式 406:控制訊號 S502至S506、S1001至S1005、S1301至S1303:步驟 801:第一區塊 802:第二區塊
第1圖為實施例積體電路的示意圖。 第2圖為實施例汴尼茲網路(Benes network)的示意圖。 第3A、3B圖為第1圖積體電路與其他複數個積體電路拉線的示意圖。 第4圖為實施例積體電路使用軟體應用程式控制連結周邊輸入輸出腳位以及通用型輸入輸出腳位的示意圖。 第5圖為實施例的動態腳位控制方法的流程圖。 第6圖為實施例動態腳位對應關係儲存於腳位控制暫存器的示意圖。 第7圖為實施例積體電路示意圖。 第8圖為汴尼茲網路產生控制訊號實施例的示意圖。 第9圖為汴尼茲網路使用完整殘餘分樹控制演算法實施例的示意圖。 第10圖為汴尼茲網路第一區塊使用完整殘餘分樹控制控制演算法實施例的流程圖。 第11A圖以及第11B圖為開關控制方式的示意圖。 第12圖為汴尼茲網路第一區塊使用完整殘餘分樹控制演算法實施例的示意圖。 第13圖為汴尼茲網路第二區塊使用位元控制演算法實施例的流程圖。 第14圖為汴尼茲網路使用位元控制演算法實施例的示意圖。
100:積體電路
101至10N:周邊輸入輸出腳位
111至11N:通用型輸入輸出腳位
120:網路控制電路
122:腳位控制暫存器
124:硬體計算單元
126:控制訊號
130:連結網路

Claims (10)

  1. 一種積體電路,包括: 複數個周邊輸入輸出腳位; 複數個通用型輸入輸出腳位; 一連結網路,連結至該些周邊輸入輸出腳位及該些通用型輸入輸出腳位;及 一網路控制電路,耦接於該連結網路,用以根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係控制該些周邊輸入輸出腳位經由該連結網路連結至該些通用型輸入輸出腳位。
  2. 如請求項1所述之積體電路,另包括該些周邊輸入輸出腳位是積體電路的功能腳位。
  3. 如請求項1所述之積體電路,其中該連結網路是汴尼茲網路(Benes network)。
  4. 如請求項1或2項所述之積體電路,另包含一腳位控制暫存器,用以儲存該些周邊輸入輸出腳位及該些通用型輸入輸出腳位的腳位對應關係,其中該網路控制電路包含一硬體計算單元,用以控制該連結網路。
  5. 如請求項1或2項所述之積體電路,其中該網路控制電路包含一軟體應用程式,用以控制該連結網路。
  6. 一種動態腳位控制方法,使用於一積體電路,該積體電路包括複數個周邊輸入輸出腳位,複數個通用型輸入輸出腳位,一連結網路,連結於該些周邊輸入輸出腳位及該些通用型輸入輸出腳位,及一網路控制電路,耦接於該連結網路,該方法包括: 該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係產生一控制訊號;及 根據該控制訊號將該些周邊輸入輸出腳位經由該連結網路連結至該些通用型輸入輸出腳位。
  7. 如請求項6所述之方法,其中該連結網路是汴尼茲網路(Benes network)。
  8. 如請求項6或7所述之方法,其中該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係產生該控制訊號包含: 該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係使用完整殘餘分樹控制(complete residue partition tree control)及位元控制(bit control)產生該控制訊號。
  9. 如請求項6或7所述之方法,其中該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係產生該控制訊號,包含該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係透過一軟體應用程式產生該控制訊號。
  10. 如請求項6或7所述之方法,其中該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係產生該控制訊號,包含該網路控制電路根據該些周邊輸入輸出腳位與該些通用型輸入輸出腳位的對應關係透過一硬體計算單元產生該控制訊號。
TW108136972A 2019-10-15 2019-10-15 積體電路及動態腳位控制方法 TW202117932A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108136972A TW202117932A (zh) 2019-10-15 2019-10-15 積體電路及動態腳位控制方法
US17/070,870 US20210109880A1 (en) 2019-10-15 2020-10-14 Pin control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108136972A TW202117932A (zh) 2019-10-15 2019-10-15 積體電路及動態腳位控制方法

Publications (1)

Publication Number Publication Date
TW202117932A true TW202117932A (zh) 2021-05-01

Family

ID=75383732

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108136972A TW202117932A (zh) 2019-10-15 2019-10-15 積體電路及動態腳位控制方法

Country Status (2)

Country Link
US (1) US20210109880A1 (zh)
TW (1) TW202117932A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468202B2 (en) 2020-12-15 2022-10-11 Texas Instruments Incorporated Hardware-based security authentication

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4516238A (en) * 1983-03-28 1985-05-07 At&T Bell Laboratories Self-routing switching network
US4807183A (en) * 1985-09-27 1989-02-21 Carnegie-Mellon University Programmable interconnection chip for computer system functional modules
US4807280A (en) * 1987-09-18 1989-02-21 Pacific Bell Cross-connect switch
US5157654A (en) * 1990-12-18 1992-10-20 Bell Communications Research, Inc. Technique for resolving output port contention in a high speed packet switch
DE69304471T2 (de) * 1992-08-03 1997-03-20 Advanced Micro Devices Inc Programmierbare logische Vorrichtung
US5826093A (en) * 1994-12-22 1998-10-20 Adaptec, Inc. Dual function disk drive integrated circuit for master mode and slave mode operations
US6907041B1 (en) * 2000-03-07 2005-06-14 Cisco Technology, Inc. Communications interconnection network with distributed resequencing
US7724733B2 (en) * 2005-03-31 2010-05-25 International Business Machines Corporation Interconnecting network for switching data packets and method for switching data packets
US7490189B2 (en) * 2006-06-14 2009-02-10 Sun Microsystems, Inc. Multi-chip switch based on proximity communication
CN102800312A (zh) * 2011-05-24 2012-11-28 鸿富锦精密工业(深圳)有限公司 语音控制系统及方法
US9436623B2 (en) * 2012-09-20 2016-09-06 Intel Corporation Run-time fabric reconfiguration
WO2014096970A2 (en) * 2012-12-20 2014-06-26 Marvell World Trade Ltd. Memory sharing in a network device
US8930594B1 (en) * 2013-08-09 2015-01-06 Google Inc. Integrated circuit with a pinmux crossbar and virtual pins for peripheral connectivity
US9632719B2 (en) * 2015-06-29 2017-04-25 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Storage device with firmware synchronization function
US10140242B2 (en) * 2015-09-10 2018-11-27 Qualcomm Incorporated General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network
JP2019530939A (ja) * 2016-09-05 2019-10-24 テンティー・ホールディングス・ピーティーワイ・リミテッド ソフトウェア定義デバイスインタフェースシステムおよび方法
US10671547B2 (en) * 2016-12-19 2020-06-02 Intel Corporation Lightweight trusted tasks

Also Published As

Publication number Publication date
US20210109880A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
KR100334001B1 (ko) 반도체 집적회로의 설계방법 및 자동설계장치
US6392910B1 (en) Priority encoder with multiple match function for content addressable memories and methods for implementing the same
US20030182528A1 (en) Single-chip microcomputer
TW202117932A (zh) 積體電路及動態腳位控制方法
KR20110001084A (ko) 메모리 칩 패키지 장치
JP5437564B2 (ja) 減少された挿入遅延を持つプログラマブル遅延回路
US6711716B1 (en) Metal programmable clock distribution for integrated circuits
US7260804B1 (en) Method for circuit block routing based on switching activity
US20130051110A1 (en) Semiconductor apparatus
TWI828550B (zh) 佈線方法、電腦程式產品及與其相關之積體電路
CN112701098A (zh) 集成电路及动态引脚控制方法
TW202201904A (zh) 用於產生多閘控通電控制訊號的系統及其方法
TWI828387B (zh) 單環、雙環記憶體器件和zq校準方法
JP5835498B2 (ja) Lsi及びlsi製造方法
KR101116956B1 (ko) Tam 기반 테스트가 가능한 시스템 온 칩 및 이의 테스트 방법
US20230244628A1 (en) Adaptive chip-to-chip interface protocol architecture
JP3028938B2 (ja) 半導体集積回路のレイアウト方法
JPH03175720A (ja) 半導体集積回路
JP2005116793A (ja) 半導体集積回路及びそのクロック配線方法
JP5234806B2 (ja) 論理シミュレーション装置およびそのシミュレーション方法
US6700402B2 (en) Output control circuit and output control method
TW202123154A (zh) 藉助於額外導線來進行電網優化之方法與設備
JPS62219300A (ja) 半導体集積回路
JP2658829B2 (ja) 半導体集積回路のレイアウト方法
JP2872174B2 (ja) マスタースライス方式の半導体集積回路及びそのレイアウト方法