TWI234737B - Integrated circuit device - Google Patents

Integrated circuit device Download PDF

Info

Publication number
TWI234737B
TWI234737B TW091110952A TW91110952A TWI234737B TW I234737 B TWI234737 B TW I234737B TW 091110952 A TW091110952 A TW 091110952A TW 91110952 A TW91110952 A TW 91110952A TW I234737 B TWI234737 B TW I234737B
Authority
TW
Taiwan
Prior art keywords
data
processing
integrated circuit
unit
circuit device
Prior art date
Application number
TW091110952A
Other languages
English (en)
Inventor
Kenji Ikeda
Hiroshi Shimura
Tomoyoshi Sato
Original Assignee
Ip Flex Inc
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 Ip Flex Inc filed Critical Ip Flex Inc
Application granted granted Critical
Publication of TWI234737B publication Critical patent/TWI234737B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Description

1234737 五、發明說明(1) 技術領域 本發明涉及多個運算單元排列為矩陣狀的積體電路裝 置。 背景技術 作為將邏輯閘按陣列鋪滿而能夠自由變更其間的連接 線的積體電路裝置,已知有FPGA(Field Pr〇grammable
Gate Array) qFPG A大致區分的話,由多個邏輯塊和連接 這些邏輯塊之間的佈線構成。邏輯塊是包含查找表和觸發 器的電路單元’具有通過改變查找表的設定值,按位元單 位實現AND或OR等的邏輯函數的邏輯閘功能。多個邏輯塊 排列為陣列狀或矩陣狀,由行佈線和列佈線連接。行佈線 和列佈線在這些佈線的交點上通過開關矩陣等連接,可更 換佈線,從而可變更邏輯塊的組合。 FPGA作為可變更電晶體級的連接的結構 (architecture)發展,是在製造可執行的功能後可進行某 種程度地自由變更的積體電路裝置。因此,FPGA是可用相 同的硬體實現各種專用運算電路,還可某種程度地動態控 制被實現功能的結構。為提供可通常使用的結構,構成 FPGA的邏輯塊結構相同,各個邏輯塊可實現的邏輯函數限 定於A N D、0 R或N A N D的級別。此外,處理的資料也是位元 單位。從而,各個邏輯塊不過裝載4位元左右的SRAM構成 的查找表。 FPGA用包含查找表的邏輯塊實現AND或OR等的邏輯閘
\\ADM-HOST\Users\lika\IMA11368.ptd 第5頁 1234737 五、發明說明(2) ----- 一'--- 功此’用可替換它們的佈線組連接實現作為各種專用運算 電,的功旎。因此,對於可實現的功能,面積效率降低, 運异速度也不那麼高。此外,變更用FpGA可實現的功能 時而要變更數目龐大的邏輯塊的功能,因此不能動態變 更。通過設計可動態控制各個邏輯塊的特殊硬體,可縮短 ^更功能的時間,但應用執行中難以動態控制特殊的硬 體,不用說也不是經濟的解決方案。 針對此’本申請的發明人提出一種積體電路裝置,準 預先備有適曰於適當的或特定處理的資料路徑(硬體邏 ^或電路)的多種運算單元,通過改變這些運算單元之間 m定義作為希望的專用運算電路的功能。該積體電 ^中,像fpga 一樣,由於不需要全部變更電晶體級的 亞本齋因此可在紐時間内重構硬體。由於並非像FPGA —樣 ,電晶體級的通用性的結構,可提高安裝 凑經濟的系統。還有,由於可去撞冗县的播士、又+徒供緊 ^ ,由於了去掉几長的構成,處理速度 也變侍尚速,AC特性也提高。 胳一 ,FPGA是各電路單元或電路塊相同的構成,因此 佈塊排列為矩陣狀’在他們之間佈置行佈線和列 佈線的佈局規則性極其高,設計也變容易,另外,元件級 的面積效率也高。與此相反,備有適合於特定處理的資料 ;算=;構成不會相同。這樣,在錢底上種 與單一構成_ 早不^各種運鼻早疋内置的資料路徑不同與
1234737 五、發明說明(3) 同地來進行佈置。 齊的矩陣對多個運 ’積體電路變得非 不能充分啟動由備 元構成的積體電路 設計包含備有適合 的積體電路裝置, 的積體電路裝置。 置,處理速度快速 否’可按各種運算單元社 即,可用與佔有二面積都相 算單元進行佈⑥。但是::鼻單元靠 常大,成為AC特性惡化的::效率降低 有適合於特定處理的資=因。從而, 裝置的本來的優點。、徑的運算單 於特G理;;SI,8的是通過實際 可k供能充分啟動運异早兀 並且目的县裎祉棋、土 早疋的優點 1且π 、緊凑經濟的積體電路裝 並且AC特性良好的積體電路裝置裝 發明要旨 本發明的積體電路裝置具 括:在第一和第二 貝枓處理區段,該區段包 對應多個運算#元的第㈣狀的多《算單元; 傳送各運算單元的輪入和排列在第一方向上延伸並 組;對應多個運算單元的第2 ^ #料的多個第一佈線 伸並傳送各運算單元的_ 向的排列在第二方向上延 線組;配置在第或輸出資料的多個第二佈 咅彼砼认夕加^ 佈線和第二佈線組中包含的任
Hit)包含具有適 路徑的多種運算單元’或者可分類為多種運 \\ADM-HOST\Users\lika\IMA11368.ptd $ 7頁 1234737
真單元形成 + ’將具有 定的算術運 處理位元組 早元也稱為 路單元等。 不同的或固 早兀而不同 佔據的面積 向或第二方 的大小差別 線方向)時 如,若由同 一方向上按 早疋。這樣 的多個運算 方向可按直 直線排列, 此可提高將 積體電路裝 度快並且AC 第一或 各自適 算或邏 或字單 元件( 在半導 有的資 的可能 相同。 向的排 產生凹 ,第二 種運算 形成直 單元不 線佈置 因此至 備有不 置的面 特性好 五、發明說明(4) 外,同種的運 本說明書 的、可執行特 規模的而且可 單元。該運算 邏輯單元或電 特定的處理的 根據各種運算 運算單元,貝|J 元形成第一方 會因運算單元 向(水平或橫 線方向)。例 列,則可在第 佈置多個運算 同的可能性高 的空間,第一 元沒有凹凸按 直線佈局。因 置為矩陣狀的 經濟的處理速 第二方向的 合於特定處 輯運算或它 位的資料的 element ) 體襯底上實 料路徑的運 性很高。但 因此,通過 列,在排列 凸。將第一 方向為列方 早元形成第 線的相同寬 每一種資料路徑 會在第二方 。由於第一 少第一方向 同資料路徑 積效率和集 的積體電路 排列。 理的資料路徑 們的組合的小 單元稱為運算 •邏輯元件、 現備有適合於 算單元的面積 是,若是同種 由同種運算單 的方向上,不 方向作為行方 向(垂直或縱 一方向的排 度的帶方式來 不同、大小不 向上產生浪費 方向上運算單 的佈線組可按 的運算單元佈 成度,可提供 裝置。 佈置多個同種運算單元時,可佈置成在第一或第二方 向上形成多個排列。某種,例如第一種的運算單元數比第 二種的運算單元數多很多的情況下,單純配合第二種的運
\\ADM-H0ST\Users\lika\IMAH368.ptd 第8頁 1234737 五、發明說明(5) 算單元的排列來佈置第 形狀變得過分細長,可:種運算單元時,資料處理區段的 過在第二種的運算草-此會出現面積效率降低。此時,通 列可望改善資料處理排列中聯繫第一種運算單元的排 區段的至少一部分的第二的形,。此時,在作為資料處理 可由同種運算單元形成:種運算單元的排列寬度範圍中, 在第-方向上排列同種:方:的排列。 小不同的運算單元也在第一异早凡時,即便是因種類大 併排,但不能保障第二方^ 2向上按直線沒有凹凸的狀態 上等間隔地配置多種的運^輩直線性。因此,在第一方向 線性。借此,可按直線佈局第$古可望保障第二方向的直 運算單元的佈線長最短。與^向的佈線組,可使連接 一和第二方向的佈線組,備有二回丄可全部按直線佈置第 置為矩陣狀的積體電路裝置的咬二二料路徑的運算單元佈 單元的第-方向的大小不同時ί變得容易了。各種運算 置。但是,各種運算單元需要的向不能最有效地佈 相同,通過在第-方向上吸收該| &置為第二方向上 產,可按第一和第一方向 都最緻密地來高效佈置各種運算單元。弟牙弟一万门 第;:成為傳送資料的資料匯流排 的匯流排佈線外’ =2送載波信號的載波佈線。進位 徑從運算單元傳送到運算單元。與資料匯流排相同的路 運”元υίΓΓ和第二佈線組之一輸入資 料,可向任-個輸出貝枓。但是通過確定規則使得從一方
\\ADM-HOST\Users\lika\IMA11368.ptd
1234737
五、發明說明(6) 的佈線組輸入資料’向另一方佈線組輸出資料,常 經由1個切換單元從運算單元向運算單元傳送資料。 此’希望運异單元包括從第二佈線組包含的任意佈入 信號的裝置和向第一佈線組包含的任意佈線輸出信號=裝 由於運鼻單元具有各自適合於特定處理的資 因此進行算術運算、邏輯運算等的存在多個輪入 ^ 理時,可進行對應於此的佈置。因此,作為成
的第二佈線組,設置沿著運算單元的第—二别佈線 ^ 氺—万向的排列雨相丨I 延伸的1組佈線組,可進行容易向運算覃;崎〜々 資料的佈線。 續取多個輪入 此外,矩陣中包含的運算單元增多,它們靈活 需要與運算單元數對應的佈線’要求龐大的佈線=寺 此,將矩陣分為多個,在相鄰佈置的第一矩陣和一 的邊界上排列適合於延遲資料傳送的處理的運矩陣 第一和第二矩陣之間一旦將第一和第- 早兀,在 時,僅在第一和第二矩陣之間傳送的信號共用第一= 矩陣的佈線。 ^ ~ 作為備有適合於特定處理的資料路徑的運算 備具有適合於至少一個不同命令或命令級的處理 2 徑的幾種運算單元。本說明書中,命令沒二斜路 的是構成用於記述程式的命令組的命人,… ?日 „ A ^ 也包含複合命 令、巨集,令、功能調用專。因此’各邏輯單元按8位元 的位το組夺位或16、32以及64位几組等的字單位處理資
1234737 五、發明說明(7) :。該積體電路裝置中,若用運算單 J言記述執行的處理,則通過變換為運^二:的程式 計和製造用於執行該處理的 即,本發明中,提供一種積體電 电路裝置。 ,區段’該區段包括在第-和第二方向:佈置2J料處 和連接這些多種運算草元的佈線組Γϊ; 不同種二運行命令的資料路徑ί 體電路裝置令執行的處理的至少一部手該積 運算單元之-提供的或用可執行的命令多種的 篡置生成可執仃該中間記述的處理的多種運 ,早兀的執行用組合,為實現執行用的組合 運 夕種運算單元的資料處理區段。由此, = ΐ設計和製造可執行給出的處理的積趙電路裝事 出的處理,因此具有高的處理速度。《置用硬體執仃給 —2為具;τϋ合於命令級的處理的資料路徑的運算單 :墓!:備有適合:資料的輸入處理的資料路徑的第一種 徑的第二種運算單元、具有適合:j理的3路 徑的第三種運算單元、具有適合於々丄二处理的員;斗路 處理的資料路徑的第四種運算單元、資料:址的 資料路徑的第五種運算單元。;以;運算ί:的 J Μ在第五運算單元中包含 \\ADM-HOST\Users\lika\IM^H368.ptd 第11頁 1234737 五、發明說明(8) 乘法運算,但 有適合於乘法 的。通過這些 處理中浪費時 頻度反復執行 硬體源來兩速 即,根據 方法中,將執 同時執行,使 配置這些 流程中,具有 理的資料路徑 一端。為執行 的時脈必須明 料的輸入端的 其中,適合於 是按位元組或 器閃鎖輸入資 内置的貪 同。資料處理 不同。因此, 處理的資料路 時’為調整定 合0 因此第五運 處理的資料 種類的運算 間的檢索處 的處理,如 處理。 本發明,按 行速度不增 得可提高性 運舁單元在 適合於資料 的運算單元 管線(p i p e 確。因此, 觸發器和閃 輸入命令或 字單位閂鎖 料和輪出資 料路彳里不同 區段的路徑 希望包括具 徑的第七種 時,生成包 算單元 路徑的 單元, 理和計 信號處 反復使 向的部 能。 資料處 的輸入 排列在 line) 希望各 鎖輸出 輸出命 資料的 料。 時,運 不同時 有適合 運算單 含這種 變得過大時,另外設置具 第六種運算單元是有效 可執行記述或定義在很多 算處理的命令。因此,高 理和迴圈處理展開為多個 用少數硬體源的已有軟體 分展開在多個硬體源上來 理區段中形成平滑的資料 命令和/或輸出命令的處 資料處理區段的一端和另 處理’關於運算單元佔用 運算單元具有閂鎖輸入資 為料的輸出端的觸發器。 令的處理的資料路徑σ自身 觸發器,此時,1個觸發 算單元消耗的時脈數也不 ,到達運算單元的定時也 於延=料的傳送時間的 兀二生成運算單元的組合 運算單元的執行用的組
1234737 五 發明說明(9) 另外’為拓寬運算單元可卢理& # 在資料處理區段的= 範圍’具有適合於和 的第八種運算單元 有^、路連接的處理的資料 处理的資料路徑的第 具有通過查找表選擇 過在同一方 弟九種運异早疋也是有用的。此外 元聯動,提供擴大2同種的運算單元,多個相同的運算單 排列的同力能…,希望在同-方:: 算功能的路徑。例=、有夕個運算單元聯動提供擴大的運 元,則通過:同!=若是適合於算術運算處理的運算單 行加倍精度^算it併排單精確度的運算單元,可進 理區Π第多個資料處理區段和連接這些資料處 的範圍 線組,冑算單元的組合大幅度擴大可處理 本發明的積體雷敌^ @ $ 組中包含的任意佈置:m選擇連接第-佈線 換單元,改變向運笪》第::佈線中含的任意佈線的切 ^. 早疋提供的資料的路由,改變用於資 本發”,丄種積 缺ί裝置’具有一貝料處理區段,該區段中,佈置多種運 异早凡,可通過佈線組改變提供給多種運算單元的資料的 t由來變更用於資料處理的多種運算單元的組合,多種運 算單元包括具有適合於至少一個的不同命令級的處理的資 料路徑的不同種類的運算單元。該積體電路裝置中,製造 後,可改變資料處理區段的功能和可執行的處理内容。與 以按電晶體級映射電路為目的的FPGA不同,通過改變具有
\\ADM-HOST\Users\lika\IMAll368-P^
1234737 五、發明說明(10) 適合於預定的處理的資料肷斤Μ 能和處理内容,從而可短時工元”合n 提供具有可動態變更用硬體 的卜理内谷。因此’二 電路裝置。體執仃的處理内容的能力的積體 此外,該積體雷路裝g ϋ 4 , 執扞不鬥沾♦挪Α 裝置的— 貝料處理區段整體上具有可 视仃不同的處理的通用性 if宗沾泠了田从欠 但各個運算單元因備有適合於 料路徑的專用電路單元而通用性低。因 潘,亦姐糾占 略中難以產生浪費,從而緊凑經 濟了棱供處理速度快的積體電路裝置。 置、座ίϊ高ίΐ單元組合的靈活性,’望在運算單元中設 =第:佈線組和第二佈線組中包含的任意佈入 裝置。希望在運算單元中設置存儲佈線的選 配置記憶胃,在切換單元中設置存儲佈線的 2的配置記憶體。通過改寫配置記憶體,例如 ::子盗的内谷’可動態變更資料處理區段的功㊣。通過預 先在§己憶體巾記錄變更的内容可按—個時 範圍的運算單元構成的功能。 積體電路裝置中裝載可改寫配置記憶體内容的控制單 元,使得可以提供一種通過程式控制可用硬體執行的處理 内容的積體電& H g ^單元可以是排序器s戈巨集編碼 記憶體構成的小規模控制單元。但是希望有一種具 程式可改變運算單元的組合的功能的運算單元。通 算單元(邏輯元件或邏輯單元)佈置成矩陣狀的 區段和風險處理器等的通用處理器共存,採用反復使用少
\\ADM-HOST\Users\lika\IMA11368.ptd 第14頁 1234737
數硬體源的已有軟體方法的處理可用通用處理器 資料處理區段執行執行速度沒有加快的部分。^ ^仃,用 並行執行通用處理器的處理和資料處理區段處理。j,可 成資料處理區段的運算單元設定其他運算單元。可從構 體。 的配置記憶 在通過程式控制的積體電路裝置中,用包含 一 支援的命令的程式語言記述執行的處理,通過包 早疋 執行該中間記述的多種運算單元的執行用的組合二=可
可形=積體電路裝置的執行程式。希望中間語言囊^沾 線性高,容易生成資料程式。 、 的 另外運算單元中言免i變更和/或選擇内部冑料路 一部分的裝置,可擴大用資料處理區、 '或處理的選擇項。並且可在配置記㈣内存= = 路牷的變更和/或選擇。適合於命令級的處理的運 /v ,内部資料路徑是適合於至少一個命令的執行的資料早路^ 徑。設計該積體電路裝置、形成執行程式的過程中, 包含内部資料路後的選擇和/或變更的執行用組/ 示其的命令包含在執行程式中。 將才曰 實施發明的最佳形式 μ ^下面參考附圖說明本發明。圖1表示作為本發明的積 路装置構成系統LSI10的例子。該系統LSI10包括根據 订程式3包含的命令實施包含錯誤處理的RISC處理器等 的通用處理的通用處理器部11、it過佈置成矩陣狀的多個
第15頁 1234737
運算單元形成適合於特定的資料處理的資欠 料流程的資料處理區段(後面叫做矩陣部 :部(後面叫做職)根據執行程式3控 用處理 合(配置),對矩陣部20的配置作動態變更。^ = 且 括控制來自矩陣部20的中斷處理的中斷控制部12,二 Ϊ U ί ί =二時脈信號的時脈產生部13、構成靈活多 、控制對外部的輸入輪出的匯流排 工制邛1 5。處理器邛丨i和資料部2〇通過在處理器丨 部20之間可交換資料的資料匯流排丨7和從處理器丨丨杵制矩 動作的命令匯流排18聯接。經信號線19從· # 研?市』丨1 ^耠供中斷信號,矩陣部20的處理 …束、處理中產生錯誤時,將矩陣部20的狀態反饋回 器11 。
矩陣部20和FPGA14之間也通過資料匯流排21聯接,從 =陣部20向FPGA14提供資料並進行處理,將其結果返回矩 P部20。矩陣部20通過裝載匯流排22和存儲匯流排23與匯 ,排=制單元1 5聯接,在與Ls丨丨〇的外部資料匯流排之間 交換資料。因此,在矩陣部2〇中可從外部的DRAM2和其他 的器件輸入資料,將該資料用矩陣部2〇處理的結果再次輸 出到外,的器件。處理部丨丨也經資料匯流排丨並經匯流 排控制單元1 5和外部器件之間進行資料登錄輸出。處理器 11的執行程式(物件程式)3若是處理器U内置編碼“从或 ROM的構成,可預先存儲在處理器丨丨中。可經匯流排丨丨&從 LSI10的外部提供執行程式3。
\\ADM-H0ST\Usei:s\lika\mA11368.ptd 第16頁 1234737 五、發明說明(13) 圖2表不矩陣部2 0的概況。該矩陣部2 〇為通過6 8 ^單元(運算元件)3〇在橫方向(行方向上)延伸運 ,行、在縱方向(列方向上)延伸的排列為4行的結 構’多個運算單元30配置成陣列狀或矩陣狀。這 元30之間還配置在橫方向上延伸的行佈線組51和^縱^ ^延伸的列佈線組52。列佈線組52包括分成在列方 排的運算單元30左右而配置的一對佈線組52χ和吻。這: 7線組52x和52y將資料提供給各個運算單元3〇。這此 2組52-旦由從上面開始第9行的運算單元[ = =,車部20分成具有在上面形成的八行四列❾ 匕 30的第一矩陣28和具有在下面形成 ^ 30的第二矩陣29共兩個部分。 』扪逯舁早兀 圖3擴大表示運算單元30和行佈線組51以及列佈線包 52的交點上配置的切,單元55。行佈線組51具有可從在 行方向上併排的各運算單^30(本例中個 ^立元組(8位元)或字⑴位元或32位元)單异位早的 1傳 料,即從8到32位元的資料的佈線 == =中’行方向的佈線組51是至少有4 =道 號的佈線。 與貝枓數對應的數目的傳送載波信 列組52也具有可將位元組或字單位的 $异單兀3〇的佈二線产_。矩陣部20著眼於-個部分;: 具有8°通上首排的列單元3〇 ’因此本例的列佈線組52是 具有8通道的佈線1的匯流排。也可準備與傳送的資^
1234737 、發明說明(14) 對應的傳送载波信號的佈線。 圖4是表示本例的矩陣部2 〇的行佈線組5丨和列佈線組 52中去除傳送載波信號的佈線51 c、52cx和52cy後的情 况。載波信號可用作進位元用信號或表示真偽的信號,本 例=矩陣部2〇中,運算單元3〇中在適合於算術運算和邏輯 運算的資料路徑部(SMA) 3 2b和延遲用的實料路徑部 (DEL) 32c以及成為和FPGA的界面的資料路徑部(FPG ) 32e中使用載波信號ci。因此,為連接具有這些的運算單 元30 ’配置載波信號用的佈線51 c,52cx和52cy。
行佈線組5 1和列佈線組5 2的各個交點上配置的切換單 元55將行佈線組51的任意通道切換為列佈線組52的任意通 道並連接’構成位元組或字單位的資料的重組用的傳輸通 路。圖3所示的切換單元55中,具有選擇行佈線組51的任 意通道並連接於列佈線組52的多個選擇器58和存儲這些選 擇器58的設定的配置RAM 59。配置RAM59的資料通過從處理 器11提供的資料來改寫,行佈線組5 1和列佈線組52的連接 在處理器部1 1的控制下可任意動態控制。 圖5所示的不同的類型的切換單元56通過十字切換器 5 7切換並連接行構成佈線組5 1的任意通道的佈線和構成歹g 佈線組52的任意通道的佈線。該類型的切換單元56也具有 通過處理器部11設置資料的配置RAM或暫存器59,可自由 切換行佈線組5 1和列佈線組5 2的連接。 如圖2所示,在矩陣部20中排列的各運算單元3〇具有 從1組列佈線組5 2 X和5 2 y的每一個選擇輸入資料的1組選择
1234737 五、發明說明(15) 器31x和3iy、對這些選擇器31义和317選擇的輸入資料dix 和diy實施特定運算處理,作為輸出資料牝向行佈線組51 ,出的資料路徑部32。本例的矩陣部2〇中配置的多個運算 單元30包含備有適合於不同的特定處理的資料路徑的多種 運算單元。並且,構成各行的運算單元3〇具有提供同種處 理的同一資料路徑32。即具有進行因各行不同的處理的資 料路徑3 2的運算單元3 0併排配置。 、 首先,第1行上配置的元件或運算單元3〇具有連接於 裝載匯流排2 2並適合於裝載資料的處理的資料路彳a部 32f。裝載用的資料路徑部(LD) 32f的構成例子^二於圖 6中。LD32f包括閂鎖輸入資料和輸出資料的觸發器4丨和 要切換輸出資料的通道時記錄選擇通道的資訊的配置 RAM39。該LD32f是執行input或load的輸入命令的單元。 LD32f從裝載匯流排22接收資料,輸出到行佈線組51中。°
圖2所示的LD、後面說明的BAL、LDA、SMA和DEL等的簡稱 在本說明書中用於表示資料路徑部32和具有該資料 的運算單元30。 H 下面說明的各運算單元3〇分別具有配置RAM39,其 容由RI SC11設定,使得可動態切換運算單元3〇和行佈線矣 51以及列佈線組52的連接。運算單元3〇具有通過選擇考f 換變更選擇的資料路徑和設定包含初始值的配置和參^刀 功能時,通過設定配置RAM3 9的資料可對它們進行控制。的 配置在第2行和第3行的運算單元30具有適合於I ° 載資料的位址的處理的資料路徑部3 2a。圖7表示該次、 、啊*路
1234737 五、發明說明(16) 徑部(BLA和LDA ) 3 2a的構成例子。該BLA和LDA32a是執行 通過input, address —external 和 input· address一 internal等的命令指定輸入資料的位址的 〒令(功能)的早元。該BLA和LDA32a具有計數器等構成 的位址產生電路3 8。該位址產生電路3 8輸出位址,作為輸 出資料do,經行佈線組5 1和列佈線組5 2作為輸入資料d i x 或diy提供。具有選擇作為輸入資料提供的位址之一的選 擇器4 2和閂鎖輸入資料和輸出資料的觸發器4 1。從而,梦 載的位址資料da從矩陣部20輸出到匯流排控制單元15中^ 該運算單元30還具有設定位址產生電路3 8和選擇器42的狀 態的配置RAM39。該配置選擇器39的内容(資料)由處理 器部11設置,動態切換行佈線組5 1和列佈線組5 2的連接, 可自由變更位址產生電路38的設定。 構成矩陣部20的第2行的運算單元30的BLA3 2a產生塊 裝載的位址。另一方面,構成第3行的運算單元3〇的 LDA32a從2個塊裝載中產生裝載希望的資料的位址。這些 >料路控部B L A和L D A之一詳細構成不同,大概與圖7所示 的構成相同。 第4行和第5行上佈置的運算單元3〇具有適合於算術運 算和邏輯運算的資料路徑部32b。圖8表示該資料路徑部 (SMA ) 3 2b的構成例子。SM A3 2b是運算用的基本元件,具 有將按位元組或字單位提供的輸入資料dix *diy以位元^ 位輸出的移位元電路43和遮罩電路44。另外,具有對輪入 資料d i X和d i y相加或相減或比較或進行邏輯和或邏輯積運
1234737 五、發明說明(17) 算的邏輯運算單元(ALU) 45。具有耦合或選擇相鄰的 SAM3 2b的運算結果的邏輯單元(LU) 46。 具有存儲選擇或變更移位元電路43、遮罩電路44、 ALU電路45和LU46的處理的配置RAM39。具有閂鎖輸入資料 的觸發器48和閂鎖輸出資料的觸發器49以及定時調整用的 其他觸發器FF等。 该 SMA32b 支援在記述add、sub 'compare、shift、 and、select等的加減運算、比較、選擇以及其他的邏輯 運算的程式時多採用的算術運算命令和邏輯運算命令。進 行某一運算處理還是複合地進行某一運算處理可通過 RISC11設定的配置RAM39的内容自由控制,任何時候都可 變更。通過配置RAM39,將固定值設為輸入資料dix和 d i y。對於載波5虎c i X和C i y也同樣。另外,設置從輸出 資料do向ALU45反饋的路徑可構成狀態機和計數器。=支 援交換輸入資料dix和diy的功能,用於提高縱佈線組52的 選擇自由度和使用效率。 資料路徑部32b中準備可輸入選擇載波信號Cix和Ciy 的路徑。通過載波信號可控制ALU45和LU46。也準備輸出
果,不僅選擇載波信號,還可在載波信號之間進行運算, 載波信號的自由度高。 可通過設置在左右配置的SMA32b的一方的邏輯單元 (LU ) 46對左侧的ALU45的輸出和右侧的ALU45的輸出進七 與ALU45的運算結果相關的載波信號c〇的路徑。可向 和LU46輸入對相鄰的SMA32b的載波信號作任意運算的結
\ \ADM-HOST\Use r s \ 1 ika\ IMA11368. ptd 第21頁 1234737 五、發明說明(18) 邏輯運算。因此,用配置RAM39控制LU46,用在行方向上 左右併排的2個SMA32b實現1個擴大的功能。例如,}個輸 入資料d 1X為3 2位元時,為處理加倍精度的6 4位元的資 料’可用2個輸入資料di X和diy表示1個輸入資料。 本例的矩陣部20中,通過具有SMA32b的運算單元30也 可形成第7,8,1 1和1 3行的排列。 排列在第6行的運算單元3〇具有適合於延遲傳送資料 的疋時的處理的資料路徑部3 2 c。該資料路徑部(⑽l ) 3 2 c 的構成的例子表示於圖9中。DEL 3 2c包括組合多個選擇器 和觸發器構成的延遲電路47、輸入側的觸發器48和輸出°侧 的觸發器49以及選擇電路的選擇器42。延遲電路47通過配 置RAM39的資料設置〇〜5個時脈的延遲,在$或γ系統中, 可控制1〜7個時脈的延遲。此外,通過RAM39的設定,可 串聯連接X系統和Y系統,控制2倍的延遲時間。與這些資 料同時通過同樣的資料路徑延遲並輸出用行佈線組5 1一和胃 佈線組5 2導入的載波信號C丨X和C丨y。 準備具有延遲用的資料路徑部DEL32C的運算單元Μ, 可任意调整各種資料路徑部3 2的信號的延遲。因此,、 調整組合算術運算和邏輯運算用的SMA32b或下面戈於 法處理用的MUL32d等形成資料流程時的延遲時門的的乘 各資料路徑部32中可不必設置調整延遲用的觸^器愛= 器。這樣,可簡化各資料路徑部32的構成,提高二^ , 部3 2的通用性,同時,將資料路徑部3 2佔據的=二^ 杈 最小限度。各資料路徑部32中,設置閃鎖輸 =f到 调八貝枓的輸入
1234737 五、發明說明(19) 側的觸發器4 8和閂鎖輸出資料的輪出侧的觸發器4 9或設置 同時閂鎖輸入資料和輸出資料的觸發器41,使得輸入資料 原樣或加工後輸出的等待時間(latenCy )可按時脈單位 進行控制。因此’等待時間的差容易通過DEL32c的功能彌 補’可保證組合運算單元3 2進行的運算的管線定時。 該D E L 3 2 c還實現將縱佈線組5 2提供的資料移動到橫佈 線組5 1的作用。這樣,排列在第9行的運算單元3 〇選擇第 矩陣2 8的縱佈線組5 2提供的資料並輸出到第二矩陣2 9的 橫佈線組51。這樣一來,可使用延遲用的DEL32c的功能選 擇第一矩陣28的資料並提供給第二矩陣29,可分離分部的 第一矩陣28的縱佈線組52和第二矩陣29的縱佈線組52。因 此,縱佈線組52的佈線量可限定於僅超出構成各個矩陣28 或29的運算單元的數,佈線佔據的面積減少,從佈線組選 擇資料的切換單元55或56等的構成可簡化。 該DEL32c在用矩陣部2〇構成資料流程時為進行定時調 整而自動插入。程式中記述delay命令,可進行資料流程 之間或與RISC處理器之間的定時調整,這種情況下,用作 執行延遲命令的運算單元。 排列在第10行的運算單元3〇具有適合於執Smultiply 命令指示的乘法處理的資料路徑部32d。該資料路徑部 (MUL)3 2d的構成的例子表示於圖1〇中。MUL32d的在行方向 上配置的4個16位元X 16位元(結果為32位元)的乘法器 MUL61構成各個MUL32d。與此同時,配置對這些^@mul61 的輸出進行運算處理的資料路徑CSA62*cpA63。因此,本
1234737 五、發明說明(20) 例的乘法運算用的MUL32d通過耦合在行方向上排列的4個 MUL32d而擴大功能。例如,可執行加倍精度的乘法運算。 並且,MUL61,CSA62和CPA63以及選擇器64的功能還用設置 在資料路徑部32d的配置RAM39中的資料進行控制。
具體說,左端的MUL61(AHXBH)對輸入資料dix的上位 1 6位元和輸入資料d i y的上位1 6位元相乘,接著的 MUL61(AH XBL)對輸入資料dix的上位16位元和輸入資料 diy的下位16位元相乘,MUL61(AL XBH)對輸入資料dix的 下位16位元和輸入資料diy的上位16位元相乘,MUL61(al XBL\對輸入資料dix的下位16位元和輸入資料diy的下位 16位元相乘。並且,這些乘法器的結果*CSA62和cpA63相 加,在f方向上排列的4個MUL32d也用作32位元X32位元 (結果是64位元)的乘法器。各個MUL32d的運算結果用 SMA3 2b相加,可得到同樣的結果,但通過將M[JL32d在行方 向上排列配置,組裝成為相加用的運算器的少量的專用線 路,可用少的延遲時間和邏輯閘(gate)量得到同樣結果。 替代配置MUL32d,可替代SMA32b在別“孔上或與 SMA32b,時配置附加了乘法功能的資料路徑部(⑽)。 個運算單元3〇中裝載多大的運算功能,通過配置 對其進行選擇使用是矩陣部2〇的設計思想之差別。本發明 中,即便1個運算單元3〇可處理的内容有大小不同,可用 具有不同的資料路徑的多種運算單元3〇構成矩陣部2〇。從 而,與裝滿支援所有處理的單一結構的處理單元的矩陣相 比,另外的無用空間減少,無用的處理時間也減少,提高
1234737 發明說明(21) AC特性。
排列在第14行的運算單元30具有和在矩陣部2〇外部準 備的FPGA14界面用的資料路徑部32e。該界面用的資料^路 徑部(FPG)32e的簡要構成示於圖11 (a)中。FPG32e具有選 擇輸入資料的選擇器42和閂鎖輸入資料並提供給離開晶片 FPGA14的觸發器48以及閂鎖離開晶片FPGA14的輸出來作為 輸出資料的觸發器49。通過使用該FPG32e將輸入資料提供 給離開晶片FPGA14進行處理後’可再次返回矩陣部2〇繼續 處理。矩陣部20中排列的運算單元30選擇,設計並配置支 援在LSI 10執行的應用程式中出現頻度高的命令。包含通 用性低的功能的運算單元3 0由於惡化面積效率而不配置。 通過配置FPG32e,即便是這種處理或功能也可用硬體進行 南速處理。 該FPG32e是將外部界面導入矩陣内的通用性高的資料 路徑部,可連接的外部處理電路不限於FPGA。可連接具有 ASIC或本例的矩陣部20的其他LSI等。
排列在第15和16行的運算單元30具有適合於產生存儲 用的位址的資料路徑部STA和BSA。資料路徑部STA和BSA執 行指不上述的輸入位址的命令和指不相同形式的輸出位址 的命令。作為產生位址的功能,可使用與圖7所示的資料 路徑部32a同樣的電路。存儲應用中也可產生2種位址,資 料路徑部BSA產生存儲分塊的資料的位址,資料路徑部stA 產生用於分塊的位址。 在最下面的第17行中排列具有適合於通過outpilt,
\\ADM-HOST\Usei:s \ 1 ika\IMA11368 · ptd 第25頁 1234737 五、發明說明(22) ΐϋ命技令輸/ f料的資料路徑樹的運算單元3〇。雖. =為貝枓路徑部ST,但可採用與算術運算 ^ Λ ^ v ^。、邛存儲目的地的時候,經該運算單元st輸出資 本發明的運算單兀30的種類不限於這些。圖u ^有^表用的SRAM65的資料路徑部_) 32g的簡表 ,成=輸入資料dix用作位址,將輸入資料diy用作資 ΐ屮Ί提供資料和位址時進行寫人,僅提供位址時進行 ΐΓΑΜ39可ΓΓ具有多個存儲單★ (bank),通過設定配ί 田你^ 、使用。在仃方向上併排配置4個RAM32S時,可 用作8位7C的4個RAM,16位元的2個RAM,32位元的i個 SI。、,資立料路徑部32g可用作對位元組或字單位的輸人資 料=過任意函數得到輸出資料的查找表。在用矩陣部2〇實 現餘弦變換處理和CRC計算時有用。 實 本例的系統LSI 10是積體電路裝置的一例,具有在其 Ϊ3 Ϊ (本例中為行方向或橫方向)和第二方向(本例 " 向或縱方向)上排列為矩陣狀的多個運算單元 30。多個運算單元3〇包含具有適合於 的多種運算“,在上面說明中,例示出適:: 一貝枓=輸入的資料路徑部32f,適合於產生資料位址的處 理=貝料路徑部32a,適合於算術或邏輯運算處理的資料 路=部32b,適合於乘法處理的資料路徑部32d,適合於延 遲資料傳送時間的處理的資料路徑部32c。用切換單元Η
1234737 五、發明說明(23) 在這些多種的運算單元30之間控制傳送資料的横佈線組51 和縱佈線組52的連接,通過改變這些運算單元之間的連 接,在矩,部20中定義進行希望的資料處理的資料流程型 的專用運算電路。因此,本例的矩陣部令,像fpga 一 樣,即便不全部變更各電晶體間的連接,通過變更運算 元30之間的連接,可在短時間裏重組處理内容不同的專 運算電路。此外,各運算單元30並非像FpGA的邏輯塊那樣 要求電晶體級的通用性的結構,各個運算單元3〇具有 定的資料處理特定化了的資料路徑部32 ’因此節省冗長 電路,提高安裝密度。&而,提供可變更硬體的處理内容 的緊湊且經濟的系統。由於可極大地減少冗長的構成,與 FPGA相比,可大幅度提高處理速度,也提高虬特性。、 如圖6到圖1 1所示,適合於各個處理的資料路徑 〜328分別為不同構成,因此各資料路徑部可高速執行作 為目的2理,而另-方面,各個資料路徑部佔據的面積 不同。因此二本例的矩陣部2〇中,具有相同功 徑部32的運算單元30在行方向上排列配置’使得運算 30佔據的面積因數據路徑部32的種類而不同,也可 方向的直線性。此夕卜,即便是種類不同的資料路徑部3;仃 通過使行方向的間距相同地來等間隔地進行配置,也 保列方向的直線性。因此,也可分別按直線 51和列佈線組5 2進行佈局。 ' 即,具有同種資料路徑部32的運算單元3〇按行方向 間隔地配置,们寻它們的大小差別由列方向的間隔吸收,
1234737
列方向的間隔按行單位改變,也可保證直線性,因此 打佈線組51可直線佈線。當然可替換行方向和列方向ς 行設計,這也包含在本發明的範圍中。 囚此 /、喇个广厂丨丹从《V貝竹峪徑邵Μ的大小不同的 算單元3 0可極高效率地按矩陣狀配置。此外,連接^ 行和列佈線組(匯流排)可直線配置。因此,可按1 = 從而更低的成本來提供製造後可對功能進行設置的 積體電路裝置。並且,與FPGA相比,以更緊湊的佈局配二 可咼速處理並且AC特性良好的運算單元3〇並用最短 長度進行連接,從而可提供確實啟翻使古$认Μ ^ ^ 裝置。 促货維貫啟動其咼速性的積體電路 這,,在行方向上排列具有不同的功能的資 晉mr。0即便將矩睁部2〇用作資料流程型的處ϊί ^ 、例如,在上述例子中,成為列方向的一端 的第1行上排列資料登錄用的運算單元3〇,在成為 k ^另:=第17行上排列資料輸出用的運算單元3 ° =’用矩陣部20在宏觀上自上向 適==理的資料路徑部的運算單^ 程也可以,可最大限度地自J =形成資料流 元3。進行資料處理。 冑矩陣部2。中配置的各運算單 像適合於算術運算等的資艇 運算的資料路徑部32d —樣,在同一仏"b和適合於乘法 單元30可使多個運算單元3〇聯 '一向上排列同種運算 p勤因此,本例的矩陣部2 〇
\\ADM-HOST\Users\lika\IMAH368.ptd 第28頁 1234737 五、發明說明(25)
中,分別利用運算單元3〇的同時,束縛行方向 ==或使之聯動,可提供加倍精度的運算等的擴 U 並且,各運算單元30和切換單元55或56具有 ”器設定資料並分別進行控制的配置記憶體。因此处 异早7030的組合可由處理器U自由變更,另外,盥 ,級映射電路的FPGA不同’具有適合於預定的處理 路徑部32的運算單元30的組合可改變,從而可在短肉 幾乎在1個時脈内來變更功能。 夺間内 各個運算單元30中’構成資料路徑部32的選擇 ALU等的邏輯閘的功能可經配置記憶體39由處理器丨^ :置。因此,運算單元30的功能本身也可在資料路徑部Μ 支援的功能的範圍内靈活變更。本例的矩陣部2〇令, 流程型或虛擬資料流程型可處理的功能範圍非常寬。選 擇排列適合於網路處理和圖像處理等的Ls丨丨〇使 的種類的運算單元3〇,進行排列,並可提供安、-用 的積體電路裝置。 午It 可替換上述實施例中說明的行佈線組51和列 52,同時運算單元30的排列方向也可替換行和列。運算 几30對行或列佈線組之一輸入輸出資料。但是,如上述的 矩部2G所示,按從-個佈線組,本例中為列佈線組52輸 入貝料,向另一佈線組,在本例中為行佈線組51輸出資料 確定規則,使得常常僅經由1個切換單元5 5來 30向運算單元30傳送資料。 運异早兀
1234737
圖12表示本發明的不同的的例子。圖中,中斷控 制單元12和時脈產生部丨3等省略了,但裝載與圖1所示的 LSI相同的各種單元。本例的LSI 1()的矩陣部2〇的第2行以 後在行方向上排列6個運算單元3 〇。其中左側的4個運算單 疋30在每行中分別是具有用作上述RAM的功能的資料路徑 部32g的運算單元3〇,具有用作產生裝載的資料的位址的 BLA的功能的資料路徑部32a的運算單元3〇,具有用作產生 相同的位址的LDA的功能的資料路徑部32a的運算單元30。 但是,各行的右侧的2個運算單元3〇是具有用作支援算術 和邏輯運算功能的SMA的功能的資料路徑部32b的運算單元 30 °這是由於在作為本例的LSI丨〇為滿足要求的規格而選 擇運算單元30時,用作SMA32b的功能的運算單元相對其他 類型的運算單元需要更大的量。SMA 3 2b的邏輯單元配合其 他類型的運鼻單元的數目來設置,可設計在行方向上排列 4個運算單元30的矩陣部2〇。然而,也依賴於構成^丨丨^的 其他單元的配置,若僅考慮矩陣部2 〇,則由於變成縱長的 配置,使得面積效率惡化。增加縱方向的數目,從而縱佈 線組5 2的負荷增加,部分數增加,其結果是需要⑽L 3 2 c的 邏輯單元,處理速度降低。
因此’本例的矩陣部2 〇中,在行方向上追加配置數目 多的SMA32b的運算單元3〇,整體上接近正方形。不用說該 矩陣部20的行方向的排列可用全部相同的種類的運算單元 30構成。但是,在排列數目少的RAM32g、bLA和LDA等的運 算單元3 0的範圍中,行方向的排列用全部相同的種類的運
1234737
算單元30構成,確保行方向的直線性。列方向的直線性通
過在行方向的等間距配置各種運算單元3〇得到確保,、言一 點與上述相同。 μ G 本例的矩陣部20中,裝載匯流排22和存儲匯流排2 3上 分別配置6個輸入緩衝器24和輸出緩衝器25,其中=個緩衝 器24和25替代控制單元15連接於擴大輸入輸出用的界面“ 和27。該擴大界面26和27可用作矩陣部2〇之間的界面。因 此可在同一晶片内配置多個矩陣部2〇並用擴大界面26和27 連接或用擴大界面26和27連接備有矩陣部2〇的多個晶片 因此,通過這些擴大界面26和27可使用多個具有矩陣 部20的LSI 10並自由擴大資料流程型的運算器。增加可連 接的矩陣部20並增加可連接的運算單元3〇可°執行^复°雜的處 理。通過改變運算單元30的組合進行重組的範圍加寬,可 提供靈活性高的運算處理裝置。也可靈活選擇提 等的提高性能的運算單元3〇的組合。此外,在三維方向: 排列多個矩陣部20可構成三維矩陣。 一 / σ 圖13(a)表示通過由擴大界面26和27連接11個^11〇將 ,陣部20實際擴大η倍的運算處理裝置或積體電路裝置9。 這些LS I可在二維或三維方向上組合。 連接多個LSI10的系統9中,對多個矩陣部2〇和具有其 的LSI10,作為傳送必要資訊的匯流排可使用擴大界面26、 和27。圖13(b)〜(d)是幾個例子。圖l3(b)中,通過擴大 界面鏈狀連接LSI10,圖13(C)中樹狀連接。圖13(d)中環
1234737 五、發明說明(28) 狀連接多個LSI 1 0。 傳送資訊的演算法簡單為好,例如準備對 的簡單^。控制系統9的US(鏈狀連接中 為鏈剛鳊,樹狀連接中為樹的最上面,環狀連接中為任一 :^LSI)將資訊以資料和記號形式傳送到下,接 =貝訊的LSI10在接收的同時將其作為自身部分的資訊將 貝甬:2i:—LSI1°。是資訊正文還是自身部分的資訊 =使用矩陣部20之-的運算單元3Q作判斷來定義。資訊 的1送場所是具有作為RAM的功能的運算單元3〇、或是處 理器11的RAM、或是各運算單元30的配置RAM39。/ 作為傳送的資訊,有在RISC處理器u的程式3,矩 20的配置RAM39中設定的資訊等。配置RAM39中設定可使用 ==20的存儲功能經輸出匯流排23和匯流排控制單元15 將從擴大界面26接收的設定資訊在運算單元3〇的配置 RAM39。中指定位址並篇入。也可存儲在外部的dram2並使用 處理器11的功能傳送到配置RAM39中。 作為傳送的資訊,有時間控制用的資訊。按一定周期 (例如1秒間隔)流過資料,使用系統9的基準時脈與構成 系統9的多個L S I 1 〇的處理同步。 圖14表示本例的LSI10的設計和製造方法的概要。 LSI 10中想執行的處理作為規格71給出時,進行變換為用 在LSI10中對其執行的程式語言記述的原始檔案73的處理 72y變換處理72中,參考運算單元庫79將用ansI-C等的一 般兩階語言記述的規格71變換為包含運算單元3〇支援的命
\\ADM-HOST\Users\lika\IMA11368.ptd 第32頁 1234737 五、發明說明(29) 令的程式語言(後面叫做中間語言)記述的中間記述7 3。 該變換處理7 2可手動進行或使用編譯器等的軟體進行。 構成矩陣20的運算單元30中,運算單元ld是具有資料 路徑32f並適合於資料的輸入命令的處理的運算單元。運 算單元BLA和LDA是具有資料路徑32a並適合於指定輸入資 料的位址的命令的處理的運算單元。運算單元以是適合於 資料的輸出命令處理的運算單元。運算單元BSA和STA是具 有資料路徑32a並適合於指定輸出的資料的位址的命令的 處理的運算單元。運算單元SM A是具有資料路徑32b並適合 於算術運算命令和/或邏輯運算命令的處理的運算單元。 運鼻卓元MUL是具有資料路徑32d並適合於乘法命令的處理 的運算單元。並且這些運算單元30處理位元組或字單位的 資料,因此用1個運算單元3〇可執行1個命令或多個命令的 處理。 因此,構成本例的矩陣20的多種運算單元30支援資料 登錄輸出命令,算術運算命令和邏輯運算命令,資料登錄 輸出處理,算術運算處理和邏輯運算處理可用運算單元3〇 支援的命令集(中間語言)記述。反復資料登錄輸出處理, 信號處理,算術運算處理和/或邏輯運算處理的處理(迴 圈處理)使用R I SC處理器11,使用有限的硬體源靠軟體反 復執行’難以指望提高處理速度。與此相反,本例的矩陣 部2 0 ’則通過展開在叫做運算單元的多個硬體源上同時並 行執行’可提高性能。因此,在性能分析等方面觀察這種 處理’可簡單地硬體化並提高處理速度。
\\ADM-HOST\Users\lika\IMAll:368.ptd 第33頁 1234737
變換 RISC處理 間語言記 1 7所示, 式或對其 表示的記 系統的規 容易在中 形式是彙 度降低, 部2 0映射 發也容易 給出的規格71的中間記述73分為用c語言記述的 器1 1執订的部分7 3 a和為用矩陣部2 〇執行而用中 3部=3b。中間記述的中間語言部分73b如圖 疋“運算單元3 〇支援的命令,按可變換為資料程 附加控制身訊的控制資料程式的程度按處理順序 述。,此’與作為硬體記述語言的HDL等不同,
才α對A 十者而吕非常清楚’在系統變更或修正時 間記述73b中反映該變更和修正。中間語言的1種 2類’例如巨集組譯語言。與C語言相比,難易 容易確保線性,因此容易形成資料程式,在矩陣 時任何組合都可實現。從而矩陣部20和程式的開 ’排除故障和維持也容易。
中間語言記述的部分73b用運算單元3〇支援的命令記 述’因此該部分73b的處理可用矩陣2〇的運算單元3〇的組 合表示。因此,接著通過佈置佈線處理75生成可執行中間 語言記述的處理73b的運算單元3〇的組合(執行用的組合 )76。該處理通過編譯器(軟體)進行。執行用的組合76 生成後’為實現該執行用的組合W,輸出配置運算單元 的矩陣部20的資訊78。根據該資訊78生成矩陣部20,則 LSI 10的基本設計結束,基於此可製造^丨1〇。生成指示執 行用的組合76的命令80,替代中間語言的記述73b,用C編 譯器81編譯包含指示執行用的組合的命令8〇和?動該組合 的命令的C原始檔案74,從而可生成LS110的執行用的程式 (物件程式)3。
1234737 五、發明說明(31) 為執行給出的規格71,不需要變更矩陣部20的運算單 =30 =組合,不需要生成指示組合的命令,只生成具有可 ,仃中間語言記述的部分73b的處理的運算單元3〇的矩陣 部2〇即可:使用現有的矩陣部20執行給出的規格71時,不 生成矩陣部20。生成將配置在現有的矩陣部20中的運算單 5 2且a作為執行用的組合7 6的命令8 0,通過置換中間 浯曰圮述的部分73b並進行編譯可生成執行用程式^。 整運組合76的佈置佈線處理75中,為定時調 處理’需要生成包含具有資料路徑咖的 ;遲用的運算單元胤的組合。因此,佈置佈線處理75 佈局的矩陣部20,用適當的演算法反復執 當的成全部的執行用的組合的作業,需要觀察適 資料元30中可通過配置ram39變更或選擇内部 要通過具有資料路徑m的運算單元SMA中,需 處理75中,需要生成# ΛΛ 。 佈置佈線 您#Ϊ 還含組合的運算單元30内部的資料 路32的構成的執行用的組合。並且,運算單元3() 0 ^定 通過指示執行用軺彳4人 運异早兀30的设疋 〜β私ΐ3中包含的組合的命令提供給矩陣部 侍在各運算單元30的配置RAM39^啟動。 過程:圖1圖Λ5 ί圖21,簡要說明生成運算單元30的組合的 圖。= ί不進行佈置佈線的編譯器75的處理的流程 73b生成圖’18所-驟91中’從圖17所示的中間語言的記述 生成圖18所不的資料程式(DFGMOi。需要多個資料程 第35頁 \ \ADM-HOST\Users \ 1 ika\ IMA11368. ptd 1234737 五、發明說明(32) 式1 01時,做成多個。接荽 ,.^ 成這些資料程式101的運算單;;^92中,生成包含可構 20 ’在步驟93中,對資料程早:的適當的佈局的矩陣部 線,觀察分配了全部二:一個地進行佈置佈 執行用的組合。在步?矩陣部2〇的佈局和 置佈線時,作為不進行佈=佈‘更個#料程式101中不佈 局的矩陣部20。矩陣部20的‘出:::9:生成新的佈 的運算單元ST,因此對於5仃輸出資料的處理 m,則佈置佈線成功P的運异早元ST分配資料程式 圖16通過流程圖表示生赤έ日人·ϋι 1 Λο * 運笪置老《成合執仃1個資料程式101的 運异早7030的處理。為容易維持佈局,從資料 下游侧依次分配運算單元30。從而步驟i J i中,^配置構 式=末線尾的牛運算單心判斷可否將其在輪出 的運异早兀ST上佈線。步驟112中,觀察適當的 3〇和f接它們的佈線組,則佈置佈線成功。接著步驟ιΐ3 :發現的資源,即運算單元30和佈線纽上作標記,配 匕ΐ的運算單元3〇。並且,步驟114中,從下游侧向 上游侧邊行進邊確認可否對配置完成的運算單元3〇的輸入 源的運算單元3 〇進行佈置佈線。步驟丨丨5中,可對輸入源 的運算單元3 〇進行佈置佈線,若對全部的輸入源的運算單 元3〇進行佈置佈線,則可將1個資料程式丨〇1配置在矩陣部 20上。 圖18所示的資料程式1〇1對2個輸入資料進行2次相加 得到輸出資料。如圖19所示,可置換為邏輯單元3〇的組
1234737 五、發明說明(33) 合三即從下游侧開始包含輸出用的邏輯單 運异,的邏輯單SSMA以及2個輸人用的邏輯單㈣的: ^。异術運算用的邏輯單元SMA進行相加時 =時 因此=周整該時脈(Μ·7),且合延遲用的邏輯單 η 將該資料程式101分配給矩陣部20的狀態。 鼻单元SMA在與輸出該值的運算單元ST相同的列 中觀察到。成為該運算單元SMA的一個輸入源的運算單元 DEL在相同列看% ’成為另—輸人源的運算單元sma在相鄰 列看到。圖20的矩陣部20分為3個部分29,因此成為相同 列看到的運算單元del的輸入源的運算單元LD經2個運算單 元DEL連接。同樣,成為在相鄰列看到的運算單元SMA的輸 入源的運算單元LD經2個運算單元DEL連接。因此,映射到 矩陣部20的資料程式101的實際組合如圖21所示。指示該 組合的命令80組裝到具有該矩陣部2〇的^丨]^的執行程式3 中’RISC處理器η通過該命令8〇控制矩陣部2〇的組合。藉 此中間記述7 3b的處理用矩陣部2 〇通過軟體執行。 曰 如以上說明那樣,本發明的積體電路裝置包括配置了 具有適合於特定的處理的資料路徑的多種運算單元的資料 處理區段(矩陣部),通過決定這些多種的運算單元的組合 可在極短時間裏設計和製造可用硬體執行給出的規格或其 一部分的積體電路裝置。資料處理區段中設置的運算單元 具有執行命令的功能,因此僅通過將給出的規格置換為包
五、發明說明(34) 含運算單元支援的命令的中間語t 變換為;體處理。並且’僅觀察i算單:的= 該貧料處理區段中可執行的處理。從而,為製造 硬體記述語言,邏輯合成為電:體 另ΓΠΪΪΓ更體或變換為可裝載到_中 的貝讯。另外,為生成邏輯單元的組合,形 纽古 的記述是設計者容易把握處理的式 活地對應修正和變更。 的紅式》。曰,可紐時間裏靈 資料處理區財配置的運算單^僅僅追求 的構成的通㈣,由於具有適合於執行通過命令指^的户 理的不同的或固有的資料路徑,電路冗 供緊湊且經濟的積體電路裝置。可提供處理i度; 特=:的積體電路裝4。並且該積體 且 單變更多個運算單元構成的功能的 ί;;;理區段的運算單元和佈線組這種資源有效應用於 上述例子是本發明的一例,本發明如本說八 的那樣,包含各種版本。例如’通過 3 單元的組合構成的資料程式被… 包:資= 通過程式動態重組的情況。運算單元的組合以== 的内部資料路徑的選擇控制不限於來自風 兀 示,可來自其他的LSI,其他的矩陣以 運算才曰 ,。亡述運算單元是具有適合於位址產生、皁内的運算早 輯運异、乘法和延遲等的特定處理的資料路徑的例子,^ (35) 五、發明說明 i二陣狀的運^1料路徑的功能和構成不限於本例。配置 適合於本發明二資二,種類也不限於上述例子。生成備有 徑的幾種運算單元,、、处理裝置執行的應用的功能的資料路 得到本發明的效果。通過對它們進行佈置用匯流排佈線可 產業上的應用 本發明的積體電路裴 系統LSI等提供。本發明 j作為可執行各種資料處理的 路,也可用於光電路或光電、體電路裝置不限於電子電 置可通過重組的硬體高速執本發明的積體電路裝 用於網路處理,圖像處理等订貝料處理,因此可很好地應 處理裝置中。 的要求鬲逮性和即時性的資料
1234737 圖式簡單說明 1是表 成的框圖;不本發明的實施例的積體電路裝置的簡要構 圖2是盖- 大表示圖2所示的矩陣部的一部分的圖; 、不圖2所*的㈣部的佈線組巾料栽波信號 圖?{ 不矩陣部的簡要構成圖; 圖 的佈”置的圖: 圖5 圖6 的圖; 圖5 =表示切換單元的〜…间, 子; < 適合於輸入資肖的命令處理的資料路徑部的例 子 料 ;Κ適合於輸出位址的命令處理的資料路徑部的例 路徑部的,列適子合於算術運算和/或邏輯運算命令處理的資 徑
部的Γ子疋適合於延遲資料傳送的定時的處理的資料路 圖 1 〇 I 圖iC,命令處理的資料路徑部的例子; 理的資料路徑部的例子、圖U (b)路聯接的處 理的資料路徑部的例子; k〜找表選擇處 圖12是表示本發明的不同積體電 框圖; 裝置的簡要構成的 圖1 3是表示聯接多個LS I的幾個例早 圖Η是表示設計和製造本發明的圖; 的概要圖; 的積體電路裝置的方法 \\ADM-H0ST\Users\lika\IMA11368.ptd 1234737 圖式簡單說明 圖1 5是表示佈置佈線處理的概要的流程圖; 圖1 6是表示求出一個資料程式的組合的處理概要的流 程圖; 圖1 7是中間語言的記述例子; 圖1 8是矩陣部實現的資料程式例子; 圖1 9是用運算單元的組合構成資料程式的例子; 圖2 0是將資料程式映射到矩陣部的例子; 圖2 1是表示用矩陣部實現資料程式的組合的例子。 圖號說明 10 LSI 11 處理器 20矩陣部 30 運算單元 3 2 資料路徑部 51 行佈線組 5 2 列佈線組
\\ADM-HOST\Users\lika\IMA11368.ptd 第41頁

Claims (1)

1234737 六、申請專利範圍 1.· 一種積體電路裝置,具有資料處理區段,該區段 包括· 又 在第一和第二方向上配置為矩陣狀的多個運笞單一 對應上述多個運算單元的上述第一方向的排;;在;^述 f一方向上延伸並傳送上述各運算單元的輸入和/ _貝料的多個第一佈線組; / i出 =上述多個運算單元的上述第二方向的排列在上述 弟一方向上延伸並傳送各運算單元的給 的多個第二佈線組;運…的輸入和/或輸出資料 S&置在上述第一和第二佈線組的各個交點上 連接上述第一佈線組中包含 J選擇 中包含的杯立德嬙认夕2 心、、和上达弟一佈線組 T 3的任思佈線的多個切換單元, 上述多個運算單元分類為 的資料路徑的多種運算單』處理的不同 加八士 思异早兀,上述資料處理區段的至少一 部分中,同種的運算單元形成卜汁筮々咕 ^ v 列。 2 . 徵在於 配置。 乂成上述第一或第二方向的排 如上申十,〜專接利範圍第1項所述的積體電路裝置,其特 .上述夕種的運算單元在上述第一方向上等間隔地 徵在3於如上V多專種利:運圍算第七:j的積體電路裝置’其特 同的命令級的4理的資料路含具有適合於至少-個不 4 ·如申請專利範圍第:;:不同種類的運算單元。 徵在於:上述多種的運算單M7述的積體電路裝置,其特 早几中備有適合於資料的輸入和 \\ADM-H0ST\Users\lika\IMA11368.ptd 第42頁 1234737 六、申請專利範圍 區‘ ‘ 一::::::徑的運算單元排列在上述資料處理 徵在5於如Λν運,^ 鎖輸出資料的觸發器。/、有閂鎖輸入資料的觸發器和閂 徵在於·上申+、\專利範圍第1項所述的積體電路裝置,其特 提二以=算單元的至少-種運算單元具有可 運算功能的路^。 σ上時與其他運算單元聯動並擴張的 徵在二如:、十睛々專利範圍第1項所述的積體電路裝置,其特 ΐί:^ί各運算單元具有選擇上述第-佈線組和/或 置。、、、且中包含的任意佈線來輸入和/或輸出信號的裝 •如申明專利範圍第7項所述的積體電路裝置,其特 言1憶體,·上述各運算單元具有存儲佈線選擇的可改寫配置 體。上述切換單元具有存儲佈線選擇的可改寫配置記憶 ^ 9 ·如申請專利範圍第8項所述的積體電路裝置,其特 f在於·上述各運算單元具有變更和/或選擇内部資料路 徑的一部分的裝置,上述配置記憶體還存儲上述内部的資 料路徑的變更和/或選擇。 10 如申睛專利範圍第9項所述的積體電路裝置,其 特徵在於:上述内部的資料路徑是適合於至少一個命令級 國 第43頁 \\ADM_HOST\Users\lika\mA11368.ptd 1234737
的處理的資料路徑。 11 · 特徵在於 器。 τ Μ專利範固乐0峭所您的積體電路穿置,其 :具有可改寫上述配置記憶體的内容的通用處理 12 .如申請專利範圍第i項所述的積體 特徵在於··具有多饱上述資料處理區 電路裝置其 理區段的第三佈線紐。 遷接攻些貝枓處 U •如申請專利範圍第1項所述的積體電路裝置,I :徵在於:上述各運算單元按位元㈣"或字單位處二 ,14 ·如申請專利範圍第i項所述的積體電路裝置,其 ^徵在於:上述第一和第二佈線組具有傳送資料的匯流排 佈線和傳送載波(carrier)信號的載波佈線。 1 5 ·如申請專利範圍第1項所述的積體電路裝置,其 特,在於:上述各運算單元具有從上述第二佈線組包含的 任意佈線輸入信號的裝置和向上述第一佈線組包含的任意 佈線輸出信號的裝置, 上述第二佈線組具有沿著上述多個運算單元的上述第 二方向的排列的兩側延伸的1組佈線組。 1 6 ·如申請專利範圍第1項所述的積體電路裝置,其 特徵在於:上述資料處理區段包括經上述多種運算單元中 具有適合於延遲資料的傳送的處理的資料路徑的運算單元 的排列連接的第一矩陣和第二矩陣。 1 7 ·如申請專利範圍第1項所述、的積體電路裝置,其
1234737 六、申請專利範圍 特徵在於:上述多種 一個: 運异早元包括下列運算 元; 具有適合於資料登錄處理的資 單元中的至少 料路徑的第— 於指定輪入資料位址處理的資 種運算單 種運算單元; ’’ a 1处埋的資料路徑的第一 具有適合於資料輪出處 元; 的貝料路徑的第三種運算單 具有適合於指定輪出資 種運算單元; 、 處理的資料路徑的第四 具有適合於算術運算和/ 五種運算單元; I狗1運异處理的資 的第 料路徑 具有適合於乘法處理的資料路徑 。 具有適合於延遲資料傳送時由/、_運算單元; 七種運算單元; 、、Β的處理的資料路徑的第 /、有適曰於和在上述資料處理區段的外邱%番M w μ 電路連接的處理的資料路徑的第八種運id;運异 具有通過查找表選擇處理的資料路徑的第九種運算單 18 • _ 一 種積體電路裝罟,目士-欠,,a 句妊夕接、蓄瞀如- 置具有負料處理區段,該區段 連;;些多種運算單元的佈線組, 上达夕種運算早兀包含具有適合於至少一個不同命令 執行的負料路徑的不同種類的運算單元。 19如申印專利範圍第18項所述的積體電路裝置,其
1234737 &、申請專利範圍 特徵在於:上述多種運算輩斧4 一個: 昇早70包括下列運算單元中的至少 具有適合於資料的輸入命令 種運算單元; 執订的負料路徑的第一 具有適合於指定輸入資粗办 第二種運算單元; ’、 中令執行的資料路徑的 具有適合於資料的輸出侖八沾批/ 種運算單元; ㈣”的執行的資料路經的第三 的第 具有適合於算術運算命令和/或邏輯運算命人 的資料路徑的第五種運算單元;和 P 7 具有適合於指定輸出資料位址的 四種運算單元; 執仃的貝料路徑 的執行 單元 具有適合於乘法命令的執行的資料路徑的第六種運算 的至 20 .如巾請專利範圍第19項所述的積體電 ,徵,於:上述多種運算單元還包括丁列運算單,其 具有適合於延遲資料傳送時間的處理的資料 七種運算單兀; 仅的第 具有適^於和在上述資料處理區段的外部設置的 電路連接的處理的資料路徑的第八種運算單元;以及思异 具有通過查找表選擇處理的資料路徑的第九種運算抑 元。 早 21 ·如申請專利範圍第18項所述的積體電路裝置,其 \\ADM-HOST\Users\lto\lMM1368.ptd 第46頁 1234737 六 、申請專利範圍 特徵在於:上述多種運算單元具有閂鎖輸入資料的觸發器 和閂鎖輸出資料的觸發器。 22 ·如申請專利範圍第18項所述的積體電路裝置,其 特徵在於:上述多種的運算單元在第一和第二方向上佈置 為矩陣狀。 2 3 ·如申請專利範圍第2 2項所述的積體電路裝置,其 $徵在於:上述多種的運算單元中具有適合於資料的輸入 〒令和/或輸出命令的執行的資料路徑的運算單元排列在 上述資料處理區段的一端和另一端上。 24 ·如申請專利範圍第22項所述的積體電路裝置,i 特徵在於:上述佈線組包括·· " 對應上述多種運算單元的上述第一方向的排列在上述 多傳送各運算單元的輸入和/或輸出資料的 上述多種運算單元的上述第二方向的排列在上 :::向j伸並傳送上述各運算單 枓的多個第二佈線組; ^ 4 f別出貝 配置在上述第一和笫-你括& α 連接上述第一佈線組中包含的任j佑f個交點上並可選擇 中包含的任意佈線的多個切換單=,、、、和上述第二佈線組 上述各運算單元具有選擇上述第一 佈線組中包含的任意佈線並輸入和"輸第二 25 ·如申請專利範圍第丨8項所述的藉ς唬的裝置。 特徵在於··上述佈線組可改變、積體電路裝置,其 改Ik供給上述多種運算單元的 第47頁 \\ADM-H0ST\Users\lika\IMA11368.ptd 1234737 六、申請專利範圍 _ 二料的路由來變更用於資料處理的上述多種運算單元的組 特徵2】於如:2=^:;的積體電路裝置,其 配置記憶體, #早70具有存儲佈線選擇的可改寫 體。乂換單元具有存儲佈線選擇的可改寫配置記憶 特徵ΐ於如t請專利範圍第26項所述的積體電路裝置,a 的C算單元的至少-個具有適合於至ί 部資路徑以及選擇和/或變更其内 /或ϋ配置記憶體還存儲上述内部的資料路徑的選擇和 特徵2在8於如範;第26項所述的積體電路裝置,复 制單ΐ具有根據程式改寫上述配置記憶體的内容的控 特f! 於如申叫專利範圍第2 5項所述的積體電路裝置,复 Ξ:ί::具有根據程式控制上述多種運算單元的;合: 特徵3在◦於如體電路裝置,其 ,二令的執行的内部資料路徑以及選擇和二 ^ Μ料路徑的一部分的裝置, ^變更其内 上述控制單元還控制上述内部的資料路徑的選擇和/ Η \\ADM-HQST\Usefs\lika\mA11368.ptd 第48頁 !234737
六、申請專利範圍 或變更。 31 ·如申請專利範圍第29項所述的積體電路裝置,其 特徵在於:上述控制單元是通用處理器。 32 ·如申請專利範圍第丨8項所述的積體電路裝置,其 特徵在於:具有多個上述資料處理區段和連接這些資料^ 理區段的佈線組。
· —種積體電路裝置,具有資料處理區段,該區段 包括多個運算單元和連接這些多個運算單元的佈線組, 一上述多個運算單元分類為具有適合於特定的處理的 同資料路徑的不同種類的運算單元,另外,各運算單元 位元組和/或字單位處理資料。 # ·如申請專利範圍第33項所述的積體電路裝置,J 上述多種運算單元包含具有適合於至少一個^ '、叩7級的處理的資料路徑的不同種類的運算單元。 包括不同種置:設計方法,該積體電… 段,該區段包括在第::笛該運算單元具有資料處理區 運算單元和連接這些向上佈置為矩陣狀的多毛 算單元具有適合於至小一f异早兀的佈線組,上述多種矣 其特徵在於:、v一個不同命令的處理的資料路徑,
包括: 將該積體電路萝 用包含可由上述多^ I,行的處理的至少一部分變換為 言記述的中間記沭M i鼻單元的一個執行的命令的程式語 u现的步驟;
1234737 六、申請專利範圍 上述多種運算單元的 述資料處理區段以實 體電路裝置的設計方 的組合的步驟中,生 傳送時間的處理的資 用的組合。 法’該積體電路裝置 多種運算單元,可通 元的資料的路由來變 的組合,上述多種運 命令的處理的資料路 於: 生成可執行該中間記述的 執行用的組合的步驟; 的 生成配置上述多種運算單元的上 現上述執行用的組合的步驟。 、36 ·如申請專利範圍第35項的積 法,其特徵在於:在生成上述執行用 成用於疋日守調整具有適合於延遲資料 料路徑的運算單元而包含的上述執行 37 · —種積體電路裝置的設計方 具有資料處理區段,該區段中,佈置 過佈線組改變提供給上述多種運算單 更用於資料處理的上述多種運算單元 算單元包括具有適合於至少一個不同 徑的不同種類的運算單元,其特徵在 包括: 將該積體電路裝置中執行的處理的至少一部分變換為 用包含可由上述多種運算單元的一個執行的命令的程式語 言記述的中間記述的步驟; 生成可執行該中間記述的處理的上述多種運算單元的 執行用的組合的步驟; 生成上述執行用的組合需要的配置上述多種運算單元 的上述資料處理區段的步驟; 生成具有指示上述執行用的組合的命令的上述積體電 路裝置的執行程式的步驟。
\\ADM-H0ST\Users\lika\IMA11368.ptd 第 50 頁 1234737 v、申請專利範圍 38 ·如申請專利範圍第 法,其特徵在☆:上述多積體電路裝置的設計方 合於至少-個命令的處理的中的至少-個具有適 更該内部的資料路路徑和選擇和/或變 …二用的組合的步驟t,生成還包含上述 内部的貝枓路㈣選擇和/或變更的上述執行用的組合。 39壯一種積體電路裝置的執行程式的形成方法該積 巧電路裝置具有資料處理區段,言亥區段中,佈置多種運算 單兀iI通過佈線組改變提供給上述多種運算單元的資料 的路夕、變於資料處理的上述多種運算單元的組合, 上述:種運算單兀包括具有適合於至少一個不同命令的處 理的負料路徑的不同種類的運算單 其特徵在於: 包括: 、勺!Ϊ!?電ΐ裝置中執行的處理的至少-部分變換為 用包έ可由上$多種運料元的一個執行的命令的程 言記述的中間記述的步驟; 生成可執仃该中間記述的處理的上述多種運算單元 執行用的組合的步驟; 的 生成具有指示上述執行用的組合的命令的上述 式的步驟。 w程 40 .如申睛專利範圍第39項的積體電路裝置的執行 式的形成方法,其特徵在於:生成上述執行用的組合的: SI算Ϊ定St具有適合於上述命令的處理的資料路徑 的運算 的處理,生成包含具有適合於延遲資料的傳送
1234737 六、申請專利範圍 時間的處理的資料路徑的運算單元的上述執行用的組合。 4 1 ·如申請專利範圍第3 9項的積體電路裝置的執行程 式的形成方法,其特徵在於··上述多個運算單元中的至少 一個具有適合於至少一個命令的處理的内部資料路徑和選 擇和/或變更該内部的資料路徑的一部分的裝置, 在生成上述執行用的組合的步驟中,生成還包含上述 内部的資料路徑的選擇和/或變更的上述執行用的組合。
\\ADM-HOST\Users\lika\IMA11368.ptd 第52頁
TW091110952A 2001-05-24 2002-05-23 Integrated circuit device TWI234737B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001155759 2001-05-24

Publications (1)

Publication Number Publication Date
TWI234737B true TWI234737B (en) 2005-06-21

Family

ID=18999886

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091110952A TWI234737B (en) 2001-05-24 2002-05-23 Integrated circuit device

Country Status (9)

Country Link
US (2) US7191312B2 (zh)
EP (1) EP1391991A4 (zh)
JP (1) JP4208577B2 (zh)
KR (1) KR100952760B1 (zh)
CN (1) CN1274085C (zh)
CA (1) CA2448549A1 (zh)
EA (1) EA005344B1 (zh)
TW (1) TWI234737B (zh)
WO (1) WO2002095946A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412915B2 (en) * 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7542041B2 (en) * 2003-04-03 2009-06-02 Nxp B.V. Runtime configurable virtual video pipeline
JP2005018626A (ja) * 2003-06-27 2005-01-20 Ip Flex Kk 並列処理システムの生成方法
JP4423953B2 (ja) * 2003-07-09 2010-03-03 株式会社日立製作所 半導体集積回路
JP3887622B2 (ja) * 2003-10-17 2007-02-28 松下電器産業株式会社 データ処理装置
US20050093572A1 (en) * 2003-11-03 2005-05-05 Macronix International Co., Ltd. In-circuit configuration architecture with configuration on initialization function for embedded configurable logic array
US20050097499A1 (en) * 2003-11-03 2005-05-05 Macronix International Co., Ltd. In-circuit configuration architecture with non-volatile configuration store for embedded configurable logic array
US20050102573A1 (en) * 2003-11-03 2005-05-12 Macronix International Co., Ltd. In-circuit configuration architecture for embedded configurable logic array
US7425841B2 (en) * 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
JP4208919B2 (ja) * 2004-03-19 2009-01-14 アイピーフレックス株式会社 活性化コードの生成方法
JP4546775B2 (ja) 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路
WO2006019165A1 (ja) 2004-08-20 2006-02-23 Ipflex Inc. ラベルイメージの生成方法および画像処理システム
US7330050B2 (en) 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
JP3810419B2 (ja) * 2004-12-07 2006-08-16 松下電器産業株式会社 再構成可能な信号処理プロセッサ
JP4810090B2 (ja) 2004-12-20 2011-11-09 キヤノン株式会社 データ処理装置
JP4654731B2 (ja) * 2005-03-31 2011-03-23 富士ゼロックス株式会社 集積回路装置および信号処理装置
US7926055B2 (en) 2005-04-12 2011-04-12 Panasonic Corporation Processor capable of reconfiguring a logical circuit
US7389481B2 (en) * 2005-05-12 2008-06-17 International Business Machines Corporation Integrated circuit design utilizing array of functionally interchangeable dynamic logic cells
JP4720436B2 (ja) 2005-11-01 2011-07-13 株式会社日立製作所 リコンフィギュラブルプロセッサまたは装置
JP2007141132A (ja) * 2005-11-22 2007-06-07 Renesas Technology Corp 動的再構成可能プロセッサおよびそれを制御するプロセッサ制御プログラム
JPWO2007074583A1 (ja) * 2005-12-27 2009-06-04 パナソニック株式会社 再構成可能な演算器を持つプロセッサ
JP4838009B2 (ja) * 2006-02-22 2011-12-14 富士通セミコンダクター株式会社 リコンフィグラブル回路
JP4782591B2 (ja) * 2006-03-10 2011-09-28 富士通セミコンダクター株式会社 リコンフィグラブル回路
JP4702159B2 (ja) * 2006-04-25 2011-06-15 富士ゼロックス株式会社 集積回路装置
WO2008026731A1 (fr) * 2006-08-31 2008-03-06 Ipflex Inc. Procédé et système pour le montage d'un modèle de circuit sur un dispositif reconfigurable
JP4866194B2 (ja) 2006-09-29 2012-02-01 富士通セミコンダクター株式会社 集積回路及びリコンフィギュラブル回路の入力データ制御方法
JP5079342B2 (ja) 2007-01-22 2012-11-21 ルネサスエレクトロニクス株式会社 マルチプロセッサ装置
TW200849087A (en) * 2007-06-01 2008-12-16 Holtek Semiconductor Inc Method of accelerating the excution of repeatative commands and its micro controller
EP2201569A4 (en) 2007-09-06 2011-07-13 Tabula Inc CONFIGURATION CONTEXT SWITCH
JP5119902B2 (ja) * 2007-12-19 2013-01-16 富士通セミコンダクター株式会社 動的再構成支援プログラム、動的再構成支援方法、動的再構成回路、動的再構成支援装置および動的再構成システム
WO2009148021A1 (ja) * 2008-06-03 2009-12-10 株式会社日立製作所 パケット解析装置
EP2175374A1 (en) * 2008-10-08 2010-04-14 Panasonic Corporation Method and apparatus for scalable array configuration
DE102008037431B4 (de) * 2008-10-10 2013-06-06 Lear Corporation Gmbh Verfahren zur dynamischen Konfiguration eines Signalaufbereiters
JP5590849B2 (ja) * 2009-10-08 2014-09-17 キヤノン株式会社 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、その制御装置、およびその制御方法、プログラム
JP2011209948A (ja) * 2010-03-29 2011-10-20 Canon Inc 情報処理装置、情報処理方法、プログラム及び記憶媒体
US8996906B1 (en) 2010-05-13 2015-03-31 Tabula, Inc. Clock management block
US9148151B2 (en) 2011-07-13 2015-09-29 Altera Corporation Configurable storage elements
JP5653865B2 (ja) * 2011-08-23 2015-01-14 日本電信電話株式会社 データ処理システム
WO2014103235A1 (ja) 2012-12-25 2014-07-03 日本電気株式会社 演算装置及び演算方法
US9000801B1 (en) 2013-02-27 2015-04-07 Tabula, Inc. Implementation of related clocks
EA201591613A1 (ru) * 2013-03-01 2016-05-31 Атонарп Инк. Устройство обработки данных и способ управления им
US10833843B1 (en) * 2015-12-03 2020-11-10 United Services Automobile Association (USAA0 Managing blockchain access
FR3063855B1 (fr) * 2017-03-08 2019-04-12 Areva Np Circuit logique programmable de commande d'une installation electrique, en particulier une installation nucleaire, dispositif et procede de commande associes
AU2018248439C1 (en) * 2017-04-06 2021-09-30 Goldman Sachs & Co. LLC General-purpose parallel computing architecture
US10796048B1 (en) * 2017-06-16 2020-10-06 Synopsys, Inc. Adding delay elements to enable mapping a time division multiplexing circuit on an FPGA of a hardware emulator
CN111897580B (zh) * 2020-09-29 2021-01-12 北京清微智能科技有限公司 一种可重构阵列处理器的指令调度系统及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4967340A (en) * 1985-06-12 1990-10-30 E-Systems, Inc. Adaptive processing system having an array of individually configurable processing components
US4943909A (en) * 1987-07-08 1990-07-24 At&T Bell Laboratories Computational origami
US5450557A (en) * 1989-11-07 1995-09-12 Loral Aerospace Corp. Single-chip self-configurable parallel processor
WO1994028475A1 (en) * 1993-05-28 1994-12-08 Regents Of The University Of California Field programmable logic device with dynamic interconnections to a dynamic logic core
US5457644A (en) * 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
GB9403030D0 (en) * 1994-02-17 1994-04-06 Austin Kenneth Re-configurable application specific device
US5426378A (en) * 1994-04-20 1995-06-20 Xilinx, Inc. Programmable logic device which stores more than one configuration and means for switching configurations
US5692147A (en) * 1995-06-07 1997-11-25 International Business Machines Corporation Memory mapping method and apparatus to fold sparsely populated structures into densely populated memory columns or rows by selectively transposing X and Y address portions, and programmable gate array applications thereof
GB9611994D0 (en) * 1996-06-07 1996-08-07 Systolix Ltd A field programmable processor
US6057367A (en) 1996-08-30 2000-05-02 Duke University Manipulating nitrosative stress to kill pathologic microbes, pathologic helminths and pathologically proliferating cells or to upregulate nitrosative stress defenses
US5841296A (en) * 1997-01-21 1998-11-24 Xilinx, Inc. Programmable delay element
US5966534A (en) * 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
JP3850531B2 (ja) * 1997-10-21 2006-11-29 株式会社東芝 再構成可能な回路の設計装置、及び再構成可能な回路装置
US6122719A (en) * 1997-10-31 2000-09-19 Silicon Spice Method and apparatus for retiming in a network of multiple context processing elements
JP3123977B2 (ja) * 1998-06-04 2001-01-15 日本電気株式会社 プログラマブル機能ブロック
DE60025435T2 (de) * 1999-09-13 2006-09-21 Nippon Telegraph And Telephone Corp. Parallelverarbeitungsvorrichtung und -verfahren
US6633181B1 (en) * 1999-12-30 2003-10-14 Stretch, Inc. Multi-scale programmable array
US6469540B2 (en) * 2000-06-15 2002-10-22 Nec Corporation Reconfigurable device having programmable interconnect network suitable for implementing data paths
US20030088757A1 (en) * 2001-05-02 2003-05-08 Joshua Lindner Efficient high performance data operation element for use in a reconfigurable logic environment

Also Published As

Publication number Publication date
CA2448549A1 (en) 2002-11-28
WO2002095946A1 (fr) 2002-11-28
US20030184339A1 (en) 2003-10-02
CN1274085C (zh) 2006-09-06
KR20040004631A (ko) 2004-01-13
JPWO2002095946A1 (ja) 2004-09-09
US20070186078A1 (en) 2007-08-09
CN1518798A (zh) 2004-08-04
EA200301290A1 (ru) 2004-06-24
KR100952760B1 (ko) 2010-04-14
US7191312B2 (en) 2007-03-13
US7577821B2 (en) 2009-08-18
JP4208577B2 (ja) 2009-01-14
EP1391991A4 (en) 2007-10-24
EP1391991A1 (en) 2004-02-25
EA005344B1 (ru) 2005-02-24

Similar Documents

Publication Publication Date Title
TWI234737B (en) Integrated circuit device
US7779380B2 (en) Data processing apparatus including reconfigurable logic circuit
Singh et al. PITIA: an FPGA for throughput-intensive applications
US7906987B2 (en) Semiconductor integrated circuit, program transformation apparatus, and mapping apparatus
CN112602054A (zh) 乘法器累加器电路、用于乘法累加的逻辑瓦片架构和包括逻辑瓦片阵列的ic
JP6250548B2 (ja) 再構成可能な半導体装置の論理構成方法
DeHon Fundamental underpinnings of reconfigurable computing architectures
Jara-Berrocal et al. VAPRES: A virtual architecture for partially reconfigurable embedded systems
Athanas et al. Wires on demand: Run-time communication synthesis for reconfigurable computing
Lin Reconfigurable parallel inner product processor architectures
Kamaleldin et al. Towards a modular RISC-V based many-core architecture for FPGA accelerators
Yazdanshenas et al. Automatic circuit design and modelling for heterogeneous FPGAs
US10867090B2 (en) Method and apparatus for implementing an application aware system on a programmable logic device
Kamaleldin et al. Agiler: An adaptive heterogeneous tile-based many-core architecture for risc-v processors
WO2004088500A1 (ja) プログラマブル論理デバイス
WO2006059775A2 (en) Dynamically reconfigurable processor
CN109902040A (zh) 一种集成fpga和人工智能模块的系统芯片
Venkateswaran et al. Coprocessor design for multilayer surface-mounted PCB routing
Patterson et al. Slotless module-based reconfiguration of embedded FPGAs
Kapre Packet-switched on-chip FPGA overlay networks
Chen et al. An Open-Source $4\times 8$ Coarse-Grained Reconfigurable Array Using SkyWater 130 nm Technology and Agile Hardware Design Flow
Hartenstein Morphware and configware
Vollala et al. Review of Hardware Techniques for Improving Performance of Modular Exponentiation
WO2004061722A1 (ja) 論理シミュレーション装置
Badel et al. Via-programmable structured ASIC fabric based on MCML cells: Design flow and implementation

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent