(57)【要約】本発明は、抵抗変化素子を用いたクロスバースイッチを有するプログラマブル論理集積回路の、静的タイミング解析による回路検証のためのキャラクタライズを効率よく行う方法を提供することを目的とする。本発明のプログラマブル論理集積回路は、抵抗変化素子を有するクロスバースイッチと、クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路において、プログラマブル論理集積回路を、クロスバースイッチの一部を有する複数の負荷回路と、クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、基本リーフセルの遅延時間と補正リーフセルの補正遅延とを積算してリーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証する。
2017038095.tif 000002
【特許請求の範囲】
【請求項１】
抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路において、
前記プログラマブル論理集積回路を、前記クロスバースイッチの一部を有する複数の負荷回路と、前記クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証する、プログラマブル論理集積回路。
【請求項２】
前記回路検証は、静的タイミング解析を行う、請求項１記載のプログラマブル論理集積回路。
【請求項３】
前記電源素子は、バッファを有する、請求項１または２記載のプログラマブル論理集積回路。
【請求項４】
前記負荷回路は、前記抵抗変化素子の負荷抵抗と負荷容量とを有する、請求項１から３の内の１項記載のプログラマブル論理集積回路。
【請求項５】
前記基本リーフセルは、前記リーフセルが前記電源素子に接続する場合の遅延時間を有する、請求項１から４の内の１項記載のプログラマブル論理集積回路。
【請求項６】
前記補正リーフセルは、前記リーフセルが前記論理回路に接続する場合の補正遅延を有する、請求項１から５の内の１項記載のプログラマブル論理集積回路。
【請求項７】
前記論理回路はルックアップテーブルを有し、前記クロスバースイッチは前記ルックアップテーブルとの接続を変更する、請求項１から６の内の１項記載のプログラマブル論理集積回路。
【請求項８】
抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路とを、複数組有するプログラマブル論理集積回路において、
前記プログラマブル論理集積回路を、前記クロスバースイッチの出力線と次段の前記クロスバースイッチの入力線の間に設けられた電源素子と、次段の前記クロスバースイッチの一部から成る負荷回路と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証する、プログラマブル論理集積回路。
【請求項９】
請求項１から８の内の１項記載のプログラマブル論理集積回路を有する半導体装置。
【請求項１０】
抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路の回路検証のためのキャラクタライズ方法において、
前記プログラマブル論理集積回路を、前記クロスバースイッチの一部を有する複数の負荷回路と、前記クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、
前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、
前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする、キャラクタライズ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、抵抗変化素子を有するプログラマブル論理集積回路を用いた半導体装置に関する。
【背景技術】
【０００２】
半導体集積回路は、半導体基板に形成されたトランジスタ層と、トランジスタ同士を接続するために半導体基板上に形成された配線層とを備えている。トランジスタや配線のパターンは、集積回路の設計段階で決められており、半導体集積回路の製造後にトランジスタ同士の接続を変更することは不可能である。一方、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの再構成可能なプログラマブル論理集積回路は、演算動作や配線の接続などの回路情報をメモリに記憶することで、製造後に配線の接続の変更を可能にしている。【０００３】
回路情報の記憶を行うメモリの素子としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）セル、アンチフューズ、フローティングゲートＭＯＳ（Ｍｅｔａｌ−Ｏｘｉｄｅ−Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタなどが挙げられる。しかしながら、これらの素子はトランジスタと同じ層に形成されるため、チップ面積が大きくなり製造コストが増大する。また、論理演算回路同士の接続を変更するための配線スイッチの面積が大きくなるため、チップ面積に占める論理演算回路の割合が低下する。このため、ＦＰＧＡに実装される回路の動作速度の低下や動作電力の増大を招く。【０００４】
回路情報を記憶するメモリの素子に抵抗変化素子を用いたプログラマブル論理集積回路が、特許文献１や特許文献２に開示されている。特許文献１や特許文献２に開示されたプログラマブル論理集積回路は、第１の配線と、その上部に形成される第２の配線との間に、金属イオンを含有する固体電解質材料から構成される抵抗変化素子を有する。抵抗変化素子に印加する電圧の極性を変えることで、素子の抵抗値を変えることができる。低抵抗状態（オン状態）と高抵抗状態（オフ状態）の比は１０の５乗、あるいはそれ以上となる。これにより、当該抵抗変化素子は、第１の配線と第２の配線とを電気的に接続、あるいは切断するスイッチとして機能する。【０００５】
抵抗変化素子はメモリ機能とスイッチ機能とを実現できるため、スイッチセルを１個の抵抗変化素子で実現できるようになる。特許文献１によれば、第１の配線群と第２の配線群の各交点に抵抗変化素子を配置することで、第１の配線群の任意の配線と第２の配線群の任意の配線とを、自在に接続可能なクロスバースイッチ回路を小さい寸法で構成できる。その結果、チップ面積の縮小や、チップ上の論理演算回路の占める割合の増大による動作性能の向上が可能である。また、抵抗変化素子は不揮発であるため、起動時に回路情報をロードする手間を省くことができる利点もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１０１５３５号公報
【特許文献２】国際公開第２０１２／０４３５０２号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
プログラマブル論理集積回路の回路設計では、通常、ハードウェア記述言語などを用いて論理仕様を表現し、これを元に設計ツールを用いて論理合成と配置配線を行う。さらに、得られた配置配線に対して、機能やタイミングの検証を行うまでが一連の工程となる。タイミング検証には、静的タイミング解析（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ、ＳＴＡと略す）を用いることが主流である。【０００８】
ＳＴＡは、テストパターンを使わずに、所望のクロック周波数で動作するかを検証する方法である。具体的には、論理回路中に存在するＤ型フリップフロップ（Ｄ型Ｆｌｉｐ−Ｆｌｏｐ、ＤＦＦと略す）から次段のＤＦＦまでの、経路全てについて伝播遅延時間を積算する。この遅延値が、ＤＦＦの入力に定義されるセットアップ時間やホールド時間の条件（タイミング制約）に違反するか否かを判定する。ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）などに代表される論理シミュレータを利用すると、検証に非常に時間のかかる回路規模でも短時間で行うことができる。【０００９】
ＳＴＡを実行するために必要な入力情報は、ネットリスト、タイミング制約情報、遅延情報ライブラリである。ネットリストは、ゲートレベルで記述された接続情報ファイルである。遅延情報ライブラリは、論理シミュレータで求めたインスタンスごとの遅延時間などの情報を有する。遅延情報ライブラリは、プログラマブル論理集積回路の構成やトランジスタモデルごとに作成する必要があり、その一連の作業をキャラクタライズと呼ぶ。【００１０】
プログラマブル論理集積回路の内部コアは、乗算器回路ブロックや、ユーザー回路内のメモリとして使用するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）ブロックや、ルックアップテーブル（Ｌｏｏｋ−Ｕｐ  Ｔａｂｌｅ、ＬＵＴと略す）やＤＦＦから成る論理回路ブロックと、これらの接続を自在に切り替えることのできるクロスバースイッチとから構成される。回路を構成する要素（リーフセルという）ごとに伝播遅延情報や電力を求める際に、一般的に伝播遅延時間は入力波形の傾きと出力負荷容量とからなる２次元の行列となる。クロスバースイッチでは、この２次元の行列の要素が非常に多くなる傾向がある。このため、キャラクタライズにおいて、最も律速となるのはクロスバースイッチである。【００１１】
特許文献１や特許文献２には、抵抗変化素子を用いたクロスバースイッチのキャラクタライズを効率よく行う方法は開示されていない。抵抗変化素子を用いたクロスバースイッチのキャラクタライズを効率よく行う方法は、未確立である。【００１２】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、抵抗変化素子を用いたクロスバースイッチを有するプログラマブル論理集積回路の、静的タイミング解析による回路検証のためのキャラクタライズを効率よく行う方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明のプログラマブル論理集積回路は、抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路において、前記プログラマブル論理集積回路を、前記クロスバースイッチの一部を有する複数の負荷回路と、前記クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証する。【００１４】
本発明の半導体装置は、抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路を有し、前記プログラマブル論理集積回路を、前記クロスバースイッチの一部を有する複数の負荷回路と、前記クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証するプログラマブル論理集積回路を有する。【００１５】
本発明のキャラクタライズ方法は、抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路の回路検証のためのキャラクタライズ方法において、前記プログラマブル論理集積回路を、前記クロスバースイッチの一部を有する複数の負荷回路と、前記クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする。
【発明の効果】
【００１６】
本発明によれば、抵抗変化素子を用いたクロスバースイッチを有するプログラマブル論理集積回路の、静的タイミング解析による回路検証のためのキャラクタライズを効率よく行う方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態のプログラマブル論理集積回路の構成を示すブロック図である。
【図２】本発明の第１の実施形態の半導体装置の構成を示すブロック図である。
【図３】本発明の第２の実施形態のプログラマブル論理集積回路の構成を示す図である。
【図４】本発明の第２の実施形態のプログラマブル論理集積回路間の接続配線を示す図である。
【図５Ａ】本発明の第２の実施形態のプログラマブル論理集積回路の抵抗変化素子の構成を示す図である。
【図５Ｂ】本発明の第２の実施形態のプログラマブル論理集積回路の抵抗変化素子を切り替える動作方法を示す図である。
【図６】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの構成を示す図である。
【図７】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの入力波形と出力波形とを示す図である。
【図８】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの伝播遅延時間のファンアウト数依存性を示す図である。
【図９】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの入力波形と出力波形とを示す図である。
【図１０】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの接続例１を示す図である。
【図１１】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの接続例１での静的タイミング解析の遅延経路を示す図である。
【図１２】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの接続例２を示す図である。
【図１３】本発明の第２の実施形態のプログラマブル論理集積回路のクロスバースイッチを有するリーフセルの接続例２での静的タイミング解析の遅延経路を示す図である。
【発明を実施するための形態】
【００１８】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態のプログラマブル論理集積回路の構成を示すブロック図である。本実施形態のプログラマブル論理集積回路１は、抵抗変化素子を有するクロスバースイッチ２と、クロスバースイッチ２により論理構成する論理回路３と、を有するプログラマブル論理集積回路１において、プログラマブル論理集積回路１を、クロスバースイッチ２の一部を有する複数の負荷回路と、クロスバースイッチ２に入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証する。
【００１９】
図２は、本発明の第１の実施形態の半導体装置の構成を示すブロック図である。本実施形態の半導体装置４は、抵抗変化素子を有するクロスバースイッチ２と、クロスバースイッチ２により論理構成する論理回路３と、を有するプログラマブル論理集積回路１を有し、プログラマブル論理集積回路１を、クロスバースイッチ２の一部を有する複数の負荷回路と、クロスバースイッチ２に入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証するプログラマブル論理集積回路１を有する。
【００２０】
本実施形態のキャラクタライズ方法は、抵抗変化素子を有するクロスバースイッチ２と、クロスバースイッチ２により論理構成する論理回路３と、を有するプログラマブル論理集積回路１の回路検証のためのキャラクタライズ方法において、プログラマブル論理集積回路１を、クロスバースイッチ２の一部を有する複数の負荷回路と、クロスバースイッチ２に入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする。
【００２１】
本実施形態によれば、抵抗変化素子を用いたクロスバースイッチを有するプログラマブル論理集積回路の、静的タイミング解析による回路検証のためのキャラクタライズを効率よく行う方法を提供することができる。
（第２の実施形態）
図３は、本発明の第２の実施形態のプログラマブル論理集積回路の構成を示すブロック図である。本実施形態のプログラマブル論理集積回路１０は、抵抗変化素子を有するクロスバースイッチブロック２０と、クロスバースイッチブロック２０により論理構成する論理ブロック３０とを有する。
【００２２】
論理ブロック３０（Ｃｏｎｆｉｇｕｒａｂｌｅ  Ｌｏｇｉｃ  Ｂｌｏｃｋ、ＣＬＢと略す）は、４入力のＬＵＴ３１を２台、ＤＦＦ３２を２台、２入力のＭＵＸ３３（Ｍｕｌｔｉｐｌｅｘｅｒ）を３台、を有する。クロスバースイッチブロック２０は、ＬＵＴ３１への入力を決めるＩＭＵＸ２２（Ｉｎｐｕｔ  Ｍｕｌｔｉｐｌｅｘｅｒ）と、隣接するプログラマブル論理集積回路との入出力配線を決めるＳＭＵＸ２１（Ｓｗｉｔｃｈ  Ｍｕｌｔｉｐｌｅｘｅｒ）と、を有する。
【００２３】
図４は、本実施形態のプログラマブル論理集積回路間の接続配線を示す図である。図中の数字は配線の本数を示す。数字の記載のない配線は、図示の通り１本の配線を示す。
【００２４】
クロスバースイッチブロック２０内のＩＭＵＸの出力配線は、４入力のＬＵＴ２台へ接続されるので合計８本となる。ＳＭＵＸは、上下左右の隣接するＣＬＢに対してそれぞれ３出力を有し、３×４＝１２本の出力配線を有する。
【００２５】
ＳＭＵＸから隣接ＣＬＢへの出力には、バッファ（Ｂｕｆｆｅｒ、ＢＵＦと略す）とトランスミッションゲート（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｇａｔｅ、ＴＭＧと略す）を設ける。ＢＵＦは、ＳＭＵＸからの出力が隣接する次段のＣＬＢに入力する際に経由するもので、次段のＣＬＢにとっては電源素子として扱われる。ＴＭＧは、抵抗変化素子への書き込みを行うときに、選択されたＣＬＢ以外への書き込み電圧が印加されるのを防ぐために配置され、論理回路動作時には常にオン状態とする。
【００２６】
セグメントは２の配線リソースを有し、データ線の２×３×４＝２４本と、当該ＣＬＢ内のＬＵＴの出力線２本と、グラウンド線（図３では図示省略）とを合計すると２７本の入力線となる。ＩＭＵＸとＳＭＵＸとはデータ線で接続される。図３、図４の構成のクロスバースイッチブロック２０は、２７入力×２０出力となる。
【００２７】
クロスバースイッチブロック２０の各交点には抵抗変化素子（スイッチ）が配置される。図３において、入力線ＩＮ００と出力線ＯＵＴ００とを接続させる場合、抵抗変化素子Ｒ（００，００）を低抵抗状態（オン状態）に、出力線ＯＵＴ００上の抵抗変化素子Ｒ（００，００）以外のＲ（００，０１）からＲ（００，２６）の２６個を高抵抗状態（オフ状態）にする。
【００２８】
２つ以上の信号が衝突するのを防ぐために、例えば、出力線ＯＵＴ００に接続された２７個の抵抗変化素子の内、オン状態の抵抗変化素子は１つしか許されない。一方、入力線ＩＮ００に接続された抵抗変化素子は、原理上、すべてオン状態になり得る。このとき、入力線ＩＮ００のファンアウト（Ｆａｎ−Ｏｕｔ、Ｆ／Ｏと略す）数は最大の２０である。また、クロスバースイッチブロック全体のＦ／Ｏ数も最大２０であり、２７×２０個の抵抗変化素子の内、同時にオン状態とできるのは最大２０である。
【００２９】
一つの出力線がいずれの入力線にも接続されない場合、出力線がフロートとなり信号ノイズの発生源となるため、抵抗変化素子によりグランド線に接続する。グランド線へ接続するための抵抗変化素子を含めて、２７×２０個の抵抗変化素子の内、同時にオン状態となる抵抗変化素子は常に２０個である。
【００３０】
図５Ａは、抵抗変化素子の構造を示す図である。抵抗変化素子４０は、抵抗変化層４１と、抵抗変化層４１に接して対向面に設けられている第１電極４２および第２電極４３と、を有する。抵抗変化素子４０は、抵抗変化層４１に、遷移金属酸化物を用いたＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、イオン伝導体を用いたＮａｎｏＢｒｉｄｇｅ（登録商標）などを用いることができる。
【００３１】
抵抗変化層４１にイオン伝導体を用いる場合、第１電極４１からは抵抗変化層４１に金属イオンが供給され、第２電極４３からは金属イオンは供給されないとする。例えば、第１電極４１として銅（Ｃｕ）を有する金属を、第２電極４３としてルテニウム（Ｒｕ）を、各々用いることができる。抵抗変化素子４０は、抵抗変化層４１にイオン伝導体中での金属イオンの移動と電気化学反応とを利用した金属析出型のスイッチとなる。
【００３２】
図５Ｂは、抵抗変化素子４０の抵抗値を切り替える方法を示す。図５Ｂに示すように、抵抗変化素子４０は、第１電極４２と第２電極４３とで抵抗変化層４１に印加する電圧の極性を変えることで、抵抗変化層４１の抵抗値を変化させることができる。抵抗変化層４１の低抵抗状態（オン状態）と高抵抗状態（オフ状態）の抵抗比は、例えば、１０の５乗、もしくはそれ以上とすることができる。これにより、抵抗変化素子４０は、電気的に接続あるいは切断するスイッチとして機能する。なお、抵抗変化素子によるスイッチとしては、対を成す２つの抵抗変化素子と１つのトランジスタとから成る相補型構造のスイッチとすることもできる。
【００３３】
プログラマブル論理集積回路１０を静的タイミング解析するために、単位回路ごとの遅延時間などの情報を有する遅延情報ライブラリを構築する一連の作業であるキャラクタライズの、最小回路単位をリーフセルと呼ぶ。リーフセルは、単位回路ごとに遅延時間などを求めるための解析回路である。リーフセルは、負荷容量、負荷抵抗、およびこれらを駆動するための電源素子を有する。電源素子は、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）回路であり、１つのＣＭＯＳ回路に対して１つのリーフセルが定義できる。
【００３４】
まず、プログラマブル論理集積回路１０内に存在するＣＭＯＳ回路によって駆動される負荷回路（配線、抵抗変化素子、トランスミッションゲートまたはパストランジスタ、次段ＣＭＯＳ回路の入力部）を分類してリーフセルとする。それぞれのリーフセルをＳＰＩＣＥシミュレーションによりキャラクタライズして、伝播遅延情報や動的電力を求める。
【００３５】
図３のクロスバースイッチブロック２０は、論理回路として動作するときには電源を持たないので、負荷としてみなすことができる。クロスバースイッチブロック２０を有するリーフセルの電源素子は、ＳＭＵＸの出力ＢＵＦである。すなわち、出力ＢＵＦを電源素子とし、２台のＴＭＧとセル内の配線とセグメント１及び２のクロスバースイッチブロック２台とを負荷とする、リーフセルとすることができる。
【００３６】
図６は、本実施形態のプログラマブル論理集積回路のクロスバースイッチブロックの一部を有するリーフセルの構成を示す図である。抵抗変化素子は、抵抗と容量とが並列に接続された等価回路で表される。リーフセルは、ＳＭＵＸの出力ＢＵＦを電源素子とする。また、図６中のＲＣは、当該の配線の抵抗（Ｒ）と容量（Ｃ）とを表す。
【００３７】
図６において、オン状態の抵抗変化素子Ｒ（０１，００）とは、セグメント１のクロスバースイッチブロック内の０番目出力配線に位置する抵抗変化素子がオンした場合に生じる配線を意味する。また、次段回路とは、ＳＭＵＸ内の抵抗変化素子がオンした場合はＢＵＦとなり、ＩＭＵＸ内の抵抗変化素子がオンした場合はＬＵＴとなる。
【００３８】
入力は、端子Ａの１個である。
【００３９】
出力は、セグメント１でＳＭＵＸ内のオン状態の抵抗変化素子を介して次段回路ＢＵＦへ接続する端子Ｓｅｇ１（ｎ＝０…１１）、セグメント１でＩＭＵＸ内のオン状態の抵抗変化素子を介して次段回路ＬＵＴへ接続する端子ＩＭ１（ｎ＝１２…１９）、セグメント２でＳＭＵＸ内のオン状態の抵抗変化素子を介して次段回路ＢＵＦへ接続する端子Ｓｅｇ２（ｎ＝０…１１）、セグメント２でＩＭＵＸ内のオン状態の抵抗変化素子を介して次段回路ＬＵＴへ接続する端子ＩＭ２（ｎ＝１２…１９）の、４種類の４０個である。すなわち、入力数１、出力数４のリーフセルとなる。
【００４０】
静的タイミング解析するための遅延情報ライブラリに必要な、クロスバースイッチブロックを有するリーフセルの負荷の種類は以下の通りである。すなわち、リーフセルの負荷容量および負荷抵抗は、クロスバースイッチブロックの抵抗変化素子の抵抗状態によって変わる。まず第１に、セグメント１のスイッチブロックのＦ／Ｏ数と、セグメント２のスイッチブロックのＦ／Ｏ数との組み合わせで異なる。第２に、次段回路がＢＵＦとＬＵＴでは負荷容量が異なる。また、４入力のＬＵＴの入力容量が４入力の各々で異なる場合もある。
【００４１】
以上の全ての場合分けをすると、セグメント１では、ＳＭＵＸを介して次段回路ＢＵＦへ接続する端子Ｓｅｇ１（ｎ＝０…１１）の１２と、Ｓｅｇ１側のＳＭＵＸを介さずにＳｅｇ２のＳＭＵＸへ接続する１とでの１３である。また、ＩＭＵＸを介して次段回路ＬＵＴへ接続する場合、２台のＬＵＴの４入力（Ｓ０、Ｓ１、Ｓ２、Ｓ３）の例えばＳ０に２台とも入力する場合、２台の内の一方に入力する場合、２台とも入力しない場合の３通りが可能であることから、３×３×３×３である。セグメント２では、ＳＭＵＸを介して次段回路ＢＵＦへ接続する端子Ｓｅｇ１（ｎ＝０…１１）の１２である。また、ＩＭＵＸを介して次段回路ＬＵＴへ接続する場合、セグメント１と同様に、３×３×３×３である。よって、１３×３４×１２×３４＝１，０２３，５１６種類となる。本実施形態の手法は、これを大幅に削減することができる。
【００４２】
まず、図６の次段回路がＢＵＦの場合のリーフセルを、ベースリーフセル（基本リーフセル）とする。ベースリーフセルの出力端子は図６のＳｅｇ１、Ｓｅｇ２となり、それぞれＢＡＳＥ＿Ｓｅｇ１、ＢＡＳＥ＿Ｓｅｇ２と呼ぶ。同じＦ／Ｏ数で、セグメント１の一部の次段回路がＬＵＴとなったリーフセルでは、出力端子はＳｅｇ１、Ｓｅｇ２に加えて、ＩＭ１とＩＭ２が現れる。ベースリーフセルと区別するために、各出力端子をＬＵＴ＿Ｓｅｇ１、ＬＵＴ＿Ｓｅｇ２、ＩＭ１、ＩＭ２と呼ぶ。
【００４３】
図７は、リーフセルの入力波形と出力波形とを示す図である。ＢＵＦよりもＬＵＴの入力負荷容量が大きい場合、入力波形Ａに対して、ＢＡＳＥ＿Ｓｅｇ１、ＩＭ１の出力波形は図７のようになる。ＢＡＳＥ＿Ｓｅｇ１、ＩＭ１の伝播遅延時間をそれぞれＤｂａｓｅ＿ｓｅｇ１、ＤＩＭ１とし、ｄＤＩＭ１を図７中に示すように定義すれば、以下の関係が成り立つ。
ＤＩＭ１＝Ｄｂａｓｅ＿ｓｅｇ１＋ｄＤＩＭ１
ここで、ｄＤＩＭ１を補正遅延と呼ぶ。
【００４４】
図８は、リーフセルの伝播遅延時間Ｄｂａｓｅ＿ｓｅｇ１、ＤＩＭ１のＦ／Ｏ数依存性を示す。ベースリーフセルの遅延時間Ｄｂａｓｅ＿ｓｅｇ１と次段回路がＬＵＴである出力端子の遅延時間ＤＩＭ１は、Ｆ／Ｏ数に対して線形の依存性を示し、その傾きはほぼ一致する。すなわち、ＢＡＳＥ＿Ｓｅｇ１とＩＭ１に現れる伝播遅延時間Ｄｂａｓｅ＿ｓｅｇ１とＤＩＭ１の差分である補正遅延ｄＤＩＭ１は、Ｆ／Ｏ数によらずに一定である。従って、ｄＤＩＭ１は、Ｆ／Ｏ数に対して独立であり、次段回路の負荷容量に依存する。
【００４５】
図９は、リーフセルの入力波形（Ａ）と、ＢＡＳＥ＿Ｓｅｇ１、ＬＵＴ＿Ｓｅｇ１、ＢＡＳＥ＿Ｓｅｇ２、ＬＵＴ＿Ｓｅｇ２、ＩＭ２の出力波形とを示す図である。図９のように、ＢＡＳＥ＿Ｓｅｇ１、ＬＵＴ＿Ｓｅｇ１、ＢＡＳＥ＿Ｓｅｇ２、ＬＵＴ＿Ｓｅｇ２、ＩＭ２の伝播遅延時間を、それぞれＤｂａｓｅ＿ｓｅｇ１、ＤＬＵＴ＿ｓｅｇ１、Ｄｂａｓｅ＿ｓｅｇ２、ＤＬＵＴ＿ｓｅｇ２、ＤＩＭ２とし、補正遅延をｄＤｓｅｇ１、ｄＤｓｅｇ２、ｄＤＩＭ２と定義すれば、すれば、以下の関係が成り立つ。
ＤＬＵＴ＿ｓｅｇ１＝Ｄｂａｓｅ＿ｓｅｇ１＋ｄＤｓｅｇ１
ＤＬＵＴ＿ｓｅｇ２＝Ｄｂａｓｅ＿ｓｅｇ２＋ｄＤｓｅｇ２
ＤＩＭ２＝Ｄｂａｓｅ＿ｓｅｇ２＋ｄＤＩＭ２
補正遅延ｄＤｓｅｇ１、ｄＤｓｅｇ２、ｄＤＩＭ２は、前述のｄＤＩＭ１と同様にＦ／Ｏ数に依存せず次段回路の負荷容量のみに依存する。
【００４６】
すなわち、入力端子をＡ’とし、出力端子をＬＵＴ＿Ｓｅｇ１、ＩＭ１、ＬＵＴ＿Ｓｅｇ２、ＩＭ２とし、各々の出力端子に対応して、伝播遅延時間（補正遅延）ｄＤｓｅｇ１、ｄＤＩＭ１、ｄＤｓｅｇ２、ｄＤＩＭ２を有するリーフセルを補正リーフセルとしてベースリーフセルに付加することによって、次段回路にＬＵＴを有するスイッチブロックのリーフセルを、ベースリーフセルと補正リーフセルとの足し合わせで表すことができる。
【００４７】
図３のクロスバースイッチブロック２０において、セグメント１とセグメント２とのＦ／Ｏ数の組み合わせは、２１×２０＝４２０通りである。従って、次段回路を全てＢＵＦとしたベースリーフセルは４２０通りとなる。また、次段回路のＬＵＴの入力端子への接続は、１入力あたり０本、１本、２本の３通りの場合が考えられ、４入力であるので、３×３×３×３＝８１通りとなる。従って、補正リーフセルは８１通りとなる。すなわち、４２０＋８１＝５０１通りのリーフセルで、１００万通りにもなるスイッチブロックの遅延情報を表すことが可能となる。
【００４８】
図１０は、プログラマブル論理集積回路１０のクロスバースイッチブロック２０を有するリーフセルの接続例１を示す図である。接続例１では、入力端子をＡ、出力端子をＳｅｇ１（０）、Ｓｅｇ１（３）、Ｓｅｇ２（０）とする。オン状態の抵抗変化素子のＦ／Ｏ数は、セグメント１では２（Ｆ／Ｏ＿ＳＥＧ１）、セグメント２では１（Ｆ／Ｏ＿ＳＥＧ２）なので、Ｆ／Ｏ（Ｆ／Ｏ＿ＳＥＧ１，Ｆ／Ｏ＿ＳＥＧ２）＝Ｆ／Ｏ（２，１）のベースリーフセルとなる。
【００４９】
図１１は、接続例１での静的タイミング解析の遅延経路を示す図である。接続例１では、次段回路は全てＢＵＦのため、補正リーフセルは付加されない。
【００５０】
図１２は、プログラマブル論理集積回路１０のクロスバースイッチブロック２０を有するリーフセルの接続例２を示す図である。接続例２では、入力端子をＡ、出力端子をＳｅｇ１（０）、ＩＭ１（１９）、Ｓｅｇ２（０）とする。図１０と同じく、ベースリーフセルはＦ／Ｏ（２，１）となる。
【００５１】
図１３は、接続例１での静的タイミング解析の遅延経路を示す図である。スイッチブロックの出力が、セグメント１側でＬＵＴ１台の入力Ｓ０に入力しているときの補正リーフセルをＬＵＴ＿ｓｅｇ１＿Ｓ０とする。接続例２では、ベースリーフセルに補正リーフセルＬＵＴ＿ｓｅｇ１＿Ｓ０が付加された遅延経路となる。
【００５２】
なお、ベースリーフセルと補正リーフセルとは共に、電力の情報も有することができる。ベースリーフセルの電力をＰ＿ＢＡＳＥ、補正リーフセルの電力をＰ＿ＬＵＴとすれば、静的タイミング解析で計算するクロスバースイッチブロックの電力は、以下の式で表すことができる。
Ｐ＝ΣＰ＿ＢＡＳＥ＋ΣＰ＿ＬＵＴ
プログラマブル再構成論理回路は、論理ブロックとクロスバースイッチブロックとの組の繰り返しによって構成される。このため、この回路検証に用いる静的タイミング解析のツールでは、入力信号の傾きを考慮しなくても、高い精度で遅延計算を行うことができる。従って、リーフセル内部に配線負荷を取り込み、リーフセルごとに一つの伝播遅延情報や電力情報を有するライブラリを作成すればよい。
【００５３】
一方、静的タイミング解析を実行するための遅延情報を有するライブラリが２次元行列である場合を以下に記す。遅延情報を有するライブラリが２次元の場合、入力信号波形の傾きと出力負荷容量に対する２次元行列の形態で遅延情報を求める。
【００５４】
スイッチブロックを有するリーフセルの種類は、リーフセル内の負荷容量及び負荷抵抗が変わる、セグメント１のスイッチブロックのＦ／Ｏ数（Ｆ／Ｏ＿ＳＥＧ１）と、セグメント２のスイッチブロックのＦ／Ｏ数（Ｆ／Ｏ＿ＳＥＧ２）との組み合わせによる種類が存在する。この場合、Ｆ／Ｏの組み合わせは、２１（Ｆ／Ｏ＿ＳＥＧ１＝０〜２０）×２０（Ｆ／Ｏ＿ＳＥＧ２＝０〜１９）＝４２０通りである。
【００５５】
各リーフセルにおいて、各入力波形の傾きに対して、次段回路の負荷容量を付加してシミュレーションを行い、例えば５×５の遅延情報を作成するとする。すなわち、入力波形の傾きと次段回路の負荷容量は、最大値から最小値の範囲を５刻みとなるように設定する。静的タイミング解析の計算で、行列に無い入力波形の傾きや負荷容量のとき、５刻みの近い値同士で補完することにする。この場合、４２０×２５＝１０，５００通りもの遅延情報を求めなければならない。
【００５６】
２次元の遅延情報であっても、図７や図９で示した以下のベースリーフセルと補正リーフセルの足し合わせの関係は維持される。ベースリーフセルは、次段回路を全てＢＵＦとしたリーフセルで、４２０通りとなる。出力負荷容量は１種類になるので、伝播遅延情報は、入力信号の傾きに対してだけの１次元の行列になる。
【００５７】
補正リーフセルは、次段回路のＬＵＴの入力端子への接続は、１入力あたり０本、１本、２本の３通りが存在し、４入力であるので、３×３×３×３＝８１通りとなる。補正遅延ｄＤｓｅｇ１、ｄＤＩＭ１、ｄＤｓｅｇ２、ｄＤＩＭ２は、図８に示すように、入力信号波形の傾きに依存しないので、補正リーフセルは行列の必要が無い遅延情報となる。
【００５８】
従って、２次元の遅延情報を有するライブラリであっても、本実施形態のリーフセルは４２０＋８１通りで済み、５刻みの場合、遅延情報は４２０×５＋８１＝２１８１通りまで削減することができる。
【００５９】
以上のように、本実施形態によれば、抵抗変化素子を用いたクロスバースイッチを有するプログラマブル論理集積回路の、静的タイミング解析による回路検証のためのキャラクタライズを効率よく行う方法を提供することができる。
【００６０】
本発明は、上記実施形態や実施例に限定されることなく、請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【００６１】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路において、
前記プログラマブル論理集積回路を、前記クロスバースイッチの一部を有する複数の負荷回路と、前記クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証する、プログラマブル論理集積回路。
（付記２）
前記回路検証は、静的タイミング解析を行う、付記１記載のプログラマブル論理集積回路。
（付記３）
前記電源素子は、バッファを有する、付記１または２記載のプログラマブル論理集積回路。
（付記４）
前記負荷回路は、前記抵抗変化素子の負荷抵抗と負荷容量とを有する、付記１から３の内の１項記載のプログラマブル論理集積回路。
（付記５）
前記基本リーフセルは、前記リーフセルが前記電源素子に接続する場合の遅延時間を有する、付記１から４の内の１項記載のプログラマブル論理集積回路。
（付記６）
前記補正リーフセルは、前記リーフセルが前記論理回路に接続する場合の補正遅延を有する、付記１から５の内の１項記載のプログラマブル論理集積回路。
（付記７）
前記論理回路はルックアップテーブルを有し、前記クロスバースイッチは前記ルックアップテーブルとの接続を変更する、付記１から６の内の１項記載のプログラマブル論理集積回路。
（付記８）
抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路とを、複数組有するプログラマブル論理集積回路において、
前記プログラマブル論理集積回路を、前記クロスバースイッチの出力線と次段の前記クロスバースイッチの入力線の間に設けられた電源素子と、次段の前記クロスバースイッチの一部から成る負荷回路と、を有する複数のリーフセルに分割し、前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする遅延情報ライブラリに基づいて回路検証する、プログラマブル論理集積回路。
（付記９）
付記１から８の内の１項記載のプログラマブル論理集積回路を有する半導体装置。
（付記１０）
抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路と、を有するプログラマブル論理集積回路の回路検証のためのキャラクタライズ方法において、
前記プログラマブル論理集積回路を、前記クロスバースイッチの一部を有する複数の負荷回路と、前記クロスバースイッチに入力する電源素子と、を有する複数のリーフセルに分割し、
前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、
前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする、キャラクタライズ方法。
（付記１１）
前記回路検証は、静的タイミング解析を行う、付記１０記載のキャラクタライズ方法。
（付記１２）
前記電源素子は、バッファを有する、付記１０または１１記載のキャラクタライズ方法。
（付記１３）
前記負荷回路は、前記抵抗変化素子の負荷抵抗と負荷容量とを有する、付記１０から１２の内の１項記載のキャラクタライズ方法。
（付記１４）
前記基本リーフセルは、前記リーフセルが前記電源素子に接続する場合の遅延時間を有する、付記１０から１３の内の１項記載のキャラクタライズ方法。
（付記１５）
前記補正リーフセルは、前記リーフセルが前記論理回路に接続する場合の補正遅延を有する、付記１０から１４の内の１項記載のキャラクタライズ方法。
（付記１６）
前記論理回路はルックアップテーブルを有し、前記クロスバースイッチは前記ルックアップテーブルとの接続を変更する、付記１０から１５の内の１項記載のキャラクタライズ方法。
（付記１７）
抵抗変化素子を有するクロスバースイッチと、前記クロスバースイッチにより論理構成する論理回路とを、複数組有するプログラマブル論理集積回路の回路検証のためのキャラクタライズ方法において、
前記プログラマブル論理集積回路を、前記クロスバースイッチの出力線と次段の前記クロスバースイッチの入力線の間に設けられた電源素子と、次段の前記クロスバースイッチの一部から成る負荷回路と、を有する複数のリーフセルに分割し、
前記リーフセルを基本リーフセルと補正リーフセルとを有する遅延経路に分け、
前記基本リーフセルの遅延時間と前記補正リーフセルの補正遅延とを積算して前記リーフセルの遅延時間とする、キャラクタライズ方法。
【００６２】
この出願は、２０１５年９月２日に出願された日本出願特願２０１５−１７２４７０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６３】
１、１０    プログラマブル論理集積回路
２    クロスバースイッチ
３    論理回路
４    半導体装置
２０    クロスバースイッチブロック
２１    ＳＭＵＸ
２２    ＩＭＵＸ
３０    論理ブロック
３１    ＬＵＴ
３２    ＤＦＦ
３３    ＭＵＸ
４０    抵抗変化素子
４１    抵抗変化層
４２    第１電極
４３    第２電極
【図１】
2017038095.tif 000003
【図２】
2017038095.tif 000004
【図３】
2017038095.tif 000005
【図４】
2017038095.tif 000006
【図５Ａ】
2017038095.tif 000007
【図５Ｂ】
2017038095.tif 000008
【図６】
2017038095.tif 000009
【図７】
2017038095.tif 000010
【図８】
2017038095.tif 000011
【図９】
2017038095.tif 000012
【図１０】
2017038095.tif 000013
【図１１】
2017038095.tif 000014
【図１２】
2017038095.tif 000015
【図１３】
2017038095.tif 000016
【国際調査報告】
2017038095.tif 000017
2017038095.tif 000018
2017038095.tif 000019