【発明が解決しようとする課題】
【0004】
上記公報では、クロックと同期する同期型メモリと、クロックと非同期の非同期型メモリとから構成されるペアのメモリを、同期非同期切り替え可能なMLUT(Multi Look Up Table)として動作させていた。しかしながら、標準プロセスにおいては、同期型メモリの採用が好ましい。
【0005】
FPGAで配線や組み合わせ回路を構成する場合、LUT(Look Up Table)の遅延時間やスイッチの配線遅延や容量の関係で大きな遅延時間を持つ。MRLDも遅延に関しては同様に、配線も組み合わせ回路も大きな遅延時間を持っている。この遅延により、前段のMLUTにおける演算が終了する前に、クロックに同期する後段のMLUTが演算を開始すると、組合せ回路を構成するLUTに論理矛盾が生じる。
【0006】
このような論理矛盾を回避するために、所定のシステムクロックに基づき、CAD(Computer Aided Design)等によりシミュレーションを行い、バッファ回路を設けて、ある回路の出力信号のタイミングを、他の遅延した回路の出力信号に合わせる等のタイミング検証が必要になる。
【0007】
上記課題を解決する形態は、以下の項目セットにより示されるように、組合せ論理回路を構成する論理部は、前記遅延素子から出力される遅延クロック信号に同期して動作することで、タイミング検証不要な再構成可能な半導体装置を提供する。
【0008】
1.再構成可能な半導体装置であって、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
前記システムクロック信号を遅延する遅延素子と、
クロック信号に同期して動作するメモリセルユニットと、
アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、
組合せ論理回路を構成する論理部は、前記遅延素子から出力される遅延クロック信号に同期して動作する、再構成可能な半導体装置。
【0009】
組合せ論理回路を構成する論理部は、遅延素子から出力される遅延クロック信号に同期することで、FPGAのような、タイミング検証が不要になる。
【0010】
2.前記遅延クロック信号と、前記システムクロック信号を選択する選択部をさらに備え、
同期回路を構成する論理部は、前記システムクロック信号に同期して動作する、項目1に記載の半導体装置。
【0011】
論理部が、同期回路を構成するときはシステムクロックに従って、同期することで、回路の再構成性を担保する。
【0012】
3.前記論理部はさらに、
クロック信号に同期して動作する第2メモリセルユニットと、
アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力する第2アドレスデコーダと、をさらに備え、
前記第2メモリセルユニットは、前記システムクロック信号に同期して動作するとともに、
前記メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、及び、
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、項目1に記載の半導体装置。
【0013】
論理部が、遅延クロック信号に同期するメモリセルユニットと、システムクロック信号に同期するメモリセルユニットを有して、構成データにより何れかを動作ことで、論理部の構成性を担保する。
【0014】
4.前記遅延クロック信号は、前段の論理部の次に、後段の論理部に出力され、
前記システムクロック信号は、後段の論理部の次に、前段の論理部に出力される、項目3に記載の半導体装置。
【0015】
システムクロック信号を、遅延クロック信号の向きと反対に流すことで、システムクロック信号の信号遅延を緩和する。
【0016】
5.前記遅延素子は、前記クロック信号線上に、2つ以上の論理部に対して1つ設けられ、その遅延量を固定値とする、項目1〜4の何れか1項に記載の半導体装置。
【0017】
遅延素子の回路規模を縮小することができる。
【0018】
6.クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
前記第3メモリセルユニットは、前記遅延クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードするように構成される、項目3〜5の何れか1項に記載の再構成可能な半導体装置。
【0019】
7.前記メモリセルユニットは、配線要素及び/又は論理要素を構成する真理値表データを格納して、前記論理部はマルチルックアップテーブルとして動作する、項目1〜6の何れか1項に記載の再構成可能な半導体装置。
【0020】
8.前記第1及び第3メモリセルユニットをまたがる論理演算を、禁止論理として生成しないように構成される真理値表データを格納する項目3〜7の何れか1項に記載の再構成可能な半導体装置。
【0021】
9.再構成可能な半導体装置の制御方法であって、
前記半導体装置は、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
前記システムクロック信号を遅延する遅延素子と、
アドレスデコーダと、
複数にメモリセルを有し、且つクロック信号に同期して動作するメモリセルユニットと、を備え、
組合せ論理回路を構成する論理部は、前記遅延素子から出力される遅延クロック信号に同期して動作する、制御方法。
【0022】
10.前記遅延クロック信号と、前記システムクロック信号を選択する選択部をさらに備え、
同期回路を構成する論理部は、前記システムクロック信号に同期して動作する、項目9に記載の制御方法。
【0023】
11.前記論理部はさらに、
クロック信号に同期して動作する第2メモリセルユニットと、
アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力する第2アドレスデコーダと、をさらに備え、
前記第2メモリセルユニットは、前記システムクロック信号に同期して動作するとともに、
前記メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、及び、
何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、項目9に記載の制御方法。
【0024】
12.前記遅延クロック信号は、前段の論理部の次に、後段の論理部に出力され、
前記システムクロック信号は、後段の論理部の次に、前段の論理部に出力される、項目11に記載の制御方法。
【0025】
13.前記遅延素子は、前記クロック信号線上に、2つ以上の論理部に対して1つ設けられ、その遅延量を固定値とする、項目9〜12の何れか1項に記載の制御方法。
【0026】
14.クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
アドレス信号をデコードして、前記第3メモリユニットにデコード信号を出力する第3アドレスデコーダと、
アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
前記第3メモリセルユニットは、前記遅延クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードするように構成される、項目9〜13の何れか1項に記載の制御方法。
【0027】
15.前記メモリセルユニットは、配線要素及び/又は論理要素を構成する真理値表データを格納して、マルチルックアップテーブルとして動作する、項目9〜14の何れか1項に記載の制御方法。
【0028】
16.再構成可能な半導体装置を制御するためのプログラムにおいて、
前記半導体装置は、
互いにアドレス線又はデータ線で接続する複数の論理部を備え、
前記各論理部は、
複数のアドレス線と、
複数のデータ線と、
システムクロック信号を受け取るクロック信号線と、
前記システムクロック信号を遅延する遅延素子と、
第1アドレスデコーダと、
第2アドレスデコーダと、
複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
複数のメモリセルを有し、且つクロック信号に同期して動作する第2メモリセルユニットと、を備え、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力し、
前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力し、
前記第1メモリセルユニットは、前記遅延素子から出力される遅延クロック信号に同期して動作し、
前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する処理、を実行させることを特徴とするプログラム。