(58)【調査した分野】(Int.Cl.,DB名)
プログラマブル論理集積回路の動作記述ファイルを入力とし、入力した前記動作記述ファイルを論理合成し、前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する論理合成手段と、
前記プログラマブル論理集積回路のリソース情報を生成し、生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、配置した前記論理要素の間を配線して信号経路を仮想的に生成する配置配線手段と、
少なくとも二つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、生成した前記構成情報を出力する信頼性制御手段とを備え、
前記信頼性制御手段は、前記配置配線手段によって配線された第1の信号経路と並列な第2の信号経路に配線リソースおよびスイッチリソースの割り当てを行う第1信頼性モードと、前記配置配線手段によって配線された第1の信号経路に前記信号経路を追加しない第2信頼性モードとに基づいて前記プログラマブル論理集積回路の前記構成情報を生成す
る設計支援システム。
少なくとも二つの抵抗変化素子によって構成されるユニットセルを前記スイッチリソースとして少なくとも一つ含む前記プログラマブル論理集積回路から読み出された前記構成情報に基づいて、前記プログラマブル論理集積回路に含まれる前記抵抗変化素子の状態を示すアドレス情報と、前記抵抗変化素子の書き換え回数を示す書き換え回数情報とを含む書き換え履歴情報を前記抵抗変化素子ごとに生成する書き換え履歴情報生成手段を備え、
前記書き換え履歴情報生成手段は、
前記信頼性制御手段によって生成された前記構成情報が前記プログラマブル論理集積回路にコンフィグレーションされた後に、前記プログラマブル論理集積回路から読み出される前記構成情報と、既に前記プログラマブル論理集積回路に実装されている回路の前記構成情報との差分を取ることによって前記書き換え履歴情報を更新し、更新した前記書き換え履歴情報を前記信頼性制御手段に供給する請求項1乃至4のいずれか一項に記載の設計支援システム。
【発明を実施するための形態】
【0022】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【0023】
(第1の実施形態)
まず、本発明の第1の実施形態に係る設計支援システムについて図面を参照しながら説明する。
図1は、本実施形態の設計支援システム1の構成について説明するための概念図である。
図2は、本実施形態の設計支援システム1が備える設計支援ツール群10の構成を示すブロック図である。
【0024】
図1のように、設計支援システム1は、構成情報転送装置2と接続される。また、設計支援システム1は、構成情報転送装置2を介してプログラマブル論理集積回路3と接続される。設計支援システム1と構成情報転送装置2との接続、構成情報転送装置2とプログラマブル論理集積回路3との接続は、有線および無線のいずれを用いてもよく、それらの接続における信号の通信方式は特に限定しない。なお、構成情報転送装置2およびプログラマブル論理集積回路3は、アプリケーション・ボードとして設計支援システム1に搭載されていてもよい。
【0025】
図1のように、設計支援システム1は、演算装置101、記憶装置102、表示装置103、および入出力装置104を備える。演算装置101、記憶装置102、表示装置103、および入出力装置104は、バス105を介して互いに接続される。設計支援システム1は、例えば、コンピュータシステムによって実現される。
【0026】
演算装置101は、記憶装置102にあらかじめ格納されたプログラムに従って処理を実行することによって、設計支援システム1の全体の動作を制御する。また、演算装置101は、記憶装置102にあらかじめ格納されているプログラムに従った処理を実行することによって、設計支援ツール群10の機能を実現する。
【0027】
記憶装置102は、設計情報やプログラムを格納するメモリ等の記憶媒体である。設計情報は、設計者が作成する回路の動作記述情報や、制約条件情報などのプログラマブル論理集積回路3に実装される情報を含む。例えば、設計情報には、演算装置101の処理結果であるネットリスト情報や、配置配線情報、プログラマブル論理集積回路3のリソース情報や構成情報、書き換え履歴情報等の情報が含まれる。
【0028】
表示装置103は、設計支援ツール群10の命令入力画面や処理結果を表示する。例えば、表示装置103は、抵抗変化素子の書き換え回数(変更回数とも呼ぶ)に関する情報を表示する。例えば、表示装置103は、統計処理後のデータのグラフ表示や、フロアプランナー上でのカラー表示などの表示情報を表示する。例えば、ユーザは、表示装置103の表示情報を確認することによって、書き換え回数が大きなところを避けたフロアプランを作成できる。
【0029】
入出力装置104は、キーボードや、マウス、タッチパネル等の入力装置や、構成情報転送装置2、図示しない印刷装置等の出力装置との間で信号やデータを送受信し合うためのインタフェース回路である。入出力装置104は、信頼性モードに基づいた設定をユーザに提供する。ユーザは、入出力装置104によって提供される機能を利用することによって、抵抗変化素子のデータの保持特性を優先した回路や、抵抗変化素子の書き換え寿命を優先した回路をプログラマブル論理集積回路3に実装できる。
【0030】
構成情報転送装置2は、設計支援システム1とプログラマブル論理集積回路3とに接続される。構成情報転送装置2は、設計支援システム1とプログラマブル論理集積回路3との間における構成情報などのデータ伝送を制御する。例えば、構成情報転送装置2は、設計支援システム1から送信された構成情報等のデータを受信し、プログラマブル論理集積回路3のデータ入出力仕様の送信データに変換して転送する。また、例えば、構成情報転送装置2は、プログラマブル論理集積回路3から出力された構成情報等のデータを受信し、設計支援システム1のデータ入出力仕様の送信データに変換して転送する。なお、構成情報転送装置2によるデータ変換方式については、特に限定を加えない。
【0031】
図2の設計支援ツール群10は、
図1の記憶装置102にあらかじめ格納されており、演算装置101が記憶装置102から読み出して実行するツールである。
図2に示すように、設計支援ツール群10は、論理合成ツール11、配置配線ツール12、および信頼性制御ツール13を含む。
【0032】
論理合成ツール11(論理合成手段とも呼ぶ)は、プログラマブル論理集積回路3の設計者が入出力装置104を用いて入力した動作記述情報や遅延・電力などの制約条件情報を含む動作記述ファイルを入力とする。論理合成ツール11は、入力した動作記述ファイルの論理合成を行う。論理合成ツール11は、プログラマブル論理集積回路3が備える論理要素を用いてネットリストを作成する。ネットリストは、論理要素および論理要素間の接続情報である。
【0033】
配置配線ツール12(配置配線手段とも呼ぶ)は、プログラマブル論理集積回路3の論理要素や配線リソース等のリソース情報を生成する。配置配線ツール12は、プログラマブル論理集積回路3のリソース情報に基づいて、ネットリストに含まれる論理要素を仮想的に配置・配線する。言い換えると、配置配線ツール12は、生成したリソース情報に基づいてネットリストに含まれる論理要素を配置し、配置した論理要素間を配線して少なくとも一つの信号経路を生成する。
【0034】
信頼性制御ツール13(信頼性制御手段とも呼ぶ)は、信頼性モードに基づいて、抵抗変化型素子のデータの保持特性や書き換え寿命を優先した回路の構成情報を生成する。信頼性モードは、信号経路を追加する第1信頼性モードと、信号経路を追加しない第2信頼性モードとを含む。言い換えると、信頼性制御ツール13は、少なくとも2つの信頼性モードに基づいてプログラマブル論理集積回路の構成情報を生成し、生成した構成情報を出力する。例えば、信頼性制御ツール13は、表示装置103に構成情報を表示させたり、入出力装置104から構成情報転送装置2に構成情報を出力したりする。
【0035】
信頼性制御ツール13は、第1信頼性モードにおいては、配置配線ツール12によって配線された第1の信号経路と並列な第2の信号経路に配線リソースおよびスイッチリソースの割り当てを行う。また、信頼性制御ツール13は、第2信頼性モードにおいては、配置配線ツール12によって配線された第1の信号経路に信号配線を追加しない。信頼性制御ツール13は、可能であれば、第1信頼性モードにおいて、第1の信号経路と第2の信号経路とに同一の配線リソースを割り当てることが好ましい。
【0036】
以上が、設計支援システム1の構成に関する説明である。続いて、設計支援システム1の動作について図面を参照しながら説明する。
【0037】
(動作)
図3は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。
図3のフローチャートに沿った以下の説明においては、設計支援システム1を動作の主体として説明する。
【0038】
図3において、まず、設計支援システム1は、設計者によって作成された回路の動作記述ファイルを入力とする(ステップS11)。動作記述ファイルは、入出力装置104によって入力される。
【0039】
例えば、動作記述ファイルは、ハードウェア記述言語を用いて作成される。ハードウェア記述言語の一例としては、Verilog−HDL(Hardware Description Language)が挙げられる。また、ハードウェア記述言語の一例として、VHDL(Very high-speed integrated circuit Hardware Description Language)が挙げられる。
【0040】
次に、設計支援システム1は、入力された動作記述ファイルを論理合成する(ステップS12)。動作記述ファイルの論理合成は、論理合成ツール11によって実行される。
【0041】
次に、設計支援システム1は、ネットリストを生成する(ステップS13)。ネットリストは、論理合成ツール11によって生成される。論理合成ツール11は、プログラマブル論理集積回路3に含まれる論理要素を用いてネットリストを生成する。論理合成ツール11は、設計者があらかじめ設定したタイミング制約情報を満たすように回路を最適化する。
【0042】
次に、設計支援システム1は、プログラマブル論理集積回路3に実装する回路の配置配線処理を実行する(ステップS14)。回路の配置配線処理は、配置配線ツール12によって実行される。
【0043】
次に、設計支援システム1は、信頼性モードに基づいて配置配線結果を修正し、構成情報を生成する(ステップS15)。構成情報の生成は、信頼性制御ツールによって実行される。
【0044】
回路の構成情報が決定すると、設計者によって入出力装置104に行われた操作に基づいて、設計支援システム1およびプログラマブル論理集積回路3に構成情報転送装置2が接続される。その結果、設計支援システム1とプログラマブル論理集積回路3との通信経路が確立される。設計支援システム1は、構成情報転送装置2を介してプログラマブル論理集積回路3に構成情報を送信する。プログラマブル論理集積回路3は、構成情報転送装置2から構成情報を受信すると、コンフィグレーション動作を開始する。全ての構成情報のコンフィグレーション動作が完了すると、プログラマブル論理集積回路3に回路が実装された状態となる。
【0045】
以上が、設計支援システム1の動作についての説明である。続いて、設計支援システム1の動作の詳細について図面を参照しながら説明する。
【0046】
〔配置配線処理〕
図4は、設計支援システム1の配置配線ツール12によって実行される配置配線処理(ステップS14)の詳細について説明するためのフローチャートである。
図4のフローチャートに沿った以下の説明においては、配置配線ツール12を動作の主体として説明する。
【0047】
図4において、まず、配置配線ツール12は、論理要素やルーティングリソース等のリソース情報を生成する(ステップS141)。
【0048】
論理要素の構成情報の保存には、抵抗変化素子によって構成されるメモリリソースを用いてもよい。ルーティングリソースは、配線リソースやスイッチリソースによって構成される。スイッチリソースは、抵抗変化素子によって構成されてもよい。リソース情報は、ある論理要素の識別番号と、その論理要素の構成情報を保存するスイッチリソース内の抵抗変化素子の識別番号とを一組とした情報を含んでいてもよい。また、リソース情報は、ある配線リソースの識別番号と、その配線リソースに接続されるスイッチリソースの内部の抵抗変化素子の識別番号とがリンクした情報として、配線リソースの有向グラフまたは無向グラフを含んでいてもよい。
【0049】
次に、配置配線ツール12は、ネットリストに含まれる各論理要素をプログラマブル論理集積回路3の配置スロットに割り当てる(ステップS142)。
【0050】
スロットとは、論理要素を配置する場所である。例えば、配置配線ツール12は、ネットの仮想配線長の総和を評価値(評価関数とも呼ぶ)として用いて、その評価関数を最小化する配置を探索する。例えば、ネットの仮想配線長は、そのネットに含まれる全ての論理要素のスロット位置を囲う矩形のx軸方向の長さと、y軸方向の長さとの和である。なお、配置配線ツール12が用いる評価関数はここで挙げた限りではない。
【0051】
次に、配置配線ツール12は、ネットリストに含まれる各論理要素がいずれの配線リソースとスイッチリソースとを利用して接続するのかを決定する(ステップS143)。
【0052】
例えば、配置配線ツール12は、遅延時間を最小化することと、配線経路が見つからないことを避けることとを実現するために、遅延コストと混雑コストとを含む評価関数を最小化する配線を探索する。遅延コストとは、配線経路の遅延時間に基づいて算出されるコストである。混雑コストとは、あるルーティングリソースに対して、競合しているネットの数に基づいて算出されるコストである。配置配線ツール12は、混雑コストを徐々に上げながら繰り返し配線を行うことによって、競合を解消していく。配置配線ツール12は、競合を解消できない場合、論理複製などの他の手順を用いて配線を実行してもよい。
【0053】
以上が、配置配線ツール12による配置配線処理についての説明である。
【0054】
〔信頼性制御処理〕
図5は、設計支援システム1の信頼性制御ツール13によって実行される信頼性制御処理(ステップS15)の詳細について説明するためのフローチャートである。
図5のフローチャートに沿った以下の説明においては、信頼性制御ツール13を動作の主体として説明する。
【0055】
信頼性制御ツール13は、信頼性モードとして第1信頼性モードが設定されると(ステップS151でYes)、信号経路を追加する(ステップS152)。この場合、信頼性制御ツール13は、回路の接続情報に基づいて、各ネットの既信号経路と並列な信号経路に配線リソースとスイッチリソースの割り当てを行う。ただし、信頼性制御ツール13は、他のネットの配線経路へ影響を及ぼさない範囲で並列な信号経路を探索する。
【0056】
一方、信頼性制御ツール13は、信頼性モードとして第2信頼性モードが設定されると(ステップS151でNo)、信号経路の追加は行わない。
【0057】
以上が、信頼性制御ツール13による信頼性制御処理についての説明である。続いて、並列な信号経路を追加する処理について、図面を参照しながら説明する。
【0058】
図6は、プログラマブル論理集積回路3に含まれる2つのロジックブロックとそれらを接続するルーティングリソースとの一例を示す模式図である。
図6において、論理要素としてのロジックブロック(LB0、LB1)は、2つの入力端子と1つの出力端子とを備える。
図6において、ルーティングリソースは、2つのクロスバスイッチ(XB0、XB1)と2つのバッファ回路(BUF0、BUF1)とによって構成される。
【0059】
クロスバスイッチ(XB0、XB1)は、配線リソースとスイッチリソースを有する。
図6において、配線リソースは、列方向に延伸される4つの列配線と、行方向に延伸される4つの行配線によって構成される。
図6において、スイッチリソースは、列配線と行配線との交差部に位置する複数の抵抗変化素子(
図6においては16個)によって構成される。クロスバスイッチに含まれる抵抗変化素子の状態を遷移させることによって、列配線の任意の配線と行配線の任意の配線とを接続または切断できる。
【0060】
クロスバスイッチXB0は、列配線A0および列配線A1を入力線とする。クロスバスイッチXB0の配線リソースの一つである列配線Y0は、ロジックブロックLB0の出力端子と接続される。また、クロスバスイッチXB0の配線リソースの一つである列配線C0は、接地される。クロスバスイッチXB0は、行配線I0および行配線I1を出力線とする。行配線I0および行配線I1は、ロジックブロックLB0の入力端子と接続される。クロスバスイッチXB0は、行配線B0および行配線B1を出力配線とする。行配線B0は、バッファ回路BUF0の入力端子と接続される。行配線B1は、バッファ回路BUF1の入力端子と接続される。
【0061】
クロスバスイッチXB1は、列配線A2および列配線A3を入力線とする。列配線A2は、バッファ回路BUF0の出力端子と接続される。列配線A3は、バッファ回路BUF1の出力端子と接続される。クロスバスイッチXB1の配線リソースの一つである列配線Y1は、ロジックブロックLB1の出力端子と接続される。また、クロスバスイッチXB1の配線リソースの一つである列配線C1は接地される。クロスバスイッチXB1は、行配線I2および行配線I3を出力線とする。行配線I2および行配線I3は、ロジックブロックLB1の入力端子と接続される。クロスバスイッチXB1は、行配線B2および行配線B3を出力配線とする。
【0062】
〔スイッチリソース〕
図7〜
図11は、プログラマブル論理集積回路3に含まれるスイッチリソースの一例(第1〜第5の例)を示す模式図である。なお、
図7〜
図11の説明においては、同様の機能を発揮する構成要素については同じ符号を用いる場合がある。
【0063】
図7に示す第1の例のスイッチリソース311は、ユニットセルU0を含む。ユニットセルU0は、第1端子T1と第2端子T2とを有する。第1端子T1は、列配線A0と接続される。第2端子T2は、行配線I0と接続される。スイッチリソース311は、ユニットセルU0がON状態のときに導通し、ユニットセルU0がOFF状態のときに遮断される。ユニットセルU0がON状態のとき、列配線A0と行配線I0との間に信号が伝播する。
【0064】
図8に示す第2の例のスイッチリソース312は、抵抗変化素子R0、第1端子T1および第2端子T2によって構成されるユニットセルU0を含む。第1端子T1は列配線A0と接続され、第2端子T2は行配線I0と接続される。ユニットセルU0は、抵抗変化素子R0が低抵抗状態のときにON状態であると定義され、抵抗変化素子R0が高抵抗状態のときにOFF状態であると定義される。ユニットセルU0がON状態のとき、列配線A0と行配線I0との間に信号が伝播する。
【0065】
図9に示す第3の例のスイッチリソース313は、抵抗変化素子R0、抵抗変化素子R1、第1端子T1および第2端子T2によって構成されるユニットセルU0を含む。ユニットセルU0に含まれる抵抗変化素子R0と抵抗変化素子R1とは、直列に接続される。第1端子T1は列配線A0と接続され、第2端子T2は行配線I0と接続される。ユニットセルU0は、抵抗変化素子R0および抵抗変化素子R1が低抵抗状態のときにON状態であると定義され、抵抗変化素子R0およびR1が高抵抗状態のときにOFF状態であると定義される。ユニットセルU0がON状態のとき、列配線A0と行配線I0との間に信号が伝播する。
【0066】
図10に示す第4の例のスイッチリソース314は、トランジスタM0とメモリMEM0とによって構成される。トランジスタM0のソースおよびドレインの一方は列配線A0に接続され、他方は行配線I0に接続される。トランジスタM0のゲートは、メモリMEM0の出力N0に接続される。
【0067】
図10のメモリMEM0は、ユニットセルU0およびユニットセルU1を含む。ユニットセルU0の第1端子T1は、電源Vddに接続される。ユニットセルU0の第2端子T2は、出力N0に接続される。ユニットセルU1の第3端子T3は、接地Gndに接続される。ユニットセルU1の第4端子T4は、出力N0に接続される。
図10のユニットセルU0およびユニットセルU1には、
図8および
図9に示す抵抗変化素子を含む。
【0068】
図10のスイッチリソース314は、ユニットセルU0がON状態であるとともに、ユニットセルU1がOFF状態であるとき、出力N0がHighレベル(Vdd電圧レベル)となり、信号を導通する。一方、
図10のスイッチリソース314は、ユニットセルU0がOFF状態であるとともに、ユニットセルU1がON状態であるとき、出力N0がLowレベル(Gnd電圧レベル)となり、信号を遮断する。
【0069】
図11に示す第5の例のスイッチリソース315は、トランジスタM0とメモリMEM0とによって構成される。トランジスタM0のソースおよびドレインの一方は列配線A0に接続され、他方は行配線I0に接続される。トランジスタM0のゲートは、メモリMEM0の出力N0に接続される。
図11のメモリMEM0は、6つのトランジスタM1〜M6を含むSRAM(Static Random Access Memory)によって構成される。
図11のスイッチリソース315は、出力N0がHighレベル(Vdd電圧レベル)のときに信号を導通し、出力N0がLowレベル(Gnd電圧レベル)のときに信号を遮断する。
【0070】
図12は、配置配線ツール12が、ロジックブロックLB0の出力端子からLB1の入力端子への接続要求に応じて、既信号経路を配線した状態の一例である。
図12は、列配線Y0、スイッチリソースE0、行配線B0、バッファ回路BUF0、列配線A2、スイッチリソースE2、行配線I2の順に既信号経路が配線された状態を示す。信頼性制御ツール13は、既信号経路に並列な信号経路の追加処理を行うに当たり、配線リソースに関するグラフに基づいて、並列な信号経路を探索する。ここでは、スイッチリソースE0、スイッチリソースE1、スイッチリソースE2、およびスイッチリソースE3が関連する抵抗変化素子である。
【0071】
図13は、接続要求に対応する、既信号経路および並列な信号経路を示す有向グラフである。
図13において、円で示すノードは配線を示し、矢尻付の実線(矢印)で示すエッジはスイッチリソースおよびバッファ回路のいずれかを示す。
図13には、ある時間が経過した後に、ON状態からOFF状態へ変化するON状態保持の不良確率pをスイッチリソースに書き添えている。
【0072】
図13には、配置配線ツール12が配線した既信号経路を示す。既信号経路は、列配線Y0、スイッチリソースE0、行配線B0、バッファ回路BUF0、列配線A2、スイッチリソースE2、行配線I2によって構成される信号経路である。また、
図13には、信頼性制御ツール13が探索した並列な信号経路を1つ示している。並列経路は、列配線Y0、スイッチリソースE1、行配線B1、バッファ回路BUF1、列配線A3、スイッチリソースE3、行配線I2によって構成される信号経路である。例えば、既信号経路と並列経路とを含む有向グラフは、表示装置103に表示される。
【0073】
既信号経路は、スイッチリソースのON状態の保持不良に起因して、ある時間が経過した後に、以下の式1で示す確率P1で信号伝搬エラーを起こす。
P1=2p(1−p)+p
2≒2p・・・(1)
一方、既信号経路と並列な信号経路は、スイッチリソースのON状態の保持不良に起因して、ある時間が経過した後に、以下の式2で示す確率P2で信号伝搬エラーを起こす。
P2=[2p(1−p)+p
2]
2≒4p
2・・・(2)
ON状態保持の不良確率pは1より十分小さいので、既信号経路と並列な信号経路を既信号経路に追加することによって、信号伝搬エラーの発生確率を低減できる。
【0074】
図14は、信頼性モードとして第1信頼性モードが設定された際に、信頼性制御ツール13が、並列な信号経路を追加した後の模式図である。信頼性制御ツール13は、既信号経路と並列な信号経路に、同一の配線リソースを割り当てている。同様に、信頼性制御ツール13は、既信号経路と並列な信号経路に、同一の配線リソースを割り当てている。スイッチリソースの信頼性は配線リソースの信頼性に比べて低いため、スイッチリソースは並列化する必要があるが、配線リソースは並列化する必要がない。リソース消費と消費電力の観点から、配線リソースは既信号経路と並列な信号経路間で極力共有した方が望ましい。
【0075】
信頼性モードとして第2信頼性モードが設定された際に、信頼性制御ツール13は、信号経路の追加は行わない。すなわち、第2信頼性モードが設定された状態は
図12に相当する。第2信頼性モードは、第1信頼性モードが設定された場合(
図14)に比べて、利用するスイッチリソース数を低減できる。したがって、第2信頼性モードによれば、スイッチリソースを構成する抵抗変化素子の書き換えが起こる頻度を低減できる。例えば、第2信頼性モードは、書き換え頻度が高い実装回路のデバッグ期間に有用である。
【0076】
以上のように、本実施形態の設計支援システムによれば、第1信頼性モードが設定されると、抵抗変化素子によって構成されるスイッチリソースのON状態の保持不良に起因した信号伝搬エラーを低減し、実装する回路の信頼性を向上できる。また、本実施形態の設計支援システムによれば、第2信頼性モードが設定されると、第1信頼性モードに比べてプログラマブル論理集積回路に含まれる抵抗変化素子の書き換え回数を低減できる。
【0077】
すなわち、本実施形態によれば、信頼性の高いプログラマブル論理集積回路を提供できる。
【0078】
(第2の実施形態)
次に、本発明の第2の実施形態に係る設計支援システムについて図面を参照しながら説明する。本実施形態の設計支援システムは、信頼性モードに基づいた配置配線処理を実行する点で、第1の実施形態とは異なる。なお、本形態の設計支援システムの構成は、第1の実施の形態と同様であるため、説明を省略する。以下の説明においては、
図1および
図2を参照しながら、第1の実施形態の構成要素に付された符号を用いて説明する。
【0079】
(動作)
まず、本実施形態の設計支援システムの動作について図面を参照しながら説明する。
図15は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。
【0080】
図15のフローチャートのステップS21〜S26の処理は、
図3のフローチャートのステップS11〜S16の処理に対応する。本実施形態は、ステップS24の配置配線処理が第1の実施形態とは異なり、他の処理は第1の実施形態と同様である。
【0081】
図15には、信頼性制御ツール13からの信頼性モードの設定を矢印で示す。なお、信頼性制御ツール13から配置配線ツール12へ信頼性モードを設定するタイミングは、任意に設定される。以下においては、配置配線処理(
図15のステップS24)について詳細に説明する。
【0082】
〔配置配線処理〕
図16は、配置配線ツール12による配置配線処理(
図15のステップS24)について説明するためのフローチャートである。
図16のフローチャートに沿った以下の説明においては、配置配線ツール12を動作の主体として説明する。
【0083】
図16において、まず、配置配線ツール12は、論理要素やルーティングリソース等のリソース情報を生成する(ステップS241)。
【0084】
次に、配置配線ツール12は、ネットリストに含まれる各論理要素をプログラマブル論理集積回路3の配置スロットに割り当てる(ステップS242)。
【0085】
ここで、配置配線ツール12は、信頼性制御ツール13からの信頼性モードの設定に基づいた配線処理を実行する。
【0086】
第1信頼性モードが設定された場合(ステップS243でYes)、配置配線ツール12は、第1信頼性モードの配線処理を実行する(ステップS244)。第1信頼性モードの配線処理において、配置配線ツール12は、ネットリストに含まれる各論理要素の接続を第1の信号経路と第2の信号経路とによって構成する。配置配線ツール12は、第1信頼性モードの配線処理において、第1の信号経路および第2の信号経路がいずれの配線リソースおよびスイッチリソースを利用して接続するのかを決定する。
【0087】
例えば、配置配線ツール12は、遅延コストおよび混雑コストを含む評価値(評価関数とも呼ぶ)を最小化する配線を探索する。配置配線ツール12は、配線経路の遅延時間に基づいて遅延コストを算出する。配置配線ツール12は、ある配線リソースに対して競合するネットの数に基づいて混雑コストを算出する。配置配線ツール12は、混雑コストを徐々に上げながら、繰り返し配線を行うことによって競合を解消していく。競合が解消されない場合、配置配線ツール12は、論理複製などの他の手順を用いて配線を実行する。
【0088】
一方、第2信頼性モードが設定された場合(ステップS243でNo)、配置配線ツール12は、第2信頼性モードの配線処理を実行する。第2信頼性モードの配線処理において、配置配線ツール12は、ネットリストに含まれる各論理要素がいずれの配線リソースとスイッチリソースとを利用して接続するのかを決定する(ステップS245)。
【0089】
以上が、本実施形態の設計支援システムの処理についての説明である。
【0090】
以上のように、本実施形態の設計支援システムは、遅延コストおよび混雑コストを含めた評価関数を用いて一括して配線を行う。そのため、本実施形態によれば、第1の実施形態と比較して、配線経路の選択肢が増えるため、より最適な配線経路が選択されうる。
【0091】
(第3の実施形態)
次に、本発明の第3の実施形態に係る設計支援システムについて図面を参照しながら説明する。本実施形態の設計支援システムは、抵抗変化素子の書き換え履歴情報を生成する点で、第1の実施形態とは異なる。なお、本形態の設計支援システムの構成は、第1の実施の形態と同様であるため、説明を省略する。以下の説明においては、
図1を参照しながら、第1の実施形態の構成要素に付された符号を用いて説明する。
【0092】
〔設計支援ツール群〕
図17は、本実施形態の設計支援システムが備える設計支援ツール群30の構成を示すブロック図である。
図17の設計支援ツール群30は、
図1の記憶装置102にあらかじめ格納されており、演算装置101が記憶装置から読み出して実行するツールである。
図17のように、本実施形態の設計支援ツール群30は、論理合成ツール31、配置配線ツール32、信頼性制御ツール33、および書き換え履歴情報生成ツール34を有する。なお、論理合成ツール31、配置配線ツール32、および信頼性制御ツール33は、第1の実施形態の対応する構成要素と同様であるため、説明は省略する。
【0093】
書き換え履歴情報生成ツール34(書き換え履歴情報生成手段とも呼ぶ)は、プログラマブル論理集積回路3から読み出された構成情報に基づいて、デバイス固有の書き換え履歴情報を生成する。書き換え履歴情報は、プログラマブル論理集積回路3が備える論理要素や接続要素に含まれる抵抗変化素子の状態を示すアドレス情報と、変更(書き換え)回数を示す書き換え回数情報とを含む。
【0094】
〔スイッチリソース〕
図18および
図19は、プログラマブル論理集積回路3に含まれるスイッチリソースの一例(第6および第7の例)を示す模式図である。本実施形態では、スイッチリソース内のユニットセルをあらかじめ2つ用意し、それらのユニットセルを並列に接続する。なお、
図18および
図19に示すユニットセルは、
図8および
図9に示す抵抗変化素子によって構成されるユニットセルである。また、
図18および
図19の説明においては、同様の機能を発揮する構成要素については同じ符号を用いる場合がある。
【0095】
図18に示す第6の例のスイッチリソース331は、ユニットセルU0とユニットセルU1とを含むユニットセル対UP0によって構成する。ユニットセルU0は、第1端子T1と第2端子T2とを含む。ユニットセルU1は、第3端子T3と第4端子T4とを含む。第1端子T1および第3端子T3は、列配線A0と接続される。第2端子T2および第4端子T4は、行配線I0と接続される。
【0096】
ユニットセル対UP0には、第1のON状態、第2のON状態、およびOFF状態の3つの状態が定義される。第1のON状態は、ユニットセルU0およびユニットセルU1がともにON状態の状態である。第2のON状態は、ユニットセルU0およびユニットセルU1のいずれか一方がON状態であり、他方がOFF状態の状態である。OFF状態は、ユニットセルU0およびユニットセルU1がともにOFF状態の状態である。スイッチリソース331は、ユニットセル対UP0が第1のON状態、もしくは第2のON状態のときに信号を導通する。一方、スイッチリソース331は、ユニットセル対UP0がOFF状態のときに信号を遮断する。
【0097】
図19に示す第2の例のスイッチリソース332は、トランジスタM0とメモリMEM0とによって構成される。トランジスタM0のソースおよびドレインのうち一方は列配線A0に接続され、他方は行配線I0に接続される。トランジスタM0のゲートは、メモリの出力N0に接続される。
【0098】
図19のメモリMEM0は、4つのユニットセルU0、U1、U2、およびU3を含む。
図19のメモリMEM0は、ユニットセルU0およびユニットセルU1によって構成されるユニットセル対UP1と、ユニットセルU2およびユニットセルU3によって構成されるユニットセル対UP2とを含む。ユニットセル対UP1およびユニットセル対UP2には、
図18のスイッチリソース331に含まれるユニットセル対UP0と同様に、第1のON状態、第2のON状態、およびOFF状態の3つの状態が定義される。
【0099】
ユニットセルU0は、第1端子T1と第2端子T2とを含む。ユニットセルU1は、第3端子T3と第4端子T4とを含む。第1端子T1および第3端子T3は、電源Vddに接続される。第2端子T2および第4端子T4は、出力N0に接続される。ユニットセルU2は、第5端子T5と第6端子T6とを含む。ユニットセルU3は、第7端子T7と第8端子T8とを含む。第5端子T5および第7端子T7は、接地Gndに接続される。第6端子T6および第8端子T8は、出力N0に接続される。
【0100】
スイッチリソース332は、ユニットセル対UP1が第1のON状態、ユニットセル対UP2がOFF状態のとき、出力N0がHighレベル(Vdd電圧レベル)となり、信号を導通する。また、スイッチリソース332は、ユニットセル対UP1が第2のON状態、ユニットセル対UP2がOFF状態のとき、出力N0がHighレベル(Vdd電圧レベル)となり、信号を導通する。
【0101】
一方、スイッチリソース332は、ユニットセル対UP1がOFF状態、ユニットセル対UP2が第1のON状態のとき、出力N0がLowレベル(Gnd電圧レベル)となり、信号を遮断する。また、スイッチリソース332は、ユニットセル対UP1がOFF状態、ユニットセル対UP2が第2のON状態のとき、出力N0がLowレベル(Gnd電圧レベル)となり、信号を遮断する。
【0102】
以上が、プログラマブル論理集積回路3に含まれるスイッチリソースの構成についての説明である。続いて、本実施形態の設計支援システムの動作について図面を参照しながら説明する。
【0103】
(動作)
図20は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。ここでは、既に回路Aが実装されたプログラマブル論理集積回路3に、回路Aと異なる回路Bを実装する例について説明する。
【0104】
図20のフローチャートのステップS31〜S36の処理は、
図3のフローチャートのステップS11〜S16の処理に対応する。本実施形態は、書き換え履歴情報生成処理(ステップS37)を行う点が第1の実施形態とは異なり、他の処理は第1の実施形態と同様である。以下においては、書き換え履歴情報生成処理(ステップS37)について説明する。
【0105】
書き換え履歴情報生成ツール34は、プログラマブル論理集積回路3が有する各抵抗変化素子のアドレス情報と、各抵抗変化素子の状態の書き換え回数を示す情報とが含まれる書き換え履歴情報を生成する(ステップS37)。
【0106】
書き換え履歴情報生成ツール34は、コンフィグレーションされた後のプログラマブル論理集積回路3に、プログラマブル論理集積回路3から読み出される構成情報(回路B)と、既に実装されている回路Aの構成情報とを比較する。書き換え履歴情報生成ツール34は、回路Bの構成情報と回路Aの構成情報との差分を取ることによって、書き換え履歴情報を更新する。なお、書き換え履歴情報生成ツール34は、回路Bの構成情報のコンフィグレーションに先立って回路Aの構成情報を読み出すなどして、回路Aの構成情報をあらかじめ入手する。書き換え履歴情報生成ツール34は、更新した書き換え履歴情報を信頼性制御ツール33に供給する。信頼性制御ツール33に供給された書き換え履歴情報は、次回の配置配線の際に信頼性制御ツール33によって利用される。
図20のステップS37からステップS35への矢印は、ステップS37で生成される書き換え履歴情報を、ステップS34の信頼性制御処理に反映させることを示す。
【0107】
〔信頼性制御処理〕
図21は、信頼性制御ツール33が行う信頼性制御処理(
図20のステップS35)について説明するためのフローチャートである。以下においては、
図18に示すスイッチリソース331を用いる例について説明する。信頼性制御ツール33は、配置配線ツール32による配置配線の結果、信号経路に割り当てられたスイッチリソース331に対し、いずれの抵抗変化素子をON状態にするかを制御する。
【0108】
図21において、まず、信頼性制御ツール33は、信頼性モードとして第1信頼性モードが設定されると(ステップS351でYes)、スイッチリソース331に含まれるユニットセル対UP0を第1のON状態に設定する(ステップS352)。
【0109】
一方、信頼性制御ツール33は、信頼性モードとして第2信頼性モードが設定されると(ステップS351でNo)、スイッチリソース331に含まれるユニットセル対UP0を第2のON状態に設定する(ステップS353)。
【0110】
信頼性制御ツール33は、ユニットセル対UP0を第2のON状態に設定する際に、書き換え履歴情報に基づいて、いずれの抵抗変化素子の抵抗状態を書き換えるかを決定する。
図21において、信頼性制御ツール33は、ユニットセルU0の書き換え回数と、ユニットセルU1の書き換え回数とを比較して、抵抗状態を書き換える抵抗変化素子を決定する(ステップS354)。
【0111】
信頼性制御ツール33は、ユニットセルU0の書き換え回数の方が小さい場合(ステップS354でYes)、ユニットセルU0をON状態に設定する(ステップS355)。一方、信頼性制御ツール33は、ユニットセルU1の書き換え回数の方が小さい場合(ステップS354でNo)、ユニットセルU1をON状態に設定する(ステップS356)。すなわち、信頼性制御ツール33は、ユニットセルU0およびユニットセルU1のうち書き換え回数が小さい方に含まれる抵抗変化素子の抵抗状態を書き換える。
【0112】
以上のように、本実施形態の設計支援システムは、二つのユニットセルが並列に接続された構成を有するユニットセル対を含むプログラマブル論理集積回路の設計を支援する。本実施の形態の設計支援システムによれば、並列な信号経路の探索に失敗する確率を低減し、実装する回路の信頼性を向上できる。
【0113】
また、本実施形態の設計支援システムは、ユニットセル対を構成するユニットセルの書き換え情報に基づいて、書き換えが少ない方のユニットセルを優先的に書き換える。そのため、本実施形態の設計支援システムによれば、プログラマブル論理集積回路に含まれる抵抗変化素子の書き換え回数を平準化できる。複数の抵抗変化素子の書き換え回数を平準化できれば、抵抗変化素子ごとの書き換え回数が極端に異なることがなくなるため、各抵抗変化素子の寿命が延びる。
【0114】
(第4の実施形態)
次に、本発明の第4の実施形態に係る設計支援システムについて図面を参照しながら説明する。本実施形態の設計支援システムは、抵抗変化素子の書き込み情報を含めた構成情報を生成する点で、第1の実施形態とは異なる。なお、本形態の設計支援システムの構成は、第1の実施の形態と同様であるため、説明を省略する。以下の説明においては、
図1を参照しながら、第1の実施形態の構成要素に付された符号を用いて説明する。
【0115】
(動作)
まず、本実施形態の設計支援システムの動作について図面を参照しながら説明する。
図22は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。
【0116】
図22のフローチャートのステップS41〜S46の処理は、
図3のフローチャートのステップS11〜S16の処理に対応する。本実施形態は、ステップS46の構成情報生成処理が第1の実施形態とは異なり、他の処理は第1の実施形態と同様である。
【0117】
信頼性制御ツール13は、信頼性モードに基づいて、抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅、および書き込みパルスの数を指示する情報を含む構成情報を生成する。信頼性モードは、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する確率の制約条件を規定する。信頼性制御ツール13は、抵抗変化素子が構成するリソースの種類や、信号経路、抵抗変化素子のデータ保持不良のうち少なくとも1つの情報を用いて、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する予測確率を算出する。信頼性制御ツール13は、信号伝搬エラーが発生する確率の制約条件を満たすように、抵抗変化素子の書き込み条件を設定する。
【0118】
抵抗状態を変化させてからある時間経過後にON状態からOFF状態へ変化するON状態保持の不良確率や、ある時間経過後にOFF状態からON状態へ変化するOFF状態保持の不良確率は、書き込み条件によって変化する。書き込みの電圧やパルス幅が大きいほど、ON状態保持の不良確率やOFF状態保持の不良確率は低減できる傾向にある。
【0119】
例えば、信頼性制御ツール13は、抵抗変化素子のON状態保持の不良確率やOFF状態保持の不良確率から、リソースの種類ごとに、ある時間が経過した後に正常に動作しなくなる誤動作確率を算出できる。リソースの例としては、
図7〜
図10、
図18および
図19に示すスイッチリソースが挙げられる。また、
図10に示すメモリMEM0や、
図19に示すメモリMEM0を演算要素の構成情報の記憶部分として利用する際には、その演算要素がリソースとして挙げられる。
【0120】
信頼性制御ツール13は、リソースの誤動作確率から、ある信号経路の信号伝搬エラーを算出できる。信号経路としては、
図12および
図14に示す信号経路が挙げられる。また、信頼性制御ツール13は、式1および式2に示す計算式を用いて、各信号経路に対応する信号伝搬エラーを算出できる。
【0121】
信頼性制御ツール13は、各信号経路の信号伝搬エラーに基づいて、実装する回路全体において信号伝搬エラーが発生する予測確率を算出できる。そして、信頼性制御ツール13は、信号伝搬エラーが発生する確率の制約条件を満たすように、配線を繰り返したり、各抵抗変化素子の書き込み条件を変更したりすることによって、各抵抗変化素子の書き込み条件を設定する。
【0122】
以上のように、本実施形態の設計支援システムは、書き込み電圧や書き込みパルス幅、書き込みパルスの数を指示する書き込み情報を含む構成情報を生成する。そのため、本実施の形態の設計支援システムによれば、実装した回路の保持特性を最適化できる。
【0123】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0124】
例えば、プログラマブル論理集積回路に含まれる抵抗変化素子の一部をSRAM等の他のメモリ素子に置き換えてもよい。また、プログラマブル論理集積回路に含まれる抵抗変化素子の一部をパストランジスタとSRAM等の他のメモリ素子とを組み合わせた回路に置き換えてもよい。また、各構成要素に各機能(処理)のそれぞれを分担させて説明したが、この割り当ては上述したものに限定しない。また、構成要素についても、上述した形態はあくまでも例であって、これに限定しない。
【0125】
上述した設計支援システムに設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路によって行うようにしてもよい。また、処理内容を手順として記述したコンピュータプログラム(以下、プログラムと称する)を設計支援システムにて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを設計支援システムに読み込ませ、実行してもよい。記録媒体には、フロッピー(登録商標)ディスクや、光磁気ディスク、DVD(Digital Versatile Disc)、CD(Compact Disc)、Blu−ray(登録商標)ディスクなどの移設可能な記録媒体を用いることができる。また、設計支援システムに内蔵されたROM(Read Only Memory)、RAM(Random Access Memory)等のメモリやHDD(Hard Disc Drive)等を記録媒体としてもよい。記録媒体に記録されたプログラムは、設計支援システムに設けられたCPU(Central Processing Unit)にて読み込まれ、CPUの制御によって処理される。CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作する。
【0126】
また、本発明に係る実施形態の設計支援システムの構成要素は、任意に組み合わせることができる。また、本発明に係る実施形態の設計支援システムの構成要素は、ソフトウェアによって実現してもよいし、回路によって実現してもよい。
【0127】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
プログラマブル論理集積回路の動作記述ファイルを入力とし、入力した前記動作記述ファイルを論理合成し、前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する論理合成手段と、
前記プログラマブル論理集積回路のリソース情報を生成し、生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、配置した前記論理要素の間を配線して信号経路を仮想的に生成する配置配線手段と、
少なくとも二つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、生成した前記構成情報を出力する信頼性制御手段とを備える設計支援システム。
(付記2)
前記信頼性制御手段は、
前記配置配線手段によって配線された第1の信号経路と並列な第2の信号経路に配線リソースおよびスイッチリソースの割り当てを行う第1信頼性モードと、前記配置配線手段によって配線された第1の信号経路に前記信号経路を追加しない第2信頼性モードとに基づいて前記プログラマブル論理集積回路の前記構成情報を生成する付記1に記載の設計支援システム。
(付記3)
前記信頼性制御手段は、
前記第1信頼性モードにおいて、前記第1の信号経路と前記第2の信号経路とに同一の前記配線リソースを割り当てる付記2に記載の設計支援システム。
(付記4)
前記配置配線手段は、
配線経路の遅延時間に基づいた遅延コストと、前記配線リソースおよび前記スイッチリソースのうち少なくともいずれかに対して競合するネットの数に基づいた混雑コストとを含む評価関数を最小化する前記信号経路を探索する付記2または3に記載の設計支援システム。
(付記5)
前記信頼性制御手段は、
前記配置配線手段に対して前記信頼性モードを設定し、
前記配置配線手段は、
前記信頼性制御手段によって設定された前記信頼性モードに基づいて、前記第1の信号経路および前記第2の信号経路にいずれかの前記配線リソースおよび前記スイッチリソースを割り当てる付記2乃至4のいずれか一項に記載の設計支援システム。
(付記6)
少なくとも二つの抵抗変化素子によって構成されるユニットセルを前記スイッチリソースとして少なくとも一つ含む前記プログラマブル論理集積回路から読み出された前記構成情報に基づいて、前記プログラマブル論理集積回路に含まれる前記抵抗変化素子の状態を示すアドレス情報と、前記抵抗変化素子の書き換え回数を示す書き換え回数情報とを含む書き換え履歴情報を前記抵抗変化素子ごとに生成する書き換え履歴情報生成手段を備え、 前記書き換え履歴情報生成手段は、
前記信頼性制御手段によって生成された前記構成情報が前記プログラマブル論理集積回路にコンフィグレーションされた後に、前記プログラマブル論理集積回路から読み出される前記構成情報と、既に前記プログラマブル論理集積回路に実装されている回路の前記構成情報との差分を取ることによって前記書き換え履歴情報を更新し、更新した前記書き換え履歴情報を前記信頼性制御手段に供給する付記2乃至5のいずれか一項に記載の設計支援システム。
(付記7)
前記信頼性制御手段は、
前記書き換え履歴情報生成手段によって更新された前記書き換え履歴情報に基づいて、書き換えが少ない方の前記抵抗変化素子を優先的に書き換える付記6に記載の設計支援システム。
(付記8)
前記信頼性制御手段は、
前記プログラマブル論理集積回路は、少なくとも一つの抵抗変化素子によって構成される前記スイッチリソースを少なくとも一つ含む前記プログラマブル論理集積回路に関して、前記抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅および書き込みパルスの数を指示する情報を含む前記構成情報を前記信頼性モードに基づいて生成する付記2乃至6のいずれか一項に記載の設計支援システム。
(付記9)
プログラマブル論理集積回路の動作記述ファイルを論理合成し、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成し、 前記プログラマブル論理集積回路のリソース情報を生成し、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、
配置した前記論理要素の間を配線して仮想的に信号経路を生成し、
少なくとも2つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、
生成した前記構成情報を出力する設計支援方法。
(付記10)
入力されたプログラマブル論理集積回路の動作記述ファイルを論理合成する処理と、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する処理と、
前記プログラマブル論理集積回路のリソース情報を生成する処理と、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置する処理と、
配置した前記論理要素の間を配線して信号経路を仮想的に生成する処理と、
少なくとも2つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成する処理と、
生成した前記構成情報を出力する処理とをコンピュータに実行させるプログラム。
(付記11)抵抗変化素子を備えるプログラマブル論理集積回路に実装する回路の設計を支援する設計支援システムであって、
少なくとも2つの信頼性モードを設定可能な信頼性制御部を有し、
前記信頼性制御部は、前記信頼性モードに基づいて、前記抵抗変化素子を用いた前記回路の構成情報を生成する設計支援システム。
(付記12)前記回路は第1の接続情報を有し、
前記信頼性モードとして、第1の信頼性モードが設定されると、
前記信頼性制御部は、前記第1の接続情報に基づき、第1の信号経路と第2の信号経路に対する前記プログラマブル論理集積回路の配線リソースとスイッチリソースの割り当てを管理し、
前記第1の信号経路と前記第2の信号経路は電気的に並列であることを特徴とする付記11に記載の設計支援システム。
(付記13)前記信頼性制御部は、前記第1の信号経路と前記第2の信号経路に、同一の配線リソースを割り当てる機能を有する付記12に記載の設計支援システム。
(付記14)さらに配線リソースとスイッチリソースを割り当てる配線部を有し、
前記信頼性制御部は、前記第1の信号経路と、前記第2の信号経路に、配線リソースとスイッチリソースを割り当てるように前記配線部に対して指示する付記12または13に記載の設計支援システム。
(付記15)前記スイッチリソースはユニットセルを備え、
前記ユニットセルは第1端子と第2端子を備え、
前記ユニットセルは、1つの抵抗変化素子、もしくは、直列に接続された2つ以上の抵抗変化素子から構成され、
前記スイッチリソースを用いた前記回路の構成情報を生成する付記12乃至14のいずれか一項に記載の設計支援システム。
(付記16)前記スイッチリソースはトランジスタとメモリとを備え、
前記トランジスタはソース端子とドレイン端子とゲート端子を備え、
前記ゲート端子は前記メモリの出力端子と接続され、
前記スイッチリソースを用いた前記回路の構成情報を生成する付記12乃至15のいずれか一項に記載の設計支援システム。
(付記17)前記スイッチリソースは第1ユニットセルと第2ユニットセルを備え、
前記第1ユニットセルは第1端子と第2端子を備え、
前記第1ユニットセルは、1つの抵抗変化素子、もしくは、直列に接続された2つ以上の抵抗変化素子から構成され、
前記第2ユニットセルは第3端子と第4端子を備え、
前記第2ユニットセルは、1つの抵抗変化素子、もしくは、直列に接続された2つ以上の抵抗変化素子から構成され、
前記第1端子と第3端子が接続され、
前記第2端子と第4端子が接続され、
前記スイッチリソースを用いた前記回路の構成情報を生成する付記12乃至16のいずれか一項に記載の設計支援システム。
(付記18)前記抵抗変化素子の状態の変更回数を示す書き換え履歴情報を生成する書き換え履歴情報生成部を有し、
前記信頼性モードとして、第2の信頼性モードが設定されると、
前記信頼性制御部は、前記書き換え履歴情報に基づいて、割り当てられた前記スイッチリソースのうち、第1ユニットセルと第2ユニットセルのどちらか一方に含まれる抵抗変化素子をON状態に設定する付記12乃至17のいずれか一項に記載の設計支援システム。
(付記19)前記信頼性制御部は、前記抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅、書き込みパルスの数を指示する情報を含む構成情報を生成し、
前記信頼性モードは、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する確率の制約条件を規定し、
前記信頼性制御部は、前記抵抗変化素子が構成するリソースの種類、信号経路、抵抗変化素子のデータ保持不良のうち少なくとも1つの情報から、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する予測確率を算出し、前記信号伝搬エラーが発生する確率の制約条件を満たすように、前記書き込み条件を決定する付記11乃至18のいずれか一項に記載の設計支援システム。
(付記20)抵抗変化素子を備えるプログラマブル論理集積回路に実装する回路の設計を支援する設計支援方法であって、
少なくとも2つの信頼性モードの設定処理と、
前記信頼性モードに基づいて、前記回路の構成情報の生成処理と行い、
前記回路は第1の接続情報を有し、
前記信頼性モードとして、第1の信頼性モードが設定されると、
前記第1の接続情報に基づき、第1の信号経路と第2の信号経路に対する前記プログラマブル論理集積回路の配線リソースとスイッチリソースの割り当て管理処理を行い、
前記第1の信号経路と前記第2の信号経路は電気的に並列であることを特徴とする設計支援方法。
【0128】
この出願は、2017年11月29日に出願された日本出願特願2017−228490を基礎とする優先権を主張し、その開示の全てをここに取り込む。