【文献】
崎村昇 外5名,磁気フリップフロップによる不揮発性論理演算マクロの設計と実証,2011年電子情報通信学会総合大会講演論文集 エレクトロニクス2,社団法人電子情報通信学会,2011年 2月28日,第77頁
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、図面等を用いて本発明の実施形態について詳述する。
【0019】
図6は、本発明の第1の実施形態における回路設計支援システム10の構成を表わす機能ブロック図である。
図6に示す回路設計支援システム10は、任意の論理回路網についてHDL記述言語で作り込まれている回路情報を受け付けて、その回路網の構成要素となるCMOS論理ゲート及び不揮発性論理ゲートの基本セルが含まれたライブラリを参照しながら論理合成処理を実行して、不揮発性論理回路を含み得る回路網設計情報を出力する。
【0020】
本回路設計支援システム10は、HDL記述入力手段101、回路構造解析手段102、論理合成手段103、論理最適化手段104、ネットリスト出力手段105、等価回路生成手段106とを有する。
本説明では、HDL記述入力手段101に、設計対象である不揮発性論理回路をHDLで動作記述した情報が入力される。
回路構造解析手段102は、入力されたHDL記述された回路情報を解析して、その回路構造を抽出する。回路構造解析では、レジスタ宣言の信号、クロック信号の認識や、レジスタ間の論理、回路の階層構造、モデュールの入出力信号などを解析する。
【0021】
論理合成手段103は、回路構造解析手段102で解析した回路構造に対して、各種論理ゲートのライブラリなどを参照しながら論理回路網の論理合成処理を行う。また、論理合成された否不揮発性論理ゲート(基本セル)と不揮発性論理ゲート(基本セル)とが混在する論理回路網を設計情報として出力処理する。
ライブラリ110に登録された各々の論理ゲートに関する情報には、基本セルのポート情報、論理真理値情報、セットアップ/ホールド時間を含む遅延情報、入出力ポートの信号が変化した際の動的電力情報、静的電力情報などを含む。
参照されるライブラリ110は、不揮発性論理ゲートが登録された不揮発ゲートライブラリ111と、揮発性(否不揮発性)論理ゲートが登録されたCMOSゲートライブラリ112とを含む。また必要に応じて参照ライブラリを増やしても良い。 また、ネットワークを介して外部ライブラリを参照してもよい。
加えて、論理合成手段103には、不揮発化が必要なネット(信号ライン)を指定した情報(不揮発信号の指定情報)が入力される。任意ネットの不揮発化指定方法は、
図7を用いて後述する。本手段は、論理合成処理時に、指定された不揮発ネットを出力するレジスタに対して不揮発性論理ゲートを優先してマッピングするように動作する機能を有する。
【0022】
図7に不揮発ネットの指定フォーマットの一例を示す。“nv_net=”で始まる行の右辺の最初の文字列が不揮発ネット名を示しており、インスタンス名U0、ネット名Q2が不揮発ネットであることを示している。括弧内は順に、当不揮発ネットに対するストアイネーブル信号、リストアイネーブル信号を順に表わしており、不揮発ネットQ2のストアイネーブル信号がWE、リストアイネーブル信号がREであることを表わしている。論理合成手段103は、不揮発信号の指定情報として、この指定フォーマットに従った不揮発ネットの指定を設計者から必要数受け付けて、論理合成処理に反映させる。
なお、本指定方法はHDL記述の一例であり、任意ネットを不揮発化指定したことを識別できればどのような方法を用いて不揮発信号の指定情報を作成しても構わない。また、この指定情報では、複数の不揮発信号を一括して受け付けてもよいし、逐次的に1不揮発信号毎に受けつけてもよい。
【0023】
等価回路生成手段106は、各々の不揮発性論理ゲートの等価回路をCMOSゲートライブラリ112等を参照して生成する。例えば、
図4は、
図2に図示した不揮発性論理ゲート回路の論理上の動作を再現できるCMOSゲート回路を一部に有する等価回路の一例である。不揮発性論理ゲートの等価回路は、置き換え対象候補に対してCMOSゲートライブラリ112を参照して逐次的に生成してもよいし、予め多数生成してライブラリ化することも可能である。また、自装置で作成せずに、等価回路自体を等価回路ライブラリとして予め蓄積保持して利用することも可能である。なお、各不揮発性論理ゲートの等価回路は、各々1種類に限定されずに、信号遅延量や面積、消費電力が異なる等価回路を複数種類ずつ用いても良い。また、等価回路には、置き換え対象候補の不揮発性論理ゲートよりも規模が小さい不揮発性論理ゲートが含まれてもよい。
【0024】
論理最適化手段104は、先の論理合成手段103で生成された結果を受けて、受け付けた遅延制約を満足するように論理回路網の最適化処理を行う。
この論理最適化処理では、等価回路生成手段106で生成された不揮発性論理ゲートの等価回路や 等価回路ライブラリを、揮発性論理ゲートライブラリなどと併せて参照して、不揮発性論理ゲートとその等価回路とを置換する。
なお、不揮発ネットに対して適用された不揮発性論理ゲートは、遅延制約を満たす限り基本的に変更されない。また、本手段はHDL記述された元の論理と最適化された論理との等価性を検証する機能も含めることが望ましい。
【0025】
ネットリスト出力手段105は、先の論理最適化手段104で得られた結果を受けて、ゲートレベルの最終ネットリストを作成して出力する。
なお、論理合成手段103で得られた結果を受けて、ゲートレベルの一時ネットリストを作成して出力することも可能である。最適化処理が不要な場合や、最適化処理を行わない構成では、ネットリスト出力手段105は、論理合成手段103で得られた合成結果を受けてネットリストを出力すればよい。
【0026】
本回路設計支援システム10は、
図8に示すコンピュータ装置により実現可能である。
図8に示すコンピュータ装置は、論理合成に必要な各種データが記憶される記憶媒体とコンピュータ本体とを有している。
記憶媒体には、HDLで記述された回路情報(HDL記述情報)、各種ライブラリ、不揮発ネット指定情報、遅延制約情報の他に、論理合成によりネットリストを出力する本発明に係るプログラムが格納されている。このプログラムは、記憶装置(RAM)に展開され、後述するようにHDL記述された回路情報と各種ライブラリから、指定された不揮発ネットに着目して論理合成するステップと、遅延制約情報と不揮発性論理ゲートの等価回路を元に論理最適化を行うステップと、最適化された論理回路網の最終ネットリストを出力するステップを実行するように演算装置(CPU)を動作させる。
また、コンピュータ本体は、データの入出力を行う入出力装置と、記憶媒体から読み込まれたプログラムまたはデータを記憶する記憶装置と、全体の制御および処理を行う演算装置と、処理結果を表示する表示装置とを備え、これらはバスにより相互に接続されている。
このように構成されたコンピュータ装置において、HDL記述情報、不揮発ネット指定情報、遅延制約情報は入出力装置から入力される。また、各種論理ゲートの基本セル情報の登録も入出力装置から入力され、これらの集合体は記憶媒体に格納される。これら記憶媒体に格納された各種データは、プログラム実行時に記憶装置に展開される。回路構造解析手段102、論理合成手段103、論理最適化手段104、ネットリスト出力手段105、及び、等価回路生成手段106は、上記各種データが所要に実行プログラムに組み込まれた状態で記憶装置に展開され、演算装置によって実現される。
ネットリスト出力手段105により出力された一時及び最終ネットリストは、各種ログと共に記憶媒体に適宜格納される。記憶媒体に格納された本処理に必要な各種データ及び演算結果(ネットリストやログ)は、その閲覧が表示装置によって実現される。
【0027】
次に、本実施形態の動作について説明する。
まず、回路設計支援システム10として動作させる
図8に示したコンピュータで、上記プログラムを実行すると、演算装置によって以下に示すように
図6の各機能ブロックが構築される。
【0028】
演算装置は、HDL記述入力手段101として入出力装置を介してHDLで記述された回路情報を取得し、回路構造解析手段102として受け付けた回路情報から回路構造を取得する。この際に、レジスタ宣言の信号やクロック信号の認識、レジスタ間の論理真理値、回路の階層構造、各モデュールの入出力信号などを識別する。
【0029】
次に、解析して得た回路構造に対して、ライブラリ110を参照しながら論理合成処理を実施する。本合成は次の処理を経て実行される。
まず、論理合成手段103は、回路構造に対して、受け付けた不揮発ネット情報を不揮発信号の指定情報として使用して指定されたIないし複数のレジスタ宣言の信号(不揮発信号)部分に、不揮発ゲートライブラリ111から不揮発性論理ゲートを照合して割り当てる。この照合では、論理ゲートの動作、遅延、面積等から最も相応しいものを選択してマッピングする。
同時的に、論理合成手段103は、回路構造の不揮発ネット指定されていないレジスタ宣言の信号部分に、CMOSゲートライブラリ112も参照して、最も相応しい論理ゲートを選択してマッピングする。
この際、
図2の様な演算機能を有する不揮発性論理ゲートが使用される場合、論理合成手段103は、レジスタ間の論理真理値を計算し直す。全てのレジスタ宣言の信号に対するゲート選択が完了すると、ライブラリ110を参照してレジスタ間の論理真理値を実現する論理合成処理を行う。
【0030】
図9に、先の論理合成結果の一例を示す。この図において不揮発ネット情報を介して指定された端子群(不揮発化指定端子、不揮発信号、不揮発ネット)に○印を付けており、Q10、Q13、Q22、Q31、Q32が該当する。Q10、Q31、Q32に対しては、
図1で図示した不揮発性フリップフロップ(NV−DFF)セルが使用されている。また、Q13に対しては不揮発性ラッチ(NV−LAT)セルが使用されている。また、Q22は
図2で図示した不揮発性論理ゲート(LV−Logic)セルが使用されている。その他のレジスタはその出力信号が不揮発化指定されていないため、CMOS論理ゲートの一つであるD−FF(揮発性ロジック)セルが使用されている。
なお、論理合成処理で割り当てる揮発性ロジックには、不揮発性論理ゲートよりも面積又はリーク電流の一方若しくは両方が小さい特徴を有する論理ゲートを用いる。
【0031】
次に、論理最適化手段104は、先の論理合成結果を受けて、遅延制約情報と不揮発性論理ゲートの等価回路から論理回路網の最適化を実行する。この最適化処理を行った際に、
図9に示した論理回路網では、NV−LAT(U1)、ANDゲート(U2)、D−FF(U3)の回路部分、すなわち図中のA部分が不揮発性論理ゲートに置換される最適化が行われる。
図10は、A部分が最適化された
図9に示した論理回路網の等価論理回路網である。
【0032】
以下、この例を用いながら、この論理最適化の過程について以下に詳説する。
図2の不揮発性論理回路の等価回路は、
図4の様に、不揮発性ラッチ回路と、組み合わせ回路、D−FFから構成できる。
不揮発性ラッチ回路は、不揮発性論理回路内の抵抗変化素子の動作を表現しており、ストアイネーブル信号WEがアクティブの時にデータ入力Mを取り込む。この不揮発性ラッチ回路の動作は、抵抗変化素子にデータ書き込みする動作と等価である。
組み合わせ回路は、データ入力(A、B、C)と不揮発性ラッチ回路の出力とを入力とする論理演算回路であり、CMOS論理ゲートの組合せで形成される。組み合わせ回路の出力信号は後段のD−FFの入力データとして入力される。
D−FFは、組み合わせ回路の出力信号とクロックを入力として受け付けて、出力信号Qを出力する。
【0033】
論理最適化手段104は、まず、論理回路網の各レジスタのデータ入出力信号と その信号と直接接続関係にある論理ゲートセルとをチェックして、不揮発性論理ゲートの等価回路に一致する部分を探索する。次に、置換条件を満たす論理回路網の該当部分を等価回路に置換する。この最適化処理を満遍なく繰り返す。
図9に示したA部分は、
図4で示される等価回路に一致し且つ信号Q13が不揮発ネット指定されているので、A部分の回路と等価な不揮発性論理ゲートに置換される。
その結果、
図10の様に最適化されたネットリストが得られる。また、
図9、
図10の例では図示していないが、論理最適化手段104は、不揮発ネット指定されていないにも関わらず不揮発性論理ゲートが適用されている箇所について、CMOSゲートベースの等価回路に置き換えるべきか最適化検証を行う。この置き換えを実行すべきかどうかの判定は、置換に利点があるか、遅延、面積、電力の観点から評価されて決定される。
なお、この論理最適化のステップでは、既存の論理合成ツールに実装されているように、遅延制約情報に従って、遅延や面積、電力が最小化されるように組み合わせ回路の構成要素の最適化が行われる。
論理最適化処理が完了すると、ネットリスト出力手段105は、その結果を最終ネットリストとして作成して出力する。その際、論理合成処理のログや遅延、面積、電力などの性能情報も記憶媒体に出力する。
【0034】
以上説明した ハードウェア記述言語により記述された回路情報からネットリストを得る合成フローは標準的な一例である。実際には、論理合成プログラムは、設計者が作成したスクリプトを読み込み、そのスクリプトに記載される具体的な合成フローに沿って実行される。
この場合、合成フローだけでなく、合成のために使用されるHDL記述回路情報、ライブラリの指定、遅延制約情報、不揮発ネット指定情報をスクリプトに記載することが可能である。
【0035】
以上説明した第1実施形態によると、設計者が意図して不揮発ネットを指定した信号が自動的、且つ、確実に不揮発性論理ゲートが使われるネットリストを得ることができる。また、面積やリーク電流の観点も含めて最適化されたネットリストを得ることができる。すなわち、優れた論理回路網の設計情報が得られる。
【0036】
図11は、本発明の第2の実施形態における回路設計支援システム20の構成を表わす機能ブロック図である。本実施形態は、先に説明した第1の実施形態に対して論理合成手段の後に電力最適化手段を具備している点が異なっている。他の構成要素は、第1の実施形態と同様に動作する。
図11に記載の回路設計支援システム20は、
図8に示したコンピュータ装置により回路設計支援システム10と同様に実現できる。
【0037】
電力最適化手段107は、論理合成結果について、テストベクタ情報とライブラリ110を参照して、電力最小化を最優先に論理最適化処理を実行する。参照される不揮発ゲートライブラリ111には、不揮発性論理ゲートに電源スイッチを付した電源スイッチ付不揮発性論理ゲートセルや、クロック信号を止めるためのセル等が低電力用ゲートセルとして含まれる。すなわち、不揮発ゲートライブラリ111は、低電力ゲートライブラリとしての役割も受け持つ。無論、低電力ゲートライブラリを単独のライブラリに分割して、不揮発ゲートライブラリ111と並存させる構成でも構わないし、外部ライブラリとして準備されてもよい。
低電力用ゲートである電源スイッチ付不揮発性論理ゲートの一例を
図12に示す。
図12(a)はNV−DFF、(b)はNV−Logic回路(不揮発性機能ブロック)にそれぞれ電源スイッチを付与した例である。このような電力消費の低減を図るための不揮発性論理ゲート回路をライブラリ110内に低電力用ゲートセル(低電力用マクロセル)として含む。
【0038】
以下、本実施の形態の動作について説明する。
まず、回路設計支援システム20として動作させる
図8に示したコンピュータで、電力最適化手段107をも構築するプログラムを実行すると、演算装置によって
図11の各機能ブロックが構築される。
演算装置は、HDLで記述された回路情報を取得し、回路構造解析手段102として受け付けた回路情報から回路構造を解析して、ライブラリ等を参照しながら論理合成を実施する。論理合成手段103までの処理動作は、第1実施形態と処理内容が同様であるため、詳細な説明を省略する。
【0039】
電力最適化手段107は、以下の手順により、消費電力が最小化するように論理回路網(回路構造)の最適化を実行する。この電力最適化の処理において、電力最適化手段107は、まず、使用される各々の論理ゲートのアクセス頻度、すなわち、データの更新がされ得る頻度(トグルレート)を入力されるテストベクタから計算する。このトグルレートは、レジスタの場合はクロック信号がアサートされる頻度を調べることで比較的簡単に求めることができる。
【0040】
図13(a)は、テストベンチから抽出されたあるD−FF(揮発性論理ゲート)の電力プロファイルの一例である。ここで、このD−FFは、ゲーテッドされたクロック信号CLK1によって動作し、D−FFのデータ出力はQ1である。
時刻t1とt4でCLK1がD−FFにアサートされ、このタイミングでQ1は更新され得る。一方、時刻t1からt4までの期間は、このD−FFはアクセスされずQ1は一定状態のままである。
D−FFは揮発性のCMOSゲートであるから常時電源はオンの状態である。当該D−FFで消費される電力は、D−FF内部で消費される電力成分、配線を充放電するスイッチング電力成分、D−FF自体のリーク電力成分の合計となる。このうち、内部電力とスイッチング電力、いわゆる動的電力はD−FFにアクセスされ保持値が更新される時に消費される一方、リーク電力成分は電源がオンの期間中に消費され続ける。
【0041】
図13(b)は、
図13(a)で着目しているD−FFを電源スイッチ付の不揮発性Dフリップフロップ(NV−DFF)に置き換えたと想定した時の電力プロファイルである。
ここで、同13図(a)と同じクロックのタイミングでデータ更新される場合を想定している。また、時刻t1の後にストアイネーブル信号WEがアサートされ、Q1の値を抵抗変化素子に書き込み、時刻t2でそのNV−DFFの電源がオフの状態になる場合を想定している。また、時刻t3に当該NV−DFFの電源を再投入し、リストアイネーブル信号REをアサートすることで抵抗変化素子から記憶データをQ1に呼び出す動作が実行される場合を想定している。
時刻t1からt4の間に当該NV−DFFで消費される電力は、ストア電力とリストア電力、電源オン/オフの充放電電力の和となる。この消費電力をPnvregとする。時刻t2からt3期間(電源オフ時)のリーク成分はゼロであるため、一回の電源オン/オフで消費される電力Pnvregは、時刻t1からt4の時間の長さに依存せず、ほぼ固定値となる。
【0042】
電力最適化手段107は、当該D−FFを電源スイッチ付NV−DFFに置き換えるべきか否かを
図13を用いて説明した電力消費のモデルに従って判定する。
すなわち、時刻t1からt4まで当該D−FFで消費される電力Pregの値がPnvregよりも大きい場合、電力最適化手段107はNV−DFFに置き換える判定を下す。他方に値が小さい場合には、電力最適化手段107は、D−FFのままで置き換えない。もし、NV−DFFに置き換える場合には、ストアイネーブル信号WEやリストアイネーブル信号REの入力、電源スイッチ制御入力が必要になる。これら制御信号の追加は電力最適化手段107によって自動で実施され、対象回路モジュールの新規ポートとして追加し、この追加情報をネットリスト出力時にログとして出力する。
【0043】
図14(a)は、当該D−FFが時刻t1からt4の期間中、データの更新は実施されないが、時刻t6で出力Q1の値が参照される場合を表わしている。この時、当該D−FFが消費される電力は
図13(a)の時と同じPregである。
図14(b)は、当該D−FFを電源スイッチ付NV−DFFに置き換えたと想定した時の電力プロファイルである。電源スイッチ付NV−DFFは、時刻t1の後にストア動作を実行し、時刻t2で電源を遮断する。さらに、時刻t5で電源を再投入してリストア動作を実行し、時刻t6で出力値を参照された後に時刻t7で電源を遮断する。さらに、時刻t3で電源を再投入しリストア動作を実行する。時刻t1からt4の間に当該NV−DFFで消費される電力は、1回のストア電力と2回のリストア電力、2回の電源オン/オフ電力の和となる。この消費電力をPnvreg’とする。
【0044】
電力最適化手段107は、テストベンチ情報から
図14(a)の様に各々のレジスタの値が参照されるタイミングや期間を収集・識別する機能を有しており、その識別した情報から
図14(b)の様に、当該D−FFをNV−DFFに置き換えたと想定した時の電力プロファイルを自動的に作成する。そして、PregとPnvreg’の大小を比較することで、NV−DFFに置き換えるか否かを判定する。
【0045】
また、電力最適化手段107は、不揮発性論理ゲートライブラリ111に記載される各々のゲートセルの電力情報から、1回のストア動作で消費される電力と1回のリストア動作で消費される電力をそれぞれ計算する。また、1回の電源オン/オフに消費される電力も計算する。電源スイッチ付不揮発性論理ゲートに置き換えたと仮定した時の消費電力Pnvreg’の計算値は、ストア動作の回数、リストア動作の回数、電源オン/オフの回数を、それぞれこれらの電力値に乗算した和で求めることができる。
【0046】
電力最適化手段107は、以上のような処理を全てのレジスタの論理ゲートに対して実行した後に、電力最適化処理を終了する。
【0047】
この後、論理最適化手段104は、電力最適化処理結果を受け付けて、レジスタの置き換えが許可されない状態、すなわち、CMOS論理ゲート等で構成されるレジスタ間の組み合わせ回路部分の範囲内で、遅延制約情報に基づいた論理最適化処理を実行する。
【0048】
最後に、ネットリスト出力手段105は、得られた結果を受けて、最終ネットリストを作成して出力する。その際、論理合成処理のログや遅延、面積、電力などの性能情報も記憶媒体に出力する。
【0049】
以上説明したハードウェア記述言語により記述された回路情報からネットリストを得る合成フローは、省電力をより強く考慮した処理フローの一例である。 処理フローは、以下のように変更しても構わない。
例えば、電力最適化手段107による電力最適化処理は、論理最適化手段104の後に実施しても構わない。また、第1実施形態の構成を含み、論理最適化手段104は第1実施形態の様に、等価回路生成手段106などから得た各々の不揮発性論理ゲートの等価回路を参照しながら、CMOSゲート等の否不揮発性論理ゲートを不揮発性論理ゲートに置き換えたり、不揮発性論理ゲートを等価回路に置き換えたりしても構わない。
実際には、論理合成プログラムは、設計者が作成したスクリプトを読み込み、そのスクリプトに記載される具体的な合成フローに沿って実行される。
【0050】
以上説明した第2の実施形態によると、設計者が意図して不揮発ネットを指定した信号以外にも低電力化できる回路構造を自動的に特定でき、設計者に通知したり、より電力最小化されたネットリストを得ることができる。すなわち、より優れた論理回路網の設計情報が得られる。
【0051】
図15は、本発明の第3の実施形態における回路設計支援システム30の構成を表わす機能ブロック図である。本実施形態は、先に説明した第1実施形態に対してゲート置換手段を具備している点が異なっている。また、ライブラリに仮想不揮発ゲートライブラリが含まれている。他の構成要素は、第1実施形態と同様に動作する。 なお、第1実施形態に換えて、第2実施形態にゲート置換手段を具備させた構成としても良い。また、第1実施形態と第2実施形態とを組み合わせた形態にゲート置換手段を具備させた構成としても良い。以下、本実施形態の差分部分について詳述する。
【0052】
論理合成手段103は、CMOSゲートライブラリ112と仮想不揮発ゲートライブラリ113を参照して、HDL記述された回路情報から取得された回路構造について論理合成を実施する。
この論理合成では、全てのレジスタ宣言された信号に対して、仮想不揮発ゲートライブラリ113を参照して仮想不揮発性論理ゲートからふさわしいセルを選択する。
すなわち、CMOSゲートライブラリ112に登録されているD−FFやDLAT等のフリップフロップ系のセルを一時的に用いずに仮想不揮発ゲートセルを用いて合成処理を行う。
【0053】
ここで、仮想不揮発ゲートライブラリ113について説明する。ライブラリに登録される仮想不揮発性論理ゲート各々は、様々な種別の仮想的な不揮発性論理ゲートであり、後段の処理で全て置換される。個々の仮想不揮発性論理ゲートに関する基本セルには、抵抗変化素子が保持する論理値をも一端子として明示化されている。換言すれば、仮想不揮発性論理ゲートセルには、抵抗変化素子に保持された論理値を出力する一端子が新規に出力端子として設けられている。このため、仮想不揮発性論理ゲートセルは、不揮発性論理ゲートセルとは端子構造が異なっている。この抵抗変化素子が保持する論理値を示すことに使用する端子は、ストアデータ識別端子と呼ぶ。この仮想不揮発論理ゲートを用いることで、最適化処理の置換処理を容易化する。
まず、仮想不揮発ゲートライブラリ113に登録された仮想NV−DFFセルの一例を
図16(a)に示す。出力端子Q’はストアデータ識別端子であり、抵抗変化素子が保持する論理値を示しており、また、本セルにはストアイネーブル信号WE、リストアイネーブル信号REの端子は含まない。
次に、仮想不揮発ゲートライブラリに登録された仮想NV−Logicセル(仮想マクロセル)の一例を
図17(a)に示す。ここで、仮想NV−Logicセルには入力端子Dが不揮発化指定を受けた場合にNV−LATが不要となることに留意する。また、図示された仮想NV−Logicの出力端子Dが仮想NV−RATの抵抗変化素子が保持する論理値を示しており、また、リストアイネーブル信号REの端子は含まない。
【0054】
図18は、論理合成手段103によって合成された回路図の一例である。実際にはクロック信号が不揮発性論理ゲートに入力されるが、この図では、簡略化するためクロック信号を省略している。
信号D1、D2、Q10〜Q13、Q20〜Q22はレジスタ宣言された信号であり、全て仮想不揮発性論理ゲート(Virtual NV−LATセル、Virtual NV−FFセル、Virtual NV−Logic Gateセル(AND、OR、NANDなど))が適用される。これら不揮発性論理ゲート間の組み合わせ回路は全てCMOS論理ゲートが割り当てられる。
【0055】
ゲート置換手段108は、論理合成手段103の出力結果を受けて、ライブラリ110と不揮発ネット指定情報と置換ルール指定情報とを参照しながら 個々の仮想不揮発性論理ゲートを 実態のある不揮発性論理ゲート あるいは そのCMOS素子を含む等価回路に置換して、論理回路網全体の仮想不揮発性論理ゲートを全て実態のある論理ゲートに置き換える。
例えば、
図16は仮想NV−DFFのゲート置換方法を示している。仮想NV−DFFセルの出力端子Qが不揮発ネット指定されている場合は、
図16(b)の様に実態のあるNV−DFFセルに置換する。当該端子が不揮発ネット指定されていない場合は、
図16(c)の様にCMOSライブラリ112を参照してD−FFセルに置換する。
図17は仮想NV−Logicセルのゲート置換方法を示している。右側の仮想NV−Logicセルにおける抵抗変化素子の値を定める入力端子(ストアデータ識別端子:D端子)が不揮発ネットに指定され、且つ、D端子が仮想NV−LATの出力端子に直接接続される場合は、
図17(b)の様に仮想NV−LATセルと仮想NV−Logicセルを一括して1つのNV−Logicセルに置換する。この条件に当てはまらない場合は、
図17(c)の様に仮想NV−Logicセルが持つ論理演算機能と等価な組み合わせ回路と その組み合わせ回路の出力Yを入力としたD−FFセルとに置換する。この時、仮想NV−LATセルはDLATセルに置換する。
以上、
図16や
図17で例示したように、指定された不揮発信号に基づいて仮想不揮発性論理ゲートを 不揮発性論理ゲートとCMOS論理ゲートを含む等価回路の何れに置き換えるべきかの条件は置換ルール指定情報に記載される。
【0056】
ゲート置換手段108は、仮想不揮発性論理ゲートとCMOS論理ゲートとの接続関係をチェックしながら、
図16や
図17を用いて説明した基本ルールに従って仮想不揮発性論理ゲートを逐次置換する。次に、いくつかの置換される論理ゲート回路を例示する。
【0057】
図19(a)は、論理回路網として仮想NV−LATセルの出力Dが複数の仮想NV−Logicセルに接続されるケースを示している。ここで、信号Dは仮想不揮発性ANDゲートセルU1のデータ入力端子Aに接続され、さらに仮想不揮発性ORゲートセルU2の入力端子Dに接続されている。
もし、仮想不揮発性ANDゲートセルU1のA端子とD端子の接続を入れ替えてもQ1の論理演算結果が変わらないのであれば、
図19(b)の様に、インスタンスU1とインスタンスU2の両方が実態ある不揮発性論理ゲートセルに置換される。
ここで、仮想NV−LATセルはU1とU2に対して一つしか存在しないが、両者で共有されていると考えて置換を行う。ただし、この置換ができるケースは、不揮発ネット指定された信号DがCMOSゲートに一切接続されていないことが条件となる。
【0058】
図20(a)は、論理回路網として、不揮発ネット指定された信号Dが、仮想NV−LATセルU0の出力信号であり、且つ、仮想NV−Logicセルの入力端子Dに直接接続され、且つ、CMOS論理ゲートにも接続されているケースを示している。
該当信号D部分の電気回路構造は、
図1(a)や
図2(a)に示すように抵抗変化素子を用いる為、電圧を印加されない状態でCMOS論理ゲートの入力として利用することができない。
従って、このケースでは
図20(b)に示すように、仮想NV−LATセルをNV−LATセルに置き換え、仮想NV−LogicセルをCMOS論理ゲートを用いた等価回路(
図20の例では、CMOS−ANDゲートとD−FF)に置き換える。
この置換方法により、面積オーバヘッドが増える可能性があるものの、信号Dの不揮発性は維持され、論理の等価性も維持される。
【0059】
図21(a)は、論理回路網として、不揮発ネット指定された信号Dが、仮想NV−LATセルU0の出力信号であり、CMOS論理ゲートを介して仮想不揮発性ANDゲートセルに接続されているケースを示している。
このケースにおいても、不揮発ネット指定された信号Dは抵抗変化素子を用いる為、この信号ネットをCMOSゲート素子に直接入力して演算に用いることは不可能である。従って、
図21(b)に示すように、仮想NV−LATセルはNV−LATセルに置き換え、仮想不揮発性ANDゲートセルはCMOS論理ゲートを用いた等価回路(
図21の例では、CMOS−ANDゲートとD−FF)に置き換える。
この置換方法により、面積オーバヘッドが増える可能性があるものの、信号Dの不揮発性は維持され、論理の等価性も維持される。
【0060】
以上、
図19、
図20、
図21で例示した置き換え方法は、置換ルール指定情報に記載される。また、予め 例示したような置換ルールが反映された基本的な等価回路をコンポーネントとして、例えば仮想不揮発ゲートライブラリ113内にライブラリとして保持しておき、必要に応じて用いることとしても良い。なお、置換する論理回路は上記例に限定するものではない。また、面積や消費電力の特性が異なる複数種類の否不揮発性論理ゲート等価回路を複数の置換ルール又は複数の基本的な等価回路若しくはその組み合わせとしてゲート置換手段108に与える構成としても良い。
【0061】
論理合成手段103によって合成された
図18に示した論理回路網に対して、ゲート置換手段108が、上記した置き換えルールに従って仮想論理ゲートを置き換えた結果の一例を
図22に示す。
まず、不揮発ネット指定された信号D1(
図18参照)に着目する。この不揮発信号D1は、仮想NV−LATセルの出力信号であり、且つ、その接続先が全て仮想不揮発性論理ゲートセルの入力端子である。従って、
図19で図示したルールに従い、仮想NV−LATセルと仮想不揮発性論理ゲートセルの組を不揮発性論理ゲートセルに置換する。なお、この置換を実行する際に、D信号がNV−Logicセルの仮想D端子に接続されていない信号ネットを論理等価性を有する他入力端子と入れ替える処理を行う。
次に、不揮発ネット指定された信号D2(
図18参照)に着目する。この不揮発信号D2は、仮想NV−LATセルの出力信号であるが、その接続先が仮想NV−Logicセル以外にCMOSゲートを含んでいる。従って、
図20で図示したルールに従い、仮想NV−LATセルをNV−LATセルに置き換え、Q20を出力する仮想NV−Logic回路セルはCMOSゲートで構成される等価回路に置き換えられる。
次に、不揮発ネット指定された信号Q22に着目する。この不揮発信号Q22は、仮想NV−FFセルの出力であるので、
図16(b)で図示した様に、仮想NV−FFセルを実態のNV−FFセルに置き換える。
以上説明したように、
図18の論理回路網が置換ルール指定情報に従って
図22に示す論理回路網にゲート置換されて最適化される。
【0062】
論理最適化手段104は先の実施形態と同様に遅延制約情報を満たすように、不揮発性論理ゲートの置き換えを許可しない設定範囲でCMOSゲートの論理最適化の処理を行う。ここで、遅延、電力、面積の計算は、不揮発ゲートライブラリ111とCMOSゲートライブラリ112とを参照して行われる。論理最適化が完了すると、最後にネットリスト出力手段105によりネットリストやログが出力される。
【0063】
以上説明した第3の実施形態によると、設計者による直接的な操作に寄らずに、不揮発化指定された信号ネット周囲回路構造を自動的に最適化して、より優れた論理回路網の設計情報が得られる。
なお、本実施形態では、第1の実施形態を変形したケースを説明した。本実施形態はこれに限定されず、先に述べたように第2の実施形態の構成(
図11)と組み合わせても構わない。また、回路構造解析手段102と論理合成手段103とゲート置換手段108で最終ネットリストを得る為の論理合成を行う組み合わせも在り得る。
【0064】
以上説明したように、本発明によれば、不揮発性の論理信号を取り扱うことができ、不揮発性論理回路網の最適な設計情報を出力することができる回路設計支援システム、及び論理合成プログラムを提供できる。
【0065】
なお、本発明は上記実施形態に限定されず、本発明の技術思想の範囲内において、適宜変更され得ることは明らかである。回路設計支援システムの各部は、ハードウェアとソフトウェアの組み合わせを用いて適宜実現すればよい。例えば、
図23に示すように、回路構造受付部と論理合成部と論理回路構造出力部で回路設計支援システムを構築して、受け付けた回路構造情報を不揮発性論理ゲートに関する情報が含まれたライブラリを参照してネットリストを得る構成としてもよい。このように構成して、コンピュータを、不揮発性論理ゲートを含む集積回路の設計を支援する回路設計支援システムとして動作させることによって、論理合成された否不揮発性論理基本セルと不揮発性論理基本セルとが混在する論理回路網を設計情報として得られる。
【0066】
また、本発明にかかる論理合成プログラムが1つのRAMに展開され、このプログラムに基づいて1ないし複数の制御部(CPU)等のハードウェアを各手段として構築させて動作させる。また、このプログラムは、記憶媒体に固定的に記録されて頒布されても良い。当該記録媒体に記録されたプログラムは、有線、無線、又は記録媒体そのものを介して、メモリに読込まれ、制御部等を動作させる。尚、記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリ装置、ハードディスクなどが挙げられる。
【0067】
また、上記実施形態では単一のコンピュータを用いて説明したが、回路設計支援システムとして情報処理システムを用いる際に、複数台のコンピュータを用いて通信ネットワークを介した通信により処理を分散させてもよいし、作業を分散させてもよい。また、クラウド環境の処理リソースを用いて論理合成等の各種処理を行う構成としてもよい。例えば、プライベートクラウドやパブリッククラウド環境で不揮発性論理回路を構築するサービスを提供可能にサーバシステムに回路設計支援システムを構築しても良い。
【0068】
また、上記実施形態で採用したCMOSゲートは使用するゲート構造の一例であり、否不揮発性論理ゲートとしては、ANDゲートやORゲート等のような基本論理ゲートセルの他、0あるいは1データに固定化するプルダウンセル、プルアップセルなどを採用しても良い。この基本論理ゲートセルは、CMOSトランジスタに限らず、FinFETの様な能動素子で構成されるものも含まれる。また複数種類の構造をハイブリットに採用してもよい。否不揮発性論理ゲートの種別は、設計に合せて、適した論理ゲート構造を不揮発性論理ゲートと組み合わせる否不揮発性論理ゲートとして特性を踏まえて適宜採用すれば良い。
【0069】
本発明は、様々な観点から不揮発性論理ゲートを含む集積回路の設計最適化手法を提供している。また、この設計最適化手法は、既存の集積回路の設計を踏まえ、利用者や既存設備に対する親和性を考慮している。また、既存技術にない観点から論理回路網の最適化アルゴリズムを提供した。
【0070】
この最適化アルゴリズムでは、各種ゲート間の論理値に基づく最適化に加え、消費電力の観点を強調した最適化をも行える。
例えば、上述したように、個々の論理ゲートに関して、入出力信号が例え不揮発化指定されていなくとも、テストベンチ情報から当該ゲートのアクセス頻度(例えばクロックのアサート頻度や参照頻度)を解析し、その解析結果から不揮発性論理ゲートに置き換えてパワーゲーティングを行ったと仮定した場合の推定消費電力量の増減に基づいた論理ゲートの置換判断を行える。
また、テストベンチを参照してレジスタ宣言された信号を出力に有する各々の論理ゲートについて電力Pregを集計し、当該ゲートを不揮発性論理ゲートに置き換えてパワーゲーティングを行ったと仮定した場合の電力Pnvregと対比して推定消費電力量の増減に基づいた論理ゲートの置換判断を行える。
また、上述したように、様々な種類の仮想不揮発性論理ゲートを用いて論理合成した後に、自動的に信号ラインの組み換えや等価回路への置き換えを最適化処理として実行する。この際、仮想論理ゲートの出力端子が不揮発化指定されているか否かに基づいて、また、出力先となる仮想論理ゲートに直接入力されているか否かに基づいて、更に、CMOS論理ゲート等の否不揮発性論理ゲートに接続されているか否かに基づいて、構築する論理回路を切り替える。
このように、不揮発性論理ゲートの有する特徴と否不揮発性論理ゲートの有する特徴を踏まえ、相互の特長を活かしつつ論理回路網を自動的に組み替える。
【0071】
結果、集積回路設計に不揮発性の論理信号を適切に組み込む機能を提供でき、加えて、設計者により与えられた不揮発性論理回路網データを、より最適な不揮発性論理回路網データに変換できる。
また、上記の実施形態の一部又は全部は、以下のようにも記載されうる。尚、以下の付記は本発明をなんら限定するものではない。
【0072】
[付記1]
ハードウェア記述言語(HDL)により記述された回路情報から回路構造を解析処理する回路構造解析手段と、
前記回路構造について、不揮発性素子を内蔵する不揮発性論理ゲートに関する不揮発性論理基本セルを含むセルライブラリと不揮発信号の指定情報とを参照して、前記指定情報が示した不揮発信号を含む回路構造部分に不揮発性論理ゲートを割り当てる論理合成処理を行う論理合成手段と、
論理合成された否不揮発性論理基本セルと不揮発性論理基本セルとが混在する論理回路網を設計情報として出力する出力手段と、
を含み成ることを特徴とする回路設計支援システム。
【0073】
[付記2]
上記付記記載の回路設計支援システムにおいて、
前記論理合成手段は、否不揮発性論理ゲートに関する否不揮発性論理基本セルとして、面積及び/又はリーク電流が同種の不揮発性論理ゲートよりも小さい揮発性論理ゲートをセルライブラリから参照して取り扱うことを特徴とする回路設計支援システム。
【0074】
[付記3]
上記付記記載の回路設計支援システムにおいて、
否不揮発性論理ゲートを含み構成された 各不揮発性論理基本セルの等価回路に関する情報を等価回路情報として含む等価回路ライブラリ、若しくは前記等価回路情報を自動生成する等価回路生成手段を含み、
前記等価回路情報を参照して、論理合成処理で得た論理回路網に含まれている不揮発性論理ゲートを 否不揮発性論理ゲートを含む等価回路に置き換えて最適化された論理回路網に再構築する論理最適化手段を含む
ことを特徴とする回路設計支援システム。
【0075】
[付記4]
上記付記記載の回路設計支援システムにおいて、
入力されたテストベクトル情報と低電力ゲートライブラリとを参照して電力を最小化するように論理回路網の最適化を行う電力最適化手段を有し、
前記低電力ゲートライブラリは、少なくとも電源スイッチが付加された電源スイッチ付き不揮発性論理ゲートが不揮発性論理基本セルとして複数種類登録されており、付与されている前記電源スイッチのオン/オフの各々の状態における各電源スイッチ付き不揮発性論理ゲートの電力情報が記載されており、
前記電力最適化手段は、前記テストベクトル情報からレジスタ宣言された各々の信号に対して、その信号がデータ更新と参照されるそれぞれの回数と時間間隔を集計処理し、その集計結果から否不揮発性論理ゲートを用いた場合の消費電力と、電源スイッチ付不揮発性論理ゲートを用いた場合の消費電力とを比較することによって消費電力がより少ない論理ゲートを判定し、何れの論理ゲートを用いるかを決定する
ことを特徴とする回路設計支援システム。
【0076】
[付記5]
上記付記記載の回路設計支援システムにおいて、
各不揮発性論理ゲートに関する前記不揮発性論理基本セルには、不揮発性素子にデータを書き込むストアイネーブル信号の端子と、不揮発性素子に記憶されるデータを読み出すリストアイネーブル信号の端子のいずれかを少なくとも含み、
不揮発信号に対応するストアイネーブル信号とリストアイネーブル信号が不揮発信号の指定情報内に含まれており、
前記論理合成手段は、前記不揮発性論理基本セルを用いて不揮発性論理ゲートを割り当てる際に、これら両イネーブル信号を不揮発信号の指定情報に基づいて結線する
ことを特徴とする回路設計支援システム。
【0077】
[付記6]
上記付記記載の回路設計支援システムにおいて、
前記出力手段は、前記設計情報として、ハードウェア記述言語でレジスタ宣言された各々の信号に対して、不揮発性論理ゲートを用いる場合と否不揮発性論理ゲートを用いる場合のそれぞれの電力、面積、遅延情報をログとして出力する
ことを特徴とする回路設計支援システム。
【0078】
[付記7]
上記付記記載の回路設計支援システムにおいて、
前記論理合成手段において合成された論理回路網に対して、不揮発性素子の保持論理値を示すストアデータ識別端子を有する仮想不揮発性論理ゲートを不揮発性論理ゲート あるいは その等価回路に置換するゲート置換手段を更に備え、
前記論理合成手段は、論理合成処理として、受け付けた前記回路構造について、仮想不揮発性論理ゲートに関する仮想不揮発性論理基本セルを含む仮想不揮発ゲートライブラリを参照対象に加えて、ハードウェア記述言語により記述された前記回路情報内でレジスタ宣言されている信号を含む回路構造部分に前記仮想不揮発性論理基本セルを割り当て処理し、
前記ゲート置換手段は、ゲート置換処理として、合成された論理回路網に対して、入力された不揮発信号の指定情報と置換ルール情報とに基づいて、含まれていた前記仮想不揮発性論理ゲート各々を不揮発性論理ゲート あるいは その等価回路に置換する
ことを特徴とする回路設計支援システム。
【0079】
[付記8]
上記付記記載の回路設計支援システムにおいて、
前記ゲート置換手段は、指定された不揮発信号が仮想不揮発性論理ゲートの入出力端子に接続される場合に当該仮想論理ゲートを不揮発性論理ゲートに置き換える
ことを特徴とする回路設計支援システム。
【0080】
[付記9]
上記付記記載の回路設計支援システムにおいて、
前記ゲート置換手段は、論理真理値が変化しない範囲内で、指定された不揮発信号が仮想不揮発性論理ゲートの入出力端子に優先的に接続されるように、仮想不揮発性論理ゲートの不揮発性素子の保持論理値を示すストアデータ識別端子とそれ以外の端子を入れ替える
ことを特徴とする回路設計支援システム。
【0081】
[付記10]
コンピュータを、不揮発性論理ゲートを含む集積回路の設計を支援する回路設計支援システムとして動作させる論理合成プログラムであって、
前記コンピュータに、
受け付けた回路構造について、不揮発性素子を内蔵する不揮発性論理ゲートに関する不揮発性論理基本セルを含むセルライブラリと不揮発信号の指定情報とを参照して、前記指定情報が示した不揮発信号を含む回路構造部分に不揮発性論理ゲートを割り当てる論理合成処理を行う論理合成処理と、
論理合成された否不揮発性論理基本セルと不揮発性論理基本セルとが混在する論理回路網を設計情報として出力する出力処理と、
を実行させることを特徴とする論理合成プログラム。
【0082】
[付記11]
コンピュータを、不揮発性論理ゲートを含む集積回路の設計を支援する回路設計支援システムとして動作させるプログラムであって、
このコンピュータに、
ハードウェア記述言語により記述された回路情報から回路構造を解析処理する第1のステップと、
前記回路構造について、不揮発性論理ゲート情報を含むライブラリを参照して、指定された不揮発信号に対して不揮発性論理ゲートを割り当てて論理合成処理を行う第2のステップと、
遅延、電力、面積のいずれかを最小化するように論理の最適化処理を行う第3のステップと
を実行させ、
CMOS論理ゲートと不揮発性論理ゲートとが混在するゲートレベルネットリストを出力させることを特徴とする論理合成プログラム。
【0083】
[付記12]
上記付記記載のプログラムにおいて、
前記論理合成処理は、否不揮発性論理ゲートに関する否不揮発性論理基本セルとして、面積及び/又はリーク電流が同種の不揮発性論理ゲートよりも小さい揮発性論理ゲートをセルライブラリから参照して取り扱わせることを特徴とするプログラム。
【0084】
[付記13]
上記付記記載のプログラムにおいて、
否不揮発性論理ゲートを含み構成された 各不揮発性論理基本セルの等価回路に関する情報を等価回路情報として含む等価回路ライブラリ、若しくは前記等価回路情報を自動生成する等価回路生成処理を実行させ、
前記等価回路情報を参照して、論理合成処理で得た論理回路網に含まれている不揮発性論理ゲートを 否不揮発性論理ゲートを含む等価回路に置き換えて最適化された論理回路網に再構築する論理最適化処理を実行させる
ことを特徴とするプログラム。
【0085】
[付記14]
上記付記記載のプログラムにおいて、
入力されたテストベクトル情報と低電力ゲートライブラリとを参照して電力を最小化するように論理回路網の最適化を行う電力最適化処理を実行させ、
前記低電力ゲートライブラリは、少なくとも電源スイッチが付加された電源スイッチ付き不揮発性論理ゲートが不揮発性論理基本セルとして複数種類登録されており、付与されている前記電源スイッチのオン/オフの各々の状態における各電源スイッチ付き不揮発性論理ゲートの電力情報が記載されており、
前記電力最適化処理として、前記テストベクトル情報からレジスタ宣言された各々の信号に対して、その信号がデータ更新と参照されるそれぞれの回数と時間間隔を集計処理し、その集計結果から否不揮発性論理ゲートを用いた場合の消費電力と、電源スイッチ付不揮発性論理ゲートを用いた場合の消費電力とを比較することによって消費電力がより少ない論理ゲートを判定し、何れの論理ゲートを用いるかを決定するように動作させる
ことを特徴とするプログラム。
【0086】
[付記15]
上記付記記載のプログラムにおいて、
各不揮発性論理ゲートに関する前記不揮発性論理基本セルには、不揮発性素子にデータを書き込むストアイネーブル信号の端子と、不揮発性素子に記憶されるデータを読み出すリストアイネーブル信号の端子のいずれかを少なくとも含み、
不揮発信号に対応するストアイネーブル信号とリストアイネーブル信号が不揮発信号の指定情報内に含まれており、
前記論理合成処理として、前記不揮発性論理基本セルを用いて不揮発性論理ゲートを割り当てる際に、これら両イネーブル信号を不揮発信号の指定情報に基づいて結線させる
ことを特徴とするプログラム。
【0087】
[付記16]
上記付記記載のプログラムにおいて、
前記出力処理として、前記設計情報として、ハードウェア記述言語でレジスタ宣言された各々の信号に対して、不揮発性論理ゲートを用いる場合と否不揮発性論理ゲートを用いる場合のそれぞれの電力、面積、遅延情報をログとして出力させる
ことを特徴とするプログラム。
【0088】
[付記17]
上記付記記載のプログラムにおいて、
前記論理合成処理において合成された論理回路網に対して、不揮発性素子の保持論理値を示すストアデータ識別端子を有する仮想不揮発性論理ゲートを不揮発性論理ゲート あるいは その等価回路に置換するゲート置換処理を更に実行させ、
前記論理合成処理として、論理合成処理として、受け付けた前記回路構造について、仮想不揮発性論理ゲートに関する仮想不揮発性論理基本セルを含む仮想不揮発ゲートライブラリを参照対象に加えて、ハードウェア記述言語により記述された前記回路情報内でレジスタ宣言されている信号を含む回路構造部分に前記仮想不揮発性論理基本セルを割り当て処理させ、
前記ゲート置換処理として、ゲート置換処理として、合成された論理回路網に対して、入力された不揮発信号の指定情報と置換ルール情報とに基づいて、含まれていた前記仮想不揮発性論理ゲート各々を不揮発性論理ゲート あるいは その等価回路に置換させる
ことを特徴とするプログラム。
【0089】
[付記18]
上記付記記載のプログラムにおいて、
前記ゲート置換処理として、指定された不揮発信号が仮想不揮発性論理ゲートの入出力端子に接続される場合に当該仮想論理ゲートを不揮発性論理ゲートに置き換えさせる
ことを特徴とするプログラム。
【0090】
[付記19]
上記付記記載のプログラムにおいて、
前記ゲート置換処理として、論理真理値が変化しない範囲内で、指定された不揮発信号が仮想不揮発性論理ゲートの入出力端子に優先的に接続されるように、仮想不揮発性論理ゲートの不揮発性素子の保持論理値を示すストアデータ識別端子とそれ以外の端子を入れ替えさせる
ことを特徴とするプログラム。
【0091】
[付記20]
上記付記記載のプログラムにおいて、
前記コンピュータを、クラウド環境下で不揮発性論理回路を構築するサービスを提供させるように、動作させることを特徴とするプログラム。
【0092】
[付記21]
ハードウェア記述言語により記述された回路情報を受け付けて回路構造を解析処理し、
前記回路構造について、不揮発性素子を内蔵する不揮発性論理ゲート情報を含むライブラリと不揮発信号の指定情報とを参照して、前記指定情報が示した不揮発信号を含む回路構造部分に不揮発性論理ゲートを割り当て 他の回路構造部分に否不揮発性論理ゲートを割り当てたように論理合成処理し、
論理合成された否不揮発性論理基本セルと不揮発性論理基本セルとが混在する論理回路網を設計情報として出力する
ことを特徴とする情報処理システムによる不揮発性論理集積回路論理合成方法。