(57)【要約】  信頼性の高いプログラマブル論理集積回路を設計することを可能とするために、プログラマブル論理集積回路の動作記述ファイルを入力とし、入力した動作記述ファイルを論理合成し、プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する論理合成部と、プログラマブル論理集積回路のリソース情報を生成し、生成したリソース情報に基づいてネットリストに含まれる論理要素を配置し、配置した論理要素の間を配線して信号経路を仮想的に生成する配置配線部と、少なくとも二つの信頼性モードに基づいてプログラマブル論理集積回路の構成情報を生成し、生成した構成情報を出力する信頼性制御部とを備える設計支援システムとする。
2019107234.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル論理集積回路の動作記述ファイルを入力とし、入力した前記動作記述ファイルを論理合成し、前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する論理合成手段と、
前記プログラマブル論理集積回路のリソース情報を生成し、生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、配置した前記論理要素の間を配線して信号経路を仮想的に生成する配置配線手段と、
少なくとも二つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、生成した前記構成情報を出力する信頼性制御手段とを備える設計支援システム。
【請求項２】
前記信頼性制御手段は、
前記配置配線手段によって配線された第１の信号経路と並列な第２の信号経路に配線リソースおよびスイッチリソースの割り当てを行う第１信頼性モードと、前記配置配線手段によって配線された第１の信号経路に前記信号経路を追加しない第２信頼性モードとに基づいて前記プログラマブル論理集積回路の前記構成情報を生成する請求項１に記載の設計支援システム。
【請求項３】
前記信頼性制御手段は、
前記第１信頼性モードにおいて、前記第１の信号経路と前記第２の信号経路とに同一の前記配線リソースを割り当てる請求項２に記載の設計支援システム。
【請求項４】
前記配置配線手段は、
配線経路の遅延時間に基づいた遅延コストと、前記配線リソースおよび前記スイッチリソースのうち少なくともいずれかに対して競合するネットの数に基づいた混雑コストとを含む評価関数を最小化する前記信号経路を探索する請求項２または３に記載の設計支援システム。
【請求項５】
前記信頼性制御手段は、
前記配置配線手段に対して前記信頼性モードを設定し、
前記配置配線手段は、
前記信頼性制御手段によって設定された前記信頼性モードに基づいて、前記第１の信号経路および前記第２の信号経路にいずれかの前記配線リソースおよび前記スイッチリソースを割り当てる請求項２乃至４のいずれか一項に記載の設計支援システム。
【請求項６】
少なくとも二つの抵抗変化素子によって構成されるユニットセルを前記スイッチリソースとして少なくとも一つ含む前記プログラマブル論理集積回路から読み出された前記構成情報に基づいて、前記プログラマブル論理集積回路に含まれる前記抵抗変化素子の状態を示すアドレス情報と、前記抵抗変化素子の書き換え回数を示す書き換え回数情報とを含む書き換え履歴情報を前記抵抗変化素子ごとに生成する書き換え履歴情報生成手段を備え、
前記書き換え履歴情報生成手段は、
前記信頼性制御手段によって生成された前記構成情報が前記プログラマブル論理集積回路にコンフィグレーションされた後に、前記プログラマブル論理集積回路から読み出される前記構成情報と、既に前記プログラマブル論理集積回路に実装されている回路の前記構成情報との差分を取ることによって前記書き換え履歴情報を更新し、更新した前記書き換え履歴情報を前記信頼性制御手段に供給する請求項２乃至５のいずれか一項に記載の設計支援システム。
【請求項７】
前記信頼性制御手段は、
前記書き換え履歴情報生成手段によって更新された前記書き換え履歴情報に基づいて、書き換えが少ない方の前記抵抗変化素子を優先的に書き換える請求項６に記載の設計支援システム。
【請求項８】
前記信頼性制御手段は、
前記プログラマブル論理集積回路は、少なくとも一つの抵抗変化素子によって構成される前記スイッチリソースを少なくとも一つ含む前記プログラマブル論理集積回路に関して、前記抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅および書き込みパルスの数を指示する情報を含む前記構成情報を前記信頼性モードに基づいて生成する請求項２乃至６のいずれか一項に記載の設計支援システム。
【請求項９】
プログラマブル論理集積回路の動作記述ファイルを論理合成し、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成し、
前記プログラマブル論理集積回路のリソース情報を生成し、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、
配置した前記論理要素の間を配線して仮想的に信号経路を生成し、
少なくとも２つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、
生成した前記構成情報を出力する設計支援方法。
【請求項１０】
入力されたプログラマブル論理集積回路の動作記述ファイルを論理合成する処理と、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する処理と、
前記プログラマブル論理集積回路のリソース情報を生成する処理と、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置する処理と、
配置した前記論理要素の間を配線して信号経路を仮想的に生成する処理と、
少なくとも２つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成する処理と、
生成した前記構成情報を出力する処理とをコンピュータに実行させるプログラムを記録するプログラム記録媒体。
【請求項１１】
抵抗変化素子を備えるプログラマブル論理集積回路に実装する回路の設計を支援する設計支援システムであって、
少なくとも２つの信頼性モードを設定可能な信頼性制御部を有し、
前記信頼性制御部は、前記信頼性モードに基づいて、前記抵抗変化素子を用いた前記回路の構成情報を生成する設計支援システム。
【請求項１２】
前記回路は第１の接続情報を有し、
前記信頼性モードとして、第１の信頼性モードが設定されると、
前記信頼性制御部は、前記第１の接続情報に基づき、第１の信号経路と第２の信号経路に対する前記プログラマブル論理集積回路の配線リソースとスイッチリソースの割り当てを管理し、
前記第１の信号経路と前記第２の信号経路は電気的に並列であることを特徴とする請求項１１に記載の設計支援システム。
【請求項１３】
前記信頼性制御部は、前記第１の信号経路と前記第２の信号経路に、同一の配線リソースを割り当てる機能を有する請求項１２に記載の設計支援システム。
【請求項１４】
さらに配線リソースとスイッチリソースを割り当てる配線部を有し、
前記信頼性制御部は、前記第１の信号経路と、前記第２の信号経路に、配線リソースとスイッチリソースを割り当てるように前記配線部に対して指示する請求項１２または１３に記載の設計支援システム。
【請求項１５】
前記スイッチリソースはユニットセルを備え、
前記ユニットセルは第１端子と第２端子を備え、
前記ユニットセルは、１つの抵抗変化素子、もしくは、直列に接続された２つ以上の抵抗変化素子から構成され、
前記スイッチリソースを用いた前記回路の構成情報を生成する請求項１２乃至１４のいずれか一項に記載の設計支援システム。
【請求項１６】
前記スイッチリソースはトランジスタとメモリとを備え、
前記トランジスタはソース端子とドレイン端子とゲート端子を備え、
前記ゲート端子は前記メモリの出力端子と接続され、
前記スイッチリソースを用いた前記回路の構成情報を生成する請求項１２乃至１５のいずれか一項に記載の設計支援システム。
【請求項１７】
前記スイッチリソースは第１ユニットセルと第２ユニットセルを備え、
前記第１ユニットセルは第１端子と第２端子を備え、
前記第１ユニットセルは、１つの抵抗変化素子、もしくは、直列に接続された２つ以上の抵抗変化素子から構成され、
前記第２ユニットセルは第３端子と第４端子を備え、
前記第２ユニットセルは、１つの抵抗変化素子、もしくは、直列に接続された２つ以上の抵抗変化素子から構成され、
前記第１端子と第３端子が接続され、
前記第２端子と第４端子が接続され、
前記スイッチリソースを用いた前記回路の構成情報を生成する請求項１２乃至１６のいずれか一項に記載の設計支援システム。
【請求項１８】
前記抵抗変化素子の状態の変更回数を示す書き換え履歴情報を生成する書き換え履歴情報生成部を有し、
前記信頼性モードとして、第２の信頼性モードが設定されると、
前記信頼性制御部は、前記書き換え履歴情報に基づいて、割り当てられた前記スイッチリソースのうち、第１ユニットセルと第２ユニットセルのどちらか一方に含まれる抵抗変化素子をＯＮ状態に設定する請求項１２乃至１７のいずれか一項に記載の設計支援システム。
【請求項１９】
前記信頼性制御部は、前記抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅、書き込みパルスの数を指示する情報を含む構成情報を生成し、
前記信頼性モードは、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する確率の制約条件を規定し、
前記信頼性制御部は、前記抵抗変化素子が構成するリソースの種類、信号経路、抵抗変化素子のデータ保持不良のうち少なくとも１つの情報から、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する予測確率を算出し、前記信号伝搬エラーが発生する確率の制約条件を満たすように、前記書き込み条件を決定する請求項１１乃至１８のいずれか一項に記載の設計支援システム。
【請求項２０】
抵抗変化素子を備えるプログラマブル論理集積回路に実装する回路の設計を支援する設計支援方法であって、
少なくとも２つの信頼性モードの設定処理と、
前記信頼性モードに基づいて、前記回路の構成情報の生成処理と行い、
前記回路は第１の接続情報を有し、
前記信頼性モードとして、第１の信頼性モードが設定されると、
前記第１の接続情報に基づき、第１の信号経路と第２の信号経路に対する前記プログラマブル論理集積回路の配線リソースとスイッチリソースの割り当て管理処理を行い、
前記第１の信号経路と前記第２の信号経路は電気的に並列であることを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル論理集積回路の回路設計を支援する設計支援システム、設計支援方法およびプログラムに関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブル論理集積回路は、論理要素、入出力要素および接続要素によって構成される。論理要素は、プログラマブルな論理演算機能を提供する。例えば、組み合わせ回路を実現するルックアップテーブルとデータを保持するフリップフロップとセレクタとによって構成されるロジックブロックが論理要素として用いられる。入出力要素は、デバイスと外部との間のプログラマブルな入出力機能を提供する。接続要素は、論理要素や入出力要素の間のプログラマブルな接続機能を提供する。ユーザは、複数のロジックブロックを任意に組み合わせることによって、プログラマブル論理集積回路に所望の論理回路を形成することができる。【０００３】
所望の論理回路を形成するために必要な情報は、構成情報と呼ばれ、プログラマブル論理集積回路が備えるメモリ素子に保存される。構成情報を記憶するメモリ素子には、ＳＲＡＭ（Static Random Access Memory）セルや、フローティングゲートＭＯＳ（Metal-Oxide-Semiconductor）トランジスタ等が用いられる。【０００４】
一般に、上述のメモリ素子やロジックブロックを変更可能に接続するスイッチは、多数のトランジスタによって構成されるロジックブロックと同じ層に形成されるため、面積オーバーヘッドが増大する要因となる。プログラマブル論理集積回路のチップ面積が大きくなると、製造コストが増大する。また、メモリ素子やスイッチのレイアウト面積が大きくなると、チップ面積に占めるロジックブロックの割合が低下する。【０００５】
そこで、レイアウト面積の増大を抑制しつつ、製造後のロジックブロック同士の接続を変更可能にするスイッチとして抵抗変化素子を用いるプログラマブル論理集積回路が提案されている。一般的なプログラマブル論理集積回路における配線の接続および切断には、メモリ素子であるＳＲＡＭセルと、スイッチ機能を備えた１つのトランジスタを有するスイッチセルとが利用されている。一方、抵抗変化素子は、メモリ機能とスイッチ機能との両方を備えているため、１つの抵抗変化素子でスイッチセルを実現することができる。そのため、抵抗変化素子を用いたプログラマブル論理集積回路は、ＳＲＡＭセルとスイッチセルとを用いるプログラマブル論理集積回路と比べて小型化が可能となる。【０００６】
特許文献１、特許文献２、および非特許文献１には、抵抗変化素子を用いたプログラマブル論理集積回路が開示されている。特許文献１、特許文献２、および非特許文献１に開示されたプログラマブル論理集積回路は、第１の配線層と、第１の配線層の上部に形成される第２の配線層との間に、金属イオンを含有する固体電解質材料を含む抵抗変化素子が配置された構成を有する。抵抗変化素子は、順方向または逆方向にバイアス電圧を印加することによって抵抗値が変化し、第１の配線と第２の配線とを電気的に接続または切断するスイッチとして機能する。例えば、抵抗変化素子の抵抗値は、低抵抗状態（オン状態）と高抵抗状態（オフ状態）との比が１０の５乗またはそれ以上となる。抵抗変化素子のオンまたはオフの状態は、プログラマブル論理集積回路に対する電源供給が停止しても保持されるため、電源を投入するたびに構成情報をロードする手間を省くことができる。【０００７】
特許文献１に記載された半導体装置では、第１の配線群と、第１の配線群と交差する第２の配線群との各交点に抵抗変化素子が配置される。そのため、特許文献１の装置によれば、第１の配線群の任意の配線と第２の配線群の任意の配線とを接続または切断できるクロスバスイッチのサイズを小型化できる。すなわち、特許文献１の装置によれば、チップ面積の大幅な縮小やロジックブロックの使用効率の改善によるプログラマブル論理集積回路の性能向上が期待できる。【０００８】
図２３は、特許文献１のクロスバスイッチの一例（以下、クロスバ回路１００と呼ぶ）である。図２３のクロスバ回路１００は、複数の第１の配線１２１〜１２６と、複数の第２の配線１３１〜１３６とが互いに交叉する位置に抵抗変化素子１１０を配置した構成を有する。図２３においては、ＯＮ状態の抵抗変化素子１１０を黒く塗りつぶし、ＯＦＦ状態の抵抗変化素子１１０を白抜きで示す。図２３のクロスバ回路１００は、対角線上に位置する複数の抵抗変化素子１１０をＯＮ状態にすることによって、クロスバとして結線された状態を示す。【０００９】
図２４は、特許文献２のクロスバスイッチの一例で（以下、クロスバ回路２００と呼ぶ）ある。図２４のクロスバ回路２００は、複数の第１の配線２２１〜２２６と、複数の第２の配線２３１〜２３６とが互いに交叉する位置に、二つの抵抗変化素子が直列に接続された構成のユニット素子２１０を配置した構成を有する。図２４においては、ＯＮ状態の素子を塗りつぶしで示し、ＯＦＦ状態の素子を白抜きで示す。図２４のクロスバ回路２００は、ユニット素子２１０を構成する２つの抵抗変化素子をともにＯＮ状態とすることによってユニット素子２１０をＯＮ状態とし、２つの抵抗変化素子をともにＯＦＦ状態とすることによってユニット素子２１０をＯＦＦ状態とする。図２４のクロスバ回路２００は、対角線上に位置する複数のユニット素子２１０をＯＮ状態にすることによって、クロスバとして結線された状態を示す。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第４３５６５４２号公報
【特許文献２】国際公開第２０１２／０４３５０２号
【非特許文献】
【００１１】
【非特許文献１】M. Miyamura, et al.， “Low-power programmable-logic cell arrays using nonvolatile complementary atom switch”, 15th International Symposium on Quality Electronic Design (ISQED), pp.330-334, 2014.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図２５は、図２３のクロスバ回路１００において、第１の配線１２３と第２の配線１３３との交点に位置する抵抗変化素子１１０に１ビットのオープン不良が発生した状態である。図２５のようなオープン不良が発生すると、第１の配線１２３からの入力が第２の配線１３３の出力に伝送されなくなる。図２６は、図２３のクロスバ回路１００において、第１の配線１２５と第２の配線１３３との交点に位置する抵抗変化素子１１０に１ビットのショート不良が混入した状態である。図２６のようなショート不良が発生すると、第１の配線１２３からの入力と第１の配線１２５からの入力とが衝突し、第２の配線１３３からの出力と第２の配線１３５からの出力とが不定となる。【００１３】
図２７は、図２４のクロスバ回路２００において、第１の配線２２３と第２の配線２３３との交点に位置するユニット素子２１０に１ビットのオープン不良が発生した状態である。図２７のようなオープン不良が発生すると、回路の誤動作につながる。図２８は、図２４のクロスバ回路２００において、第１の配線２２５と第２の配線２３３との交点に位置するユニット素子２１０に１ビットのショート不良が混入した状態である。図２８のようなショート不良が発生した場合は、クロスバ回路２００の回路動作に影響はない。【００１４】
すなわち、特許文献１および特許文献２の抵抗変化素子を配置したクロスバ回路では、クロスバスイッチを構成する抵抗変化素子に１ビットの不良が発生した際に、所望の動作を提供できない可能性がある。【００１５】
また、特許文献１および２の抵抗変化素子は、書き換えを繰り返すことによって劣化する可能性があるため、書き換え可能な回数に制限がある。例えば、一部の抵抗変化素子に書き込みが集中すると、その素子が早期に劣化し、所望の論理回路を形成できなくなる可能性がある。【００１６】
本発明の目的は、上記課題を解決するために、信頼性の高いプログラマブル論理集積回路を設計することを可能とする設計支援システムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明の一態様の設計支援システムは、プログラマブル論理集積回路の動作記述ファイルを入力とし、入力した動作記述ファイルを論理合成し、プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する論理合成部と、プログラマブル論理集積回路のリソース情報を生成し、生成したリソース情報に基づいてネットリストに含まれる論理要素を配置し、配置した論理要素の間を配線して信号経路を仮想的に生成する配置配線部と、少なくとも二つの信頼性モードに基づいてプログラマブル論理集積回路の構成情報を生成し、生成した構成情報を出力する信頼性制御部とを備える。【００１８】
本発明の一態様の設計支援方法においては、プログラマブル論理集積回路の動作記述ファイルを論理合成し、プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成し、プログラマブル論理集積回路のリソース情報を生成し、生成したリソース情報に基づいてネットリストに含まれる論理要素を配置し、配置した論理要素の間を配線して信号経路を仮想的に生成し、少なくとも２つの信頼性モードに基づいてプログラマブル論理集積回路の構成情報を生成し、生成した構成情報を出力する。【００１９】
本発明の一態様のプログラムは、入力されたプログラマブル論理集積回路の動作記述ファイルを論理合成する処理と、プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する処理と、プログラマブル論理集積回路のリソース情報を生成する処理と、生成したリソース情報に基づいてネットリストに含まれる論理要素を配置する処理と、配置した論理要素の間を配線して少なくとも一つの信号経路を仮想的に生成する処理と、少なくとも２つの信頼性モードに基づいてプログラマブル論理集積回路の構成情報を生成する処理と、生成した構成情報を出力する処理とをコンピュータに実行させる。
【発明の効果】
【００２０】
本発明によれば、信頼性の高いプログラマブル論理集積回路を設計することを可能とする設計支援システムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係る設計支援システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る設計支援システムが備える設計支援ツール群の一構成例を示すブロック図である。
【図３】本発明の第１の実施形態に係る設計支援システムの動作について説明するためのフローチャートである。
【図４】本発明の第１の実施形態に係る設計支援システムによる配置配線処理について説明するためのフローチャートである。
【図５】本発明の第１の実施形態に係る設計支援システムによる信頼性制御処理について説明するためのフローチャートである。
【図６】本発明の第１の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれる２つのロジックブロックとそれらを接続するルーティングリソースとの一例を示す模式図である。
【図７】本発明の第１の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれるスイッチリソースの第１の例を示す模式図である。
【図８】本発明の第１の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれるスイッチリソースの第２の例を示す模式図である。
【図９】本発明の第１の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれるスイッチリソースの第３の例を示す模式図である。
【図１０】本発明の第１の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれるスイッチリソースの第４の例を示す模式図である。
【図１１】本発明の第１の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれるスイッチリソースの第５の例を示す模式図である。
【図１２】本発明の第１の実施形態に係る設計支援システムによって配置配線後の回路が実装されたプログラマブル論理集積回路の一例を示す模式図である。
【図１３】本発明の第１の実施形態に係る設計支援システムの信頼性制御処理によって生成される有向グラフの一例である。
【図１４】本発明の第１の実施形態に係る設計支援システムによって第１信頼性モードにおける信頼性制御工程後の回路が実装されたプログラマブル論理集積回路の一例を示す模式図である。
【図１５】本発明の第２の実施形態に係る設計支援システムの動作について説明するためのフローチャートである。
【図１６】本発明の第２の実施形態に係る設計支援システムによる配置配線処理について説明するためのフローチャートである。
【図１７】本発明の第３の実施形態に係る設計支援システムが備える設計支援ツール群の一構成例を示すブロック図である。
【図１８】本発明の第３の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれるスイッチリソースの第６の例を示す模式図である。
【図１９】本発明の第３の実施形態に係る設計支援システムの設計対象であるプログラマブル論理集積回路に含まれるスイッチリソースの第７の例を示す模式図である。
【図２０】本発明の第３の実施形態に係る設計支援システムの動作について説明するためのフローチャートである。
【図２１】本発明の第３の実施形態に係る設計支援システムによる信頼性制御処理について説明するためのフローチャートである。
【図２２】本発明の第４の実施形態に係る設計支援システムの動作について説明するためのフローチャートである。
【図２３】特許文献１の構成のクロスバスイッチの動作状態の一例を示す概念図である。
【図２４】特許文献２の構成のクロスバスイッチの動作状態の一例を示す概念図である。
【図２５】特許文献１の構成のクロスバスイッチに含まれる抵抗変化素子にオープン不良が発生した場合の一例を示す概念図である。
【図２６】特許文献１の構成のクロスバスイッチに含まれる抵抗変化素子にショート不良が発生した場合の一例を示す概念図である。
【図２７】特許文献２の構成のクロスバスイッチに含まれる抵抗変化素子にオープン不良が発生した場合の一例を示す概念図である。
【図２８】特許文献２の構成のクロスバスイッチに含まれる抵抗変化素子にショート不良が発生した場合の一例を示す概念図である。
【発明を実施するための形態】
【００２２】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００２３】
（第１の実施形態）
まず、本発明の第１の実施形態に係る設計支援システムについて図面を参照しながら説明する。図１は、本実施形態の設計支援システム１の構成について説明するための概念図である。図２は、本実施形態の設計支援システム１が備える設計支援ツール群１０の構成を示すブロック図である。
【００２４】
図１のように、設計支援システム１は、構成情報転送装置２と接続される。また、設計支援システム１は、構成情報転送装置２を介してプログラマブル論理集積回路３と接続される。設計支援システム１と構成情報転送装置２との接続、構成情報転送装置２とプログラマブル論理集積回路３との接続は、有線および無線のいずれを用いてもよく、それらの接続における信号の通信方式は特に限定しない。なお、構成情報転送装置２およびプログラマブル論理集積回路３は、アプリケーション・ボードとして設計支援システム１に搭載されていてもよい。
【００２５】
図１のように、設計支援システム１は、演算装置１０１、記憶装置１０２、表示装置１０３、および入出力装置１０４を備える。演算装置１０１、記憶装置１０２、表示装置１０３、および入出力装置１０４は、バス１０５を介して互いに接続される。設計支援システム１は、例えば、コンピュータシステムによって実現される。
【００２６】
演算装置１０１は、記憶装置１０２にあらかじめ格納されたプログラムに従って処理を実行することによって、設計支援システム１の全体の動作を制御する。また、演算装置１０１は、記憶装置１０２にあらかじめ格納されているプログラムに従った処理を実行することによって、設計支援ツール群１０の機能を実現する。
【００２７】
記憶装置１０２は、設計情報やプログラムを格納するメモリ等の記憶媒体である。設計情報は、設計者が作成する回路の動作記述情報や、制約条件情報などのプログラマブル論理集積回路３に実装される情報を含む。例えば、設計情報には、演算装置１０１の処理結果であるネットリスト情報や、配置配線情報、プログラマブル論理集積回路３のリソース情報や構成情報、書き換え履歴情報等の情報が含まれる。
【００２８】
表示装置１０３は、設計支援ツール群１０の命令入力画面や処理結果を表示する。例えば、表示装置１０３は、抵抗変化素子の書き換え回数（変更回数とも呼ぶ）に関する情報を表示する。例えば、表示装置１０３は、統計処理後のデータのグラフ表示や、フロアプランナー上でのカラー表示などの表示情報を表示する。例えば、ユーザは、表示装置１０３の表示情報を確認することによって、書き換え回数が大きなところを避けたフロアプランを作成できる。
【００２９】
入出力装置１０４は、キーボードや、マウス、タッチパネル等の入力装置や、構成情報転送装置２、図示しない印刷装置等の出力装置との間で信号やデータを送受信し合うためのインタフェース回路である。入出力装置１０４は、信頼性モードに基づいた設定をユーザに提供する。ユーザは、入出力装置１０４によって提供される機能を利用することによって、抵抗変化素子のデータの保持特性を優先した回路や、抵抗変化素子の書き換え寿命を優先した回路をプログラマブル論理集積回路３に実装できる。
【００３０】
構成情報転送装置２は、設計支援システム１とプログラマブル論理集積回路３とに接続される。構成情報転送装置２は、設計支援システム１とプログラマブル論理集積回路３との間における構成情報などのデータ伝送を制御する。例えば、構成情報転送装置２は、設計支援システム１から送信された構成情報等のデータを受信し、プログラマブル論理集積回路３のデータ入出力仕様の送信データに変換して転送する。また、例えば、構成情報転送装置２は、プログラマブル論理集積回路３から出力された構成情報等のデータを受信し、設計支援システム１のデータ入出力仕様の送信データに変換して転送する。なお、構成情報転送装置２によるデータ変換方式については、特に限定を加えない。
【００３１】
図２の設計支援ツール群１０は、図１の記憶装置１０２にあらかじめ格納されており、演算装置１０１が記憶装置１０２から読み出して実行するツールである。図２に示すように、設計支援ツール群１０は、論理合成ツール１１、配置配線ツール１２、および信頼性制御ツール１３を含む。
【００３２】
論理合成ツール１１（論理合成手段とも呼ぶ）は、プログラマブル論理集積回路３の設計者が入出力装置１０４を用いて入力した動作記述情報や遅延・電力などの制約条件情報を含む動作記述ファイルを入力とする。論理合成ツール１１は、入力した動作記述ファイルの論理合成を行う。論理合成ツール１１は、プログラマブル論理集積回路３が備える論理要素を用いてネットリストを作成する。ネットリストは、論理要素および論理要素間の接続情報である。
【００３３】
配置配線ツール１２（配置配線手段とも呼ぶ）は、プログラマブル論理集積回路３の論理要素や配線リソース等のリソース情報を生成する。配置配線ツール１２は、プログラマブル論理集積回路３のリソース情報に基づいて、ネットリストに含まれる論理要素を仮想的に配置・配線する。言い換えると、配置配線ツール１２は、生成したリソース情報に基づいてネットリストに含まれる論理要素を配置し、配置した論理要素間を配線して少なくとも一つの信号経路を生成する。
【００３４】
信頼性制御ツール１３（信頼性制御手段とも呼ぶ）は、信頼性モードに基づいて、抵抗変化型素子のデータの保持特性や書き換え寿命を優先した回路の構成情報を生成する。信頼性モードは、信号経路を追加する第１信頼性モードと、信号経路を追加しない第２信頼性モードとを含む。言い換えると、信頼性制御ツール１３は、少なくとも２つの信頼性モードに基づいてプログラマブル論理集積回路の構成情報を生成し、生成した構成情報を出力する。例えば、信頼性制御ツール１３は、表示装置１０３に構成情報を表示させたり、入出力装置１０４から構成情報転送装置２に構成情報を出力したりする。
【００３５】
信頼性制御ツール１３は、第１信頼性モードにおいては、配置配線ツール１２によって配線された第１の信号経路と並列な第２の信号経路に配線リソースおよびスイッチリソースの割り当てを行う。また、信頼性制御ツール１３は、第２信頼性モードにおいては、配置配線ツール１２によって配線された第１の信号経路に信号配線を追加しない。信頼性制御ツール１３は、可能であれば、第１信頼性モードにおいて、第１の信号経路と第２の信号経路とに同一の配線リソースを割り当てることが好ましい。
【００３６】
以上が、設計支援システム１の構成に関する説明である。続いて、設計支援システム１の動作について図面を参照しながら説明する。
【００３７】
（動作）
図３は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。図３のフローチャートに沿った以下の説明においては、設計支援システム１を動作の主体として説明する。
【００３８】
図３において、まず、設計支援システム１は、設計者によって作成された回路の動作記述ファイルを入力とする（ステップＳ１１）。動作記述ファイルは、入出力装置１０４によって入力される。
【００３９】
例えば、動作記述ファイルは、ハードウェア記述言語を用いて作成される。ハードウェア記述言語の一例としては、Ｖｅｒｉｌｏｇ−ＨＤＬ（Hardware Description Language）が挙げられる。また、ハードウェア記述言語の一例として、ＶＨＤＬ（Very high-speed integrated circuit Hardware Description Language）が挙げられる。
【００４０】
次に、設計支援システム１は、入力された動作記述ファイルを論理合成する（ステップＳ１２）。動作記述ファイルの論理合成は、論理合成ツール１１によって実行される。
【００４１】
次に、設計支援システム１は、ネットリストを生成する（ステップＳ１３）。ネットリストは、論理合成ツール１１によって生成される。論理合成ツール１１は、プログラマブル論理集積回路３に含まれる論理要素を用いてネットリストを生成する。論理合成ツール１１は、設計者があらかじめ設定したタイミング制約情報を満たすように回路を最適化する。
【００４２】
次に、設計支援システム１は、プログラマブル論理集積回路３に実装する回路の配置配線処理を実行する（ステップＳ１４）。回路の配置配線処理は、配置配線ツール１２によって実行される。
【００４３】
次に、設計支援システム１は、信頼性モードに基づいて配置配線結果を修正し、構成情報を生成する（ステップＳ１５）。構成情報の生成は、信頼性制御ツールによって実行される。
【００４４】
回路の構成情報が決定すると、設計者によって入出力装置１０４に行われた操作に基づいて、設計支援システム１およびプログラマブル論理集積回路３に構成情報転送装置２が接続される。その結果、設計支援システム１とプログラマブル論理集積回路３との通信経路が確立される。設計支援システム１は、構成情報転送装置２を介してプログラマブル論理集積回路３に構成情報を送信する。プログラマブル論理集積回路３は、構成情報転送装置２から構成情報を受信すると、コンフィグレーション動作を開始する。全ての構成情報のコンフィグレーション動作が完了すると、プログラマブル論理集積回路３に回路が実装された状態となる。
【００４５】
以上が、設計支援システム１の動作についての説明である。続いて、設計支援システム１の動作の詳細について図面を参照しながら説明する。
【００４６】
〔配置配線処理〕
図４は、設計支援システム１の配置配線ツール１２によって実行される配置配線処理（ステップＳ１４）の詳細について説明するためのフローチャートである。図４のフローチャートに沿った以下の説明においては、配置配線ツール１２を動作の主体として説明する。
【００４７】
図４において、まず、配置配線ツール１２は、論理要素やルーティングリソース等のリソース情報を生成する（ステップＳ１４１）。
【００４８】
論理要素の構成情報の保存には、抵抗変化素子によって構成されるメモリリソースを用いてもよい。ルーティングリソースは、配線リソースやスイッチリソースによって構成される。スイッチリソースは、抵抗変化素子によって構成されてもよい。リソース情報は、ある論理要素の識別番号と、その論理要素の構成情報を保存するスイッチリソース内の抵抗変化素子の識別番号とを一組とした情報を含んでいてもよい。また、リソース情報は、ある配線リソースの識別番号と、その配線リソースに接続されるスイッチリソースの内部の抵抗変化素子の識別番号とがリンクした情報として、配線リソースの有向グラフまたは無向グラフを含んでいてもよい。
【００４９】
次に、配置配線ツール１２は、ネットリストに含まれる各論理要素をプログラマブル論理集積回路３の配置スロットに割り当てる（ステップＳ１４２）。
【００５０】
スロットとは、論理要素を配置する場所である。例えば、配置配線ツール１２は、ネットの仮想配線長の総和を評価値（評価関数とも呼ぶ）として用いて、その評価関数を最小化する配置を探索する。例えば、ネットの仮想配線長は、そのネットに含まれる全ての論理要素のスロット位置を囲う矩形のｘ軸方向の長さと、ｙ軸方向の長さとの和である。なお、配置配線ツール１２が用いる評価関数はここで挙げた限りではない。
【００５１】
次に、配置配線ツール１２は、ネットリストに含まれる各論理要素がいずれの配線リソースとスイッチリソースとを利用して接続するのかを決定する（ステップＳ１４３）。
【００５２】
例えば、配置配線ツール１２は、遅延時間を最小化することと、配線経路が見つからないことを避けることとを実現するために、遅延コストと混雑コストとを含む評価関数を最小化する配線を探索する。遅延コストとは、配線経路の遅延時間に基づいて算出されるコストである。混雑コストとは、あるルーティングリソースに対して、競合しているネットの数に基づいて算出されるコストである。配置配線ツール１２は、混雑コストを徐々に上げながら繰り返し配線を行うことによって、競合を解消していく。配置配線ツール１２は、競合を解消できない場合、論理複製などの他の手順を用いて配線を実行してもよい。
【００５３】
以上が、配置配線ツール１２による配置配線処理についての説明である。
【００５４】
〔信頼性制御処理〕
図５は、設計支援システム１の信頼性制御ツール１３によって実行される信頼性制御処理（ステップＳ１５）の詳細について説明するためのフローチャートである。図５のフローチャートに沿った以下の説明においては、信頼性制御ツール１３を動作の主体として説明する。
【００５５】
信頼性制御ツール１３は、信頼性モードとして第１信頼性モードが設定されると（ステップＳ１５１でＹｅｓ）、信号経路を追加する（ステップＳ１５２）。この場合、信頼性制御ツール１３は、回路の接続情報に基づいて、各ネットの既信号経路と並列な信号経路に配線リソースとスイッチリソースの割り当てを行う。ただし、信頼性制御ツール１３は、他のネットの配線経路へ影響を及ぼさない範囲で並列な信号経路を探索する。
【００５６】
一方、信頼性制御ツール１３は、信頼性モードとして第２信頼性モードが設定されると（ステップＳ１５１でＮｏ）、信号経路の追加は行わない。
【００５７】
以上が、信頼性制御ツール１３による信頼性制御処理についての説明である。続いて、並列な信号経路を追加する処理について、図面を参照しながら説明する。
【００５８】
図６は、プログラマブル論理集積回路３に含まれる２つのロジックブロックとそれらを接続するルーティングリソースとの一例を示す模式図である。図６において、論理要素としてのロジックブロック（ＬＢ０、ＬＢ１）は、２つの入力端子と１つの出力端子とを備える。図６において、ルーティングリソースは、２つのクロスバスイッチ（ＸＢ０、ＸＢ１）と２つのバッファ回路（ＢＵＦ０、ＢＵＦ１）とによって構成される。
【００５９】
クロスバスイッチ（ＸＢ０、ＸＢ１）は、配線リソースとスイッチリソースを有する。図６において、配線リソースは、列方向に延伸される４つの列配線と、行方向に延伸される４つの行配線によって構成される。図６において、スイッチリソースは、列配線と行配線との交差部に位置する複数の抵抗変化素子（図６においては１６個）によって構成される。クロスバスイッチに含まれる抵抗変化素子の状態を遷移させることによって、列配線の任意の配線と行配線の任意の配線とを接続または切断できる。
【００６０】
クロスバスイッチＸＢ０は、列配線Ａ０および列配線Ａ１を入力線とする。クロスバスイッチＸＢ０の配線リソースの一つである列配線Ｙ０は、ロジックブロックＬＢ０の出力端子と接続される。また、クロスバスイッチＸＢ０の配線リソースの一つである列配線Ｃ０は、接地される。クロスバスイッチＸＢ０は、行配線Ｉ０および行配線Ｉ１を出力線とする。行配線Ｉ０および行配線Ｉ１は、ロジックブロックＬＢ０の入力端子と接続される。クロスバスイッチＸＢ０は、行配線Ｂ０および行配線Ｂ１を出力配線とする。行配線Ｂ０は、バッファ回路ＢＵＦ０の入力端子と接続される。行配線Ｂ１は、バッファ回路ＢＵＦ１の入力端子と接続される。
【００６１】
クロスバスイッチＸＢ１は、列配線Ａ２および列配線Ａ３を入力線とする。列配線Ａ２は、バッファ回路ＢＵＦ０の出力端子と接続される。列配線Ａ３は、バッファ回路ＢＵＦ１の出力端子と接続される。クロスバスイッチＸＢ１の配線リソースの一つである列配線Ｙ１は、ロジックブロックＬＢ１の出力端子と接続される。また、クロスバスイッチＸＢ１の配線リソースの一つである列配線Ｃ１は接地される。クロスバスイッチＸＢ１は、行配線Ｉ２および行配線Ｉ３を出力線とする。行配線Ｉ２および行配線Ｉ３は、ロジックブロックＬＢ１の入力端子と接続される。クロスバスイッチＸＢ１は、行配線Ｂ２および行配線Ｂ３を出力配線とする。
【００６２】
〔スイッチリソース〕
図７〜図１１は、プログラマブル論理集積回路３に含まれるスイッチリソースの一例（第１〜第５の例）を示す模式図である。なお、図７〜図１１の説明においては、同様の機能を発揮する構成要素については同じ符号を用いる場合がある。
【００６３】
図７に示す第１の例のスイッチリソース３１１は、ユニットセルＵ０を含む。ユニットセルＵ０は、第１端子Ｔ１と第２端子Ｔ２とを有する。第１端子Ｔ１は、列配線Ａ０と接続される。第２端子Ｔ２は、行配線Ｉ０と接続される。スイッチリソース３１１は、ユニットセルＵ０がＯＮ状態のときに導通し、ユニットセルＵ０がＯＦＦ状態のときに遮断される。ユニットセルＵ０がＯＮ状態のとき、列配線Ａ０と行配線Ｉ０との間に信号が伝播する。
【００６４】
図８に示す第２の例のスイッチリソース３１２は、抵抗変化素子Ｒ０、第１端子Ｔ１および第２端子Ｔ２によって構成されるユニットセルＵ０を含む。第１端子Ｔ１は列配線Ａ０と接続され、第２端子Ｔ２は行配線Ｉ０と接続される。ユニットセルＵ０は、抵抗変化素子Ｒ０が低抵抗状態のときにＯＮ状態であると定義され、抵抗変化素子Ｒ０が高抵抗状態のときにＯＦＦ状態であると定義される。ユニットセルＵ０がＯＮ状態のとき、列配線Ａ０と行配線Ｉ０との間に信号が伝播する。
【００６５】
図９に示す第３の例のスイッチリソース３１３は、抵抗変化素子Ｒ０、抵抗変化素子Ｒ１、第１端子Ｔ１および第２端子Ｔ２によって構成されるユニットセルＵ０を含む。ユニットセルＵ０に含まれる抵抗変化素子Ｒ０と抵抗変化素子Ｒ１とは、直列に接続される。第１端子Ｔ１は列配線Ａ０と接続され、第２端子Ｔ２は行配線Ｉ０と接続される。ユニットセルＵ０は、抵抗変化素子Ｒ０および抵抗変化素子Ｒ１が低抵抗状態のときにＯＮ状態であると定義され、抵抗変化素子Ｒ０およびＲ１が高抵抗状態のときにＯＦＦ状態であると定義される。ユニットセルＵ０がＯＮ状態のとき、列配線Ａ０と行配線Ｉ０との間に信号が伝播する。
【００６６】
図１０に示す第４の例のスイッチリソース３１４は、トランジスタＭ０とメモリＭＥＭ０とによって構成される。トランジスタＭ０のソースおよびドレインの一方は列配線Ａ０に接続され、他方は行配線Ｉ０に接続される。トランジスタＭ０のゲートは、メモリＭＥＭ０の出力Ｎ０に接続される。
【００６７】
図１０のメモリＭＥＭ０は、ユニットセルＵ０およびユニットセルＵ１を含む。ユニットセルＵ０の第１端子Ｔ１は、電源Ｖｄｄに接続される。ユニットセルＵ０の第２端子Ｔ２は、出力Ｎ０に接続される。ユニットセルＵ１の第３端子Ｔ３は、接地Ｇｎｄに接続される。ユニットセルＵ１の第４端子Ｔ４は、出力Ｎ０に接続される。図１０のユニットセルＵ０およびユニットセルＵ１には、図８および図９に示す抵抗変化素子を含む。
【００６８】
図１０のスイッチリソース３１４は、ユニットセルＵ０がＯＮ状態であるとともに、ユニットセルＵ１がＯＦＦ状態であるとき、出力Ｎ０がＨｉｇｈレベル（Ｖｄｄ電圧レベル）となり、信号を導通する。一方、図１０のスイッチリソース３１４は、ユニットセルＵ０がＯＦＦ状態であるとともに、ユニットセルＵ１がＯＮ状態であるとき、出力Ｎ０がＬｏｗレベル（Ｇｎｄ電圧レベル）となり、信号を遮断する。
【００６９】
図１１に示す第５の例のスイッチリソース３１５は、トランジスタＭ０とメモリＭＥＭ０とによって構成される。トランジスタＭ０のソースおよびドレインの一方は列配線Ａ０に接続され、他方は行配線Ｉ０に接続される。トランジスタＭ０のゲートは、メモリＭＥＭ０の出力Ｎ０に接続される。図１１のメモリＭＥＭ０は、６つのトランジスタＭ１〜Ｍ６を含むＳＲＡＭ（Static Random Access Memory）によって構成される。図１１のスイッチリソース３１５は、出力Ｎ０がＨｉｇｈレベル（Ｖｄｄ電圧レベル）のときに信号を導通し、出力Ｎ０がＬｏｗレベル（Ｇｎｄ電圧レベル）のときに信号を遮断する。
【００７０】
図１２は、配置配線ツール１２が、ロジックブロックＬＢ０の出力端子からＬＢ１の入力端子への接続要求に応じて、既信号経路を配線した状態の一例である。図１２は、列配線Ｙ０、スイッチリソースＥ０、行配線Ｂ０、バッファ回路ＢＵＦ０、列配線Ａ２、スイッチリソースＥ２、行配線Ｉ２の順に既信号経路が配線された状態を示す。信頼性制御ツール１３は、既信号経路に並列な信号経路の追加処理を行うに当たり、配線リソースに関するグラフに基づいて、並列な信号経路を探索する。ここでは、スイッチリソースＥ０、スイッチリソースＥ１、スイッチリソースＥ２、およびスイッチリソースＥ３が関連する抵抗変化素子である。
【００７１】
図１３は、接続要求に対応する、既信号経路および並列な信号経路を示す有向グラフである。図１３において、円で示すノードは配線を示し、矢尻付の実線（矢印）で示すエッジはスイッチリソースおよびバッファ回路のいずれかを示す。図１３には、ある時間が経過した後に、ＯＮ状態からＯＦＦ状態へ変化するＯＮ状態保持の不良確率ｐをスイッチリソースに書き添えている。
【００７２】
図１３には、配置配線ツール１２が配線した既信号経路を示す。既信号経路は、列配線Ｙ０、スイッチリソースＥ０、行配線Ｂ０、バッファ回路ＢＵＦ０、列配線Ａ２、スイッチリソースＥ２、行配線Ｉ２によって構成される信号経路である。また、図１３には、信頼性制御ツール１３が探索した並列な信号経路を１つ示している。並列経路は、列配線Ｙ０、スイッチリソースＥ１、行配線Ｂ１、バッファ回路ＢＵＦ１、列配線Ａ３、スイッチリソースＥ３、行配線Ｉ２によって構成される信号経路である。例えば、既信号経路と並列経路とを含む有向グラフは、表示装置１０３に表示される。
【００７３】
既信号経路は、スイッチリソースのＯＮ状態の保持不良に起因して、ある時間が経過した後に、以下の式１で示す確率Ｐ１で信号伝搬エラーを起こす。
Ｐ１＝２ｐ（１−ｐ）＋ｐ2≒２ｐ・・・（１）
一方、既信号経路と並列な信号経路は、スイッチリソースのＯＮ状態の保持不良に起因して、ある時間が経過した後に、以下の式２で示す確率Ｐ２で信号伝搬エラーを起こす。
Ｐ２＝［２ｐ（１−ｐ）＋ｐ2］2≒４ｐ2・・・（２）
ＯＮ状態保持の不良確率ｐは１より十分小さいので、既信号経路と並列な信号経路を既信号経路に追加することによって、信号伝搬エラーの発生確率を低減できる。
【００７４】
図１４は、信頼性モードとして第１信頼性モードが設定された際に、信頼性制御ツール１３が、並列な信号経路を追加した後の模式図である。信頼性制御ツール１３は、既信号経路と並列な信号経路に、同一の配線リソースを割り当てている。同様に、信頼性制御ツール１３は、既信号経路と並列な信号経路に、同一の配線リソースを割り当てている。スイッチリソースの信頼性は配線リソースの信頼性に比べて低いため、スイッチリソースは並列化する必要があるが、配線リソースは並列化する必要がない。リソース消費と消費電力の観点から、配線リソースは既信号経路と並列な信号経路間で極力共有した方が望ましい。
【００７５】
信頼性モードとして第２信頼性モードが設定された際に、信頼性制御ツール１３は、信号経路の追加は行わない。すなわち、第２信頼性モードが設定された状態は図１２に相当する。第２信頼性モードは、第１信頼性モードが設定された場合（図１４）に比べて、利用するスイッチリソース数を低減できる。したがって、第２信頼性モードによれば、スイッチリソースを構成する抵抗変化素子の書き換えが起こる頻度を低減できる。例えば、第２信頼性モードは、書き換え頻度が高い実装回路のデバッグ期間に有用である。
【００７６】
以上のように、本実施形態の設計支援システムによれば、第１信頼性モードが設定されると、抵抗変化素子によって構成されるスイッチリソースのＯＮ状態の保持不良に起因した信号伝搬エラーを低減し、実装する回路の信頼性を向上できる。また、本実施形態の設計支援システムによれば、第２信頼性モードが設定されると、第１信頼性モードに比べてプログラマブル論理集積回路に含まれる抵抗変化素子の書き換え回数を低減できる。
【００７７】
すなわち、本実施形態によれば、信頼性の高いプログラマブル論理集積回路を提供できる。
【００７８】
（第２の実施形態）
次に、本発明の第２の実施形態に係る設計支援システムについて図面を参照しながら説明する。本実施形態の設計支援システムは、信頼性モードに基づいた配置配線処理を実行する点で、第１の実施形態とは異なる。なお、本形態の設計支援システムの構成は、第１の実施の形態と同様であるため、説明を省略する。以下の説明においては、図１および図２を参照しながら、第１の実施形態の構成要素に付された符号を用いて説明する。
【００７９】
（動作）
まず、本実施形態の設計支援システムの動作について図面を参照しながら説明する。図１５は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。
【００８０】
図１５のフローチャートのステップＳ２１〜Ｓ２６の処理は、図３のフローチャートのステップＳ１１〜Ｓ１６の処理に対応する。本実施形態は、ステップＳ２４の配置配線処理が第１の実施形態とは異なり、他の処理は第１の実施形態と同様である。
【００８１】
図１５には、信頼性制御ツール１３からの信頼性モードの設定を矢印で示す。なお、信頼性制御ツール１３から配置配線ツール１２へ信頼性モードを設定するタイミングは、任意に設定される。以下においては、配置配線処理（図１５のステップＳ２４）について詳細に説明する。
【００８２】
〔配置配線処理〕
図１６は、配置配線ツール１２による配置配線処理（図１５のステップＳ２４）について説明するためのフローチャートである。図１６のフローチャートに沿った以下の説明においては、配置配線ツール１２を動作の主体として説明する。
【００８３】
図１６において、まず、配置配線ツール１２は、論理要素やルーティングリソース等のリソース情報を生成する（ステップＳ２４１）。
【００８４】
次に、配置配線ツール１２は、ネットリストに含まれる各論理要素をプログラマブル論理集積回路３の配置スロットに割り当てる（ステップＳ２４２）。
【００８５】
ここで、配置配線ツール１２は、信頼性制御ツール１３からの信頼性モードの設定に基づいた配線処理を実行する。
【００８６】
第１信頼性モードが設定された場合（ステップＳ２４３でＹｅｓ）、配置配線ツール１２は、第１信頼性モードの配線処理を実行する（ステップＳ２４４）。第１信頼性モードの配線処理において、配置配線ツール１２は、ネットリストに含まれる各論理要素の接続を第１の信号経路と第２の信号経路とによって構成する。配置配線ツール１２は、第１信頼性モードの配線処理において、第１の信号経路および第２の信号経路がいずれの配線リソースおよびスイッチリソースを利用して接続するのかを決定する。
【００８７】
例えば、配置配線ツール１２は、遅延コストおよび混雑コストを含む評価値（評価関数とも呼ぶ）を最小化する配線を探索する。配置配線ツール１２は、配線経路の遅延時間に基づいて遅延コストを算出する。配置配線ツール１２は、ある配線リソースに対して競合するネットの数に基づいて混雑コストを算出する。配置配線ツール１２は、混雑コストを徐々に上げながら、繰り返し配線を行うことによって競合を解消していく。競合が解消されない場合、配置配線ツール１２は、論理複製などの他の手順を用いて配線を実行する。
【００８８】
一方、第２信頼性モードが設定された場合（ステップＳ２４３でＮｏ）、配置配線ツール１２は、第２信頼性モードの配線処理を実行する。第２信頼性モードの配線処理において、配置配線ツール１２は、ネットリストに含まれる各論理要素がいずれの配線リソースとスイッチリソースとを利用して接続するのかを決定する（ステップＳ２４５）。
【００８９】
以上が、本実施形態の設計支援システムの処理についての説明である。
【００９０】
以上のように、本実施形態の設計支援システムは、遅延コストおよび混雑コストを含めた評価関数を用いて一括して配線を行う。そのため、本実施形態によれば、第１の実施形態と比較して、配線経路の選択肢が増えるため、より最適な配線経路が選択されうる。
【００９１】
（第３の実施形態）
次に、本発明の第３の実施形態に係る設計支援システムについて図面を参照しながら説明する。本実施形態の設計支援システムは、抵抗変化素子の書き換え履歴情報を生成する点で、第１の実施形態とは異なる。なお、本形態の設計支援システムの構成は、第１の実施の形態と同様であるため、説明を省略する。以下の説明においては、図１を参照しながら、第１の実施形態の構成要素に付された符号を用いて説明する。
【００９２】
〔設計支援ツール群〕
図１７は、本実施形態の設計支援システムが備える設計支援ツール群３０の構成を示すブロック図である。図１７の設計支援ツール群３０は、図１の記憶装置１０２にあらかじめ格納されており、演算装置１０１が記憶装置から読み出して実行するツールである。図１７のように、本実施形態の設計支援ツール群３０は、論理合成ツール３１、配置配線ツール３２、信頼性制御ツール３３、および書き換え履歴情報生成ツール３４を有する。なお、論理合成ツール３１、配置配線ツール３２、および信頼性制御ツール３３は、第１の実施形態の対応する構成要素と同様であるため、説明は省略する。
【００９３】
書き換え履歴情報生成ツール３４（書き換え履歴情報生成手段とも呼ぶ）は、プログラマブル論理集積回路３から読み出された構成情報に基づいて、デバイス固有の書き換え履歴情報を生成する。書き換え履歴情報は、プログラマブル論理集積回路３が備える論理要素や接続要素に含まれる抵抗変化素子の状態を示すアドレス情報と、変更（書き換え）回数を示す書き換え回数情報とを含む。
【００９４】
〔スイッチリソース〕
図１８および図１９は、プログラマブル論理集積回路３に含まれるスイッチリソースの一例（第６および第７の例）を示す模式図である。本実施形態では、スイッチリソース内のユニットセルをあらかじめ２つ用意し、それらのユニットセルを並列に接続する。なお、図１８および図１９に示すユニットセルは、図８および図９に示す抵抗変化素子によって構成されるユニットセルである。また、図１８および図１９の説明においては、同様の機能を発揮する構成要素については同じ符号を用いる場合がある。
【００９５】
図１８に示す第６の例のスイッチリソース３３１は、ユニットセルＵ０とユニットセルＵ１とを含むユニットセル対ＵＰ０によって構成する。ユニットセルＵ０は、第１端子Ｔ１と第２端子Ｔ２とを含む。ユニットセルＵ１は、第３端子Ｔ３と第４端子Ｔ４とを含む。第１端子Ｔ１および第３端子Ｔ３は、列配線Ａ０と接続される。第２端子Ｔ２および第４端子Ｔ４は、行配線Ｉ０と接続される。
【００９６】
ユニットセル対ＵＰ０には、第１のＯＮ状態、第２のＯＮ状態、およびＯＦＦ状態の３つの状態が定義される。第１のＯＮ状態は、ユニットセルＵ０およびユニットセルＵ１がともにＯＮ状態の状態である。第２のＯＮ状態は、ユニットセルＵ０およびユニットセルＵ１のいずれか一方がＯＮ状態であり、他方がＯＦＦ状態の状態である。ＯＦＦ状態は、ユニットセルＵ０およびユニットセルＵ１がともにＯＦＦ状態の状態である。スイッチリソース３３１は、ユニットセル対ＵＰ０が第１のＯＮ状態、もしくは第２のＯＮ状態のときに信号を導通する。一方、スイッチリソース３３１は、ユニットセル対ＵＰ０がＯＦＦ状態のときに信号を遮断する。
【００９７】
図１９に示す第２の例のスイッチリソース３３２は、トランジスタＭ０とメモリＭＥＭ０とによって構成される。トランジスタＭ０のソースおよびドレインのうち一方は列配線Ａ０に接続され、他方は行配線Ｉ０に接続される。トランジスタＭ０のゲートは、メモリの出力Ｎ０に接続される。
【００９８】
図１９のメモリＭＥＭ０は、４つのユニットセルＵ０、Ｕ１、Ｕ２、およびＵ３を含む。図１９のメモリＭＥＭ０は、ユニットセルＵ０およびユニットセルＵ１によって構成されるユニットセル対ＵＰ１と、ユニットセルＵ２およびユニットセルＵ３によって構成されるユニットセル対ＵＰ２とを含む。ユニットセル対ＵＰ１およびユニットセル対ＵＰ２には、図１８のスイッチリソース３３１に含まれるユニットセル対ＵＰ０と同様に、第１のＯＮ状態、第２のＯＮ状態、およびＯＦＦ状態の３つの状態が定義される。
【００９９】
ユニットセルＵ０は、第１端子Ｔ１と第２端子Ｔ２とを含む。ユニットセルＵ１は、第３端子Ｔ３と第４端子Ｔ４とを含む。第１端子Ｔ１および第３端子Ｔ３は、電源Ｖｄｄに接続される。第２端子Ｔ２および第４端子Ｔ４は、出力Ｎ０に接続される。ユニットセルＵ２は、第５端子Ｔ５と第６端子Ｔ６とを含む。ユニットセルＵ３は、第７端子Ｔ７と第８端子Ｔ８とを含む。第５端子Ｔ５および第７端子Ｔ７は、接地Ｇｎｄに接続される。第６端子Ｔ６および第８端子Ｔ８は、出力Ｎ０に接続される。
【０１００】
スイッチリソース３３２は、ユニットセル対ＵＰ１が第１のＯＮ状態、ユニットセル対ＵＰ２がＯＦＦ状態のとき、出力Ｎ０がＨｉｇｈレベル（Ｖｄｄ電圧レベル）となり、信号を導通する。また、スイッチリソース３３２は、ユニットセル対ＵＰ１が第２のＯＮ状態、ユニットセル対ＵＰ２がＯＦＦ状態のとき、出力Ｎ０がＨｉｇｈレベル（Ｖｄｄ電圧レベル）となり、信号を導通する。
【０１０１】
一方、スイッチリソース３３２は、ユニットセル対ＵＰ１がＯＦＦ状態、ユニットセル対ＵＰ２が第１のＯＮ状態のとき、出力Ｎ０がＬｏｗレベル（Ｇｎｄ電圧レベル）となり、信号を遮断する。また、スイッチリソース３３２は、ユニットセル対ＵＰ１がＯＦＦ状態、ユニットセル対ＵＰ２が第２のＯＮ状態のとき、出力Ｎ０がＬｏｗレベル（Ｇｎｄ電圧レベル）となり、信号を遮断する。
【０１０２】
以上が、プログラマブル論理集積回路３に含まれるスイッチリソースの構成についての説明である。続いて、本実施形態の設計支援システムの動作について図面を参照しながら説明する。
【０１０３】
（動作）
図２０は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。ここでは、既に回路Ａが実装されたプログラマブル論理集積回路３に、回路Ａと異なる回路Ｂを実装する例について説明する。
【０１０４】
図２０のフローチャートのステップＳ３１〜Ｓ３６の処理は、図３のフローチャートのステップＳ１１〜Ｓ１６の処理に対応する。本実施形態は、書き換え履歴情報生成処理（ステップＳ３７）を行う点が第１の実施形態とは異なり、他の処理は第１の実施形態と同様である。以下においては、書き換え履歴情報生成処理（ステップＳ３７）について説明する。
【０１０５】
書き換え履歴情報生成ツール３４は、プログラマブル論理集積回路３が有する各抵抗変化素子のアドレス情報と、各抵抗変化素子の状態の書き換え回数を示す情報とが含まれる書き換え履歴情報を生成する（ステップＳ３７）。
【０１０６】
書き換え履歴情報生成ツール３４は、コンフィグレーションされた後のプログラマブル論理集積回路３に、プログラマブル論理集積回路３から読み出される構成情報（回路Ｂ）と、既に実装されている回路Ａの構成情報とを比較する。書き換え履歴情報生成ツール３４は、回路Ｂの構成情報と回路Ａの構成情報との差分を取ることによって、書き換え履歴情報を更新する。なお、書き換え履歴情報生成ツール３４は、回路Ｂの構成情報のコンフィグレーションに先立って回路Ａの構成情報を読み出すなどして、回路Ａの構成情報をあらかじめ入手する。書き換え履歴情報生成ツール３４は、更新した書き換え履歴情報を信頼性制御ツール３３に供給する。信頼性制御ツール３３に供給された書き換え履歴情報は、次回の配置配線の際に信頼性制御ツール３３によって利用される。図２０のステップＳ３７からステップＳ３５への矢印は、ステップＳ３７で生成される書き換え履歴情報を、ステップＳ３４の信頼性制御処理に反映させることを示す。
【０１０７】
〔信頼性制御処理〕
図２１は、信頼性制御ツール３３が行う信頼性制御処理（図２０のステップＳ３５）について説明するためのフローチャートである。以下においては、図１８に示すスイッチリソース３３１を用いる例について説明する。信頼性制御ツール３３は、配置配線ツール３２による配置配線の結果、信号経路に割り当てられたスイッチリソース３３１に対し、いずれの抵抗変化素子をＯＮ状態にするかを制御する。
【０１０８】
図２１において、まず、信頼性制御ツール３３は、信頼性モードとして第１信頼性モードが設定されると（ステップＳ３５１でＹｅｓ）、スイッチリソース３３１に含まれるユニットセル対ＵＰ０を第１のＯＮ状態に設定する（ステップＳ３５２）。
【０１０９】
一方、信頼性制御ツール３３は、信頼性モードとして第２信頼性モードが設定されると（ステップＳ３５１でＮｏ）、スイッチリソース３３１に含まれるユニットセル対ＵＰ０を第２のＯＮ状態に設定する（ステップＳ３５３）。
【０１１０】
信頼性制御ツール３３は、ユニットセル対ＵＰ０を第２のＯＮ状態に設定する際に、書き換え履歴情報に基づいて、いずれの抵抗変化素子の抵抗状態を書き換えるかを決定する。図２１において、信頼性制御ツール３３は、ユニットセルＵ０の書き換え回数と、ユニットセルＵ１の書き換え回数とを比較して、抵抗状態を書き換える抵抗変化素子を決定する（ステップＳ３５４）。
【０１１１】
信頼性制御ツール３３は、ユニットセルＵ０の書き換え回数の方が小さい場合（ステップＳ３５４でＹｅｓ）、ユニットセルＵ０をＯＮ状態に設定する（ステップＳ３５５）。一方、信頼性制御ツール３３は、ユニットセルＵ１の書き換え回数の方が小さい場合（ステップＳ３５４でＮｏ）、ユニットセルＵ１をＯＮ状態に設定する（ステップＳ３５６）。すなわち、信頼性制御ツール３３は、ユニットセルＵ０およびユニットセルＵ１のうち書き換え回数が小さい方に含まれる抵抗変化素子の抵抗状態を書き換える。
【０１１２】
以上のように、本実施形態の設計支援システムは、二つのユニットセルが並列に接続された構成を有するユニットセル対を含むプログラマブル論理集積回路の設計を支援する。本実施の形態の設計支援システムによれば、並列な信号経路の探索に失敗する確率を低減し、実装する回路の信頼性を向上できる。
【０１１３】
また、本実施形態の設計支援システムは、ユニットセル対を構成するユニットセルの書き換え情報に基づいて、書き換えが少ない方のユニットセルを優先的に書き換える。そのため、本実施形態の設計支援システムによれば、プログラマブル論理集積回路に含まれる抵抗変化素子の書き換え回数を平準化できる。複数の抵抗変化素子の書き換え回数を平準化できれば、抵抗変化素子ごとの書き換え回数が極端に異なることがなくなるため、各抵抗変化素子の寿命が延びる。
【０１１４】
（第４の実施形態）
次に、本発明の第４の実施形態に係る設計支援システムについて図面を参照しながら説明する。本実施形態の設計支援システムは、抵抗変化素子の書き込み情報を含めた構成情報を生成する点で、第１の実施形態とは異なる。なお、本形態の設計支援システムの構成は、第１の実施の形態と同様であるため、説明を省略する。以下の説明においては、図１を参照しながら、第１の実施形態の構成要素に付された符号を用いて説明する。
【０１１５】
（動作）
まず、本実施形態の設計支援システムの動作について図面を参照しながら説明する。図２２は、本実施形態の設計支援システムによる設計支援方法について説明するためのフローチャートである。
【０１１６】
図２２のフローチャートのステップＳ４１〜Ｓ４６の処理は、図３のフローチャートのステップＳ１１〜Ｓ１６の処理に対応する。本実施形態は、ステップＳ４６の構成情報生成処理が第１の実施形態とは異なり、他の処理は第１の実施形態と同様である。
【０１１７】
信頼性制御ツール１３は、信頼性モードに基づいて、抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅、および書き込みパルスの数を指示する情報を含む構成情報を生成する。信頼性モードは、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する確率の制約条件を規定する。信頼性制御ツール１３は、抵抗変化素子が構成するリソースの種類や、信号経路、抵抗変化素子のデータ保持不良のうち少なくとも１つの情報を用いて、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する予測確率を算出する。信頼性制御ツール１３は、信号伝搬エラーが発生する確率の制約条件を満たすように、抵抗変化素子の書き込み条件を設定する。
【０１１８】
抵抗状態を変化させてからある時間経過後にＯＮ状態からＯＦＦ状態へ変化するＯＮ状態保持の不良確率や、ある時間経過後にＯＦＦ状態からＯＮ状態へ変化するＯＦＦ状態保持の不良確率は、書き込み条件によって変化する。書き込みの電圧やパルス幅が大きいほど、ＯＮ状態保持の不良確率やＯＦＦ状態保持の不良確率は低減できる傾向にある。
【０１１９】
例えば、信頼性制御ツール１３は、抵抗変化素子のＯＮ状態保持の不良確率やＯＦＦ状態保持の不良確率から、リソースの種類ごとに、ある時間が経過した後に正常に動作しなくなる誤動作確率を算出できる。リソースの例としては、図７〜図１０、図１８および図１９に示すスイッチリソースが挙げられる。また、図１０に示すメモリＭＥＭ０や、図１９に示すメモリＭＥＭ０を演算要素の構成情報の記憶部分として利用する際には、その演算要素がリソースとして挙げられる。
【０１２０】
信頼性制御ツール１３は、リソースの誤動作確率から、ある信号経路の信号伝搬エラーを算出できる。信号経路としては、図１２および図１４に示す信号経路が挙げられる。また、信頼性制御ツール１３は、式１および式２に示す計算式を用いて、各信号経路に対応する信号伝搬エラーを算出できる。
【０１２１】
信頼性制御ツール１３は、各信号経路の信号伝搬エラーに基づいて、実装する回路全体において信号伝搬エラーが発生する予測確率を算出できる。そして、信頼性制御ツール１３は、信号伝搬エラーが発生する確率の制約条件を満たすように、配線を繰り返したり、各抵抗変化素子の書き込み条件を変更したりすることによって、各抵抗変化素子の書き込み条件を設定する。
【０１２２】
以上のように、本実施形態の設計支援システムは、書き込み電圧や書き込みパルス幅、書き込みパルスの数を指示する書き込み情報を含む構成情報を生成する。そのため、本実施の形態の設計支援システムによれば、実装した回路の保持特性を最適化できる。
【０１２３】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２４】
例えば、プログラマブル論理集積回路に含まれる抵抗変化素子の一部をＳＲＡＭ等の他のメモリ素子に置き換えてもよい。また、プログラマブル論理集積回路に含まれる抵抗変化素子の一部をパストランジスタとＳＲＡＭ等の他のメモリ素子とを組み合わせた回路に置き換えてもよい。また、各構成要素に各機能（処理）のそれぞれを分担させて説明したが、この割り当ては上述したものに限定しない。また、構成要素についても、上述した形態はあくまでも例であって、これに限定しない。
【０１２５】
上述した設計支援システムに設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路によって行うようにしてもよい。また、処理内容を手順として記述したコンピュータプログラム（以下、プログラムと称する）を設計支援システムにて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを設計支援システムに読み込ませ、実行してもよい。記録媒体には、フロッピー（登録商標）ディスクや、光磁気ディスク、ＤＶＤ（Digital Versatile Disc）、ＣＤ（Compact Disc）、Ｂｌｕ−ｒａｙ（登録商標）ディスクなどの移設可能な記録媒体を用いることができる。また、設計支援システムに内蔵されたＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等のメモリやＨＤＤ（Hard Disc Drive）等を記録媒体としてもよい。記録媒体に記録されたプログラムは、設計支援システムに設けられたＣＰＵ（Central Processing Unit）にて読み込まれ、ＣＰＵの制御によって処理される。ＣＰＵは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作する。
【０１２６】
また、本発明に係る実施形態の設計支援システムの構成要素は、任意に組み合わせることができる。また、本発明に係る実施形態の設計支援システムの構成要素は、ソフトウェアによって実現してもよいし、回路によって実現してもよい。
【０１２７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
プログラマブル論理集積回路の動作記述ファイルを入力とし、入力した前記動作記述ファイルを論理合成し、前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する論理合成手段と、
前記プログラマブル論理集積回路のリソース情報を生成し、生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、配置した前記論理要素の間を配線して信号経路を仮想的に生成する配置配線手段と、
少なくとも二つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、生成した前記構成情報を出力する信頼性制御手段とを備える設計支援システム。
（付記２）
前記信頼性制御手段は、
前記配置配線手段によって配線された第１の信号経路と並列な第２の信号経路に配線リソースおよびスイッチリソースの割り当てを行う第１信頼性モードと、前記配置配線手段によって配線された第１の信号経路に前記信号経路を追加しない第２信頼性モードとに基づいて前記プログラマブル論理集積回路の前記構成情報を生成する付記１に記載の設計支援システム。
（付記３）
前記信頼性制御手段は、
前記第１信頼性モードにおいて、前記第１の信号経路と前記第２の信号経路とに同一の前記配線リソースを割り当てる付記２に記載の設計支援システム。
（付記４）
前記配置配線手段は、
配線経路の遅延時間に基づいた遅延コストと、前記配線リソースおよび前記スイッチリソースのうち少なくともいずれかに対して競合するネットの数に基づいた混雑コストとを含む評価関数を最小化する前記信号経路を探索する付記２または３に記載の設計支援システム。
（付記５）
前記信頼性制御手段は、
前記配置配線手段に対して前記信頼性モードを設定し、
前記配置配線手段は、
前記信頼性制御手段によって設定された前記信頼性モードに基づいて、前記第１の信号経路および前記第２の信号経路にいずれかの前記配線リソースおよび前記スイッチリソースを割り当てる付記２乃至４のいずれか一項に記載の設計支援システム。
（付記６）
少なくとも二つの抵抗変化素子によって構成されるユニットセルを前記スイッチリソースとして少なくとも一つ含む前記プログラマブル論理集積回路から読み出された前記構成情報に基づいて、前記プログラマブル論理集積回路に含まれる前記抵抗変化素子の状態を示すアドレス情報と、前記抵抗変化素子の書き換え回数を示す書き換え回数情報とを含む書き換え履歴情報を前記抵抗変化素子ごとに生成する書き換え履歴情報生成手段を備え、  前記書き換え履歴情報生成手段は、
前記信頼性制御手段によって生成された前記構成情報が前記プログラマブル論理集積回路にコンフィグレーションされた後に、前記プログラマブル論理集積回路から読み出される前記構成情報と、既に前記プログラマブル論理集積回路に実装されている回路の前記構成情報との差分を取ることによって前記書き換え履歴情報を更新し、更新した前記書き換え履歴情報を前記信頼性制御手段に供給する付記２乃至５のいずれか一項に記載の設計支援システム。
（付記７）
前記信頼性制御手段は、
前記書き換え履歴情報生成手段によって更新された前記書き換え履歴情報に基づいて、書き換えが少ない方の前記抵抗変化素子を優先的に書き換える付記６に記載の設計支援システム。
（付記８）
前記信頼性制御手段は、
前記プログラマブル論理集積回路は、少なくとも一つの抵抗変化素子によって構成される前記スイッチリソースを少なくとも一つ含む前記プログラマブル論理集積回路に関して、前記抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅および書き込みパルスの数を指示する情報を含む前記構成情報を前記信頼性モードに基づいて生成する付記２乃至６のいずれか一項に記載の設計支援システム。
（付記９）
プログラマブル論理集積回路の動作記述ファイルを論理合成し、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成し、  前記プログラマブル論理集積回路のリソース情報を生成し、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、
配置した前記論理要素の間を配線して仮想的に信号経路を生成し、
少なくとも２つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、
生成した前記構成情報を出力する設計支援方法。
（付記１０）
入力されたプログラマブル論理集積回路の動作記述ファイルを論理合成する処理と、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する処理と、
前記プログラマブル論理集積回路のリソース情報を生成する処理と、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置する処理と、
配置した前記論理要素の間を配線して信号経路を仮想的に生成する処理と、
少なくとも２つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成する処理と、
生成した前記構成情報を出力する処理とをコンピュータに実行させるプログラム。
（付記１１）抵抗変化素子を備えるプログラマブル論理集積回路に実装する回路の設計を支援する設計支援システムであって、
少なくとも２つの信頼性モードを設定可能な信頼性制御部を有し、
前記信頼性制御部は、前記信頼性モードに基づいて、前記抵抗変化素子を用いた前記回路の構成情報を生成する設計支援システム。
（付記１２）前記回路は第１の接続情報を有し、
前記信頼性モードとして、第１の信頼性モードが設定されると、
前記信頼性制御部は、前記第１の接続情報に基づき、第１の信号経路と第２の信号経路に対する前記プログラマブル論理集積回路の配線リソースとスイッチリソースの割り当てを管理し、
前記第１の信号経路と前記第２の信号経路は電気的に並列であることを特徴とする付記１１に記載の設計支援システム。
（付記１３）前記信頼性制御部は、前記第１の信号経路と前記第２の信号経路に、同一の配線リソースを割り当てる機能を有する付記１２に記載の設計支援システム。
（付記１４）さらに配線リソースとスイッチリソースを割り当てる配線部を有し、
前記信頼性制御部は、前記第１の信号経路と、前記第２の信号経路に、配線リソースとスイッチリソースを割り当てるように前記配線部に対して指示する付記１２または１３に記載の設計支援システム。
（付記１５）前記スイッチリソースはユニットセルを備え、
前記ユニットセルは第１端子と第２端子を備え、
前記ユニットセルは、１つの抵抗変化素子、もしくは、直列に接続された２つ以上の抵抗変化素子から構成され、
前記スイッチリソースを用いた前記回路の構成情報を生成する付記１２乃至１４のいずれか一項に記載の設計支援システム。
（付記１６）前記スイッチリソースはトランジスタとメモリとを備え、
前記トランジスタはソース端子とドレイン端子とゲート端子を備え、
前記ゲート端子は前記メモリの出力端子と接続され、
前記スイッチリソースを用いた前記回路の構成情報を生成する付記１２乃至１５のいずれか一項に記載の設計支援システム。
（付記１７）前記スイッチリソースは第１ユニットセルと第２ユニットセルを備え、
前記第１ユニットセルは第１端子と第２端子を備え、
前記第１ユニットセルは、１つの抵抗変化素子、もしくは、直列に接続された２つ以上の抵抗変化素子から構成され、
前記第２ユニットセルは第３端子と第４端子を備え、
前記第２ユニットセルは、１つの抵抗変化素子、もしくは、直列に接続された２つ以上の抵抗変化素子から構成され、
前記第１端子と第３端子が接続され、
前記第２端子と第４端子が接続され、
前記スイッチリソースを用いた前記回路の構成情報を生成する付記１２乃至１６のいずれか一項に記載の設計支援システム。
（付記１８）前記抵抗変化素子の状態の変更回数を示す書き換え履歴情報を生成する書き換え履歴情報生成部を有し、
前記信頼性モードとして、第２の信頼性モードが設定されると、
前記信頼性制御部は、前記書き換え履歴情報に基づいて、割り当てられた前記スイッチリソースのうち、第１ユニットセルと第２ユニットセルのどちらか一方に含まれる抵抗変化素子をＯＮ状態に設定する付記１２乃至１７のいずれか一項に記載の設計支援システム。
（付記１９）前記信頼性制御部は、前記抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅、書き込みパルスの数を指示する情報を含む構成情報を生成し、
前記信頼性モードは、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する確率の制約条件を規定し、
前記信頼性制御部は、前記抵抗変化素子が構成するリソースの種類、信号経路、抵抗変化素子のデータ保持不良のうち少なくとも１つの情報から、ある期間にデータ保持不良に起因した信号伝搬エラーが発生する予測確率を算出し、前記信号伝搬エラーが発生する確率の制約条件を満たすように、前記書き込み条件を決定する付記１１乃至１８のいずれか一項に記載の設計支援システム。
（付記２０）抵抗変化素子を備えるプログラマブル論理集積回路に実装する回路の設計を支援する設計支援方法であって、
少なくとも２つの信頼性モードの設定処理と、
前記信頼性モードに基づいて、前記回路の構成情報の生成処理と行い、
前記回路は第１の接続情報を有し、
前記信頼性モードとして、第１の信頼性モードが設定されると、
前記第１の接続情報に基づき、第１の信号経路と第２の信号経路に対する前記プログラマブル論理集積回路の配線リソースとスイッチリソースの割り当て管理処理を行い、
前記第１の信号経路と前記第２の信号経路は電気的に並列であることを特徴とする設計支援方法。
【０１２８】
この出願は、２０１７年１１月２９日に出願された日本出願特願２０１７−２２８４９０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２９】
１    設計支援システム
２    構成情報転送装置
３    プログラマブル論理集積回路
１０、３０    設計支援ツール群
１１、３１    論理合成ツール
１２、３２    配置配線ツール
１３、３３    信頼性制御ツール
３４    書き換え履歴情報生成ツール
１０１    演算装置
１０２    記憶装置
１０３    表示装置
１０４    入出力装置
１０５    バス
３１１、３１２、３１３、３１４、３１５、３３１、３３２    スイッチリソース
【図１】
2019107234.tif 000003
【図２】
2019107234.tif 000004
【図３】
2019107234.tif 000005
【図４】
2019107234.tif 000006
【図５】
2019107234.tif 000007
【図６】
2019107234.tif 000008
【図７】
2019107234.tif 000009
【図８】
2019107234.tif 000010
【図９】
2019107234.tif 000011
【図１０】
2019107234.tif 000012
【図１１】
2019107234.tif 000013
【図１２】
2019107234.tif 000014
【図１３】
2019107234.tif 000015
【図１４】
2019107234.tif 000016
【図１５】
2019107234.tif 000017
【図１６】
2019107234.tif 000018
【図１７】
2019107234.tif 000019
【図１８】
2019107234.tif 000020
【図１９】
2019107234.tif 000021
【図２０】
2019107234.tif 000022
【図２１】
2019107234.tif 000023
【図２２】
2019107234.tif 000024
【図２３】
2019107234.tif 000025
【図２４】
2019107234.tif 000026
【図２５】
2019107234.tif 000027
【図２６】
2019107234.tif 000028
【図２７】
2019107234.tif 000029
【図２８】
2019107234.tif 000030
【手続補正書】
【提出日】令和2年4月22日(2020.4.22)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラマブル論理集積回路の動作記述ファイルを入力とし、入力した前記動作記述ファイルを論理合成し、前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する論理合成手段と、
前記プログラマブル論理集積回路のリソース情報を生成し、生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、配置した前記論理要素の間を配線して信号経路を仮想的に生成する配置配線手段と、
少なくとも二つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、生成した前記構成情報を出力する信頼性制御手段とを備える設計支援システム。
【請求項２】
前記信頼性制御手段は、
前記配置配線手段によって配線された第１の信号経路と並列な第２の信号経路に配線リソースおよびスイッチリソースの割り当てを行う第１信頼性モードと、前記配置配線手段によって配線された第１の信号経路に前記信号経路を追加しない第２信頼性モードとに基づいて前記プログラマブル論理集積回路の前記構成情報を生成する請求項１に記載の設計支援システム。
【請求項３】
前記信頼性制御手段は、
前記第１信頼性モードにおいて、前記第１の信号経路と前記第２の信号経路とに同一の前記配線リソースを割り当てる請求項２に記載の設計支援システム。
【請求項４】
前記配置配線手段は、
配線経路の遅延時間に基づいた遅延コストと、前記配線リソースおよび前記スイッチリソースのうち少なくともいずれかに対して競合するネットの数に基づいた混雑コストとを含む評価関数を最小化する前記信号経路を探索する請求項２または３に記載の設計支援システム。
【請求項５】
前記信頼性制御手段は、
前記配置配線手段に対して前記信頼性モードを設定し、
前記配置配線手段は、
前記信頼性制御手段によって設定された前記信頼性モードに基づいて、前記第１の信号経路および前記第２の信号経路にいずれかの前記配線リソースおよび前記スイッチリソースを割り当てる請求項２乃至４のいずれか一項に記載の設計支援システム。
【請求項６】
少なくとも二つの抵抗変化素子によって構成されるユニットセルを前記スイッチリソースとして少なくとも一つ含む前記プログラマブル論理集積回路から読み出された前記構成情報に基づいて、前記プログラマブル論理集積回路に含まれる前記抵抗変化素子の状態を示すアドレス情報と、前記抵抗変化素子の書き換え回数を示す書き換え回数情報とを含む書き換え履歴情報を前記抵抗変化素子ごとに生成する書き換え履歴情報生成手段を備え、
前記書き換え履歴情報生成手段は、
前記信頼性制御手段によって生成された前記構成情報が前記プログラマブル論理集積回路にコンフィグレーションされた後に、前記プログラマブル論理集積回路から読み出される前記構成情報と、既に前記プログラマブル論理集積回路に実装されている回路の前記構成情報との差分を取ることによって前記書き換え履歴情報を更新し、更新した前記書き換え履歴情報を前記信頼性制御手段に供給する請求項２乃至５のいずれか一項に記載の設計支援システム。
【請求項７】
前記信頼性制御手段は、
前記書き換え履歴情報生成手段によって更新された前記書き換え履歴情報に基づいて、書き換えが少ない方の前記抵抗変化素子を優先的に書き換える請求項６に記載の設計支援システム。
【請求項８】
前記信頼性制御手段は、
前記プログラマブル論理集積回路は、少なくとも一つの抵抗変化素子によって構成される前記スイッチリソースを少なくとも一つ含む前記プログラマブル論理集積回路に関して、前記抵抗変化素子の書き込み条件として、書き込み電圧、書き込みパルス幅および書き込みパルスの数を指示する情報を含む前記構成情報を前記信頼性モードに基づいて生成する請求項２乃至６のいずれか一項に記載の設計支援システム。
【請求項９】
プログラマブル論理集積回路の動作記述ファイルを論理合成し、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成し、
前記プログラマブル論理集積回路のリソース情報を生成し、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置し、
配置した前記論理要素の間を配線して仮想的に信号経路を生成し、
少なくとも２つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成し、
生成した前記構成情報を出力する設計支援方法。
【請求項１０】
入力されたプログラマブル論理集積回路の動作記述ファイルを論理合成する処理と、
前記プログラマブル論理集積回路に含まれる論理要素を用いてネットリストを生成する処理と、
前記プログラマブル論理集積回路のリソース情報を生成する処理と、
生成した前記リソース情報に基づいて前記ネットリストに含まれる前記論理要素を配置する処理と、
配置した前記論理要素の間を配線して信号経路を仮想的に生成する処理と、
少なくとも２つの信頼性モードに基づいて前記プログラマブル論理集積回路の構成情報を生成する処理と、
生成した前記構成情報を出力する処理とをコンピュータに実行させるプログラム。
【国際調査報告】
2019107234.tif 000031
2019107234.tif 000032