国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可重構(gòu)的裝置的制作方法

      文檔序號:7540030閱讀:209來源:國知局
      專利名稱:可重構(gòu)的裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種包括可重構(gòu)(重新構(gòu)成)的邏輯電路的裝置。
      背景技術(shù)
      可編程邏輯裝置的形態(tài)是被稱作現(xiàn)場可編程門陣列(FPGA) 的系統(tǒng)。FPGA具有可配置的(configurable)即用戶能夠編程(寫 入)所期望的邏輯函數(shù)的多個邏輯塊。
      在本申請的申請人所申請的國際7^開WO2005/022380號公 報(bào)中,公開了使由可重構(gòu)的邏輯電路構(gòu)成的硬件空間動態(tài)最佳 化的方案。記載有如下內(nèi)容在該可重構(gòu)的系統(tǒng)中,大幅度減 小向處于未使用或者備用狀態(tài)的功能分配的硬件資源,能夠向 原本應(yīng)該集中的信息處理集中分配硬件資源。通過使硬件空間 動態(tài)地最佳化,沒有必要如同現(xiàn)有的專用L SI那樣安裝全部的硬 件電路。因此,能夠利用較少的硬件資源得到高的執(zhí)行效率。
      在通用的處理器中提高處理能力的公知方法之一是提高 時鐘的頻率。然而,提高整個系統(tǒng)的時鐘頻率時,在功耗等點(diǎn) 上大多不利于系統(tǒng)性能的提高。取而代之,可提出只提高處理 能力不足的單元(或者功能的硬件資源集體)的時鐘頻率的方 案。在該事例中,要求設(shè)置提高時鐘頻率的單元和其它單元例 如補(bǔ)償與輸入輸出電路之間的時鐘頻率差的電路或者功能。另 外,提高處理能力的要求中沒有界限。在為高速地進(jìn)行處理而 已經(jīng)使時鐘頻率高的系統(tǒng)中能力不足的情況下,希望以更高頻 率的時鐘來驅(qū)動系統(tǒng)。其結(jié)果,需要解決龐大的功耗和龐大的 發(fā)熱之間的問題。

      發(fā)明內(nèi)容
      本發(fā)明的目的之一在于,在可重構(gòu)的邏輯電路中實(shí)現(xiàn)邏輯 安裝效率的提高。本發(fā)明的其它目的之一在于,容易將可重構(gòu) 的電路重構(gòu)為適合于其它電路處理狀況的邏輯。本發(fā)明的另外 其它目的之一在于,通過邏輯切換能夠有效地靈活運(yùn)用硬件資源。
      本發(fā)明的一個形態(tài)是具有可變更各個運(yùn)算塊的運(yùn)算邏輯 的多個運(yùn)算塊、以及用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的^各
      徑的路徑選擇矩陣的裝置。多個運(yùn)算塊中包含的運(yùn)算塊包括 邏輯運(yùn)算單元,其根據(jù)配置數(shù)據(jù)來決定邏輯;以及保存單元,
      其用于保存該邏輯運(yùn)算單元的運(yùn)算結(jié)果。并且,保存單元包括 多個保存元件;輸入單元,其根據(jù)配置數(shù)據(jù)選擇多個保存元件 中的任一個來保存邏輯運(yùn)算單元的輸出;以及輸出單元,其用 于將多個保存元件和路徑選擇矩陣進(jìn)行連接。
      該可重構(gòu)的裝置中包含的運(yùn)算塊具備數(shù)量比該運(yùn)算塊中 包含的邏輯運(yùn)算單元的輸出數(shù)更多的保存元件,能夠在其任一 個中保存邏輯運(yùn)算單元的輸出。并且,根據(jù)具備控制邏輯運(yùn)算 單元邏輯的功能的配置數(shù)據(jù),能夠選擇保存邏輯運(yùn)算單元的輸 出的保存元件。因而,某個周期中的邏輯運(yùn)算單元的輸出能夠 保存在基于配置數(shù)據(jù)的保存元件中,在下一個周期中,邏輯運(yùn) 算單元能夠進(jìn)行其次的邏輯運(yùn)算。作為運(yùn)算塊的輸出,在后續(xù) 周期中的任一個中,與其后續(xù)周期的邏輯運(yùn)算單元的邏輯無關(guān) 地,能夠輸出保存在保存元件中的運(yùn)算結(jié)果。根據(jù)配置數(shù)據(jù)選 擇保存元件的情形包括通過配置數(shù)據(jù)本身進(jìn)行指定的情形、 以及由配置數(shù)據(jù)所選擇的其它信號進(jìn)行指定的情形。
      該可重構(gòu)的裝置最好還具有配置數(shù)據(jù)提供單元,其從存 儲了多個集合的配置數(shù)據(jù)的配置存儲器中對運(yùn)算塊提供多個集
      合的配置數(shù)據(jù)中的任一個;以及配置控制單元,其用于決定接 著提供給運(yùn)算塊的下 一 個配置數(shù)據(jù)(next configuration data)。該
      可重構(gòu)的裝置適合如下用途通過配置控制單元自律地重構(gòu)系 統(tǒng)來執(zhí)行各種應(yīng)用程序。因而,適合以小規(guī)模設(shè)備來實(shí)現(xiàn)大規(guī) 模用戶電路的用途。
      該可重構(gòu)的裝置能夠提高配置數(shù)據(jù)單位的運(yùn)算塊的利用 效率。通過以周期為單位改變配置數(shù)據(jù)來重構(gòu)邏輯,從而實(shí)現(xiàn) 處理速度的提高。因而,代替提高運(yùn)算塊的時鐘頻率的方法, 或者與該方法 一起通過重構(gòu)邏輯的方法,能夠應(yīng)對可重構(gòu)的裝 置的處理能力提高的要求。
      在配置控制單元中包括用于以運(yùn)算塊單位進(jìn)行控制的單 元。另外,在配置控制單元中包含如下單元,該單元用于以由 多個運(yùn)算塊構(gòu)成的區(qū)段或者組單位對這些多個運(yùn)算塊中包含的 運(yùn)算塊的邏輯進(jìn)行控制。
      配置控制單元包含在各個運(yùn)算塊中,通過控制該運(yùn)算塊的 配置,能夠以運(yùn)算塊單位、即與運(yùn)算塊對應(yīng)的配置數(shù)據(jù)單位來 控制運(yùn)算塊的結(jié)構(gòu)。因此,能夠靈活地實(shí)現(xiàn)各種結(jié)構(gòu)。有可能 增加配置控制單元的結(jié)構(gòu)所需的硬件資源。另外,有可能要求 在每個配置數(shù)據(jù)中解決與相鄰運(yùn)算塊的接口調(diào)整。這有可能在 配置數(shù)據(jù)的生成中多少需要時間,但是能夠在配置的生成階段 中解決。
      配置控制單元通過控制多個運(yùn)算塊的配置,能夠縮小配置 控制單元所需的硬件資源。另外,有可能對配置數(shù)據(jù)的縮小有 效果。并且,該控制方法以及結(jié)構(gòu)還能夠應(yīng)用在將運(yùn)算塊個別 重構(gòu)的情況,但是適合將多個運(yùn)算塊的結(jié)構(gòu)一并重構(gòu)的情況。
      保存單元的輸出單元包括多個保存元件能夠獨(dú)立從路徑 選擇矩陣進(jìn)行訪問的部分。能夠從保存元件的參照目的地、即
      將保存在保存元件中的數(shù)據(jù)設(shè)為必要的運(yùn)算塊,選擇保存元件。 因此,保存在保存元件中的數(shù)據(jù)的利用效率高。
      保存單元的輸出單元包含根據(jù)配置數(shù)據(jù)(聯(lián)動地)選擇多個 保存元件中的任一個來與路徑選擇矩陣連接的部分。在很多的 應(yīng)用程序中,保存在保存元件中的輸出之一或者限制的數(shù)量作 為自己或者其它運(yùn)算塊的輸入而有用的情形較多。因而,實(shí)現(xiàn) 保存元件的利用效率以及用于參照保存元件的布線資源的利用 效率的提高。
      另外,由邏輯運(yùn)算單元運(yùn)算的輸出作為同周期中的其它運(yùn) 算塊的輸入而有用的情形也多。因而,運(yùn)算塊最好具備將邏輯 運(yùn)算單元的輸出與保存單元分開而連接到路徑選擇矩陣上的直 接輸出單元。運(yùn)算塊具備如下的輸出選擇單元也是有效的,其 中,所述輸出選擇單元根據(jù)配置數(shù)據(jù)選擇邏輯運(yùn)算單元的輸出 以及多個保存元件中的任一個來與路徑選#^矩陣進(jìn)行連接。
      配置數(shù)據(jù)也可以包含對保存單元的輸入單元以及/或者輸 出單元直接進(jìn)行控制的信號或者信息。另外,也可以利用配置 數(shù)據(jù)以及/或者輸入數(shù)據(jù),生成用于根據(jù)配置數(shù)據(jù)來控制保存單 元的輸入單元以及/或者輸出單元的信號。能夠?qū)崿F(xiàn)配置數(shù)據(jù)中 包含的保存單元的控制信息的削減。因而,保存單元最好包含 保存控制單元,該保存控制單元生成對該輸入單元以及/或者輸 出單元進(jìn)行控制的保存控制信號。該保存控制單元的 一 個形態(tài) 是從路徑選擇矩陣提供的輸入數(shù)據(jù)以及配置數(shù)據(jù)中根據(jù)配置數(shù) 據(jù)生成控制信號。有效的是在由多個運(yùn)算塊構(gòu)成數(shù)據(jù)通路來進(jìn) 行多位運(yùn)算的情況下,如從路徑選擇矩陣提供并利用輸入數(shù)據(jù) 來選擇保存元件那樣,配置數(shù)據(jù)能夠設(shè)定保存控制單元。
      保存控制單元也能夠以運(yùn)算塊為單位進(jìn)行配置,利用配置 數(shù)據(jù)的保存單元的控制的靈活度高。保存控制單元也能夠以由
      多個運(yùn)算塊構(gòu)成的區(qū)段或者組為單位進(jìn)行配置,能夠減少保存 控制單元的結(jié)構(gòu)所需的硬件資源。以由多個運(yùn)算塊構(gòu)成的區(qū)段 或者組為單位進(jìn)行配置的保存控制單元,能夠控制這些區(qū)段或 者組中包含的各個運(yùn)算塊,并且適合總體控制這些區(qū)段或者組 中包含的多個運(yùn)算塊。
      本發(fā)明的其它方式是可重構(gòu)的裝置的控制系統(tǒng)??芍貥?gòu)的
      裝置具有各個運(yùn)算塊的運(yùn)算邏輯可變的多個運(yùn)算塊;以及路
      徑選擇矩陣,其用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的路徑,
      多個運(yùn)算塊中包含的運(yùn)算塊包含邏輯運(yùn)算單元,其根據(jù)配置 數(shù)據(jù)來決定邏輯;以及保存單元,其保存該邏輯運(yùn)算單元的運(yùn) 算結(jié)果,保存單元包含多個保存元件;輸入單元,其根據(jù)配 置數(shù)據(jù)選擇多個保存元件中的任一個來保存邏輯運(yùn)算單元的輸 出;以及輸出單元,其用于將多個保存元件和路徑選擇矩陣進(jìn) 行連接。該控制系統(tǒng)在將每個周期的電路映射到多個運(yùn)算塊時, 根據(jù)配置數(shù)據(jù)將每個周期的電路中包含的用于輸入以及/或者 輸出的不同的寄存器分配給多個保存元件中包含的不同的保存 元件。
      本發(fā)明的另外其它方式是可重構(gòu)的裝置的控制方法。可重 構(gòu)的裝置具有與上述相同的多個運(yùn)算塊以及路徑選擇矩陣,運(yùn) 算塊包含邏輯運(yùn)算單元,其根據(jù)配置數(shù)據(jù)來決定邏輯;以及 保存單元,其保存該邏輯運(yùn)算單元的運(yùn)算結(jié)果,保存單元包含 多個保存元件;輸入單元,其根據(jù)配置數(shù)據(jù)選擇多個保存元件 中的任一個來保存邏輯運(yùn)算單元的輸出;以及輸出單元,其用 于將多個保存元件和路徑選擇矩陣進(jìn)行連接。該控制方法在將 每個周期的電路映射到多個運(yùn)算塊時,根據(jù)配置數(shù)據(jù)將每個周 期的電路中包含的用于輸入以及/或者輸出的不同的寄存器分 配給多個保存元件中包含的不同的保存元件。
      可重構(gòu)的裝置包含配置數(shù)據(jù)提供單元,該配置數(shù)據(jù)提供單 元用于從存儲了多個集合的配置數(shù)據(jù)的配置存儲器中對運(yùn)算塊 提供多個集合的配置數(shù)據(jù)中的任一個,該控制方法最好包含決 定接著提供給運(yùn)算塊的下 一 個配置數(shù)據(jù)的步驟。決定下 一 個配 置數(shù)據(jù)的情況包含以運(yùn)算塊為單位決定的情況。決定下 一 個配 置數(shù)據(jù)的情況包含以多個運(yùn)算塊為單位決定的情況。
      本發(fā)明的另外其它方式是用于生成可重構(gòu)的裝置的配置 數(shù)據(jù)的系統(tǒng)??芍貥?gòu)的裝置具備與上述相同的多個運(yùn)算塊和路
      徑選擇矩陣。該系統(tǒng)具有生成用戶電路的每個周期的RTL記 述的單元;將每個周期的RTL記述按每個周期進(jìn)行邏輯合成的 單元;以及生成配置數(shù)據(jù)的單元,在將邏輯合成的每個周期的 電路映射到多個運(yùn)算塊時,生成用于將每個周期的電路中包含 的用于輸入以及/或者輸出的不同的寄存器分配給多個保存元 件中包含的不同的保存元件的配置數(shù)據(jù)。
      本發(fā)明的另外其它方式是生成用于可重構(gòu)的裝置的配置 數(shù)據(jù)的方法??芍貥?gòu)的裝置具備與上述相同的多個運(yùn)算塊和路 徑選擇矩陣。該方法包含如下步驟。
      1. 生成用戶電路的每個周期的RTL記述的步驟;
      2. 按每個周期對每個周期的RTL記述進(jìn)行邏輯合成的步
      驟;
      3. 生成配置數(shù)據(jù)的步驟,在將邏輯合成的每個周期的電路 映射到多個運(yùn)算塊時,生成用于將每個周期的電路中包含的用 于輸入以及/或者輸出的不同的寄存器分配給多個保存元件中 包含的不同的保存元件的配置數(shù)據(jù)。


      圖1是表示可重構(gòu)的裝置 一 例的集成電路裝置(設(shè)備)的概
      要結(jié)構(gòu)的圖。
      圖2是表示圖l的設(shè)備中包含的運(yùn)算塊(PB)的概要結(jié)構(gòu)的
      圖3是表示圖2的PB中包含的邏輯運(yùn)算單元(LOU)的 一例的圖。
      圖4是表示圖l的設(shè)備中包含的保存控制單元的一例的圖。
      圖5是表示用戶電路的RTL記述的一例的圖。
      圖6是表示FPGA的 一例的圖。
      圖7是表示FPGA的運(yùn)算塊的一例的圖。
      圖8是表示向FPGA映射用戶電路的過程的流程圖。
      圖9是將用戶電路進(jìn)行邏輯合成的電路圖。
      圖IO是表示將電路圖映射到FPGA的樣子的圖。
      圖ll是表示向可重構(gòu)的設(shè)備映射用戶電路的過程的流程圖。
      圖12是表示生成配置數(shù)據(jù)的系統(tǒng)的概要結(jié)構(gòu)的圖。 圖13是將用戶電路以周期為單位進(jìn)行邏輯合成后的電路映 射到單個寄存器的運(yùn)算塊(PBS)的樣子的圖,圖13(a)表示狀態(tài) 00,圖13(b)表示狀態(tài)01,圖13(c)表示狀態(tài)10,圖13(d)表示狀 態(tài)ll。
      圖14是表示將用戶電路映射到包含多路FF的設(shè)備的例子 的圖,圖14(a)表示狀態(tài)00,圖14(b)表示狀態(tài)01 ,圖14(c)表示 狀態(tài)10,圖14(d)表示狀態(tài)11。
      圖15是表示利用配置數(shù)據(jù)進(jìn)行的設(shè)備的控制的流程圖。 圖16是表示與配置數(shù)據(jù)的保存控制有關(guān)的部分的 一 例的
      圖17是表示與配置數(shù)據(jù)的保存控制有關(guān)的部分的不同例子 的圖。
      圖18是表示用戶電路的不同的例子的圖。
      圖19是表示將圖18所示的用戶電路映射到FPGA的例子的圖。
      圖20是表示將圖18所示的用戶電路映射到可重構(gòu)的設(shè)備的 例子的圖,圖20(a)表示狀態(tài)0,圖20(b)表示狀態(tài)l。
      圖21是表示將圖18所示的用戶電路映射到可重構(gòu)的設(shè)備的 不同例子的圖,圖21(a)表示狀態(tài)00,圖21(b)表示狀態(tài)01 ,圖21(c) 表示狀態(tài)10 ,圖21 (d)表示狀態(tài)11 。
      圖22是表示用戶電路的不同例子的圖。
      圖23是表示將圖22所示的用戶電路映射到FPGA的例子的
      圖24是表示將圖22所示的用戶電路映射到可重構(gòu)的設(shè)備的 例子的圖,圖24(a)表示狀態(tài)0,圖24(b)表示狀態(tài)l。 圖25是表示運(yùn)算塊的不同例子的圖。 圖26是表示運(yùn)算塊的進(jìn)一步不同例子的圖。 圖27是表示運(yùn)算塊的進(jìn)一步不同例子的圖。 圖28是表示運(yùn)算塊的進(jìn)一步不同例子的圖。 圖29是表示運(yùn)算塊的進(jìn)一步不同例子的圖。 圖30是表示運(yùn)算塊的進(jìn)一步不同例子的圖。 圖31是表示運(yùn)算塊的進(jìn)一步不同例子的圖。 圖3 2是表示保存控制單元的不同例子的圖。 圖33是表示包含可重構(gòu)的設(shè)備的數(shù)據(jù)處理裝置的 一 例的
      具體實(shí)施例方式
      可重構(gòu)電路的裝置包含在使硬件空間動態(tài)最佳化的系統(tǒng) 中。該系統(tǒng)的處理量瞬間增加時的應(yīng)對方法之一是增加為了處理量增加的處理而分配的硬件資源,減少為了其它緊急性低的 處理而分配的硬件資源。在該系統(tǒng)中有如下可能性如果可重 構(gòu)的硬件資源的量不夠充分,則即使改變硬件資源的分配也難 以充分應(yīng)對處理速度提高的要求,也不能充分應(yīng)對處理能力提
      高的要求。
      在使硬件空間動態(tài)最佳化的系統(tǒng)中,在與現(xiàn)有處理器相同 意義上,通過提高時鐘頻率能夠提高處理能力。然而,提高時 鐘頻率在功耗等點(diǎn)上不能說是最好的應(yīng)對方法,這是公認(rèn)的。
      在可重構(gòu)的系統(tǒng)中,代替提高時鐘頻率、或者除了提高時 鐘頻率以外,也能夠采用重新排列硬件資源來提高處理的并行 度從而提高處理速度的方法。在可重構(gòu)的系統(tǒng)中,為了提高要 求處理速度的處理的并行度,能夠使用為了并行沖丸行其它處理 或者功能而使用或者挪用的硬件資源。即,可重構(gòu)的系統(tǒng)是實(shí) 現(xiàn)利用邏輯切換的有效電路規(guī)模的增大并有效地靈活運(yùn)用硬件 資源的系統(tǒng)。因而,在提供處理速度快、經(jīng)濟(jì)的可重構(gòu)的系統(tǒng) 方面重要的是能夠以更多目的靈活使用可重構(gòu)的硬件資源。
      以集成電路裝置的方式說明本發(fā)明的實(shí)施方式中的可重 構(gòu)的裝置。該集成電路裝置(設(shè)備)包含多個運(yùn)算塊,運(yùn)算塊包 含利用配置數(shù)據(jù)可變更邏輯的邏輯運(yùn)算單元、以及數(shù)量比邏輯 運(yùn)算單元的輸出數(shù)更多的保存元件。根據(jù)配置數(shù)據(jù)能夠選擇保 存邏輯運(yùn)算單元的輸出的保存元件,從而在基于配置數(shù)據(jù)的規(guī) 定的保存元件中保存某周期中的邏輯運(yùn)算單元的輸出。因此, 在各個運(yùn)算塊中,前周期的輸出根據(jù)配置數(shù)據(jù)而與下一個周期 中的邏輯運(yùn)算單元的邏輯運(yùn)算結(jié)果(輸出)分開、或者作為獨(dú)立 的數(shù)據(jù)(數(shù)據(jù)集合)而被處理。因此,能夠以周期為單位靈活利 用各個運(yùn)算塊。
      因而,在以下的實(shí)施方式的集成電路裝置中映射用于實(shí)現(xiàn)
      用戶應(yīng)用程序的用戶電路的方法之一具有以下工序。
      al.生成用戶電^各的每個周期的RTL(Register Transfer
      Level:寄存器傳輸級)記述。
      a2.在每個周期對每個周期的RTL記述進(jìn)行邏輯合成。 a3.將邏輯合成的每個周期的電路映射到多個運(yùn)算塊時,
      進(jìn)行映射使得在規(guī)則的范圍內(nèi)將每個周期的電路中包含的輸入
      以及/或者輸出的不同的寄存器分配給多個保存元件中的不同
      的保存元件。
      在每個周期的電路中包含的輸入以及/或者輸出的不同的 寄存器中包含保存邏輯運(yùn)算中具有不同意義的數(shù)據(jù)的寄存器, 其中所述數(shù)據(jù)是作為輸入而參照的數(shù)據(jù);鎖存由不同的輸入以 及/或者邏輯運(yùn)算生成(輸出)的數(shù)據(jù)的寄存器等。
      由運(yùn)算塊中包含的保存單元的結(jié)構(gòu)決定規(guī)則。例如,如果 是多個保存元件的全部都能夠從路徑選擇矩陣自由地進(jìn)行參照 的系統(tǒng),則在用戶電路中能夠?qū)⒍鄠€作為輸入的寄存器而參照 的寄存器分別分配給一個運(yùn)算塊的多個保存元件。如果是從路 徑選擇矩陣參照多個保存元件內(nèi)的所選擇的一個保存元件的系 統(tǒng),則在某周期要求多個輸入的寄存器的電路作為用戶電路的 一部分而被邏輯合成的情況下,這些輸入的寄存器不被分配給 一個運(yùn)算塊的保存元件,而是被分配給多個運(yùn)算塊的保存元件。
      在該集成電路裝置中,能夠?qū)⒃诤罄m(xù)的周期需要的運(yùn)算結(jié) 果保存在保存元件的一個中來代替每次進(jìn)行運(yùn)算。例如,在包 含N個運(yùn)算塊的系統(tǒng)中,最好是在各周期中N個運(yùn)算塊分別進(jìn)行 期望的邏輯運(yùn)算。另一方面,N個運(yùn)算塊的運(yùn)算結(jié)果在各周期 中全部被使用,幾乎沒有在后續(xù)周期中不需要的電路。每當(dāng)在 后續(xù)周期中需要時,能夠?qū)⒃撨壿嬤\(yùn)算分配給運(yùn)算塊來重新運(yùn) 算。代替重新運(yùn)算,能夠使用保存在保存元件中的數(shù)據(jù),從而
      能夠提高運(yùn)算塊的利用效率。
      本實(shí)施方式的可重構(gòu)的系統(tǒng),能夠以用于決定邏輯運(yùn)算單
      元邏輯的配置數(shù)據(jù)的單位或者定時(timing),選^^保存邏輯運(yùn)算 單元的輸出的保存元件。因而,在通過某運(yùn)算塊執(zhí)行多個邏輯 的情況下,該運(yùn)算塊中包含的邏輯運(yùn)算單元的運(yùn)算邏輯以配置 數(shù)據(jù)的單位或者定時相繼轉(zhuǎn)移。另外,與邏輯運(yùn)算單元的運(yùn)算 邏輯獨(dú)立地,能夠以配置數(shù)據(jù)的單位或者定時來選#^從運(yùn)算塊 輸出的運(yùn)算結(jié)果或者使得選擇從運(yùn)算塊輸出的運(yùn)算結(jié)果。
      因此,能夠?qū)⑦\(yùn)算塊中包含的邏輯運(yùn)算單元的運(yùn)算時期與 該邏輯運(yùn)算輸出的請求時期分離。在進(jìn)行邏輯運(yùn)算后能夠立刻 開放邏輯運(yùn)算單元,因此能夠最大限度地利用邏輯運(yùn)算單元的 運(yùn)算能力。而且,保存邏輯運(yùn)算單元的輸出的保存元件根據(jù)決 定邏輯運(yùn)算單元邏輯的配置數(shù)據(jù)而被選4奪,因此能夠模擬地從 一個運(yùn)算塊輸出由配置數(shù)據(jù)指定的多個邏輯的運(yùn)算結(jié)果。另外 在運(yùn)算塊中,不需要為了重復(fù)輸出相同的邏輯運(yùn)算的輸出而使 邏輯運(yùn)算單元重復(fù)相同的邏輯運(yùn)算,因此邏輯運(yùn)算單元可以立
      即轉(zhuǎn)移到其次的邏輯運(yùn)算從而有助于提高系統(tǒng)的處理能力。
      圖l示出了本發(fā)明中包含的可重構(gòu)的裝置的一個實(shí)施方式 的集成電路裝置的概要結(jié)構(gòu)。該集成電路裝置(設(shè)備)10具有 可改變各個運(yùn)算邏輯的多個運(yùn)算塊(Processing Block(PB,處理 塊)或者Configurable Logic Block(CLB,可配置邏輯塊)、之后 是PB)13;路徑選擇矩陣15,其用于構(gòu)成將這些多個運(yùn)算塊13 進(jìn)行連接的路徑(線路、電路、傳輸路徑);配置存儲器ll,其 存儲了多個集合的配置數(shù)據(jù)17;配置控制單元12,其用于提供 配置數(shù)據(jù)17中的任一個;以及保存控制單元40,其用于控制運(yùn) 算塊13中包含的保存單元。配置控制單元12從配置存儲器11對 運(yùn)算塊13提供多個集合的配置數(shù)據(jù)17中的任何一個。保存控制
      單元40生成對運(yùn)算塊13中包含的保存單元進(jìn)行控制的保存控制 信號19。
      圖2示出了運(yùn)算塊13的結(jié)構(gòu)的一例。PB 13具備邏輯運(yùn)算 單元(Logical Operating Unit(LOU))21 ,其根據(jù)配置數(shù)據(jù)17中包 含的功能數(shù)據(jù)24決定邏輯;以及保存單元30,其保存該LOU21 的運(yùn)算結(jié)果。該LOU 21對于4個輸入信號23,輸出一個輸出信 號25。 PB 13的保存單元30用于臨時保存LOU21的輸出信號25。 保存單元30具備多路FF31,其具備比輸出信號25更多的4個 保存元件31r;輸入單元32,其根據(jù)保存控制信號1 9選擇多個保 存元件31r的任一個來保存輸出信號25;以及輸出單元33,其將 多個保存元件31和^各徑選擇矩陣15進(jìn)行連接。并且,PB 13具備 直接輸出線(布線)2 9,其將L () U 2 1的輸出信號2 5直接輸出到路 徑選擇矩陣15。
      LOU 21的一個例子是查詢表式的函數(shù)發(fā)生裝置。查詢表式 的函數(shù)發(fā)生裝置的一例是FPGA等中采用的裝置。LOU 21的其 它例子是能夠基于時鐘周期(基于周期(cycle base))變更邏輯的 裝置。圖3是本申請的申請人在國際公開WO2005/022380號公報(bào) 中提出的解碼器方式的邏輯運(yùn)算電路,是能夠基于周期變更邏 輯的LOU 21的一例。
      圖3的LOU 21包含4輸入的解碼器21a和16輸入l輸出的選 擇器21b。 LOU 21從16位的功能數(shù)據(jù)24通過4位的輸入23選擇1 位的輸出信號25來輸出。LOU 21進(jìn)一步通過2位的模式信號21c 能夠作為3輸入1輸出的邏輯運(yùn)算電路、2輸入1輸出的邏輯運(yùn)算 電路而發(fā)揮功能,而不限于4輸入1輸出的邏輯運(yùn)算電路。在LOU 21中通過改變功能數(shù)據(jù)24,能夠以周期為單位安裝4輸入AND、 4輸入NAND等20種以上的邏輯。因此,根據(jù)以周期為單位提供 的不同的邏輯對以周期為單位提供的輸入信號23進(jìn)行運(yùn)算,生
      成輸出信號25。
      保存單元30具備包含4個觸發(fā)器或者寄存器31r的寄存器群 (以后稱為多路FF或者多寄存器)31。 4個觸發(fā)器或者寄存器31r 是保存元件,提供LOU21的輸出信號25。保存單元30的輸出單 元33包含選擇器。輸出單元33在之后有時作為選擇器33或者讀 出選擇器33而被參照。選擇器33能夠通過保存控制信號19中包 含的輸出控制信號19o來選擇多路FF 31的寄存器31r,作為輸出 信號39讀出其當(dāng)前it。
      保存單元30的輸入單元32包含解碼器。以后,輸入單元32 有時作為解碼器3 2而被參照。解碼器3 2根據(jù)保存控制信號19中 包含的輸入控制信號1 9i選擇多路FF 31的一個寄存器31r。并且, 輸入單元32將保存控制信號19中包含的寫入使能信號19t作為 寫入使能信號19e而輸出到被選擇的寄存器31r。
      在可重構(gòu)該邏輯的設(shè)備10中,根據(jù)配置控制單元中包含的 配置指定寄存器12r的值16,在每個時鐘周期選擇配置存儲器陣 列l(wèi)l中的一個。由此,確定配置數(shù)據(jù)17。根據(jù)配置數(shù)據(jù)17,確 定各時鐘周期中的PB 13、保存控制單元40、以及可配置的路徑 選擇矩陣15的形態(tài)。
      保存控制單元4 0根據(jù)配置數(shù)據(jù)1 7生成保存控制信號1 9 。保 存控制信號19通過可配置的路徑選擇矩陣1 5被發(fā)送到各PB 1 3 的保存單元30。該保存控制單元40根據(jù)配置數(shù)據(jù)17中包含的保 存控制數(shù)據(jù),從該保存控制數(shù)據(jù)生成保存控制信號19?;蛘?, 保存控制單元40基于配置數(shù)據(jù)17中包含的保存控制數(shù)據(jù),根據(jù)19。
      PB 13的保存單元30的讀出選擇器33根據(jù)保存控制信號(寄 存器選擇信號)19中的輸出控制信號(讀出寄存器選擇信
      號)19c),選擇多路FF 31中的一個寄存器31r。其結(jié)果,選擇器 33將保存在被選擇的寄存器31r中的值輸出到可配置的路徑選 擇矩陣15?;蛘?,選擇器33設(shè)為其它PB 13能夠通過可配置的路
      在某個時鐘周期,PB 13的組合邏輯運(yùn)算單元21對從可配 置的路徑選擇矩陣1 5取得的輸入信號23 ,進(jìn)行由配置數(shù)據(jù)17中 的面向該P(yáng)B的功能數(shù)據(jù)24指示的組合邏輯運(yùn)算,并輸出運(yùn)算結(jié) 果25 。該輸出25通過直接輸出布線29輸出到可配置的路徑選擇 矩陣15。邏輯運(yùn)算單元21的輸出(運(yùn)算結(jié)果)25同時作為寄存器 寫入數(shù)據(jù)還被發(fā)送到保存單元30。運(yùn)算結(jié)果25作為寄存器寫入 數(shù)據(jù)而連接到內(nèi)置于PB 13中的多路FF 31的全部寄存器31r的 數(shù)據(jù)輸入信號中。
      根據(jù)利用保存控制信號19從作為保存輸入控制單元的解 碼器32提供的寫入使能信號19e,控制運(yùn)算結(jié)果25寫入到哪個寄 存器31r。即,如果寫入使能信號19t無效,則各寄存器31的寫 入使能信號19e全部為無效,如果寫入使能信號19t有效,則各 寄存器31的寫入使能信號19e中的某一個成為有效,并保存運(yùn)算 輸出25。
      該時鐘周期結(jié)束時,更新各PB 13的多寄存器31之中寫入 使能信號19e有效的寄存器31r的值。與此同時,根據(jù)由任一個 P B 1 3生成并輸出到可配置的路徑選擇矩陣1 5的向配置指定寄 存器12r的寫入信號20,更新配置指定寄存器12r的選擇值16。 由此,決定下一個配置。到此為止是設(shè)備10中的l個時鐘周期的 處理。
      在其次的時鐘周期中,重新根據(jù)配置指定寄存器12r的選擇 值16來選擇配置存儲器陣列l(wèi)l中的一個,確定配置數(shù)據(jù)17。其 結(jié)果,確定PB13、保存控制單元40、以及可配置的路徑選擇矩
      陣15的形態(tài),以與前面的周期相同的過程進(jìn)行之后的處理。這 樣,設(shè)備10中的動作過程在每個周期相同。另一方面,左右設(shè)
      備10的動作結(jié)果的配置數(shù)據(jù)17能夠在每個周期中改變,能夠在 各PB 13中在各周期進(jìn)行不同的處理。
      圖4中示出了保存控制單元40的結(jié)構(gòu)。該保存控制單元40 包含選擇器群41。該選擇器群41根據(jù)配置數(shù)據(jù)17從配置數(shù)據(jù)17 中的規(guī)定部分選擇輸出控制信號(2位)19q、輸入控制信號(2 位)19i、寫入使能信號(l位)19t。選擇器群41也可以根據(jù)從可配 置的路徑選擇矩陣1 5取得的輸入信號1 8 ,選擇這些信號9o 、 19i 以及19t。保存控制單元40能夠單純地、獨(dú)立地生成對全部PB 13 的控制信號19。在圖4所示的保存控制單元40中,關(guān)于從可配置 路徑選擇矩陣15提供給單元40的輸入信號18,讀出選擇用信號、 寫入選擇用信號、寫入使能用信號對于全部PB 13共用。通過減 少配置數(shù)據(jù)1 7的量以及可配置的路徑選4奪矩陣1 5中包含的輸入 信號1 8的個數(shù),能夠防止由數(shù)據(jù)以及/或者路徑選擇矩陣消耗硅 面積。
      配置數(shù)據(jù)17中包含的用于控制選擇器41的信息作為控制 信號45而提供給圖4所示的保存控制單元40??刂菩盘?5不是對 每個PB獨(dú)立準(zhǔn)備的,而是通過對控制信號45編碼"個數(shù)"從而減 少信號線的數(shù)量。例如,控制信號45包含表示"選擇作為輸出控 制信號19o從可配置的路徑選擇矩陣15取得的信號1 8的PB的數(shù) 量"的信號。其結(jié)果,對應(yīng)于各PB而設(shè)置的比較器46比較控制 信號45和自己的PB編號,向與自己的PB 13對應(yīng)的選擇器41提 供控制信號。
      例如,如果控制信號45是"0",則全部的比較器46變成"假"。 因此,保存控制單元40被設(shè)定成不是從可配置的路徑選擇矩陣 15取得的信號18而是配置數(shù)據(jù)17的規(guī)定信號被選擇為輸出控制
      信號19c)。如果控制信號45是"2",則左側(cè)的兩個PB 13的比較器 46變成真。因此,在保存控制單元40中,根據(jù)/人可配置的路徑
      19o。根據(jù)配置數(shù)據(jù)17的規(guī)定的信號生成右側(cè)剩余的PB 13的輸 出控制信號19q。關(guān)于輸入控制信號19i、寫入使能信號19t的生 成,同樣根據(jù)配置數(shù)據(jù)1 7控制保存控制單元40。
      圖4所示的保存控制單元40的結(jié)構(gòu)雖然考慮了節(jié)約安裝保 存控制單元40所需的硅面積,但是在實(shí)際應(yīng)用中將用戶電路映 射到設(shè)備時的制約不那么嚴(yán)格。即,讀出/寫入寄存器的選擇在 大多數(shù)情況下被認(rèn)為是由配置數(shù)據(jù)17直接指定。在該事例中保 存控制單元40進(jìn)行控制使得能夠根據(jù)配置數(shù)據(jù)1 7讀寫各PB 1 3 中不同的寄存器31r。
      有根據(jù)從路徑選擇矩陣15取得的信號18想間接地/動態(tài)地 進(jìn)行寄存器31r的選擇的情形。例如是數(shù)據(jù)通路系統(tǒng)的多位運(yùn) 算。在多位運(yùn)算的情形中,幾乎不需要在各PB 13中讀寫不同的 寄存器31r。因此,幾乎沒有由于將來自路徑選擇矩陣15的信號 18作為多個PB用來共有而造成的缺點(diǎn)。但是,多位運(yùn)算的位數(shù) 考慮了各種可能性。因此,根據(jù)配置數(shù)據(jù)17能夠指定PB 13的個 數(shù)是有效的。
      另外,在通過數(shù)據(jù)通路系統(tǒng)的運(yùn)算控制而使用保存控制單 元40的情況下,保存控制單元40最好與數(shù)據(jù)通i 各運(yùn)算對應(yīng)地進(jìn) 行控制。在圖1所示的設(shè)備10中,通過一個保存控制單元40對全 體進(jìn)行共同控制(共有控制),與此相對如果是以數(shù)據(jù)通路系統(tǒng) 的運(yùn)算為主的設(shè)備,則最好對10或者20程度的PB 13的每組分配 保存控制單元,共同控制(共有控制)這些組中包含的PB l3。
      接著,說明將用戶電路映射到設(shè)備10的具體的例子。圖5 是利用Verilog代碼表示映射的對象的用戶電路51的圖。該用戶
      電路作為根據(jù)state(狀態(tài))寄存器的值執(zhí)行4個狀態(tài)(00) 、 (01) 、 ( 1 0) 以及(l l)的狀態(tài)機(jī)而發(fā)揮功能。
      首先,設(shè)想能夠計(jì)算任意4輸入邏輯函數(shù)的FPGA,說明在 該FPGA中安裝該用戶電if各的情形。圖6示出了這種FPGA 90的 整體結(jié)構(gòu),圖7示出了運(yùn)算塊93的結(jié)構(gòu)。FPGA90具備多個運(yùn) 算塊93、連接它們的路徑選擇矩陣95、以及存儲了用于對運(yùn)算 塊93和路徑選擇矩陣95進(jìn)行編程的數(shù)據(jù)97的存儲器91。各個運(yùn) 算塊93具備邏輯運(yùn)算單元92,其能夠計(jì)算任意4輸入邏輯函數(shù); 輸出單元99,其將該輸出直接輸出到路徑選擇矩陣95,或者在 鎖存到寄存器98中之后輸出到路徑選擇矩陣95 。
      圖8示出了向FPGA映射用戶電路51的方法。在步驟81中, 從C語言等動作水平記述通過動作合成工具生成基于^更件語言 (Vcrilog或者VHDL等)的RTL(Register Transfer Level:寄存器傳 輸級)記述。在步驟82中,利用面向安裝的FPGA的邏輯合成工 具生成電路圖。在步驟83中,利用配置布線工具生成映射到 1 PGA的數(shù)據(jù)97。
      圖9是為了將圖5中以RTL記述表示的用戶電路51映射到 FPGA 90而邏輯合成的電路圖。圖IO表示將圖9的電路圖映射到 I'、PGA 90的結(jié)果。從圖10可知,在FPGA 90中能夠通過使用31 個運(yùn)算塊93來映射用戶電路51。
      圖ll利用流程圖示出了在本例的設(shè)備10中映射用戶電路 的過程。首先,在步驟71中,解析C語言等的動作水平記述, 以周期為單位生成記述了動作的周期單位的RTL記述。想映射 的用戶電路51是狀態(tài)機(jī)。因而,通過將l個狀態(tài)設(shè)為l個周期的 處理,圖5所示的RTL記述與周期單位的RTL記述相當(dāng)。在步驟 72中,將這些每個周期的RTL記述分別進(jìn)行邏輯合成,在每個 周期生成電路圖。在步驟73中,在每個周期生成用于將電路映射到設(shè)備10的配置數(shù)據(jù)17。配置數(shù)據(jù)17可以說是各周期的配置 數(shù)據(jù)的集合。
      在生成配置數(shù)據(jù)17的步驟73中,不對用戶電路51中包含的 不同的寄存器即輸入的寄存器(保存輸入數(shù)據(jù)的寄存器)以及輸 出的寄存器(保存輸出數(shù)據(jù)的寄存器)分別分配PB 13。在步驟 73a中,將輸入的寄存器(讀出的寄存器)以及輸出的寄存器(寫入 的寄存器)分別根據(jù)規(guī)則分配給保存單元30的多路FF 31的不同 的FF(寄存器)31r。
      并且,在FPGA的事例中,將分配給多個運(yùn)算塊的電路結(jié) 構(gòu)在本例的設(shè)備10中合并到一個PB 13來進(jìn)行映射。在步驟73b 中,生成用于將多個電路結(jié)構(gòu)合并到一個PB 13來進(jìn)行映射的配 置數(shù)據(jù)17。在輸入以及輸出的寄存器相同的情況下,分配多路 FF 31的相同的寄存器31r。
      步驟73a中的頭見則包含如下參照該周期的輸入輸出狀態(tài)以 及其它周期中的輸入輸出狀態(tài),在能夠覆蓋保存單元30的功能 的范圍內(nèi)將輸入以及輸出的不同的寄存器分配給多路n-' 31的 不同的寄存器31r。例如,在圖2所示的保存單元30中,在l個周 期中只能對構(gòu)成多寄存器31的4個寄存器31r中的 一個進(jìn)行寫 入。另外,在保存單元30中,能夠與寫入獨(dú)立地從多寄存器31 的一個寄存器31r輸出數(shù)據(jù)。因而,在某個周期中同時參照的寄 存器需要映射到不同的PB 13。另外,在某個周期中同時更新值 的寄存器需要映射到不同的PB 13。
      因此,在步驟73a中,根據(jù)這些規(guī)則將參照的寄存器分配給 保存單元30的多寄存器31中的一個。在其范圍內(nèi),在步驟72的 邏輯合成階段中,將要求多個運(yùn)算塊的功能合并到一個PB 13。 例如在后述的保存單元的一例中,能夠從路徑選擇矩陣15參照 構(gòu)成多寄存器31的4個寄存器31r的輸出的全部。在生成用于映
      射到采用這種保存單元的設(shè)備的配置數(shù)據(jù)的情況下,即使是在 某個周期中同時參照的寄存器,也有能夠生成用于將這些寄存 器映射到一個PB 13的配置數(shù)據(jù)的可能性。
      圖12示出了根據(jù)該映射方法生成配置數(shù)據(jù)的系統(tǒng)的概要
      結(jié)構(gòu)。該系統(tǒng)10 0是作為用于控制普通計(jì)算機(jī)的軟件(程序產(chǎn)品) 而記錄在CD-ROM等合適的記錄介質(zhì)上提供的。而且,使用計(jì) 算機(jī)中包含的硬件資源構(gòu)成系統(tǒng)100。該系統(tǒng)與開發(fā)以及設(shè)計(jì) LSI或者ASIC等半導(dǎo)體裝置的CAD系統(tǒng)同樣地,作為設(shè)計(jì)以及 開發(fā)可重構(gòu)的設(shè)備10的CAD系統(tǒng)或者框架的一環(huán)而被提供。系 統(tǒng)100包含單元IOI,其讀入與用戶電i 各51的定義相關(guān)的數(shù)據(jù) 111,生成用戶電路的每個周期的RTL記述;單元102,其在每 個周期中對每個周期的RTL記述進(jìn)行邏輯合成;單元103,其根 據(jù)邏輯合成的結(jié)果和設(shè)備庫112的信息,生成配置數(shù)據(jù)17。生成 配置數(shù)據(jù)17的單元103在將邏輯合成的每個周期的電路映射到 多個運(yùn)算塊PB時生成如下的配置數(shù)據(jù)17,所述配置數(shù)據(jù)17用于 根據(jù)上述規(guī)則將每個周期的電路中包含的用于輸入以及Z或者 輸出的不同的寄存器分配給保存單元40的多個保存元件(多路 FF)3 1中包含的不同的保存元件(寄存器)3 1 r。配置數(shù)據(jù)1 7成為各 周期的配置數(shù)據(jù)的集合。
      通過這樣生成配置數(shù)據(jù)17,能夠?qū)σ粋€PB 13的多路FF31 分配保存在某周期進(jìn)行輸入輸出的多個數(shù)據(jù)的寄存器,或分配 保存跨周期進(jìn)行輸入輸出的多個數(shù)據(jù)的寄存器。因而,通過釆 用上述的映射方法并據(jù)此生成配置數(shù)據(jù)17,從而大幅度提高PB 13的利用效率。因此,能夠以少的硬件資源安裝用戶電路。另 外,能夠防止硬件資源不足的情形,因此還容易提高并行度來 實(shí)現(xiàn)處理速度的提高。
      能夠從幾個方面說明PB 13的利用效率的提高。 一個方面
      是說明將邏輯運(yùn)算單元21的輸出25鎖存到保存單元30的多路 FF31。因此,能夠使請求輸出25的定時和邏輯運(yùn)算獨(dú)立。并且, 運(yùn)算后從輸出25的邏輯釋放PB 13的邏輯運(yùn)算單元21,從而能夠 執(zhí)行接著的邏輯運(yùn)算。
      另 一 個方面是說明根據(jù)控制保存控制單元4 0的配置數(shù)據(jù) 17來控制邏輯運(yùn)算單元21的運(yùn)算邏輯以及多游^FF 31的選^奪。因 此,P B 13的功能是能夠利用配置數(shù)據(jù)1 7單獨(dú)地控制邏輯運(yùn)算和 輸出。因而,通過使用多路FF31,保證能夠以配置數(shù)據(jù)為單位 即在本例中是以周期為單位來4吏用PB 13的邏輯運(yùn)算單元21。并 且,PB 13具備直接輸出布線29。因此,不提高時鐘頻率而能夠 利用1個周期的配置數(shù)據(jù)17從一個PB 13輸出多個邏輯運(yùn)算結(jié) 果。
      進(jìn)一步不同的一個方面是說明將邏輯運(yùn)算單元21的運(yùn)算 結(jié)果的輸出鎖存到多路FF 3 1從而能夠在后續(xù)周期中輸出。因 此,能夠在數(shù)周期前事先準(zhǔn)備在某個周期請求運(yùn)算的邏輯的多 個輸入數(shù)據(jù)。并且,還能夠使瞬間的運(yùn)算數(shù)的增加在時間方向 上平均化。而且,這種PB 13中的邏輯運(yùn)算的內(nèi)容和定時、PB 13 的輸出的內(nèi)容和定時,全部集中到用于將電路映射到設(shè)備10的 配置數(shù)據(jù)17并進(jìn)行解決。因此,不需要使時鐘頻率高速化、或 追加與時鐘頻率不同的電路取得同步的功能、或設(shè)置特別的存 儲器。
      圖13示出了為了將圖5中以Verilog代碼表示的用戶電路51 映射到設(shè)備10而在每個狀態(tài)即每個周期中進(jìn)行邏輯合成的結(jié) 果。即,是圖11的步驟71的輸出。邏輯合成的結(jié)果的電路圖在 每個周期中成為圖13(a) (d)4個。
      圖13(a)是狀態(tài)(00)的電路圖。根據(jù)bflg寄存器(B)和xreg寄 存器(XO, XI, X2)的當(dāng)前值以及fsmin輸入信號(fsminO, fsminl,
      fsmin2, fsmin3)進(jìn)行小規(guī)模的邏輯運(yùn)算,向aflg寄存器(A)、 cflg 寄存器(C)、 dflg寄存器(D)寫入值。并且,在fsmout輸出信號 (fsmout0, fsmoutl)中取出xreg寄存器(XO, Xl)的值。而且,作為 用于指示下 一 個配置的n—state信號(n—state0, n—state 1)而輸出常 數(shù)(Ol)。通過n一state信號指示在其次的周期中轉(zhuǎn)移到狀態(tài)(Ol) 的情形。
      圖13(b)是狀態(tài)(01)的電路圖。圖13(c)是狀態(tài)(10)的電路圖。 圖13(d)是狀態(tài)(ll)的電路圖。這些也如同圖5的Verilog代碼的 casc文那樣,將各個狀態(tài)單獨(dú)譯碼為電路圖。此外,在圖13(a) (d) 中,設(shè)想通過單路FF鎖存邏輯運(yùn)算單元的輸出的運(yùn)算塊PBS 79,利用虛線分割邏輯。在邏輯合成的階段中,如果將用戶電 路51映射到由單路FF的運(yùn)算塊PBS 79構(gòu)成的設(shè)備,則為了安裝 狀態(tài)(00)需要8個PBS 79,為了安裝狀態(tài)(01)需要8個PBS 79。同 樣地,為了安裝狀態(tài)(10)需要13個PBS 79,為了安裝狀態(tài)(1〗) 需要7個PBS 79。因而,在邏輯合成的階段,在圖10所示的1'、PGA 中能夠?qū)⒂成?1個運(yùn)算塊所需的用戶電路51最大映射到13個 PBS 79。
      圖14示出了將在每個周期中邏輯合成的電路映射到設(shè)備 IO的結(jié)果。是圖11的步驟73的輸出。圖14(a)表示映射狀態(tài)(00) 的狀態(tài),圖14(b)表示映射狀態(tài)(01)的狀態(tài),圖14(c)表示映射狀 態(tài)(10)的狀態(tài),圖14(d)表示映射狀態(tài)(ll)的狀態(tài)。
      在哪個狀態(tài)(周期)中都使用4個PB 13來映射用戶電路。因 而,通過以周期為單位重構(gòu)設(shè)備IO,可知能夠使用4個PB 13來 映射用戶電路51。該用戶電路51在圖IO所示的FPGA中與為了映 射而使用31個運(yùn)算塊的電路相同。
      圖15示出了該設(shè)備10的控制。在該設(shè)備10中,在步驟12] 中決定對運(yùn)算塊其次提供的下一個配置數(shù)據(jù)。在步驟U2中,通 過從配置存儲器11向PB 13提供各周期的配置數(shù)據(jù)17a 17d中的 任一個,從而實(shí)現(xiàn)各個用戶電路51的RTL記述的各狀態(tài)(周期) 的功能。即,基于從PB 13輸出的信號20,根據(jù)配置控制單元12 的選擇值16來決定提供給PB 13的周期單位的配置數(shù)據(jù) 17a 17d。因而,在該"i殳備10中,在每個周期中決定4妻著的周期 的配置(下一個配置),與此同時重構(gòu)設(shè)備,以周期為單位改變 在設(shè)備中處理的內(nèi)容。
      在步驟122中,在將每個周期的電^各映射到多個運(yùn)算塊PB 時,每個周期的電路中包含的用于輸入以及/或者輸出的不同的 寄存器根據(jù)每個周期的配置數(shù)據(jù)而被分配給多路F F 3 1的寄存 器31r。圖1所示的設(shè)備10具備用于控制多個PB的配置控制單元 12。因而,配置控制單元12以由多個運(yùn)算塊PB構(gòu)成的區(qū)段或者 組單位,控制這些多個運(yùn)算塊PB中包含的運(yùn)算塊的邏輯。該方 式是以由多個運(yùn)算塊PB構(gòu)成的區(qū)段或者組單位來決定配置,因 此接口的調(diào)整、即路徑選擇矩陣15的重構(gòu)也容易。
      還可以使各個運(yùn)算塊P B包含決定下 一 個配置的控制功能。 在這種情況下,可以理解為從各PB 13通過路徑選擇矩陣15提供 給控制單元12的寫入信號20是從各PB 13輸出的下一個配置的 指示信息。該方式能夠以運(yùn)算塊PB的單位、即與運(yùn)算塊對應(yīng)的 配置數(shù)據(jù)的單位來控制運(yùn)算塊的結(jié)構(gòu)。因此,能夠靈活地實(shí)現(xiàn) 各種結(jié)構(gòu)。另一方面,有用于控制配置所需的硬件資源增加的 傾向,另外有如下可能性請求按每個配置數(shù)據(jù)解決與相鄰運(yùn) 算塊的接口調(diào)整、路徑選擇矩陣15的結(jié)構(gòu)。
      在圖ll的用于生成用戶電路51的配置數(shù)據(jù)的步驟73a中,判 斷各周期的對寄存器的輸入輸出狀態(tài)以及其它周期中的輸入輸 出狀態(tài)。具體地說,在步驟73a中生成如下的配置數(shù)據(jù)17:保存 單元30根據(jù)在各周期中能夠?qū)Χ嗦稦F 31的一個進(jìn)行輸入、并能
      夠輸出 一個的規(guī)則,用于將邏輯合成的電路中包含的每個周期
      的多個寄存器分配給各PB 13的多路FF 31的寄存器31r。即 狀態(tài)00:
      .讀取寄存器X0 X2和寄存器B,因此有必要將這些分配到 不同的PB 13的多i 各FF 31。
      -寫入到寄存器A、寄存器C、寄存器D中,因此有必要將它 們分配給不同的PB 1 3的多路FF 3 1 。
      狀態(tài)01:
      .讀取寄存器Y0 Y2和寄存器A,因此有必要將它們分配給 不同的PB 13的多i 各FF 31。
      -寫入到寄存器X0 X2和寄存器B,因此有必要將它們分配 給不同的PB 13的多i 各FF 3 1 。
      狀態(tài)10:
      .分別動態(tài)地選擇并讀取寄存器XO和YO、寄存器X1和Y1、 寄存器X2和Y2,因此有必要將各個對(pair)分配給不同的PB 13 的多路FF31。并且,讀取寄存器A,因此有必要將其分配給與 上述對不同的PB 1 3的多^各FF 3 1 。
      .寫入到寄存器X0 X2和寄存器B,因此有必要將它們分配給 不同的PB 13的多i 各FF 31。 狀態(tài)11:
      -讀取寄存器B、寄存器C、寄存器D,因此有必要將它們分 配給不同的PB 13的多路FF 31。
      .寫入到寄存器Y0 Y2,因此有必要將它們分配給不同的PB 13的多路FF 31。
      圖14(a) 圖14(d)所示的映射是為了滿足各狀態(tài)下的這些條 件而對4個PB 13的多路3 1配置各寄存器的 一 個例子。在該例 子中,向4個PB13內(nèi),第一PB 13a的多路FF 31分配寄存器X0、
      寄存器YO以及寄存器C,剩余的一個未使用。向第二PB 13b的
      多路FF 31分配寄存器X1、寄存器Y1以及寄存器D,剩余的一個 未使用。向第三PB 13c的多路FF 31分配寄存器X2以及寄存器 Y2,剩余的兩個未使用。向第四PB 13d的多路FF 31分配寄存 器A以及寄存器B,剩余的兩個未使用。此外,4個PB 13a 13d 的配置在能夠由路徑選擇矩陣15連接的范圍內(nèi)是自由的,圖 14(a) 圖14(d)所示的配置僅僅是一個例子。另外,在圖14(a)、 圖14(b)以及圖14(d)中,省略了對各PB 13的保存單元30進(jìn)行控 制的保存控制單元4 0的結(jié)構(gòu)。
      圖16示出了用于對圖14(a)所示的狀態(tài)(00)下的PB 13a的保 存單元30進(jìn)行控制的保存控制單元40的狀態(tài)。在狀態(tài)(OO)的配 置數(shù)據(jù)1 7a的控制保存控制單元40的部分之中,對保存控制單元 40的選擇器41進(jìn)行控制的部分分別是"000",控制信號1 9全部從 配置數(shù)據(jù)17a提供。而且,寫入使能信號19t變成"l",允許向多 路FF 31的寄存器31r中的任一個寫入。輸入控制信號19i以"10", 選擇向分配到寄存器C的多路FF 31的第2個寄存器31r的寫入。 另外,輸出控制信號19o以"00,,選擇分配到寄存器X0的多路l,F(xiàn) 的第0個寄存器31r的讀出。因而,根據(jù)保存控制信號19,第一 個PB 13a的保存單元30的狀態(tài)如圖14(a)所示被設(shè)置。其它PB 13 的保存單元30也通過保存控制信號19而由配置數(shù)據(jù)17a同樣地 進(jìn)行控制。
      圖17示出了用于對圖14(c)所示的狀態(tài)(10)下的PB 13a 13d 的保存單元3 0進(jìn)行控制的保存控制單元4 0的狀態(tài)。在狀態(tài)(10) 的配置數(shù)據(jù)17 c的控制保存控制單元4 0的部分之中,關(guān)于控制保 存控制單元40的選擇器41的部分,控制讀出的部分是"011",其 它是"OOO"。因而,與第1 3個PB 13a 13c的保存單元30的多路 FF 31的讀出寄存器的控制有關(guān)的保存控制信號19o由從路徑選
      擇矩陣15提供的選擇信號18決定,其它保存控制信號19i以及
      19t由配置數(shù)據(jù)17c提供。因此,從PB 13a 13c的多路FF 31分別 讀出的寄存器是接受PB 13c的邏輯運(yùn)算單元21的邏輯運(yùn)算結(jié)果 來決定的。從PB 13d讀出的寄存器是根據(jù)配置數(shù)據(jù)17c來決定 的,讀出分配給多路FF 31的寄存器A的第0個寄存器。關(guān)于PB 13a 13c的寫入,由于配置數(shù)據(jù)17c的寫入使能信號的數(shù)據(jù)分別 是"0",因此輸入選擇信號部分是無關(guān)的。關(guān)于PB13d的寫入, 使能信號19t是"l",輸入選擇信號19i為"00",因此邏輯運(yùn)算單 元2 1的輸出25被寫入到分配給多路FF 3 1的寄存器A的第0個寄 存器中。
      圖18 圖21示出了將不同的用戶電路映射到本例的設(shè)備IO 的例子。圖18所示的用戶電路52是3位計(jì)數(shù)器。圖19表示將用戶 電路52映射到圖6所示的FPGA90的狀態(tài)。圖20是使用2個PB 13 和2組(2個周期)的配置數(shù)據(jù)17將用戶電^各52映射到本例的設(shè)備 IO的例子。圖21是使用1個PB 13和4組(4個周期)的配置數(shù)據(jù)17 映射到設(shè)備10的例子。在這些例子中,將計(jì)數(shù)器的用戶電路52 視作2個狀態(tài)或者4個狀態(tài)的狀態(tài)機(jī),通過在每個周期中將各狀 態(tài)的動作映射到設(shè)備10來實(shí)現(xiàn)用戶電路52。其結(jié)果,與映射到 FPGA 90的情況相比,能夠利用更少數(shù)量的運(yùn)算塊來映射用戶 電路。
      不限于狀態(tài)機(jī)而是將大部分?jǐn)?shù)據(jù)通路運(yùn)算電路安裝到實(shí) 際系統(tǒng)中的情況下,與寄存器結(jié)合。因而,如果將數(shù)據(jù)通路運(yùn) 算電路和寄存器的組合視作狀態(tài)機(jī),則基本上能夠?qū)⑷康臄?shù) 據(jù)通路運(yùn)算電路有效地映射到設(shè)備1 0上。
      圖22 圖24示出了將進(jìn)一步不同的用戶電路映射到本例的 設(shè)備10上的例子。圖22所示的用戶電路53是將7位輸入A6 A0 以2位的移位量S 1 S0移位來輸出4位應(yīng)答(Y3 Y0)的桶式移位 (barrel shifter)電路,是將移位量S 1 S0與廉線寄存器結(jié)合的電 路。圖23表示將用戶電路53映射到圖6所示的FPGA 90上的狀 態(tài)。圖24(a)以及(b)是使用5個PB 13和2組(2個周期)的配置數(shù)據(jù) 17將用戶電路53映射到本例的設(shè)備10的例子。在該情形中,在 設(shè)備10中能夠通過FPGA 90的一半以下的運(yùn)算塊來安裝用戶電 路。
      圖25 圖31示出了運(yùn)算塊PB的幾個變形例。圖25所示的PB 13z的保存單元30的輸出單元33具備2組選擇器33s,該2組選擇 器33s用于選擇多路FF 31中的任一個寄存器31r并輸出到路徑 選擇矩陣1 5 。這2個選擇器33s由不同的輸出控制信號1 9oa以及 19ob控制,將各個值作為輸出39a以及39b而輸出。因而,在構(gòu) 成保存單元30的多i 各FF的4個內(nèi)置寄存器31r之中,能夠?qū)?個當(dāng) 前值輸出到路徑選擇矩陣15。因此,能夠通過其它PB在相同的 周期讀出多路FF 31的2個寄存器31r。
      圖26所示的PB 13y的保存單元30具備輸出單元33,該輸出 單元33將構(gòu)成多路FF 31的4個內(nèi)置寄存器31r的當(dāng)前值全部輸 出到路徑選擇矩陣15。因而,該保存單元30的輸出單元33不包 含選擇器。另外,也不需要輸出控制信號19t。其它PB能夠在相 同的周期讀出多路FF 31的4個寄存器31r。在向可重構(gòu)的設(shè)備映 射用戶電路的情況下,圖26所示的PB 13y包括簡單結(jié)構(gòu)的保存 單元30,因此向具備該P(yáng)B 13y的設(shè)備10映射的一方的功能合并 容易。即,在生成用于將具備PB 13y的設(shè)備映射為對象的配置 數(shù)據(jù)時,圖11所示的步驟7 3 a中的輸入輸出寄存器的分配的規(guī)則 寬松,容易將邏輯合成的功能合并到一個PB。因?yàn)樵谏捎糜?對包括圖2所示的PB 13或者圖25所示的PB 13z的設(shè)備進(jìn)行映射 的配置數(shù)據(jù)時,需要遵從"運(yùn)算對象只能是各時鐘周期瞬間選擇 的1或者2的寄存器,,的制約(規(guī)則)。另一方面,當(dāng)在制造設(shè)備的
      立場進(jìn)行評價時,與圖26所示的PB 13y的結(jié)構(gòu)相比,最好是圖2 或者圖25的PB結(jié)構(gòu)。因?yàn)閳D26的PB 13y的結(jié)構(gòu)中向可配置的路 徑選擇矩陣15的輸出條數(shù)多,因此過分消耗硅面積。
      圖27所示的PB 13x具備輸出選擇單元28,該輸出選擇單元 28選擇來自保存單元30的輸出39和邏輯運(yùn)算單元21的輸出25中 的任 一 個來輸出到路徑選擇矩陣1 5 。該輸出選擇單元28包括由 配置數(shù)據(jù)1 7中的路徑選擇矩陣輸出選擇信息2 7控制的選擇器。 在該P(yáng)B 13x中,針對路徑選擇矩陣15的輸出信號集中到一條上, 因此路徑選擇矩陣1 5的結(jié)構(gòu)變得簡單。
      關(guān)于圖28所示的PB 13w,邏輯運(yùn)算單元21具備兩個輸出 25a以及25b,將一個輸出結(jié)果25b鎖存到保存單元30的多路FF 3 1 ,將另 一 個輸出結(jié)果25a輸出到路徑選擇矩陣1 5 。作為該變形, 還能夠提供具備分別鎖存輸出25a以及25b的多個保存單元30的 運(yùn)算塊PB、以及具備這種運(yùn)算塊的設(shè)備。
      圖29所示的PB 13v具備輸出選擇單元28,該輸出選擇單元 28選擇一方的輸出25b和來自保存單元30的輸出39中的任一個 來輸出到路徑選擇矩陣15。還能夠提供這種運(yùn)算塊PB 13v以及 具備運(yùn)算塊PB 13v的設(shè)備。
      圖30所示的PB 13u內(nèi)置有輸出對各個保存單元30進(jìn)行控制 的信號19的保存控制單元40。另外,根據(jù)配置數(shù)據(jù)17的保存控 制成分26來控制保存控制單元40。另外,保存控制單元40內(nèi)置 于PB 13中,因此能夠根據(jù)以PB 13的單位提供的配置數(shù)據(jù)17來 控制各保存單元30。因此,能夠根據(jù)配置數(shù)據(jù)17進(jìn)一步靈活地 控制各保存單元30。另一方面,由于各PB 13內(nèi)置有保存控制單 元40,因此面積變大,用于安裝設(shè)備10的硅面積容易增大。
      圖31所示的PB 13t內(nèi)置有輸出對各個保存單元30進(jìn)行控制 的信號19的保存控制單元40,并且保存控制單元40只根據(jù)配置
      數(shù)據(jù)17進(jìn)行控制。該方式的PB 13t能夠抑制由于內(nèi)置保存控制 單元40而造成的PB 13t的面積增大。另一方面,為了將其它PB 13的運(yùn)算結(jié)果反映到保存單元30的控制中,有必要通過運(yùn)算結(jié) 果改變提供給PB 13t的配置數(shù)據(jù)17。因此,存在用于映射用戶 電路的配置數(shù)據(jù)1 7的量增加的可能性。
      圖32是生成針對多個PB 13的保存單元30的控制信號19的 保存控制單元40的不同的例子。先前圖4所示的保存控制單元40 為了縮小硅面積,通過在配置數(shù)據(jù)17側(cè)指定PB 13的編號,能夠 從來自路徑選擇矩陣1 5的信號1 8和配置數(shù)據(jù)1 7選擇保存控制信 號19的資源。在圖32的保存控制單元40中,將4個PB的保存單 元30作為 一個組而進(jìn)行控制,能夠根據(jù)配置數(shù)據(jù)17單獨(dú)地選擇 各個保存單元30。因而,雖然控制保存單元30的靈活性高,但 是用于進(jìn)行安裝的硅面積變大。
      圖33示出了以可重構(gòu)的設(shè)備10為基礎(chǔ)的數(shù)據(jù)處理裝置130 的概要結(jié)構(gòu)。數(shù)據(jù)處理裝置130包括設(shè)備10以及用于輸入輸出由 該設(shè)備10處理的數(shù)據(jù)的接口 131。該數(shù)據(jù)處理裝置130還包括 存儲器133,其用于保存多個配置數(shù)據(jù)的組或塊、或者配置數(shù)據(jù) 文件132;以及控制單元134,其用于在可重構(gòu)的設(shè)備10中設(shè)置 配置數(shù)據(jù)文件132內(nèi)容??刂茊卧?34例如是RISC等通用處理 器,切換可重構(gòu)的設(shè)備10中包含的配置存儲器ll中設(shè)置或者保 存的配置數(shù)據(jù)17。由此,能夠進(jìn)一步以多種多樣的目的利用可 重構(gòu)的設(shè)備IO。另外,通過接口 131從外部變更存儲器133的內(nèi) 容,從而進(jìn)一步增大數(shù)據(jù)處理裝置130的通用性。通過在可重構(gòu) 的設(shè)備10中實(shí)現(xiàn)控制單元134的功能,還能夠省去控制單元134。
      接口 131主要支持物理的接口機(jī)構(gòu)。接口131在作為用于通 過傳輸路徑交換數(shù)據(jù)的處理而需要模擬處理的情況下,還支持 為此的模擬電路。能夠通過可重構(gòu)的設(shè)備10支持用于通過傳輸
      路徑交換數(shù)據(jù)的數(shù)字處理。通過可重構(gòu)的設(shè)備IO支持作為接口 的功能或者其一部分,從而能夠提供不取決于數(shù)據(jù)的種類、用 于交換數(shù)據(jù)的協(xié)議等的、或者通用的數(shù)據(jù)處理裝置。在能夠應(yīng) 用該數(shù)據(jù)處理裝置130的應(yīng)用程序中,例如包含代替基于程序的 CP[J的通用的處理裝置、路由器等網(wǎng)絡(luò)處理裝置、包含作為解 碼器Z編碼器的功能的圖像處理裝置、包含無線/有線的電話等 通信裝置。
      以上說明的可重構(gòu)的集成電路裝置(設(shè)備)具有包含具備多
      路FF 31的保存單元30的多個PB 13。在各PB13中,根據(jù)配置數(shù) 據(jù)17來控制多路FF 31,將邏輯運(yùn)算單元21的輸出25鎖存到多路 H 3 1 ,另外能夠與其獨(dú)立地輸出鎖存在多路FF 3 1的寄存器3 lr 中的運(yùn)算結(jié)果。因而,能夠大幅度提高各個PB 13的利用效率, 利用少的硬件資源來安裝用戶電路。另外,能夠防止硬件資源 不夠,因此還容易提高并行度來實(shí)現(xiàn)處理速度的4是高。
      此外,如上所述的設(shè)備以及運(yùn)算塊的例子只不過是本發(fā)明 中包含的可重構(gòu)的裝置的幾個例子,本發(fā)明不限定于上述的電 路例子。上述集成電路裝置能夠以單體通過芯片等方式提供。 包含上述集成電路的LSI或者ASIC等半導(dǎo)體裝置也包含在本發(fā) 明中。另外,以上說明了基于半導(dǎo)體集成電路技術(shù)的裝置、例 如對LSI應(yīng)用本發(fā)明的例子,但是能夠在用于形成所謂電路網(wǎng)的 可重構(gòu)的裝置、以及包含可重構(gòu)的裝置或者基于可重構(gòu)的裝置 的數(shù)據(jù)處理裝置中全部應(yīng)用本發(fā)明。即,不限于基于電氣或者 電子水平的電路技術(shù)的電路裝置,能夠?qū)σ怨?、生物體、分子 或者原子構(gòu)造、基因構(gòu)造等為基礎(chǔ)的形成電路網(wǎng)的所有的可重 構(gòu)的裝置應(yīng)用本發(fā)明。
      權(quán)利要求
      1.一種可重構(gòu)的裝置,其具有各個運(yùn)算塊的運(yùn)算邏輯可變的多個運(yùn)算塊、以及用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的路徑的路徑選擇矩陣,其特征在于,上述多個運(yùn)算塊中包含的運(yùn)算塊包括邏輯運(yùn)算單元,其根據(jù)配置數(shù)據(jù)來決定邏輯;以及保存單元,其用于保存該邏輯運(yùn)算單元的運(yùn)算結(jié)果,上述保存單元包括多個保存元件;輸入單元,其根據(jù)上述配置數(shù)據(jù)選擇上述多個保存元件中的任一個來保存上述邏輯運(yùn)算單元的輸出;以及輸出單元,其用于將上述多個保存元件和上述路徑選擇矩陣進(jìn)行連接。
      2. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,還具備 配置數(shù)據(jù)提供單元,其從存儲了多個集合的配置數(shù)據(jù)的配置存儲器中對上述運(yùn)算塊提供上述多個集合的配置數(shù)據(jù)中的任 一個;以及配置控制單元,其用于決定接著提供給上述運(yùn)算塊的下一 個配置數(shù)據(jù)。
      3. 根據(jù)權(quán)利要求2所述的裝置,其特征在于, 上述配置控制單元被包含在上述運(yùn)算塊中,控制該運(yùn)算塊的配置。
      4. 根據(jù)權(quán)利要求2所述的裝置,其特征在于,上述配置控制單元控制上述多個運(yùn)算塊的配置。
      5. 根據(jù)權(quán)利要求l所述的裝置,其特征在于, 上述保存單元的上述輸出單元根據(jù)上述配置數(shù)據(jù)選擇上述多個保存元件中的任 一 個來與上述路徑選擇矩陣進(jìn)行連接。
      6. 根據(jù)權(quán)利要求l所述的裝置,其特征在于, 上述運(yùn)算塊包括直接輸出單元,該直接輸出單元用于將上述邏輯運(yùn)算單元的輸出與上述保存單元分開而連接到上述路徑 選擇矩陣。
      7. 根據(jù)權(quán)利要求l所述的裝置,其特征在于, 上述運(yùn)算塊包括輸出選擇單元,該輸出選擇單元用于根據(jù)上述配置數(shù)據(jù)選擇上述邏輯運(yùn)算單元的輸出和上述多個保存元 件中的任 一 個來與上述路徑選擇矩陣進(jìn)行連接。
      8. 根據(jù)權(quán)利要求l所述的裝置,其特征在于, 還具有保存控制單元,該保存控制單元生成對上述保存單元的上述輸入單元以及/或者上述輸出單元進(jìn)行控制的保存控 制信號,該保存控制單元包括如下單元該單元根據(jù)上述配置數(shù)據(jù) 從由上述路徑選擇矩陣提供的輸入數(shù)據(jù)以及/或者上述配置數(shù) 據(jù)中生成上述保存控制信號。
      9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于, 上述保存控制單元被包含在上述運(yùn)算塊中,控制該運(yùn)算塊
      10. 根據(jù)權(quán)利要求8所述的裝置,其特征在于, 上述保存控制單元控制上述多個運(yùn)算塊中包含的多個上述保存單元。
      11. 一種數(shù)據(jù)處理裝置,其特征在于,具有 權(quán)利要求l所述的可重構(gòu)的裝置;以及用于輸入和輸出由上述可重構(gòu)的裝置處理的數(shù)據(jù)的接口 。
      12. —種可重構(gòu)的裝置的控制系統(tǒng),其特征在于, 上述裝置具有各個運(yùn)算塊的運(yùn)算邏輯可變的多個運(yùn)算塊;以及路徑選擇矩陣,其用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的 路徑,上述多個運(yùn)算塊中包含的運(yùn)算塊包括邏輯運(yùn)算單元,其 根據(jù)配置數(shù)據(jù)來決定邏輯;以及保存單元,其用于保存該邏輯 運(yùn)算單元的運(yùn)算結(jié)果,上述保存單元包括多個保存元件;輸入單元,其根據(jù)上述配置數(shù)據(jù)選擇上述多個保存元件中的任一個來保存上述邏輯運(yùn)算單元的輸出;以及輸出單元,其用于將上述多個保存元件 和上述i 各徑選一奪矩陣進(jìn)行連沖妻,該控制系統(tǒng)在將每個周期的電路映射到上述多個運(yùn)算塊 時,根據(jù)上述配置數(shù)據(jù)將上述每個周期的電路中包含的用于輸 入以及/或者輸出的不同的寄存器分配給上述多個保存元件中 包含的不同的保存元件。
      13. —種可重構(gòu)的裝置的控制方法,其特征在于, 上述裝置具有各個運(yùn)算塊的運(yùn)算邏輯可變的多個運(yùn)算塊;以及路徑選#^矩陣,其用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的 路徑,上述多個運(yùn)算塊中包含的運(yùn)算塊包括邏輯運(yùn)算單元,其 根據(jù)配置數(shù)據(jù)來決定邏輯;以及保存單元,其用于保存該邏輯 運(yùn)算單元的運(yùn)算結(jié)果,上述保存單元包括多個保存元件;輸入單元,其根據(jù)上 述配置數(shù)據(jù)選擇上述多個保存元件中的任一個來保存上述邏輯 運(yùn)算單元的輸出;以及輸出單元,其用于將上述多個保存元件 和上述路徑選擇矩陣進(jìn)行連接,該控制方法在將每個周期的電路映射到上述多個運(yùn)算塊 時,根據(jù)上述配置數(shù)據(jù)將上述每個周期的電路中包含的用于輸 入以及/或者輸出的不同的寄存器分配給上述多個保存元件中 包含的不同的保存元件。
      14. 根據(jù)權(quán)利要求13所述的控制方法,其特征在于, 上述裝置包括配置數(shù)據(jù)提供單元,該配置數(shù)據(jù)提供單元用于從存儲了多個集合的配置數(shù)據(jù)的配置存儲器中對上述運(yùn)算塊提供上述多個集合的配置數(shù)據(jù)中的任一個,該控制方法決定接著纟是供給上述運(yùn)算塊的下 一 個配置數(shù)據(jù)。
      15. 根據(jù)權(quán)利要求14所述的控制方法,其特征在于,決定上述下 一 個配置數(shù)據(jù)是以上述運(yùn)算塊的單位來決定的。
      16. 根據(jù)權(quán)利要求14所述的控制方法,其特征在于, 決定上述下一個配置數(shù)據(jù)是以上述多個運(yùn)算塊的單位來決定的。
      17. —種用于生成可重構(gòu)的裝置的配置數(shù)據(jù)的系統(tǒng),其特 征在于,上述裝置具有各個運(yùn)算塊的運(yùn)算邏輯可變的多個運(yùn)算塊; 以及路徑選擇矩陣,其用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的 路徑,上述多個運(yùn)算塊中包含的運(yùn)算塊包括邏輯運(yùn)算單元,其根據(jù)上述配置數(shù)據(jù)來決定邏輯;以及保存單元,其用于保存該 邏輯運(yùn)算單元的運(yùn)算結(jié)果,上述保存單元包括多個保存元件;輸入單元,其根據(jù)上 述配置數(shù)據(jù)選擇上述多個保存元件中的任一個來保存上述邏輯 運(yùn)算單元的輸出;以及輸出單元,其用于將上述多個保存元件 和上述路徑選擇矩陣進(jìn)行連接,該系統(tǒng)具有生成用戶電路的每個周期的RTL記述的單元; 將上述每個周期的RTL記述按每個周期進(jìn)行邏輯合成的單 元;以及生成上述配置數(shù)據(jù)的單元,在將邏輯合成的每個周期的電 路映射到上述多個運(yùn)算塊時,生成用于將上述每個周期的電路 中包含的用于輸入以及/或者輸出的不同的寄存器分配給上述 多個保存元件中包含的不同的保存元件的上述配置數(shù)據(jù)。
      18. —種用于生成可重構(gòu)的裝置的配置數(shù)據(jù)的方法,其特 征在于,上述裝置具有各個運(yùn)算塊的運(yùn)算邏輯可變的多個運(yùn)算塊; 以及路徑選擇矩陣,其用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的 路徑,上述多個運(yùn)算塊中包含的運(yùn)算塊包括邏輯運(yùn)算單元,其 根據(jù)上述配置數(shù)據(jù)來決定邏輯;以及保存單元,其用于保存該 邏輯運(yùn)算單元的運(yùn)算結(jié)果,上述保存單元包括多個保存元件;輸入單元,其根據(jù)上 述配置數(shù)據(jù)選擇上述多個保存元件中的任一個來保存上述邏輯 運(yùn)算單元的輸出;以及輸出單元,其用于將上述多個保存元件 和上述路徑選擇矩陣進(jìn)行連接,該方法包i舌生成用戶電路的每個周期的RTL記述;將上述每個周期的RT L記述按每個周期進(jìn)行邏輯合成;以及在將邏輯合成的每個周期的電路映射到上述多個運(yùn)算塊 時,生成用于將上述每個周期的電路中包含的用于輸入以及/ 或者輸出的不同的寄存器分配給上述多個保存元件中包含的不 同的保存元件的上述配置數(shù)據(jù)。
      全文摘要
      提供一種可重構(gòu)的裝置,其具有各個運(yùn)算塊的運(yùn)算邏輯可變的多個運(yùn)算塊(13)、以及用于構(gòu)成將這些多個運(yùn)算塊進(jìn)行連接的路徑的路徑選擇矩陣(15)。運(yùn)算塊(13)包括邏輯運(yùn)算單元(21),其根據(jù)配置數(shù)據(jù)(17)決定邏輯;保存單元(40),其用于保存該邏輯運(yùn)算單元的運(yùn)算結(jié)果。保存單元(40)包括多個保存元件(31r);輸入單元(32),其用于根據(jù)配置數(shù)據(jù)(17)選擇多個保存元件(31r)中的任一個,保存邏輯運(yùn)算單元(21)的輸出;以及輸出單元(33),其用于將多個保存元件(31r)和路徑選擇矩陣(15)進(jìn)行連接。
      文檔編號H03K19/177GK101189797SQ20068001929
      公開日2008年5月28日 申請日期2006年5月31日 優(yōu)先權(quán)日2005年5月31日
      發(fā)明者本田廣樹 申請人:Ip菲力股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1