JP5704240B2 - 集積回路 - Google Patents

集積回路 Download PDF

Info

Publication number
JP5704240B2
JP5704240B2 JP2013528976A JP2013528976A JP5704240B2 JP 5704240 B2 JP5704240 B2 JP 5704240B2 JP 2013528976 A JP2013528976 A JP 2013528976A JP 2013528976 A JP2013528976 A JP 2013528976A JP 5704240 B2 JP5704240 B2 JP 5704240B2
Authority
JP
Japan
Prior art keywords
logic
basic
circuit
signal
basic cell
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2013528976A
Other languages
English (en)
Other versions
JPWO2013024751A1 (ja
Inventor
伊藤 智康
智康 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2013528976A priority Critical patent/JP5704240B2/ja
Publication of JPWO2013024751A1 publication Critical patent/JPWO2013024751A1/ja
Application granted granted Critical
Publication of JP5704240B2 publication Critical patent/JP5704240B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • 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
    • H03K19/1733Controllable logic circuits
    • 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
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • 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
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • H03K19/17708Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays
    • H03K19/17712Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays one of the matrices at least being reprogrammable

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は,一般に集積回路に関し,詳しくは論理の再構成可能な集積回路と機能変更が可能な命令セットを持つリコンフィギュアブルプロセッサ及びコンパイル処理方法に関する。本発明は,同一出願人によるPCT/JP2011/053225記載発明(以下「基本発明」という。)の改良発明に関する。
従来,半導体集積回路は専用LSI(Large Scale Integrated Circuit)を設計することで高い性能と小さなチップ面積と量産化によって低い製品コストを実現できるがアプリケーション別に個々の開発が必要であり,その開発費は拡大傾向にある。また,専用LSIは機能の変更が容易ではなく通常は機能変更が必要な場合は設計と製造プロセスの一部あるいは全部をやり直す必要がある。
FPGA(Field Programmable Gate Array)での機能変更は製造プロセスの再実行は必要としないが,RTL(Register Transfer Level)設計以降の設計プロセスは再実行する必要がある。特にタイミング設計では論理素子相互を接続する配線チャネルの長さがレイアウトするまでわからず,一般に配線チャネル経路の回り込みも大きいために専用LSIやASIC(Application Specific Integrated Circuit)と比較して一般に動作周波数が低くなってしまい,その最高動作周波数は再設計の都度変動してしまうという問題がある。さらに,論理素子の相互接続に必要なチャネル領域を大きく必要としてしまうためにチップ面積も専用LSIと比較して数倍〜10倍程度となってしまいコストを抑えることが難しい。
プロセッサおよびDSP(Digital Signal Processor)でのソフトウェアによる処理では機能変更への柔軟な対応が可能であり,汎用性が高いために量産が可能で一般に低コストであるが,積和演算やレジスタ単位での論理演算に比較してビット単位での演算は一般的に苦手である。また,複雑な通信処理や高度な画像処理では専用LSIと比較して性能を十分に得ることが難しく,性能を高めるためには動作周波数を上げるアプローチが一般的であるがこれは消費電力が大きくなってしまう問題がある。
DRP(Dynamic Reconfigureable Processor)は機能変更への対応が可能であり,一般的なプロセッサによるソフトウェア処理に比べて高速な処理を期待できるが,これまでの製品は論理再構成素子の素子数が16〜1024個程度とFPGAと比較して少ないためにフレキシビリティに問題がある。また,論理再構成素子相互の接続に比較的大きな配線チャネル領域を必要とし,この配線チャネルで接続する配線の回り込みが大きい場合があるためにクリティカルパスとなる信号の伝播遅延が大きく,専用LSIと比較して一般に動作周波数を上げることが難しいという問題もある。さらに論理再構成素子のコンフィグレーション用メモリと論理再構成素子とを接続する配線チャネル領域も必要であり専用LSIやASICと比較して一般に面積が大きくなるためにコストを抑えることが難しいという問題があった。
特開2000−232162号公報 特開2000−138579号公報 特開平9−74351号公報 特開平5−74935号公報
これまでの集積回路では種別によりそれぞれ次のような欠点があった。
(1)高いスループットを実現できるが機能変更の要求に応じてその都度再設計と半導体製造プロセスが必要な専用LSI。
(2)アプリケーション毎の半導体製造プロセスは必要ないが動作周波数とコストに問題があるFPGA。
(3)汎用性があり機能変更への柔軟な対応が可能であるがビット単位の演算効率とスループットと消費電力に問題があるプロセッサおよびDSP。
(4)機能変更への柔軟な対応が可能であるがフレキシビリティと動作周波数に問題があるDRP。
これらのどれもが論理素子の論理可変性・論理再構成素子の素子数・動作周波数・チップ面積・汎用性・消費電力・コストにおいてそれぞれ長所と短所を併せ持つためにアプリケーションや開発コストやビジネス状況に応じて集積回路製品の種別を適宜選択せざるを得なかった。
本発明はこれらの問題点に鑑みなされたものであり,従来の集積回路を改良するものである。
特に,論理再構成素子を備えた基本セル同士の電気接続(論理再構成素子の相互の電気接続)に配線チャネル領域を最小化できる集積回路を提供することを第1目的とする。
また,論理再構成素子を備えた基本セルをアレイ上に配置してリーフセルモジュールを構成した場合に,大規模な組み合わせ回路を柔軟に実現可能な集積回路を提供することを第2目的とする。
また,論理再構成素子を備えた基本セルをアレイ上に配置してリーフセルモジュールを構成した場合に,効率的な回路機能の実装が可能な集積回路を提供することを第3目的とする。
また,論理再構成素子の論理を決定する記憶素子の回路規模の大型化を抑制することができるようにすることを第4目的とする。
上記課題を解決するため,本発明の請求項1における集積回路においては,
所定の形状を有する複数の基本セルを行列状に配置して構成したアレイを有する集積回路において,
前記基本セルは,論理再構成素子と,当該論理再構成素子の論理を決めるための記憶素子と,当該論理再構成素子に接続する複数の入力端子と複数の出力端子を備え,
行列配置の前記基本セルについて,行毎に所定ピッチずらすことによって前記アレイを構成し,
前記アレイを構成する前記基本セル間の電気接続が,以下の構成からなることを特徴とする。
(1)1つの基本セルの入力端子を,当該1つの基本セルに対して列方向に所定ピッチずらして隣接配置した他の基本セルの出力端子と電気接続する。
(2)前記1つの基本セルの他の入力端子を,当該1つの基本セルに対して行方向に隣接配置した他の基本セルの出力端子と電気接続する。
(3)前記(1)の基本セル間の接続及び前記(2)の基本セル間の接続を,前記1つの基本セル以外の前記アレイを構成する他の基本セルに対して行う。
このような構成を有する請求項1に記載の発明によれば,論理再構成素子を備えた基本セルを行毎に所定ピッチずらして配置したアレイにおいて,1つの基本セルの入力端子を,この1つの基本セルに対して列方向に隣接配置する他の基本セルの出力端子と電気接続し,かつ,この1つの基本セルの他の入力端子を,この1つの基本セルに対して行方向に隣接配置する他の基本セルの出力端子と電気接続するといった基本セル同士の電気接続を,アレイを構成する他の基本セルに対しても施すようにしているので,論理再構成素子を備えた基本セル同士の電気接続(論理再構成素子の相互の電気接続)に配線チャネル領域を最小化できる集積回路を実現することができる。
また,本発明の請求項2によれば,請求項1に記載の集積回路において,
前記アレイを複数有し,
前記アレイ間を電気接続するインタフェース回路を備え,
前記インターフェース回路を介して前記複数のアレイ間で信号通信を行うことを特徴とする。
このような請求項2に記載の発明によれば,複数のアレイをインタフェース回路にて電気接続して信号通信を行う集積回路として構成することができるので,容易に拡張可能な大規模集積回路を実現することが可能となる。
また,本発明の請求項3によれば,請求項2に記載の集積回路において,
前記インターフェース回路は,前記アレイから出力されるデータを記憶する記憶素子を有し,当該記憶素子が有する所定端子に所定信号を印加した場合に当該記憶素子の入力端子に入る信号を当該記憶素子の出力端子にバイパスする機能を備え,
前記記憶素子の前記所定端子に前記所定信号を印加した場合,前記インターフェース回路によって電気接続される前記アレイ間における信号通信をバイパスし,バイパスしない場合は前記記憶素子は前記アレイから出力されるデータを記憶する順序回路として動作することを特徴とする。
このような構成を有する請求項3に記載の発明によれば,記憶素子の所定端子に所定信号を印加した場合,インターフェース回路によって電気接続されるアレイ間における信号通信をバイパスし,バイパスしない場合は記憶素子はアレイから出力されるデータを記憶する順序回路として動作ようにしているので,論理再構成素子を備えた基本セルをアレイ上に配置してリーフセルモジュールを構成した場合に,大規模な組み合わせ回路を柔軟に実現可能な集積回路とすることが可能となる。
また,本発明の請求項4によれば,請求項1乃至3の何れかに記載の集積回路において,
前記アレイを構成する前記基本セルの出力端子を,当該基本セルに対して一段下の行にあってその行方向に位置する任意の基本セルの入力端子に接続するようにしたことを特徴とする。
このような請求項4に記載の発明によれば,アレイを構成する基本セルの出力端子を,当該基本セルに対して一段下の行にあってその行方向に位置する任意の基本セルの入力端子に接続するようにしたので,効率的な回路機能の実装が可能となる。
また,本発明の請求項5によれば,請求項1乃至5の何れか記載の集積回路において,
前記論理再構成素子の論理を決めるための前記記憶素子は第1,第2のPMOSトランジスタと第1,第2のNMOSトランジスタからなり以下の構成からなることを特徴とする。
(1)第1のPMOSトランジスタと第1のNMOSトランジスタのドレイン同士が接続され,このドレインが第2のPMOSトランジスタと第2のNMOSトランジスタのゲートに接続される。
(2)第2のPMOSトランジスタと第2のNMOSトランジスタのドレイン同士が接続され,このドレインが第1のNMOSトランジスタのゲートに接続され,且つ,出力端子となる。
(3)第1のPMOSトランジスタのソースが前記論理再構成素子の論理コンフィグレーションデータの入力端子となる。
(4)第1のNMOSトランジスタのソースはGND接続され,第2のPMOSトランジスタのソースは電源に接続される。
(5)第1のPMOSトランジスタのゲートはデータ入力のコントロールゲートとして機能する。
(6)第2のNMOSトランジスタのソースは初期状態で電源レベルに接続される。
(7)第2のNMOSトランジスタのソースは保持データ確定後,電源レベルからGNDレベルに電位が遷移する。
(8)前記(1)〜(7)によって前記記憶素子が構成される。
このような構成を有する求項5の記載の発明によれば,論理構成素子の論理を決めるための記憶素子を2つのPMOSトランジスタと2つのNMOSトランジスタから請求項5のように構成するようにしたので,論理再構成素子の回路規模の大型化を抑制することができるようになる。
本発明によれば,論理再構成素子を備えた基本セルを行毎に所定ピッチずらして配置したアレイにおいて,1つの基本セルの入力端子を,この1つの基本セルに対して列方向に隣接配置する他の基本セルの出力端子と電気接続し,かつ,この1つの基本セルの他の入力端子を,この1つの基本セルに対して行方向に隣接配置する他の基本セルの出力端子と電気接続するといった基本セル同士の電気接続を,アレイを構成する他の基本セルに対しても施すようにしているので,論理再構成素子を備えた基本セル同士の電気接続(論理再構成素子の相互の電気接続)に配線チャネル領域を最小化できる集積回路を実現することができる。
基本発明のリーフセルの回路例である。 基本発明のリーフセルを複数規則配置したリーフセルモジュールの回路例である。 基本発明の複数規則配置したリーフセルとフィードバック回路の例である。 基本発明のインタフェース回路を介した複合リーフセルモジュールの例である。 基本発明のリーフセルモジュールをバスに接続した集積回路例である。 基本発明のリコンフィギュアブルプロセッサのアーキテクチャの例である。 基本発明のリコンフィギュアブルプロセッサとリーフセルモジュールをバスに接続した集積回路例である。 基本発明のリコンフィギュアブルプロセッサのコンパイルの処理フローである。 基本発明の集積回路の具体例である。 基本発明の原理を説明する論理式である。 基本発明の論理再構成素子の概念図である。 図10の論理式を2つ用いた基本セルを示す図である。 基本セルの動作を説明した図である。 基本セルの動作を説明した図である。 基本セルの動作を説明した図である。 基本発明のアレイとその機能を説明した図である。 基本発明の実施例にかかる論理素子ブロックのゲートレベルの回路図である。 基本発明の実施例にかかる論理再構成素子の真理値表である。 基本発明の実施例にかかる基本セルのゲートレベルの回路図である。 基本発明の実施例にかかる基本セルのトランジスタレベルの回路図である。 基本発明の実施例にかかるアレイのゲートレベルの回路図である。 基本発明の実施例にかかるアレイのゲートレベルの回路図である。 基本発明の変形例にかかる基本セルのゲートレベルの回路図である。 基本発明の変形例にかかる基本セルのトランジスタレベルの回路図である。 基本発明の変形例にかかるアレイのゲートレベルの回路図である。 基本発明の変形例にかかるアレイのゲートレベルの回路図である。 基本発明の変形例にかかるアレイのゲートレベルの回路図である。 基本発明の実施例にかかるアレイ及びサブアレイの配置図である。 基本発明の実施例の使用例である。 基本発明の実施例の使用例である。 基本発明の実施例の使用例である。 本発明の実施例を示す図(基本発明の変形例)である。 本発明の図32に示す実施例の一使用形態である。 本発明の実施例の変形例である。 本発明の図33Bの実施例に示される基本セルの詳細回路である。 本発明の図33Cの真理値表である。 本発明の図33Cの真理値表である。 基本発明の論理マッピングの例である。 本発明の図33Bの回路構成に対する論理マッピングの例である。 本発明のロジックセルコンパイラの処理フローである。 図20,24の回路に対しトランジスタ数を削減した本発明の回路図である。 本発明の図35の真理値表である。 本発明の図35の回路を実現するためのトランジスタを示す図である。 本発明の変形例の回路図である。 本発明の変形例の回路図である。 本発明の図38A,Bの回路構成に対する真理値表である。 本発明の図38A,Bの回路構成に対する真理値表である。 本発明の実施例のさらなる変形例である。 本発明の図39の回路構成に対する真理値表である。 本発明の図38A,Bの回路図のトランスファーゲートを変えた変形例である。 本発明にかかるバイパス機能を持ったDフリップフロップの図である。 本発明の図42の回路構成に対する真理値表である。 本発明のサイドループ接続を示すアレイの配置図である。
1−1 基本発明の概要
以下基本発明の概要を説明する。
なお,以下で説明する図面における配線について,2本の線が十字状に交差(クロス)する場合(記載)は互いに電気接続していないことを示し,また,2本の線がT字状に交差する場合(記載)は互いに電気的に接続している状態を表している。
基本発明のリーフセル(基本セル)7と呼ばれる集積回路の基本構成単位は,図1に示されるように積和論理あるいは和積論理あるいは環和論理等の回路で構成される複数の論理再構成素子1と論理再構成素子1の論理を定義するためのラッチまたはフリップフロップまたはSRAMまたはDRAMまたはフラッシュメモリ等のメモリ素子で構成される複数の論理コンフィグレーション用(論理再構成用)メモリ素子2(論理再構成素子1の論理を決めるための記憶素子)と論理データ信号チャネル3と論理コンフィグレーション用データチャネル4と論理コンフィグレーション用メモリ素子2の制御信号チャネル5と入力および出力信号端子6とを基本構成単位とする。ここで論理再構成素子1と論理コンフィグレーション用メモリ素子2とを合わせて論理素子ブロックという。これをマニュアル設計またはCADツールを駆使した高度な設計をすることで高密度化し,論理データ信号の伝播遅延と消費電力と面積とを最適にする。また全ての論理データ入力信号をそれぞれ全ての論理再構成素子1の入力とすることでリーフセル7の入力端子と出力端子間の信号経路の変更と分岐とを実現し,論理コンフィグレーション用メモリ素子2の情報を書換えることで論理再構成素子1の論理の変更をも実現する。
マニュアル設計した論理再構成可能なリーフセル7を例えば図2に示すように複数煉瓦積みのように規則配置(リーフセル7を行毎にずらして行列状に敷き詰めたアレイとして配置)し,図示上下で隣接する論理再構成可能なリーフセル7の論理データ信号端子間の伝播遅延時間と論理コンフィグレーション用メモリ素子2のデータ信号端子間の距離が最小になるようにする。この煉瓦積みのように規則配置したリーフセル7の論理コンフィグレーション用メモリ素子2の情報を書換えることで論理の変更と信号経路の変更および分岐が可能となる。
図3において,規則配置した論理再構成可能なリーフセル7で構成された論理再構成可能なリーフセルモジュール(サブアレイ)71の前後にそれぞれ信号セレクタとフリップフロッップ回路またはラッチ回路等の記憶素子を論理データ信号毎に配置する。リーフセルモジュール71の論理データ出力信号をそれぞれ論理データ信号セレクタ8を介してフリップフロッップ回路またはラッチ回路等の記憶素子9の論理データ入力に接続する。フリップフロッップ回路またはラッチ回路等の記憶素子9の論理データ出力信号をフィードバック信号セレクタ10を介して前段のフィードバック信号セレクタ11までフィードバックする。前段の論理データ信号セレクタ12を介して前段のフリップフロッップ回路またはラッチ回路等の記憶素子13の論理データ入力にフィードバック接続する。記憶素子13は論理回路を実現するための順序回路として機能するものであって,論理データ信号セレクタ12の出力信号データを記憶するものである。
ここでフィードバック信号セレクタ11,論理データ信号セレクタ12,フリップフロッップ回路またはラッチ回路等の記憶素子(順序回路)13によりフィードバック回路(リーフセルモジュールのインタフェース回路)が構成される。また,このフィードバック回路の図示上下に位置する(配置される)リーフセル7を各々列方向に並べた複数のリーフセルモジュール71をサブアレイとして構成している。その結果,論理データ信号の記憶と論理データ信号のフィードバックとをリーフセルモジュール71単位でスケーラブルに実現できる。すなわち,複数のサブアレイ71をインタフェース回路にて電気接続して信号通信を行う集積回路として構成することができるので,容易に拡張可能な大規模集積回路を実現することが可能となる。
図3では,サブアレイ71の行を4段として構成しているが,インタフェース回路の間に入れるサブアレイ71の行を4段以外にすることもできる。このように,規則配置される論理再構成可能なリーフセル7とフリップフロッップ回路またはラッチ回路等の記憶素子9,13との構成比率によって論理データ信号を記憶する記憶容量を任意に設定できる。
基本発明の集積回路は論理コンフィグレーション用メモリ素子の情報を書換えることで信号経路と論理とを同時に再構成できる。このことは専用のテスト回路を必要とせずにテスト回路をも再構成することが可能であり,自己診断回路を再構成して回路の自己テストをも行うことができる。回路テストの結果,故障が発見された場合にはやはり論理コンフィグレーション用メモリ素子2の情報を書換えることで故障回路を迂回する信号経路を再構成することで故障箇所が存在しても回路を動作させることが可能となる。
規則配置した論理再構成可能なリーフセル7で構成した複数の論理再構成可能なリーフセルモジュール群14をリーフセルモジュール群インタフェース回路15を介して論理再構成可能なリーフセルモジュール群14を複数連続的に接続して機能を拡張する方式の例を示す。図4は論理再構成可能なリーフセルモジュール群14を2つ接続した場合の複合的なモジュールの例である。,リーフセルモジュール群14は図3におけるリーフセルモジュール71とフィードバック回路(リーフセルモジュールのインタフェース回路)に相当する回路である。それぞれの論理再構成可能なリーフセルモジュール群14には論理コンフィグレーション制御回路16が接続される。リーフセル7内にあるコンフィグレーションメモリ素子への論理コンフィグレーション情報の書き込みと保持と消去の制御を行う。また,コンフィグレーションメモリ素子は構造的にリーフセルモジュール郡14に分散配置されるため,論理コンフィグレーション制御回路16とリーフセルモジュール群14間の信号チャネル領域を一般的なFPGAやDRPと比較して小さくすることが可能となる。
論理再構成可能なリーフセルモジュール郡14はシステムバスまたはローカルバス17にバスインタフェース回路18とリーフセルモジュール群インタフェース回路15を介して1つまたは複数の論理再構成可能なリーフセルモジュール群14を接続することができる。図5は2つの論理再構成可能なリーフセルモジュール群14で複合モジュールを構成し,これをバスに接続した回路構成例である。
規則配置した論理再構成可能なリーフセルモジュール群19はプロセッサへの応用も可能であり,図6は論理再構成可能なリーフセルモジュール群19をプロセッサの命令実行処理回路のデータパスに挿入し,各リーフセル7に配置された論理コンフィグレーション用メモリ素子2の情報を書換えることで命令セットの機能を変更できるようにしたリコンフィギュアブルプロセッサのアーキテクチャの例である。これは,ALU(Arithmetic Logic Unit)20で実行される命令とリーフセルモジュール群14による機能変更可能な命令セットとを併せ持つプロセッサアーキテクチャである。このアーキテクチャの例では制御ユニット21でデコードされたインストラクションに従い,機能変更可能な命令であればインストラクション機能変更制御回路22が機能の変更情報と機能変更のタイミング情報とを生成し,これらの情報に従ってリーフセルモジュール群コンフィグレーション制御回路23がリーフセルモジュール群14の論理機能を再構成する。また機能変更を行わない通常の命令は従来通りALU20によって実行される。
基本発明の規則配置した論理再構成可能なリーフセルモジュール群14と機能変更可能な命令セットを持つリコンフィギュアブルプロセッサ25はどちらもシステムバスあるいはローカルバスにバスインタフェース回路を介してそれぞれ1つまたは複数接続できる。図7はシステムバス24に機能変更可能な命令セットを持つリコンフィギュアブルプロセッサ25と3つの複合リーフセルモジュール26とメモリコントローラ27を接続し,さらにバスブリッジ28を介してローカルバス29に論理再構成可能なリーフセルモジュール群30とペリフェラル31とを接続したシステム構成の例である。
図8は機能変更可能な命令セットを持つプロセッサのコンパイル方式のフローチャートである。C++言語やJAVA(登録商標)言語といった高級言語32でプログラムされたソースプログラムコードをリコンフィギュアブルプロセッサの通常の命令セットあるいは機能変更可能な命令セットのデフォルトとして定義される命令セットのみを使った1次コンパイラ33でコンパイルし,1次オブジェクト34を生成する。この1次オブジェクトに現れるオブジェクトコードの出現頻度・機能・組合わせ・出現順等の情報とリコンフィギュアブルプロセッサの各レジスタ情報・スタック情報・レジスタファイル情報・プログラムカウンタ情報・パイプライン状態等の情報とを解析するオブジェクトコード解析処理35を行って,機能変更可能命令の最適命令コード36を生成する。またオブジェクトコード解析への入力としてサードパーティ製の1次オブジェクト37を利用することも可能である。2次コンパイラ38は最適に機能変更された最適命令コード36と1次オブジェクト34またはサードパーティ製の1次オブジェクト37とを入力として最適に機能定義された最適命令コード36を使ったよりステップ数の少ない最適オブジェクトコードへの置換えと,置換えにより削減されたコードのアドレスに対応した相対ジャンプアドレスまたは絶対ジャンプアドレスまたは参照データアドレス等のアドレスのリロケーションとを行い,2次オブジェクト39を生成する。最後にリンカ40によって2次オブジェクト39がリンクされ,実行可能なバイナリコード41が生成される。ここで生成された2次オブジェクトは1次オブジェクトよりもオブジェクトコードのステップ数が少ないことが特徴であり,これによってプロセッサのスループットが向上する。
基本発明の具体的なSoC(System on Chip)の例を図9に示す。この例ではシステムバスに1つの機能変更可能な命令セットを持つリコンフィギュアブルプロセッサと2つの論理再構成可能なリーフセルモジュール群50とメモリコントローラ51とUSBコントローラ52とイーサネット(登録商標)コントローラ53とを接続し,さらにバスブリッジ54を介してローカルバス55に論理再構成可能なリーフセルモジュールとペリフェラルとしてフラッシュメモリインタフェース56とI2Cインタフェース57とGPIOインタフェース58を集積した集積回路を示している。
1−2 基本発明の別の観点からの説明
以下,基本発明をさらに別の観点から説明する。
基本発明の集積回路は,所定の形状を有する基本セルを行列状に敷き詰めて構成したアレイを有する集積回路である。基本セルは,第1の信号が供給される第1の入力端子と,第2の信号が供給される第2の入力端子と,第1及び第2の入力端子と対向する位置にある第1及び第2の出力端子と,第1の信号及び第2の信号をうけて,第1の設定情報に従い第1の信号及び第2の信号の論理演算結果にかかる信号,第1の信号若しくはその反転信号,又は第2の信号若しくはその反転信号のいずれかを第1の出力端子に供給する第1の論理素子ブロックと,第1の信号及び第2の信号をうけて,第2の設定情報に従い第1の信号及び第2の信号の論理演算結果にかかる信号,第1の信号若しくはその反転信号,又は第2の信号若しくはその反転信号のいずれかを第2の出力端子に供給する第2の論理素子ブロックと,を具備する。
基本セルは,さらに,第1の設定情報を記憶する第1の記憶素子群と,第2の設定情報を記憶する第2の記憶素子群とを具備することが望ましい。
第1の記憶素子群及び第2の記憶素子群はいずれも複数のフリップフロップ回路から構成され,これらフリップフロップに第1の設定情報及び第2の設定情報を供給するためのデータ配線群が列方向に形成され,これらフリップフロップに第1の設定情報及び第2の設定情報をラッチするための制御信号配線が行方向に形成されていることが望ましい。
第1の論理素子ブロックは4つの3入力論理ゲートと,これら3入力論理ゲートの各出力が入力される4入力論理ゲートとから構成され,3入力論理ゲートには,いずれも,第1の設定情報,第1の信号又はその反転信号,及び第2の信号又はその反転信号がそれぞれ入力され,第2の論理素子ブロックは4つの3入力論理ゲートと,これら3入力論理ゲートの各出力が入力される4入力論理ゲートとから構成され,3入力論理ゲートには,いずれも,第2の設定情報,第1の信号又はその反転信号,及び第2の信号又はその反転信号がそれぞれ入力されることが望ましい。
アレイは,基本セルを第1の行において所定のピッチで配列し,第1の行に隣接する第2の行において,半ピッチシフトさせつつ所定のピッチで配列することによって,第1の行の基本セルの第2の出力端子が第2の行の基本セルの第1の入力端子に接続され,第1の行の基本セルの第1の出力端子が第2の行の基本セルの第2の入力端子に接続されるように基本セルを敷き詰めて構成することが望ましい。
アレイは,基本セルをn行配列した基本セルを奇数行(1,3,・・・n−1行)において所定のピッチで配列し,基本セルを偶数行(2,4,・・・n行)において,半ピッチシフトさせつつ所定のピッチで配列することによって,奇数行の基本セルの第2の出力端子が偶数行の基本セルの第1の入力端子に接続され,奇数行の基本セルの第1の出力端子が偶数行の基本セルの第2の入力端子に接続されるように基本セルを敷き詰めて構成したサブアレイを有し,サブアレイの一端にはn行目の各基本セルの出力をラッチするラッチ回路からなるラッチ回路行を有することが望ましい。
アレイは,さらに,ラッチ回路の出力を1行の基本セルの第1の入力端子又は第2の入力端子に戻すためのフィードバック配線を有することが望ましい。
アレイは,基本セルをm行配列してなり,さらに,集積回路は,データの転送を行うバスと,アレイの第1辺に沿って形成され,バスから供給されるデータを,アレイ中の1行目の基本セルの第1の入力端子又は第2の入力端子若しくはその両者に供給する第1のバスインターフェース回路と,アレイ中のm行目の基本セルの第1の出力端子又は第2の出力端子若しくはその両者から供給されるデータを,バスに供給する第2のバスインターフェース回路とを有することが望ましい。
集積回路は,さらに,バスに接続された,所定の機能を有する機能ブロックを具備することが望ましい。
アレイは,基本セルをm行配列してなり,さらに,集積回路は,データの転送を行う第1のデータバス,第2のデータバス及び第3のデータバスを有し,第1のデータバス及び第2のデータバスをそれぞれ入力とし,第3のデータバスに論理演算結果を出力する論理演算回路と,アレイ中の1行目の基本セルの第1の入力端子又は第2の入力端子若しくはその両者は第1のデータバス又は第2のデータバスが接続され,アレイ中のm行目の基本セルの第1の出力端子又は第2の出力端子若しくはその両者は第3のデータバスに接続されていることが望ましい。
集積回路は,さらに,第1の設定情報及び第2の設定情報を,動的に再設定する制御回路を具備することが望ましい。
さらに,上記目的を達成するために,基本発明においては,さらに,集積回路の使用方法が提供される。
上記した集積回路の使用方法において,第1の論理素子ブロックが,第2の信号又はその反転信号のいずれかを第1の出力端子に供給するように,第1の設定情報を設定するか,又は,第2の論理素子ブロックが,第1の信号又はその反転信号のいずれかを第2の出力端子に供給するように,第1の設定情報を設定することにより,第1の論理素子ブロック又は第2の論理素子ブロックを,実質的に斜め方向に走る配線と同一の作用を呈させることが望ましい。
上記した集積回路の使用方法において,第1の設定情報及び第2の設定情報を,動的に再設定することが望ましい。
上記した集積回路の使用方法において,基本セルの動作をテストすることによって不良セルを検出し,検出によって不良セルとされた基本セルを迂回するように第1の設定情報及び第2の設定情報を設定することが望ましい。
1−3 基本発明の数学的基礎及び基本発明の原理に関する説明
ブール代数においては,図10に定義する論理式において,適切なS,S,S,Sを選択することによって,すべての論理演算を実現することができる。
図11に再構成可能な論理再構成素子のモデル(概念図)59を示す。図11は,入力信号x(Input x)及び入力信号x(Input x)を受けて,どのような論理演算結果でも出力可能な信号f(x, x)を出力する論理再構成素子として示されている。そして,S=0,S=1,S=0,S=1を選択することによって,出力信号f(x,x)=xとすることができる。この選択によって,入力信号xが,あたかも配線のように,出力信号出力信号f(x,x)に結び付けられている。言い換えれば,適切なS,S,S,Sを選択することによって,論理再構成素子を配線として機能させることができる。
図12は,図10の論理式を2つ用い,2つの入力信号から2つの出力信号が得られる基本セルを示した図である。適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,すべての論理演算の組み合わせを実現することができる。
図13に示すように,2つの論理再構成素子を用いて,入力信号x(Input x)を受けて出力信号f(x, x)=xを出力し,入力信号x(Input x)を受けて出力信号f(x, x)=xを出力する信号の経路選択機能を基本セルに実装することができる。ここで,S00=0,S01=1,S02=0,S03=1を選択し,S10=0,S11=0,S12=1,S13=1を選択することによって,出力信号f(x,x)=x,出力信号f(x,x)=xとすることができる。この選択によって,入力信号xが,あたかも配線のように,出力信号出力信号f(x,x)に結び付けられ,入力信号xが,あたかも配線のように,出力信号出力信号f(x,x)に結び付けられている。言い換えれば,適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,2つの論理再構成素子交差配線として機能させることができる。
図14は,2つの論理再構成素子を用いて,出力信号f(x,x)=x,出力信号f(x,x)=xとした例である。つまり,入力信号x(Input x)を受けて出力信号f(x, x)=xを出力し,かつ,入力信号x(Input x)を受けて出力信号f(x, x)=xを出力する信号の分岐機能を基本セルに実装することができる。S00=0,S01=1,S02=0,S03=1を選択し,S10=1,S11=1,S12=0,S13=0を選択することによってこのような論理を実現することができる。言い換えれば,適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,2つの論理再構成素子を入力信号xの分岐配線として機能させることができる。
図15は,2つの論理再構成素子を用いて,出力信号f(x,x)=x,出力信号f(x,x)=xとした例である。つまり,入力信号x(Input x)を受けて出力信号f(x, x)=xを出力し,かつ,入力信号x(Input x)を受けて出力信号f(x, x)=xを出力する信号の分岐機能を基本セルに実装することができる。S00=0,S01=0,S02=1,S03=1を選択し,S10=0,S11=0,S12=1,S13=1を選択することによってこのような論理を実現することができる。言い換えれば,適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,2つの論理再構成素子を入力信号xの分岐配線として機能させることができる。
図16は,図12及び図13に記載された基本セル(リーフセル)60を敷き詰めてアレイ状に構成した例である。このアレイは,基本セルを1行目及び奇数行において所定のピッチ(同一ピッチ)で配列し,2行目及び偶数行において,半ピッチシフトさせつつ所定のピッチ(同一ピッチ)で配列している。
1行目及び奇数行の基本セルの出力信号f(x,x)が2行目及び偶数行の基本セルの入力信号xに,1行目及び奇数行の基本セルの出力信号f(x,x)が2行目及び偶数行の基本セルの入力信号xにそれぞれ接続されるように配列している。
このように構成し,かつ,基本セルのS00,S01,S02,S03,S10,S11,S12,S13を適切に選択することによって,基本セルを交差配線(図13),分岐配線(図14,図15),斜め配線などとして機能させることにより,斜め方向に信号を伝達することが可能になる。その結果,FPGA等で必要とされていた,基本セル間の配線領域をなくすことが可能になり,小さくすることが可能になる。
2−1 論理素子ブロックの構成
図17は,上記した論理再構成素子及び論理再構成素子の機能を設定するための設定情報を記憶する記憶素子群のゲートレベル回路構成図(すなわち論理素子ブロック)である。
論理再構成素子110は,4つの3入力NANDゲート101,102,103及び104と,その出力すべてが入力される4入力NANDゲート105から構成されている。
論理再構成素子110の出力の論理式は,図17に示したとおりであり,端子C,C,C,Cと端子Aと端子Bに供給される信号c,c,c,c,a,bの論理演算に基づく出力xが端子Xに提供される。信号c,c,c,cは図10〜15で説明したS,S,S,Sに,信号aがInput xに,信号bがInput xにそれぞれ対応する。
記憶素子群111(論理再構成素子110の論理を決めるための記憶素子)は,4つのフリップフロップ106,107,108及び109から構成されている。いずれも,端子Lに供給される制御信号が1(ハイレベル)から0(ロウレベル)に遷移するタイミングで,端子C,C,C,Cのデータであるc,c,c,c(設定情報)が4つのフリップフロップ106,107,108及び109にそれぞれ取り込まれる。取り込まれたデータc,c,c,cは,論理再構成素子110に伝達される。
図18は設定情報c,c,c,cの組み合わせによって,論理再構成素子がどのような論理演算を行い,出力端子Xにいかなるデータが出力されるかを示した表である。設定情報が0000の場合は出力は常に0,1000の場合はaとbの論理積,0100の場合は非aとbの論理積,1100の場合はb(配線として作用する),0010の場合はaと非bの論理積,1010の場合はa(配線として作用する),0110の場合はaとbの排他的論理和,1110の場合はaとbの論理和,0001の場合はaとbの反転論理和(NOR),1001の場合はaとbの反転排他的論理和,0101の場合は非a,1101の場合は非aとbの論理和,0011の場合は非b,1011の場合はaと非bの論理和,0111の場合はaとbの反転論理積,1111の場合は常に1がそれぞれ出力される。
2−2 基本セルの構成
図19は基本セル(リーフセル)60のゲートレベル回路構成図である。
基本セル60は,2つの論理再構成素子121及び122と,記憶素子群123及び124(論理再構成素子121及び論理再構成素子122の論理を決めるための記憶素子)を有する。
論理再構成素子121及び122は,いずれも,図17と同様な4つの3入力NANDゲートと,その出力すべてが入力される4入力NANDゲートから構成されている。
論理再構成素子121は端子C,C,C,Cと端子Aと端子Bに供給される信号c,c,c,c,a,bの論理演算に基づく出力xを端子Xに提供する。
記憶素子群123は,4つのフリップフロップから構成されている。いずれも,端子Lに供給される制御信号が1(ハイレベル)から0(ロウレベル)に遷移し,端子/Lに供給される制御信号が0から1に遷移するタイミングで,端子C,C,C,Cのデータであるc,c,c,c(設定情報)が4つのフリップフロップにそれぞれ取り込まれる。とりこまれたデータc,c,c,cは,論理再構成素子121に伝達される。
論理再構成素子122は端子C,C,C,Cと端子Aと端子Bに供給される信号c,c,c,c,a,bの論理演算に基づく出力yを端子Yに提供する。
記憶素子群124は,4つのフリップフロップから構成されている。いずれも,制御信号Lが1(ハイレベル)から0(ロウレベル)に遷移し,制御信号/Lが0から1に遷移するタイミングで,端子C,C,C,Cのデータであるc,c,c,c(設定情報)が4つのフリップフロップにそれぞれ取り込まれる(この点で,図1の回路とは異なる)。とりこまれたデータc,c,c,cは,論理再構成素子122に伝達される。
端子C,C,C,Cは,基本セル60を上下に貫通する配線によって,端子Q,Q,Q,Qに接続されており,これら端子Q,Q,Q,Qは,それぞれ,図示しない次の行の基本セル60の端子C,C,C,Cに接続される。
端子C,C,C,Cは,基本セル60を上下に貫通する配線によって,端子Q,Q,Q,Qに接続されており,これら端子Q,Q,Q,Qは,それぞれ,図示しない次の行の基本セル60の端子C,C,C,Cに接続される。
端子L及び端子/Lは,基本セル60を左右に貫通する配線によって,端子N,端子/Nにそれぞれ接続されており,これら端子N,端子/Nは,同一行で右に隣接する図示しない基本セル60の端子L及び端子/Lにそれぞれ接続される。
基本セル60はそのレイアウトが横長の略長方形状をしている。略長方形状の上辺には端子C,C,C,C,A,C,C,C,C,Bが配列しており,下辺には端子Q,Q,Q,Q,X,Q,Q,Q,Q,Yが配列しており,左辺には端子L,/Lが配列しており,右片には端子N,/Nが配列している。
図20は図19の基本セル60のトランジスタレベルの回路図である。端子Aにはインバータ125及びインバータ126がそれぞれ接続され,端子Bにはインバータ127及びインバータ128がそれぞれ接続されている。インバータ125は端子Aに供給される信号aの反転信号である/aを生成し,インバータ126は信号aと同相でかつ増幅された信号aを生成する。インバータ127は端子Bに供給される信号bの反転信号である/bを生成し,インバータ128は信号bと同相でかつ増幅された信号bを生成する。そして,信号/a,a,/b,bが,多数の3入力NANDゲートに選択的に入力されるように構成される。
2−3 アレイの構成
図21は,図20の基本セル60を図16に示すように,行毎に半ピッチずらして行列状に配置したアレイのゲートレベルの回路図である。このように構成することによって,多種多様な組み合わせ論理回路を実現することができる。斜め方向の配線を論理素子ブロックによって実現するため,従来のような配線領域や結線領域を無くす又は最小化することが可能となり小さなリコンフィギュアブル回路を実現することができる。ここで配線領域や結線領域の最小化とは,論理再構成素子相互の接続に比較的大きな配線チャネル領域を必要しない回路構成(集積回路)とするために,基本セル60同士を隣接配置し互いの端子を隣接接続する場合に必要とされる配線ラインを最短で配置することをいう。
図22は各基本セル60にc,c,c,c,c,c,c,cの論理再構成素子の論理を決定するコンフィギュレーション情報を供給するための回路が示されている。
端子C,C,C,C,C,C,C,Cに対応してフリップフロップ131・・・138・・・が設けられている。そして,これらフリップロフップは,シフトレジスタを構成し,左端のCD(Configuration Data)端子からシリアルに論理再構成素子の設定情報を供給する。データのシフトは図示しないクロック信号端子に供給されるクロック信号をトグルさせる(0から1,1から0にクロック信号を繰り返し供給する)ことによって行う。
また,各行の端子L,/Lに対応して,フリップフロップ回路141,142,143・・・が設けられている。そして,これらフリップフロップ回路141,142,143・・・は,シフトレジスタを構成し,左端のCDH(Configuration Data Hold)端子からコンフィグレーションデータホールド信号をシフトレジスタ141,142,143・・・の下から上に向かって順次転送することによって,まずリーフセルモジュールにおける図示最下段の基本セル60で構成された行の論理を設定し,次に図示一段上に位置する基本セル60で構成された行の論理を設定し,更に図示一段上に位置する基本セル60で構成された行の論理を設定する。このようにこの動作をリーフセルモジュール内に配置される全ての基本セル60が構成された行について実行する(図22では3行のみ図示している)。
この動作をより詳しく説明すると以下のようになる。
すなわち,図22の回路構成において,まずシフトレジスタ141,142,143・・・をセットまたはリセットすることで全ての論理素子ブロックのラッチ回路(記憶素子)をスルーにする。次に,CD端子からシリアルにコンフィグレーション情報をシフトレジスタ131,132,133,134,135,136,137,138・・・に入力し,これらのシフトレジスタ131,132,133,134,135,136,137,138・・・をシフト動作させることにコンフィグレーション情報を各列の論理コンフィグレーションメモリに設定する。そして,CDH端子にデータホールド信号(1or0)を印加することで図示最下段の基本セル60で構成された行の論理を設定する。そして再度,シフトレジスタ141,142,143・・・にクロック信号をシフトレジスタの数分のサイクル数を入力することで,図示一段上に位置する基本セル60で構成される行のコンフィグレーション情報を設定する。
このような基本セル60で構成された行の論理を設定する動作を,上記の全ての論理素子ブロックのラッチ回路をスルーにした後に説明した動作を繰り返し実行することにより,図示最下段から図示上の行へ順次行単位で論理再構成素子の論理を決定し最終的に全ての論理再構成素子の論理を確定させる。
これにより論理素子の再構成を可能としている。
この全ての論理再構成素子の論理を確定させる動作は,図22のコンフィグレーション回路の順序回路のシフト動作の方向を変更することで,最上段から下の行へ順次行単位で論理再構成素子の論理を決定し最終的に全ての論理再構成素子の論理を確定させることもできる。
2−4 基本セル及びアレイの変形例
図23は基本セル(リーフセル)61の変形例のゲートレベル回路構成図である。
図19の回路と相違する点は,信号c,c,c,cを供給する端子が端子C,/C,C,/C,C,/C,C,/Cからなり,相補信号が供給されることである。また,信号c,c,c,cを供給する端子が端子C,/C,C,/C,C,/C,C,/Cからなり,相補信号が供給されることである。
図24は図23の基本セル61のトランジスタレベルの回路図である。設定情報の供給を相補信号で行うことによって,フリップフロップ回路のトランジスタ(Tr)数を減らすことができる。
図25は,図23の基本セル61を,行毎に半ピッチずらして行列状に配置したアレイのゲートレベルの回路図である。
図26は,図23は各基本セル61にc,/c,c,/c,c,/c,c,/c,c,/c,c,/c,c,/c,c7,/cの各設定情報を供給するためのゲートレベルの回路が示されている。フリップフロップ回路の相補的出力がそれぞれ供給される。
図27は,図23は各基本セル61にc,/c,c,/c,c,/c,c,/c,c,/c,c,/c,c,/c,c7,/cの各設定情報を供給するためのさらに別のゲートレベルの回路が示されている。Configuration Dataは,基本セル61の左側の記憶素子群の設定を行うライン(Configuration Data1)と,基本セル61の右側の記憶素子群の設定を行うライン(Configuration Data2)とに分離されている。このように構成することによって,設定情報の更新を素早く行うことができる。
2−5 フィードバック回路
図3で説明したとおり,アレイを列方向に並んだ複数のサブアレイで構成し,各サブアレイの間に,フィードバック回路を挿入することが可能である。
図28は,このようなフィードバック回路b00〜b31を挿入した例である。
アレイ全体は,サブアレイ151,152,153によって構成されており,各サブアレイ151,152,153は,この例では16行の基本セルから構成され(図28ではサブアレイ151,153の基本セルの個数は一部省略している。)。フィードバック回路b00〜b31の素子の個数は1行の基本セル(図28の基本セル中の素子は2個)に含まれる論理素子ブロックの総和と同じであり,サブアレイ151,152の最終行の基本セルの出力端子X及び出力端子Yにそれぞれ接続される。フィードバック回路の構成は,図3で説明したものと同一であり,フリップフロップ回路(記憶素子)13,前段の論理データ信号セレクタ12,フィードバック信号セレクタ11から構成される。さらに,セレクタを制御するために,設定情報を記憶するための素子群と,この設定情報を設定するための信号線等が存在する。
図29は,基本セル7,60,61を直下配線,斜め配線,分岐配線等として機能させ,フィードバック回路も利用した回路の例である。
図30は,基本セル7,60,61を直下配線,XOR(排他的論理和)・AND(論理積),OR(論理和)等として機能させ,フィードバック回路も利用して,8ビットのキャリー付加算器を生成した例である。
図31は,基本セル7,60,61を直下配線及び斜め配線として機能させ,フィードバック回路も利用してシフトレジスタを生成した例である。
なお,図29,30,31におけるサブアレイを構成する複数の基本セルにおいて,このサブアレイを通りサブアレイに対して図示上下に存在するフィードバック回路まで引かれた実線で示す太線が,各々の回路例に対する配線経路を示している。
2−6 基本セル(リーフセル)を用いたシステム
図4乃至図9で説明したリーフセルを用いたシステムは,本実施例においても同様である。
2−7 基本セルのテスト
上述した基本セル7,60,61を用いたアレイは,以下のように使用することが望ましい。
はじめに,すべての基本セル7,60,61が動作するかどうかを以下のように確認する。
各基本セル7,60,61にc,c,c,c,c,c,c,cの各設定情報のすべてのパターン又は縮退したパターン(実質的にすべてのパターンを検出することができるような部分集合のパターン)を供給して基本セル7,60,61の動作を確認する。
そして,動作が想定と異なる場合には,上記パターンと出力との関係から,不良セルを特定する。これが不良セル特定ルーチンである。
実際に,回路生成を行う際には,不良セルと特定された基本セル7,60,61を迂回するように設定情報を設定する。そのように設定することによって,不良を含むセルアレイでも,実使用に用いることが可能となる。
3−1 3入力又は4入力論理素子ブロックを用いた例
図32は本発明の実施例を示すものであり,基本発明の変形例である。基本発明について上述した内容は,性質上可能な限り,以下の本発明について準用され適用される。
図31迄に示した例においては,2入力の論理素子ブロックを2つ組み合わせて基本セルを構成し,基本セルの一方(図2,3,16,21,22,25−31における基本セルの図示上側に隣接位置する基本セル)から入力したデータに論理演算操作を加え(又は単なる配線としての役割をもたせ),基本セルの他方(図2,3,16,21,22,25−31における基本セルの図示下側に隣接位置する基本セル)へ結果を出力する例であった。つまり基本セルを規則正しく配置することで,基本セル同士の上下接続を余分な配線を引き回すことなく互いに電気的接続を可能とする構成としたものである。このように図31迄に示した例は,基本セルを隣接配置し,それら上下の基本セルを直接接続するといった技術思想の基,必要最小限の配線で相互の基本セルを電気接続すること(配線チャネル領域の最小化)を可能とするものである。
これに対し本発明の実施例を示す図32の例においては,基本セル62内に構成する3入力の論理素子ブロック621を2つ組み合わせて基本セル62を構成している。すなわち,基本セル62内の1個の論理素子ブロック621に対して,図示上側に隣接配置する基本セル62からの2つの入力,及び,図示左右何れかの方向に隣接配置する基本セル62からの1つの入力を合わせた合計3つの入力からの信号に論理演算操作を加え(又は単なる配線としての役割をもたせ),基本セル62の図示下側及び基本セル62の図示左右何れかの方向へ論理演算操作の結果を出力する例である。つまり基本セルを規則正しく配置することで,基本セル同士の上下および左右の接続を余分な配線を引き回すことなく互いに電気的接続を可能とする構成としたものである。このように図32に示した例(図33以降の図面にかかる回路例も同様)は,基本セルを上下及び左右に隣接配置し,それら上下及び左右の基本セルを直接接続するといった技術思想の基,必要最小限の配線で相互の基本セルを電気接続すること(配線チャネル領域のさらなる最小化)を可能とするものである。
矩形状の基本セル62は行毎に半ピッチずらして行列状に敷き詰めてられている。基本セル62は,隣接前行(図示上側の行)の基本セル62から信号x及び信号xが供給され,同一行に属し隣接する基本セル62から信号xが供給される(基本セル62の左右行側に隣接する基本セルが存在する場合は左右両側から信号xが供給される)。これら信号を受けて,論理設定情報に従い論理演算結果又はいずれかの信号の正又は反転信号を,隣接後行(図示下側の行)の基本セル62又は同一行に属し隣接する(図示左右の)基本セル62に供給する。
このように本発明の実施例は,基本セルの図示上下方向のみならず図示左右方向(行列方向)の基本セルとの信号授受を行うことができるよう構成される。これにより2入力の論理素子ブロックを用いた例よりも,より高密度な論理回路の実装が可能となる。
図33Aは図32に示した実施例の一使用形態である。この使用形態から理解されるように,基本セル62を図示上下(列方向)のみでなく,図示左右(行方向)に接合させることができ,その結果,左右方向への論理演算結果の供給又は左右方向への配線を実現することが可能となり,2入力の論理素子ブロックを用いた例よりも,より高密度な論理回路の実装が可能となる。ここで図33Aにおいて,基本セル内の論理素子ブロック621を通り引かれた実線で示す太線が配線経路を示す。
図33Bは本発明の実施例の変形例である。
図33Bの例においては,4入力の論理素子ブロックを2つ組み合わせて基本セル63を構成している。ただし,4つのA,B,L(左),R(右)の各入力は,そのすべての入力が論理演算に用いられるわけではなく,AとLのいずれかが入力として選択され,BとRのいずれかが入力として選択される。そして,それぞれ選択された各入力が図11(論理再構成素子のモデル)におけるx及びxとして用いられて論理又は配線が実現される。なお,配線は構成する回路によって設計的に決められるものであるので,図33Bでは配線経路は省略している。
矩形状の基本セル63は行毎に半ピッチずらして行列状に敷き詰めてられている。基本セル63は,図示X側を出力する論理素子ブロック631と図示Y側を出力する論理素子ブロック632とがある。隣接前行(図示上側の行)の基本セル63からA,Bの各信号が供給され,同一行に属し隣接する(図示左右の)基本セルからL,Rの各信号が供給される。論理素子ブロック631はX側選択情報に従い,A,Lのいずれかの信号が選択される。論理素子ブロック631は,X側設定情報に基づきA若しくはLとB若しくはRとの論理演算結果又はいずれかの信号の正又は反転信号を,隣接後行(図示下側の行)の基本セル63又は同一行に属し隣接する(図示左右の)基本セル63に供給する。論理素子ブロック632はY側選択情報に従い,B,Rのいずれかの信号が選択される。論理素子ブロック632は,Y側設定情報に基づきB若しくはRとA若しくはLとの論理演算結果又はいずれかの信号の正又は反転信号を,隣接後行(図示下側の行)の基本セル63又は同一行に属し隣接する(左右の)基本セル63に供給する。
図33Cは図33Bの実施例で説明した基本セル63のトランジスタレベルでの回路図(詳細回路図)である。論理演算を提供する部分は後述する図38Bと同等であるが,AとL,BとRの選択を行うための選択設定情報が記憶されるフリップフロップ回路161,162が追加されている。これらフリップフロップ161,162は,信号線S,/S,S,/Sによって,設定情報が供給される。さらに,フリップフロップ161,162に記憶された設定情報(AとL,BとRの選択情報)にしたがって,一組の相補動作トランスファーゲート163,164が動作し,これによって,AとL及びBとRが選択される。
X側及びY側の論理素子ブロックは,複数のトランスファーゲートを組み合わせることによって論理演算回路を構成している。すなわち,X側の論理素子ブロックにおいては,設定情報を記憶する4つのフリップフロップ165〜168を,A若しくはL及びB若しくはRの各信号によって選択する複数のトランスファーゲートが配置されている。
図33D及び33Eは図33Cの回路の真理値表である。Sが0のときはLが入力として選択され,1のときはAが入力として選択される。Sが0のときはRが入力として選択され,1のときはBが入力として選択される。このように選択された入力による論演演算ないし配線の実現は,後述する図38Cと同様である。
以下,図33Bで示した4入力2出力の基本セルの効果を,図11〜図22で示した2入力2出力の基本セルと対比して説明する。
図33Fは基本発明の論理マッピングの例であって,2入力2出力の基本セルの相互接続モジュールによって,4ビット・リップルキャリー加算器を実現した例である。使用した基本セル63の個数は45セル,論理素子ブロックの総数は90個(1セルに2つの論理素子ブロックが含まれる),論理素子ブロックの使用率は72.2%,論理素子ブロックの論理素子としての使用率は22.2%,論理素子ブロックの配線素子としての使用率は50.0%であった。ここで図33Fにおいて,基本セル63内を通り引かれた実線で示す濃い色の線は配線経路を示す。
図33Gは本発明の図33Bの回路構成に対する論理マッピングの例であって,4入力2出力の基本セルの相互接続モジュールによって,4ビット・リップルキャリー加算器を実現した例である。ここで図33Gにおいて,基本セル63内を通り引かれた実線で示す濃い色の線は配線経路を示す。図33Gの回路構成の場合,図33Fの図示上下方向(縦方向,列方向)の基本セルを結線する回路構成に対して,基本セルの左右方向(横方向,行方向)にも信号の通信が行われるよう内部の論理素子ブロックを構成している。図33Gにおいて,使用した基本セル63の個数は18セル,論理素子ブロックの総数は36個,論理素子ブロックの使用率は83.3%,論理素子ブロックの論理素子としての使用率は55.6%,論理素子ブロックの配線素子としての使用率は27.8%であった。このように,4入力2出力の基本セルを用いることによって,論理素子ブロックの使用率自体が向上するほか,配線素子としての使用率が低下することから,図33Fの回路構成に比べてより効率的な論理マッピングが可能になる。4入力2出力の基本セルの面積の増加はたかだか25%程度なので,4ビット・リップルキャリー加算器の例においては,図33Fの回路構成のような2入力2出力の基本セルを図33Gの回路構成のような4入力2出力の基本セルに変更することによって実装面積はほぼ半分になる。その結果,効率的なレイアウトが可能となる。
以上,2入力2出力の基本セルと4入力2出力の基本セルを対比して説明したが,これらの基本セルを混載しても構わない。例えば,奇数行は2入力2出力の基本セル,偶数行は4入力2出力の基本セルで配列しても構わないし,2入力2出力の基本セルの複数行と,4入力2出力の基本セルの複数行を交互に配置しても構わない。
また,上記各実施例及び変形例では,矩形の基本セルは全て同一のものを使用することを前提として,各基本セルを行毎に半ピッチずらして行列状に敷き詰めて配置した態様を示し説明したが,必ずしも半ピッチ配列でなくてもよい。ここでいうピッチとは敷き詰め配置した基本セルの偶数行と奇数行の行方向のずらし幅を指す。
例えば,同一の矩形の基本セルを行毎に1/3ピッチや1/4ピッチづつずらして敷き詰めて配置するような構成としてもよい。また,全て等間隔ピッチでなくてもよく,例えば半ピッチと1/3ピッチを組み合わせて矩形の基本セルを敷き詰め配置してもよいし,更に他のピッチを組み合わせて矩形の基本セルを敷き詰め配置してもよい。
また,論理素子ブロック及び論理素子ブロック数の異なる複数の基本セルを使用して隣接配置するようにしてもよい。この場合,隣接配置によってはピッチのズレ幅が複数存在する場合がある。
要するに,複数の基本セルをアレイ状(上下左右方向,行方向列方向)に規則正しく配置(上下左右方向つまり行方向列方向に,一定の配置法則で基本セルを敷き詰めること)でき,かつ,各基本セル間の電気的な接続のために専用の配線チャネルを無くす又は最小化可能な回路構成であれば,如何なる回路であっても本発明は適用可能である。
本発明を実際に製造する場合,基本セル間を接続するために入出力端子同士を直接接続困難な場合が考えられる。その場合は,配線を最小化して基本セル同士を近接配置して接続することで本発明にかかる製品の製造を実現することができる。本発明では,この場合を上記「配線チャネルの最小化」という意味として用いている。
また,上記全ての実施例では,基本セル内には2個の論理素子ブロックを構成して説明したが,これに限らず,1つの基本セル内に3個あるいはそれ以上の論理素子ブロックを構成するようにしてもよい。この場合,入力と出力の数が種々設計的に決まることになり,これら論理素子ブロックを有する基本セルを含んで隣接配置(つまり論理素子ブロックの数が異なる基本セルを混在させて隣接配置)して本発明のリーフセルモジュールを構成すれば,必然的に基本セルのピッチのズレ幅は複数存在することになる。
3−2 ロジックセルコンパイラの例
図34は本発明のロジックセルコンパイラの処理フローである。設計者がVerilog VHDLなどの言語で設計したデータ(SystemC,C,C++等で設計されたデータが変換されることもある。)の入力を受取り,ネットリストを生成する。このネットリストをネットリストアナライザ(Netlist Analyzer)が分析し,組合せロジック(Combination Logic),フリップフロップ(Flip−Flop),フィードバックパス(Feedback Path),セット・リセット・イニシャライザ(Set/Reset Initializer)などに分解し,これをロジックマッパ(Logic Mapper)で統合する。このようにして得られたロジックマッピングデータ(Logic Mapping Data)が本発明の論理再構成回路の論理設定情報に対応し,ラッチ回路等の再構成記憶素子(論理再構成素子の論理を決めるための記憶素子)に供給される(本発明の論理マッピング)。
3−3 基本セルの変形例
図35は図20,24の回路に対しトランジスタ数を削減した本発明の基本セル64の回路図である。図20の回路においては,複数のNANDを構成するトランジスタを用いて論理を実装していたところ,図35においては,複数の転送ゲート(PMOSトランジスタとNMOSトランジスタを並列に接続した回路構成:トランスファーゲート)を用いることによってトランジスタ数を著しく少なくしている。図36に図35の回路によって実現される論理演算の真理値表を示す。
図20の回路においてはインバータを二段継続接続してフリップフロップを構成し2つの転送ゲートによってこの制御をすることによって記憶素子を実現し,設定情報が記憶されるところ,図35の回路においてはそれぞれ2つのPMOSトランジスタとNMOSトランジスタによって構成される記憶素子を実現している。図35の回路の動作は図37に示すトランジスタ(Tr)によって構成される回路(4つのTr1,2,3,4によってSRAMを構成)を用いて実現することができる。
図37(a),(b)は,図35の回路を実現するためのトランジスタを示す図であって,論理再構成素子の論理を決めるための記憶素子を具体的に記載したものである。
図37(a),(b)において,第1のPMOSトランジスタ(Tr1)と第1のNMOSトランジスタ(Tr2)のドレイン同士が接続され,このドレインが第2のPMOSトランジスタ(Tr3)と第2のNMOSトランジスタ(Tr4)のゲートに接続される。また,第2のPMOSトランジスタ(Tr3)と第2のNMOSトランジスタ(Tr4)のドレイン同士が接続され,このドレインが第1のNMOSトランジスタ」(Tr2)のゲートに接続され,且つ,出力端子となる。さらに,第1のPMOSトランジスタ(Tr1)のソースが論理再構成素子の論理コンフィグレーションデータの入力端子となる。そして,第1のNMOSトランジスタ(Tr2)のソースはGNDに接続され,第2のPMOSトランジスタ(Tr3)のソースは電源に接続される。また,第1のPMOSトランジスタ(Tr1)のゲートはデータ入力のコントロールゲート(W)として機能する。また,第2のNMOSトランジスタ(Tr4)のソースは初期状態で電源レベルに接続される。そして,第2のNMOSトランジスタ(Tr4)のソースは保持データ確定後,電源レベルからGNDレベルに電位が遷移する。このような4つのMOSトランジスタの接続構造によって記憶素子が構成される。
図37(a)はデータを記憶する前の状態である。Tr4のソース(制御信号端子2)はVDD2(電源電圧VDDのレベルである。)に接続されている。W(制御信号端子1)は0(ロウレベル),DはOUTにラッチするデータの反転データとする(ラッチ状態でOUTに1が出力されるように動作させる場合は0,ラッチ状態でOUTに0が出力されるように動作させる場合は1を供給する。)。VDD1は1(ハイレベル,すなわち電源電圧VDDのレベルである。),GND1は0である。
続いて,図37(b)に示すとおり,Tr4のソース(制御信号端子2)をVDD2からGND2(接地電圧GNDのレベル,すなわちロウレベル0である。)へと変化させる。その結果,Dの反転出力がOUTから出力される。その後,Wを1にすると入力が遮断され,この状態でラッチ動作が完了する。なお,OUTに0を出力し続けるためにはTr4のゲートが1であり続ける必要がある。ラッチ動作完了後はDを1に維持し続けることによって,Tr1(Wが0なのでオフ状態である。)には,D(ソース)から反対ノード(ドレイン)へと供給されるサブ・スレッショルド・リーク電流が発生し,Tr4のゲート電位が1に維持される。このようにしてOUTには1のみならず0のデータが出力され続ける。なお,上記例では,当初からDにデータが供給されていたが,はじめは0,ついで,設定するデータの反転データを供給し,その後Wを0から1にしてもよい。また,上記例では,Tr1及びTr3はいずれもPMOS,Tr2及びTr4はいずれもNMOSとしたが,極性を全て反転させ,入力データDの極性を反転させても同様の動作が期待できる。
このように論理再構成素子のコンフィグレーション用メモリを4つのTrで構成される上記SRAMで実現することができるので,論理再構成素子の論理を決定する記憶素子の回路規模の大型化を抑制することができる。
3−4 基本セルのさらなる変形例
図38Aは本発明の基本セル65のトランジスタレベルでの回路図(詳細回路図)である。論理設定情報が記憶されるSRAM回路は図24のそれと同様の回路を用いつつ,論理演算部分は図35と同様の回路を用いた例である。その真理値表は図36に示したものと同様である。
図38Bは本発明の基本セル66のトランジスタレベルでの回路図(詳細回路図)である。図38Aと比べると入力段インバータ661,662の出力が逆転しており,これに応じて,この回路によって実現されるところの真理値が異なっている。その真理値表は図38C及び38Dに示した。
図39は本発明の基本セル67のさらなる変形例にかかる回路図である。論理設定情報が記憶されるSRAM回路は図24のそれと同様の回路を用いつつ,論理演算部分の回路構成を変更した例である。その図39の回路構成に対する真理値表は図40に示したとおりである。図41は本発明の図38A,Bの基本セル65,66の回路図のトランスファーゲートを変えた変形例にかかる回路図である。論理設定情報が記憶されるSRAM回路は図24のそれと同様の回路を用いつつ,論理演算部分の回路構成について,A,Bの入力段にインバータをそれぞれ一段ずつ,X,Yの出力段にインバータをそれぞれ一段ずつ配置した例である。その真理値表は図40に示したとおりである。
3−5 論理再構成セルモジュールにDフリップフロップを用いた例
図42は,バイパス機能を持ったDフリップフロップである。BP端子がHIGH(すなわち“1”)のときにD端子からQ端子への信号バイパス動作を行う機能を有し,BP端子がLOW(すなわち“0”)のときは通常のDフリップフロップとして機能する。
図43は図42のDフリップフロップの動作を示した真理値表である。BP端子入力が1のとき,D端子入力からQ端子出力へのバイパスモードが実現され(D入力Q出力が共に0又は1),BP端子入力が0のとき通常のDフリップフロップ動作モードが実現されている。この真理値表により,図42のDフリップフロップはBP端子の入力が1のときにバイパス動作を実行することが理解できる。
この図42のDフリップフロップを図3におけるフリップフロッップ回路の記憶素子13として定義することができる。
図3において,例えば大規模な組み合わせ回路を必要とする場合,リーフセルモジュール71を構成する複数の基本セル7の論理段数(図3では4段)が不足することが考えられる。そのため,図3中の記憶素子13を図42に示したDフリップフロップに置き換えてバイパスモードとして使用することにより,図示上下に隣接するリーフセルモジュール71を同一クロックで動作する論理回路として局所的に論理段数を増やして利用することができる。
このように,DフリップフロップのD端子入力からQ端子出力へのバイパスモードを設けることにより,セル段数の局所的な変更を可能にし,論理段数の規模に柔軟に対応できるようになる。
3−6 横方向ループの例
図44は,サイドループ接続を示すアレイの配置図である。
図44において,偶数行の図示左右両端のセル70,71は論理素子ブロックを2つ備える基本セル74に対し各々論理素子ブロックは1つしかない(セル70に対する論理素子ブロックは700,セル71に対する論理素子ブロックは710)。
そこで,配線72および配線73によって図示横方向に相互に配線接続することでリーフセルモジュールの左右両端の信号を受け渡すことができるようにする。つまり,横方向へループする信号接続(サイドループ接続)を実現する。これにより,論理素子ブロックが1つしか存在しなかったセル70及びセル71を,1つの基本セル74と論理を同等なものとすることができる。この構成により,効率的な回路機能の実装が可能になる。

なお,図44ではリーフセルモジュールの左右両端に位置する基本セル74を相互に接続する例を示して説明したが,これに限るものではない。
すなわち,リーフセルモジュールを構成する基本セルの出力端子を,この基本セルに対して一段下の行にあってその行方向に位置する任意(両端以外を含む)の基本セルの入力端子に接続するようにしてもよい。このような接続としても,図44に示した接続と同様に,効率的な回路機能の実装が可能となる。
以上説明した各実施例,変形例では,基本セルは矩形形状を有するものであったが,必ずしも基本セルの形状はこれに限らない。すなわち,リーフセルモジュールを有する集積回路であって,リーフセルモジュールを構成する論理素子ブロックを備えた基本セル同士の電気接続(論理素子ブロックの相互の電気接続)の配線チャネル領域を最小化できる集積回路が実現可能であれば,例えば,何れかの角が曲率を有する矩形形状,ひし形形状,台形形状,その他の形状など,他の形状を有するものであってもよい。また,異なる形状を組み合わせて本発明のリーフセルモジュールを構成してもよい。
面積・コスト・論理変更機能・動作周波数・フレキシビリティ・スループット・消費電力の各要素全てを改善できる集積回路と命令機能の変更が可能なリコンフィギュアブルプロセッサを提供することが可能になる。
161,162,165〜168 フリップフロップ
163,164 トランスファーゲート

Claims (5)

  1. 所定の形状を有する複数の基本セルを行列状に配置して構成したアレイを有する集積回路において,
    前記基本セルは,論理再構成素子と,当該論理再構成素子の論理を決めるための記憶素子と,当該論理再構成素子に接続する複数の入力端子と複数の出力端子を備え,
    行列配置の前記基本セルについて,行毎に所定ピッチずらすことによって前記アレイを構成し,
    前記アレイを構成する前記基本セル間の電気接続が,以下の構成からなることを特徴とする集積回路。
    (1)1つの基本セルの入力端子を,当該1つの基本セルに対して列方向に所定ピッチずらして隣接配置した他の基本セルの出力端子とを配線チャネルを介すことなく電気接続する。
    (2)前記1つの基本セルの他の入力端子を,当該1つの基本セルに対して行方向に隣接配置した他の基本セルの出力端子とを配線チャネルを介すことなく電気接続する。
    (3)前記(1)の基本セル間の接続及び前記(2)の基本セル間の接続を,前記1つの基本セル以外の前記アレイを構成する他の基本セルに対して行う。
    (4)接続経路変更は前記前記基本セルによって行う。
  2. 前記アレイを複数有し,
    前記アレイ間を電気接続するインタフェース回路を備え,
    前記インターフェース回路を介して前記複数のアレイ間で信号通信を行うことを特徴とする請求項1に記載の集積回路。
  3. 前記インターフェース回路は,前記アレイから出力されるデータを記憶する記憶素子を有し,当該記憶素子が有する所定端子に所定信号を印加した場合に当該記憶素子の入力端子に入る信号を当該記憶素子の出力端子にバイパスする機能を備え,
    前記記憶素子の前記所定端子に前記所定信号を印加した場合,前記インターフェース回路によって電気接続される前記アレイ間における信号通信をバイパスし,バイパスしない場合は前記記憶素子は前記アレイから出力されるデータを記憶する順序回路として動作することを特徴とする請求項2に記載の集積回路。
  4. 前記アレイを構成する前記基本セルの出力端子を,当該基本セルに対して一段下の行にあってその行方向に位置する任意の基本セルの入力端子に接続するようにしたことを特徴とする請求項1乃至3の何れかに記載の集積回路。
  5. 前記論理再構成素子の論理を決めるための前記記憶素子は第1,第2のPMOSトランジスタと第1,第2のNMOSトランジスタからなり以下の構成からなることを特徴とする請求項1乃至4の何れか記載の集積回路。
    (1)第1のPMOSトランジスタと第1のNMOSトランジスタのドレイン同士が接続され,このドレインが第2のPMOSトランジスタと第2のNMOSトランジスタのゲートに接続される。
    (2)第2のPMOSトランジスタと第2のNMOSトランジスタのドレイン同士が接続され,このドレインが第1のNMOSトランジスタのゲートに接続され,且つ,出力端子となる。
    (3)第1のPMOSトランジスタのソースが前記論理再構成素子の論理コンフィグレーションデータの入力端子となる。
    (4)第1のNMOSトランジスタのソースはGND接続され,第2のPMOSトランジスタのソースは電源に接続される。
    (5)第1のPMOSトランジスタのゲートはデータ入力のコントロールゲートとして機能する。
    (6)第2のNMOSトランジスタのソースは初期状態で電源レベルに接続される。
    (7)第2のNMOSトランジスタのソースは保持データ確定後,電源レベルからGNDレベルに電位が遷移する。
    (8)前記(1)〜(7)によって前記記憶素子が構成される。
JP2013528976A 2011-08-12 2012-08-07 集積回路 Expired - Fee Related JP5704240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013528976A JP5704240B2 (ja) 2011-08-12 2012-08-07 集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011176820 2011-08-12
JP2011176820 2011-08-12
JP2013528976A JP5704240B2 (ja) 2011-08-12 2012-08-07 集積回路
PCT/JP2012/070108 WO2013024751A1 (ja) 2011-08-12 2012-08-07 集積回路

Publications (2)

Publication Number Publication Date
JPWO2013024751A1 JPWO2013024751A1 (ja) 2015-03-05
JP5704240B2 true JP5704240B2 (ja) 2015-04-22

Family

ID=47715071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013528976A Expired - Fee Related JP5704240B2 (ja) 2011-08-12 2012-08-07 集積回路

Country Status (5)

Country Link
US (1) US8957701B2 (ja)
JP (1) JP5704240B2 (ja)
CN (1) CN103828239B (ja)
DE (1) DE112012003335T5 (ja)
WO (1) WO2013024751A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3435545B1 (en) * 2015-10-15 2023-06-07 Menta System and method for testing and configuration of an fpga
US10312918B2 (en) * 2017-02-13 2019-06-04 High Performance Data Storage And Processing Corporation Programmable logic design
JP6781089B2 (ja) 2017-03-28 2020-11-04 日立オートモティブシステムズ株式会社 電子制御装置、電子制御システム、電子制御装置の制御方法
JP2023088120A (ja) * 2021-12-14 2023-06-26 久利寿 帝都 ソフトウェア開発装置およびソフトウェア開発プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574935A (ja) 1991-09-11 1993-03-26 Kawasaki Steel Corp プログラマブル論理回路装置
US5315178A (en) 1993-08-27 1994-05-24 Hewlett-Packard Company IC which can be used as a programmable logic cell array or as a register file
US6331274B1 (en) * 1993-11-01 2001-12-18 Nanogen, Inc. Advanced active circuits and devices for molecular biological analysis and diagnostics
US5581199A (en) * 1995-01-04 1996-12-03 Xilinx, Inc. Interconnect architecture for field programmable gate array using variable length conductors
JPH0974351A (ja) 1995-09-05 1997-03-18 Nippon Telegr & Teleph Corp <Ntt> プログラマブル回路装置
JP3576837B2 (ja) * 1998-10-30 2004-10-13 日本電気株式会社 プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
US6300792B1 (en) 1999-02-06 2001-10-09 Altera Corporation Programmable input/output pin signal multiplexing/demultiplexing circuitry for integrated circuits
JP3269526B2 (ja) 1999-02-09 2002-03-25 日本電気株式会社 プログラマブルロジックlsi
US6480027B1 (en) 1999-03-04 2002-11-12 Altera Corporation Driver circuitry for programmable logic devices
EP1076931A1 (en) 1999-03-04 2001-02-21 Altera Corporation Programmable logic device with carry-select addition
WO2000052825A1 (en) 1999-03-04 2000-09-08 Altera Corporation Interconnection resources for programmable logic integrated circuit devices
JP4206203B2 (ja) * 1999-03-04 2009-01-07 アルテラ コーポレイション プログラマブルロジック集積回路デバイスの相互接続ならびに入力/出力リソース
US6407576B1 (en) * 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
US6323680B1 (en) 1999-03-04 2001-11-27 Altera Corporation Programmable logic device configured to accommodate multiplication
JP3326560B2 (ja) * 2000-03-21 2002-09-24 日本テキサス・インスツルメンツ株式会社 半導体メモリ装置
US7767993B2 (en) * 2002-04-04 2010-08-03 Kabushiki Kaisha Toshiba Resistance change memory device
JP4414297B2 (ja) * 2004-07-09 2010-02-10 パナソニック株式会社 プログラマブルロジックデバイス、コンフィギュレーション装置、コンフィギュレーション方法
JP4488988B2 (ja) * 2005-09-13 2010-06-23 株式会社東芝 電源電位制御回路
WO2007060738A1 (ja) * 2005-11-28 2007-05-31 Taiyo Yuden Co., Ltd. 半導体装置
US20100226495A1 (en) * 2007-10-29 2010-09-09 Michael Kelly Digital readout method and apparatus
US8124429B2 (en) * 2006-12-15 2012-02-28 Richard Norman Reprogrammable circuit board with alignment-insensitive support for multiple component contact types
US7724031B2 (en) 2007-03-21 2010-05-25 Altera Corporation Staggered logic array block architecture
US20090128189A1 (en) * 2007-11-19 2009-05-21 Raminda Udaya Madurawe Three dimensional programmable devices
JP5260077B2 (ja) * 2008-02-15 2013-08-14 太陽誘電株式会社 プログラマブル論理デバイスおよびその構築方法およびその使用方法
JP5565456B2 (ja) 2010-02-16 2014-08-06 株式会社デンソー 集積回路及びその使用方法

Also Published As

Publication number Publication date
JPWO2013024751A1 (ja) 2015-03-05
US20140145755A1 (en) 2014-05-29
CN103828239A (zh) 2014-05-28
CN103828239B (zh) 2016-08-17
WO2013024751A1 (ja) 2013-02-21
US8957701B2 (en) 2015-02-17
DE112012003335T5 (de) 2014-04-30

Similar Documents

Publication Publication Date Title
US9154134B2 (en) Configurable storage elements
Poorhosseini et al. A fault-tolerant and efficient XOR structure for modular design of complex QCA circuits
JP3144967B2 (ja) 半導体集積回路およびその製造方法
US8159268B1 (en) Interconnect structures for metal configurable integrated circuits
JP6250548B2 (ja) 再構成可能な半導体装置の論理構成方法
US20150339420A1 (en) Design of dual mode logic circuits
US9148151B2 (en) Configurable storage elements
JP5704240B2 (ja) 集積回路
Wilton et al. Design considerations for soft embedded programmable logic cores
US20120119782A1 (en) Logic for Metal Configurable Integrated Circuits
Lin et al. A fine-grain dynamically reconfigurable architecture aimed at reducing the FPGA-ASIC gaps
US8159266B1 (en) Metal configurable integrated circuits
Chen et al. Automated mapping for reconfigurable single-electron transistor arrays
Brant Coarse and fine grain programmable overlay architectures for FPGAs
Low et al. Variation tolerant AFPGA architecture
Nayak et al. A framework for adding low-overhead, fine-grained power domains to CGRAs
Marinberg et al. Efficient Implementation of Many-Ported Memories by Using Standard-Cell Memory Approach
JP5565456B2 (ja) 集積回路及びその使用方法
JP2010129843A (ja) 半導体集積回路におけるセルデータ生成方法、及び、半導体集積回路の設計方法
Koob et al. Design of a 3-D fully depleted SOI computational RAM
Shenoy et al. Design automation for mask programmable fabrics
Shang et al. Asynchronous FPGA architecture with distributed control
Jianfeng et al. A cost-efficient self-configurable BIST technique for testing multiplexer-based FPGA interconnect
JP3936133B2 (ja) 半導体集積回路およびその設計方法
US6650139B1 (en) Modular collection of spare gates for use in hierarchical integrated circuit design process

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150209

R151 Written notification of patent or utility model registration

Ref document number: 5704240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees