JPH02292673A - 回路変換方法及びその装置並びに論理合成装置と半導体装置製造装置との記憶媒体 - Google Patents
回路変換方法及びその装置並びに論理合成装置と半導体装置製造装置との記憶媒体Info
- Publication number
- JPH02292673A JPH02292673A JP1112155A JP11215589A JPH02292673A JP H02292673 A JPH02292673 A JP H02292673A JP 1112155 A JP1112155 A JP 1112155A JP 11215589 A JP11215589 A JP 11215589A JP H02292673 A JPH02292673 A JP H02292673A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic
- logic circuit
- conversion
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はLSI等を製造するときに論理回路をより小面
積化,高速化する論理回路に等価変換する回路変換方法
及びその装置に係り、特に、回路変換の高速処理を可能
にするに好適な回路変換方法及び装置に関する。
積化,高速化する論理回路に等価変換する回路変換方法
及びその装置に係り、特に、回路変換の高速処理を可能
にするに好適な回路変換方法及び装置に関する。
論理回路を組む場合、論理記述から真理値表を作成し、
次にプール代数により基本的な論理回路パターンを作る
。しかし、このプール代数レベルの論理回路をそのまま
半導体基板上に作成するには、その占有面積が広すぎて
回路動作も遅いという欠点がある。このため,プール代
数レベルの論理回路を等価変換して,より小面積で高速
動作可能な論理回路(以下,この論理回路をセルパター
ンという。)に変換する必要がある. 従来の回路変換技術では,プール代数レベルの大規模論
理回路パターンの接続情報(以下、ネットリストともい
う。)を解析し,木構造で表現される大規模論理回路を
構成する一部の論理回路の構造と記憶装置のセルライブ
ラリに格納されているセルパターンとの対応関係を取り
、変換できる論理回路は対応するセルパターンに変換し
、変換できない論理回路はそのまま変換せずに残すよう
にしている。
次にプール代数により基本的な論理回路パターンを作る
。しかし、このプール代数レベルの論理回路をそのまま
半導体基板上に作成するには、その占有面積が広すぎて
回路動作も遅いという欠点がある。このため,プール代
数レベルの論理回路を等価変換して,より小面積で高速
動作可能な論理回路(以下,この論理回路をセルパター
ンという。)に変換する必要がある. 従来の回路変換技術では,プール代数レベルの大規模論
理回路パターンの接続情報(以下、ネットリストともい
う。)を解析し,木構造で表現される大規模論理回路を
構成する一部の論理回路の構造と記憶装置のセルライブ
ラリに格納されているセルパターンとの対応関係を取り
、変換できる論理回路は対応するセルパターンに変換し
、変換できない論理回路はそのまま変換せずに残すよう
にしている。
なお、従来の回路変換技術に関連するものとして,特開
昭61−34674号や特開昭62−1071号等があ
る。
昭61−34674号や特開昭62−1071号等があ
る。
従来の回路変換技術では,プール代数レベルの論理回路
の論理構造の全てを解析して変換できるセルパターンが
有るか否かを判定している。つまり,変換できるセルパ
ターンの無い論理回路についてもその接続関係を全て解
析し,変換不可との結論を出している。回路規模が小さ
い場合には、このような処理方式でもよかったが、LS
I,VLSI等の様に回路規模が大きくなると,従来の
処理方式では変換処理の処理時間が膨大となり、実用上
問題となってくる。
の論理構造の全てを解析して変換できるセルパターンが
有るか否かを判定している。つまり,変換できるセルパ
ターンの無い論理回路についてもその接続関係を全て解
析し,変換不可との結論を出している。回路規模が小さ
い場合には、このような処理方式でもよかったが、LS
I,VLSI等の様に回路規模が大きくなると,従来の
処理方式では変換処理の処理時間が膨大となり、実用上
問題となってくる。
本発明の目的は、高速変換処理可能な回路変換方法及び
装置、並びにこの装置を備える論理合成装置と半導体装
置製造装置、並びに通常のコンピュータを前記論理合成
装置化する記憶媒体を提供することにある。
装置、並びにこの装置を備える論理合成装置と半導体装
置製造装置、並びに通常のコンピュータを前記論理合成
装置化する記憶媒体を提供することにある。
上記目的は、変換処理対象の論理回路パターンの接続情
報を解析し、ファンアウト数が1の論理回路を、あるい
はファンアウト数が2以上の論理回路をリストアップし
ておき,ファンアウト数が1の論理回路に対してのみ回
路変換処理を行い、ファンアウト数が2以上の論理回路
の回路変換処理はスキップさせることで、達成される。
報を解析し、ファンアウト数が1の論理回路を、あるい
はファンアウト数が2以上の論理回路をリストアップし
ておき,ファンアウト数が1の論理回路に対してのみ回
路変換処理を行い、ファンアウト数が2以上の論理回路
の回路変換処理はスキップさせることで、達成される。
半導体基板上に製造される実際の論理同路は、予め用意
されているセルパターンの組み合わせで成る。このセル
パターンは入力端子と出力端子を備えるが、セル中の任
意の箇所から接続端子を引き出すことはできない。回路
変換対象の論理回路の出力に分岐があり,ファンアウ1
へ数が2以上となる論理回路をセルパターンに変換する
には、セルの入出力端子以外の箇所から接続端子を引き
出す必要があるが,これができないため,出力に分岐の
ある論理回路はセルパターンに変換することができない
。従来の回路変換方式では、セルパターンに変換できな
い論理回路であるか否かを、その度毎にその論理回路の
接続情報を解析し判定していたので、処理速度の高速化
を図ることができなかった。しかし、本発明では、回路
変換処理前に変換できる論理回路であるか変換できない
論理回路であるかをリストアップしておいて,変換不可
の論理回路に対しては従来行っていた接続情報の解析処
理を不要としたので,変換処理の高速化が可能になる。
されているセルパターンの組み合わせで成る。このセル
パターンは入力端子と出力端子を備えるが、セル中の任
意の箇所から接続端子を引き出すことはできない。回路
変換対象の論理回路の出力に分岐があり,ファンアウ1
へ数が2以上となる論理回路をセルパターンに変換する
には、セルの入出力端子以外の箇所から接続端子を引き
出す必要があるが,これができないため,出力に分岐の
ある論理回路はセルパターンに変換することができない
。従来の回路変換方式では、セルパターンに変換できな
い論理回路であるか否かを、その度毎にその論理回路の
接続情報を解析し判定していたので、処理速度の高速化
を図ることができなかった。しかし、本発明では、回路
変換処理前に変換できる論理回路であるか変換できない
論理回路であるかをリストアップしておいて,変換不可
の論理回路に対しては従来行っていた接続情報の解析処
理を不要としたので,変換処理の高速化が可能になる。
以下、本発明の一実施例を図面を参照して説明する。
第1図は、本発明の一実施例に係る半導体装置製造装置
の機能構成図である。この半導体装lπ製造装置1は,
中央処理装置(CPU),主メモリ,ディスプレイ装置
,キーボード等の入力装置,補助記憶装置等で成る通常
のコンピュータを論理合成装置2とし,これでマスク作
成装置3等を制御して、LSI等の半導体装置を製造す
るものである。論理合成装置2は、キーボードやマウス
等の入力装置から入力された論理記述を取り込む論理記
述入力手段4と、該論理記述から真理値表を作成する真
理値表作成手段5と、該真理値表からプール代数レベル
の論理回路を合成する論理回路合成手段6と、回路変換
装置7とを備えて成り、記憶媒体8に格納された変換ル
ールを使用し回路変換装置7で変換した回路パターンを
マスク作成装置3に出力する様になっている。
の機能構成図である。この半導体装lπ製造装置1は,
中央処理装置(CPU),主メモリ,ディスプレイ装置
,キーボード等の入力装置,補助記憶装置等で成る通常
のコンピュータを論理合成装置2とし,これでマスク作
成装置3等を制御して、LSI等の半導体装置を製造す
るものである。論理合成装置2は、キーボードやマウス
等の入力装置から入力された論理記述を取り込む論理記
述入力手段4と、該論理記述から真理値表を作成する真
理値表作成手段5と、該真理値表からプール代数レベル
の論理回路を合成する論理回路合成手段6と、回路変換
装置7とを備えて成り、記憶媒体8に格納された変換ル
ールを使用し回路変換装置7で変換した回路パターンを
マスク作成装置3に出力する様になっている。
第2図は、回路変換装ti 7の構成図である。回路変
換装置7は、論理回路合成手段6から入力されるプール
代数レベルの論理回路のネットリストを求め格納するネ
ットリスト記憶部10と、該記憶部10の格納データを
解析しネットリストの各節点(論理回路の出力点)の分
岐状態を判定する分岐接続節点検出部11と,分岐接続
のない節点と分岐接続のある節点とを区別してそのリス
トを格納すると共に分岐接続のある節点はその分岐数(
ファンアウト数)も合わせて格納する分岐接続節点記憶
部12と、記憶媒体8に格納されている等価変換ルール
をνlみ出して格納すると共にセルライブラリを備える
変換ルール記憶部13と、該交換ルールとセルライブラ
リ中のセルパターン特性データを使用してプール代数レ
ベルの論理回路を変換してマスク作成装置3に出力する
等価変換ルール適用部14とから成る。前記セルライブ
ラリには、各種セルパターンの取り得る最大のファンア
ウト数,各セルパターンの遅延時間及び入出力ビンの定
義データ,各セルパターンの入出力間の論理関数などの
データが格納されている。
換装置7は、論理回路合成手段6から入力されるプール
代数レベルの論理回路のネットリストを求め格納するネ
ットリスト記憶部10と、該記憶部10の格納データを
解析しネットリストの各節点(論理回路の出力点)の分
岐状態を判定する分岐接続節点検出部11と,分岐接続
のない節点と分岐接続のある節点とを区別してそのリス
トを格納すると共に分岐接続のある節点はその分岐数(
ファンアウト数)も合わせて格納する分岐接続節点記憶
部12と、記憶媒体8に格納されている等価変換ルール
をνlみ出して格納すると共にセルライブラリを備える
変換ルール記憶部13と、該交換ルールとセルライブラ
リ中のセルパターン特性データを使用してプール代数レ
ベルの論理回路を変換してマスク作成装置3に出力する
等価変換ルール適用部14とから成る。前記セルライブ
ラリには、各種セルパターンの取り得る最大のファンア
ウト数,各セルパターンの遅延時間及び入出力ビンの定
義データ,各セルパターンの入出力間の論理関数などの
データが格納されている。
次に、回路変換装置7が行う実際の処理手順を具体的な
例をもって説明する。ここでは、第3図に示すプール代
数レベルの論理回路を,第4図に示す論理回路に等価変
換する場合について説明する。変換前の論理回路は,ナ
ンド回路20, 21, 22,23, 24. 25
とノア回路26で成る。信号sl,s2がナンド回路2
0に入力して該回路20から信号s3が出力され、信号
s4,s5がナンド回路21に入力して該回路21から
信号s6が出力され、信号s8,s9がナンド回路22
に入力して該回路22から信号sloが出力され、信号
sll, sl2がナンド回路23に入力されて該回路
23から信号sl3が出力される。
例をもって説明する。ここでは、第3図に示すプール代
数レベルの論理回路を,第4図に示す論理回路に等価変
換する場合について説明する。変換前の論理回路は,ナ
ンド回路20, 21, 22,23, 24. 25
とノア回路26で成る。信号sl,s2がナンド回路2
0に入力して該回路20から信号s3が出力され、信号
s4,s5がナンド回路21に入力して該回路21から
信号s6が出力され、信号s8,s9がナンド回路22
に入力して該回路22から信号sloが出力され、信号
sll, sl2がナンド回路23に入力されて該回路
23から信号sl3が出力される。
そして、信号s3,s6がナンド回路24に入力されて
該回路24から信号s7が出力され、信号s10,sl
3がナンド回路25に入力されて該回路25から信号s
l4が出力され、信号s 13, s 15がナンド回
路26に入力されて該回路26から信号sl6が出力さ
れる。つまり,この論理同路では、ナンド回路23のフ
ァンアウト数が“2″となり,信号sl3が2つのナン
ド回路25, 26に入力される。
該回路24から信号s7が出力され、信号s10,sl
3がナンド回路25に入力されて該回路25から信号s
l4が出力され、信号s 13, s 15がナンド回
路26に入力されて該回路26から信号sl6が出力さ
れる。つまり,この論理同路では、ナンド回路23のフ
ァンアウト数が“2″となり,信号sl3が2つのナン
ド回路25, 26に入力される。
第3図に示す論理回路の一段目の論理回路、つまりナン
ド回路20〜23を小面積で動作速度の速いセルパター
ンに回路変換するのであるが、ナンド回路23はその出
力が分岐しているので、該回路23は回路変換できない
。従って、ナンド回路20〜22を夫々第4図に示す様
に2つのノット回路と1つのオア回路に変換し、ナンド
回路23の回路変換処理はスキップさせることになる。
ド回路20〜23を小面積で動作速度の速いセルパター
ンに回路変換するのであるが、ナンド回路23はその出
力が分岐しているので、該回路23は回路変換できない
。従って、ナンド回路20〜22を夫々第4図に示す様
に2つのノット回路と1つのオア回路に変換し、ナンド
回路23の回路変換処理はスキップさせることになる。
以下、この処理手順を順に説明する。尚、ノット回路2
7〜32の出力信号を順にel, e2, e3,e4
,e9,elOとする。
7〜32の出力信号を順にel, e2, e3,e4
,e9,elOとする。
第5図は,回路変換装置7の分岐接続節点検出部11の
処理手順を示すフローチャートである,先ず、ステップ
1にて,ネットリストポインタinに“1”をセットす
る。第3図に示す論理回路のネットリストを第6図に示
す。このネットリストは,番号と論理回路素子の種類と
入力信号及び出力信号とをリストにしたものである。番
号1〜7の論理素子は、夫々第3図の回路20, 21
, 24, 22,23, 25. 26に対応する。
処理手順を示すフローチャートである,先ず、ステップ
1にて,ネットリストポインタinに“1”をセットす
る。第3図に示す論理回路のネットリストを第6図に示
す。このネットリストは,番号と論理回路素子の種類と
入力信号及び出力信号とをリストにしたものである。番
号1〜7の論理素子は、夫々第3図の回路20, 21
, 24, 22,23, 25. 26に対応する。
fJS5図のステップ2では,ポインタで指定されるネ
ットを第6図のネッ1・リストから取り出す。
ットを第6図のネッ1・リストから取り出す。
今、in=1であるので、
nand, sl, s2’.s3が取り出される
。
。
ステップ3では,このネットの出力信号名を変数N o
utに記入する。今の場合、 Nout=s3 となる。
utに記入する。今の場合、 Nout=s3 となる。
ステップ4では分岐接続数カウンタjcの内容を゛′0
″とし、次にステップ5で、変数Noutが示す出力信
号名を入力信号とするネットを第6図のネットリストを
検索する。今の場合、信号S3を入力信号として持つ番
号3のネットが検索されるので、ステップ6のネット有
無の判定が′゛有″となり、ステップ7に進む。
″とし、次にステップ5で、変数Noutが示す出力信
号名を入力信号とするネットを第6図のネットリストを
検索する。今の場合、信号S3を入力信号として持つ番
号3のネットが検索されるので、ステップ6のネット有
無の判定が′゛有″となり、ステップ7に進む。
ステップ7では前記カウンタicの内容に値1を加算し
、次のステップ8でカウンタicの内容が″2”である
か否かを判定する。つまり、この判定が、当該ネットの
節点が分岐節点であるか否かを判定する処理である。
、次のステップ8でカウンタicの内容が″2”である
か否かを判定する。つまり、この判定が、当該ネットの
節点が分岐節点であるか否かを判定する処理である。
今の場合、カウンタicの値はLL I I1であるの
で、ステップ8からステップ5に戻り,再び信号名s3
を入力信号とするネットが有るか否かを検索する。そし
て、ステップ6での判定ではネットが無い(前に検索し
た番号3のネット以外に。)ので、ステップ6からステ
ップ10に進む。
で、ステップ8からステップ5に戻り,再び信号名s3
を入力信号とするネットが有るか否かを検索する。そし
て、ステップ6での判定ではネットが無い(前に検索し
た番号3のネット以外に。)ので、ステップ6からステ
ップ10に進む。
このステップ10では、ネットリストポインタi nに
111′″を加算する。今の場合、ポインタ1nは11
2 F+となる。そして、次のステップ11ではこの
ポインタinの値とネット総数INmax(第6図の例
ではINmax=7)とを比較し、i n> I N
max が成立する場合にはこの分岐接続節点検出処理を終了し
、成立しない場合ステップ2に戻る。
111′″を加算する。今の場合、ポインタ1nは11
2 F+となる。そして、次のステップ11ではこの
ポインタinの値とネット総数INmax(第6図の例
ではINmax=7)とを比較し、i n> I N
max が成立する場合にはこの分岐接続節点検出処理を終了し
、成立しない場合ステップ2に戻る。
以上の一連の処理を、全ネットについて実行していくの
である。この処理において、ポインタinの値が“4″
までのネットは出力信号が分岐されていないことが判明
する。つまり、それまでの処理ではステップ8からステ
ップ5に戻り、ステップ9には進まない。
である。この処理において、ポインタinの値が“4″
までのネットは出力信号が分岐されていないことが判明
する。つまり、それまでの処理ではステップ8からステ
ップ5に戻り、ステップ9には進まない。
ポインタinの値が“5”となったときの処理において
、ステップ2では nand, sll, sl2; si3が取り
出される。そして,ステップ5では,信号名sl3の入
力信号を持つネットを探索し、先ず番号6のネットが求
まりステップ6,7,8.5と進み,再びステップ5に
ての探索で、番号7のネットが求まる.従って,ステッ
プ6からステップ7に進んでカウントicの内容に“1
”が加算されて1′2”となる。従って,ステップ8の
判定結果によりステップ9に進み、その信号sl3の節
点は分岐節点であることを分岐接続節点記憶部l2(第
2図)に格納する。例えば、第7図に示すような分岐接
続リスト中に branch ( s 13) というデータを格納する. 本実施例では、上述して作成した分岐接続リストを使用
して回路変換を行うのであるが,先ず,回路変換ルール
について第8図を参照して説明する. 記憶媒体8から変換ルール記憶部13に移された回路変
換ルールは,if〜,then〜形式で記述されている
。if部分の記述が等価変換の条件記述である。ここで
、「傘」が付加される変数は任意の節点名である.また
、if部分のr unique(節点名)」という記述
は、()内に示される名称(引き数)の節点に分岐接続
が無いという条件を満たすか否かを判定する関数である
。
、ステップ2では nand, sll, sl2; si3が取り
出される。そして,ステップ5では,信号名sl3の入
力信号を持つネットを探索し、先ず番号6のネットが求
まりステップ6,7,8.5と進み,再びステップ5に
ての探索で、番号7のネットが求まる.従って,ステッ
プ6からステップ7に進んでカウントicの内容に“1
”が加算されて1′2”となる。従って,ステップ8の
判定結果によりステップ9に進み、その信号sl3の節
点は分岐節点であることを分岐接続節点記憶部l2(第
2図)に格納する。例えば、第7図に示すような分岐接
続リスト中に branch ( s 13) というデータを格納する. 本実施例では、上述して作成した分岐接続リストを使用
して回路変換を行うのであるが,先ず,回路変換ルール
について第8図を参照して説明する. 記憶媒体8から変換ルール記憶部13に移された回路変
換ルールは,if〜,then〜形式で記述されている
。if部分の記述が等価変換の条件記述である。ここで
、「傘」が付加される変数は任意の節点名である.また
、if部分のr unique(節点名)」という記述
は、()内に示される名称(引き数)の節点に分岐接続
が無いという条件を満たすか否かを判定する関数である
。
この回路変換ルールの実行の仕方は、条件が満足された
とき、つまり、if部分と第6図とのパターンマッチン
グを行い一致した論理回路が求まったとき、当該部分の
ネットリストをthen部分のネットリストに書き換え
ることで行う。このthen部分のネットリストが、前
述したセルパターンに該当する。
とき、つまり、if部分と第6図とのパターンマッチン
グを行い一致した論理回路が求まったとき、当該部分の
ネットリストをthen部分のネットリストに書き換え
ることで行う。このthen部分のネットリストが、前
述したセルパターンに該当する。
次に、回路変換処理手順を第9図のフローチャートを参
照して説明する. 先ず、ステップ20で,ルールポインタirに6′1”
をセットする。ステップ21では,ルールポインタir
で指定されるルールを取り出す。今の場合,第8図のr
ule 1が取り出される.ルールポインクirが指定
するルールが存在したので、ステップ22からステップ
23に進み、上述したパターンマッチングを行う。ru
le 1の条件部のネットリストは nand,ml, 傘2; 串3 nand, 傘4,−5;申6 nand, 傘3,傘6;*7 であり,これと一致する第6図のネットリストはnan
d, sl, s2; s3nand, s4
, s5; s6nand, s3, s6;
s7である。つまり、変数申1〜傘6には順に信号
名s1〜s6が記入される。
照して説明する. 先ず、ステップ20で,ルールポインタirに6′1”
をセットする。ステップ21では,ルールポインタir
で指定されるルールを取り出す。今の場合,第8図のr
ule 1が取り出される.ルールポインクirが指定
するルールが存在したので、ステップ22からステップ
23に進み、上述したパターンマッチングを行う。ru
le 1の条件部のネットリストは nand,ml, 傘2; 串3 nand, 傘4,−5;申6 nand, 傘3,傘6;*7 であり,これと一致する第6図のネットリストはnan
d, sl, s2; s3nand, s4
, s5; s6nand, s3, s6;
s7である。つまり、変数申1〜傘6には順に信号
名s1〜s6が記入される。
ステップ24の判定では,パターンマッチングが成功し
たのでステップ25に進み, unique関数の計算
を行う。ステップ24の判定でパターンマッチング不成
立の場合にはステップ29に進んでルールポインタir
に1′1”加算してステップ2lに戻る。
たのでステップ25に進み, unique関数の計算
を行う。ステップ24の判定でパターンマッチング不成
立の場合にはステップ29に進んでルールポインタir
に1′1”加算してステップ2lに戻る。
次に、unique関数の計算手順を、第10図で説明
する。本実施例でのunique関数の計算は、関数の
引き数で示される節点が分岐接続されているか否かを判
定するだけである。先ず、ステップ30にて、uniq
ue関数の数、つまりunique記述の総行数を数え
、その数値を変数iumaxに代入する。いまの場合、
第9図のステップ21で取り出されたルールが第8図に
示すrule 1のため,iumaxにはそのuniq
ua関数の数11 2 1+が代入される。
する。本実施例でのunique関数の計算は、関数の
引き数で示される節点が分岐接続されているか否かを判
定するだけである。先ず、ステップ30にて、uniq
ue関数の数、つまりunique記述の総行数を数え
、その数値を変数iumaxに代入する。いまの場合、
第9図のステップ21で取り出されたルールが第8図に
示すrule 1のため,iumaxにはそのuniq
ua関数の数11 2 1+が代入される。
次のステップ31でuniqueポインタiuに“0”
をセットし,ステップ32で、該当するunique記
述の該当する節点を取り出す。今の場合、先ず節点s3
が取り出される。次にこの節点S3が分岐接続節点であ
るか否かを判定するのであるが(ステップ33)、これ
は、第7図で説明した分岐接続節点記憶部12 (第2
図)を検索することで行う。この分岐接続節点記憶部1
2内には、branch ( s 13) L/か無い
ので節点s3は分岐節点では無いと判定され、ステップ
35に進む。
をセットし,ステップ32で、該当するunique記
述の該当する節点を取り出す。今の場合、先ず節点s3
が取り出される。次にこの節点S3が分岐接続節点であ
るか否かを判定するのであるが(ステップ33)、これ
は、第7図で説明した分岐接続節点記憶部12 (第2
図)を検索することで行う。この分岐接続節点記憶部1
2内には、branch ( s 13) L/か無い
ので節点s3は分岐節点では無いと判定され、ステップ
35に進む。
このステップ35では、uniqueポインタiuに値
“1″を加算し,ポインタiu値を“2”とする。
“1″を加算し,ポインタiu値を“2”とする。
次のステップ35では、このポインタiu値とステップ
30で求めたiumax値との比較を行い、ポインタi
u値がiumax値以下の場合にはステップ32に戻り
、ポインタiu値がiu!!lax値を越える場合には
本処理を終了する。
30で求めたiumax値との比較を行い、ポインタi
u値がiumax値以下の場合にはステップ32に戻り
、ポインタiu値がiu!!lax値を越える場合には
本処理を終了する。
この例の場合、iu=iumaxであるので、ステップ
36からステップ32に戻り、unique記述の節点
を取り出す。i u=2であるので、2行目のuniq
ue記述の節点s6が取り出される。節点s6は分岐節
点ではないのでステップ33からステップ35,36と
進む。そしてi u=3となり、iu≦iumaxが成
立しなくなるので、ステップ37に進んで処理を終了す
る。この場合、第9図のステップ26の判定結果がOK
となるので,ステップ26からステップ27に進み、ル
ール1 (第8図)の実行つまりルール1のif部分の
ネットリストとマッチングするネットリストをthen
部分のネットリストに書:き換える。
36からステップ32に戻り、unique記述の節点
を取り出す。i u=2であるので、2行目のuniq
ue記述の節点s6が取り出される。節点s6は分岐節
点ではないのでステップ33からステップ35,36と
進む。そしてi u=3となり、iu≦iumaxが成
立しなくなるので、ステップ37に進んで処理を終了す
る。この場合、第9図のステップ26の判定結果がOK
となるので,ステップ26からステップ27に進み、ル
ール1 (第8図)の実行つまりルール1のif部分の
ネットリストとマッチングするネットリストをthen
部分のネットリストに書:き換える。
以下、第11図を使用してこのネットリストの書き換え
手順を説明する。
手順を説明する。
先ず、第11図のステップ41で、該当するルールのi
f部分にマッチしたネットリストをネットリスト記憶部
10(第2図)内から削除する6今の場合、 nand, sl, s2; s3nand,
s4, s5; s6nand, s3,
s6; s7が削除される。
f部分にマッチしたネットリストをネットリスト記憶部
10(第2図)内から削除する6今の場合、 nand, sl, s2; s3nand,
s4, s5; s6nand, s3,
s6; s7が削除される。
次のステップ42では,該当するルールのthen以降
の記述にマッチした節点名を変数申〜に代入し、次のス
テップ43では、中間節点名を生成しこれらを中間節点
変数$n〜に逐次割り当てる。この場合、中間節点名と
しては、el,e2,e3,e4が生成される。従って
、ネットリストは or or nand,el,e2,e3,c
4; s7not,sl;el not,s2;e2 not,s4; e3 not,s5; e4 となり、これが、ネットリスト記憶部10に追加して格
納される(ステップ44)。この結果,記憶部には初め
第6図のネットリストが格納されていたが,この書き換
えにより、最初の3行が削除され、第12図に示す様に
なる。
の記述にマッチした節点名を変数申〜に代入し、次のス
テップ43では、中間節点名を生成しこれらを中間節点
変数$n〜に逐次割り当てる。この場合、中間節点名と
しては、el,e2,e3,e4が生成される。従って
、ネットリストは or or nand,el,e2,e3,c
4; s7not,sl;el not,s2;e2 not,s4; e3 not,s5; e4 となり、これが、ネットリスト記憶部10に追加して格
納される(ステップ44)。この結果,記憶部には初め
第6図のネットリストが格納されていたが,この書き換
えにより、最初の3行が削除され、第12図に示す様に
なる。
第9図のステップ27によるネットリストの書き換え後
は,ステップ20に戻り、ルールポインタirに“1″
をセットする。従って,今回のステップ21でも再びル
ール1が取り出され,ステップ23で再びルール1の条
件部(if部分)のマッチングを行う。今回のマッチン
グ処理では,第12図の第1行から第3行までがマッチ
することにある。
は,ステップ20に戻り、ルールポインタirに“1″
をセットする。従って,今回のステップ21でも再びル
ール1が取り出され,ステップ23で再びルール1の条
件部(if部分)のマッチングを行う。今回のマッチン
グ処理では,第12図の第1行から第3行までがマッチ
することにある。
つまり,変数傘1〜本7までは順に88〜sl4が代入
される。そして、今回のステップ25におけるuniq
ue関数の計算手順では、第10図のステップ32にて
先ず節点sloが取り出される。この節点slOは分岐
節点ではないので(第7図の分岐接続節点記憶部12に
はbranch(sl3) L/か無いので)、uni
queポインタiuにII 1 71を加算して次のス
テップ36に進む。ここではまだiu=2のためiu=
iumaxが成立して、ステップ32に戻る。
される。そして、今回のステップ25におけるuniq
ue関数の計算手順では、第10図のステップ32にて
先ず節点sloが取り出される。この節点slOは分岐
節点ではないので(第7図の分岐接続節点記憶部12に
はbranch(sl3) L/か無いので)、uni
queポインタiuにII 1 71を加算して次のス
テップ36に進む。ここではまだiu=2のためiu=
iumaxが成立して、ステップ32に戻る。
このステップ32では、次のunique記述の該当す
る節点を取り出す。この場合、節点sl3が取り出され
る。この節点sl3は分岐接続節点であるので,ステッ
プ33からステップ34に進み,回路変換不可と判定し
て本処理を終了する6この結果、第9図のステップ26
からステップ28に進み、ルールポインタirの値を“
1”加算してステップ21に戻る。
る節点を取り出す。この場合、節点sl3が取り出され
る。この節点sl3は分岐接続節点であるので,ステッ
プ33からステップ34に進み,回路変換不可と判定し
て本処理を終了する6この結果、第9図のステップ26
からステップ28に進み、ルールポインタirの値を“
1”加算してステップ21に戻る。
このステップ21により第8図のルール2が取り出され
、ステップ22からステップ23に進んで,ネットリス
ト条件部と第12図のネットリストとのパターンマッチ
ングを行う。
、ステップ22からステップ23に進んで,ネットリス
ト条件部と第12図のネットリストとのパターンマッチ
ングを行う。
第12図のネットリストのうち
nand,s8,s9;slo (第1行目)n a
nd, slO, sl.3; sl4 (第3行
目)部分がルール2の条件部 nand, $1, $2; 傘3n a xi
d , −3,$4; 串5にマッチングする。従っ
て,上述と同様の処理を行うことで、unique (
s 10)の計算が終了し、第12図の第1行目と第
3行目が削除され,新たなネット or nand, e9, elO, s
l3; sl4not, s8;e9 not, s9; elo が追加され、第13図の様になる。以後、この例ではル
ールの適用に失敗し(回路変換不可となって)、本処理
を全て終了する. 本実施例によれば、回路変換処理における分岐接続の有
無を前もって調べ記憶しておくので,回路変換処理の高
速化を図ることができる。
nd, slO, sl.3; sl4 (第3行
目)部分がルール2の条件部 nand, $1, $2; 傘3n a xi
d , −3,$4; 串5にマッチングする。従っ
て,上述と同様の処理を行うことで、unique (
s 10)の計算が終了し、第12図の第1行目と第
3行目が削除され,新たなネット or nand, e9, elO, s
l3; sl4not, s8;e9 not, s9; elo が追加され、第13図の様になる。以後、この例ではル
ールの適用に失敗し(回路変換不可となって)、本処理
を全て終了する. 本実施例によれば、回路変換処理における分岐接続の有
無を前もって調べ記憶しておくので,回路変換処理の高
速化を図ることができる。
1つの等価変換ルールが適用される場合、従来の方法で
の回路変換処理時間Tは、以下の様に与えられる. T=ネットリスト条件部のマッチング時間+ uniq
ue関数の計算時間 =ネットリスト条件部のマッチング時間+K串to ここで,K :ネットリスト総数 tQ:1ネット当りの分岐 接続有無の判定時間 通常,ネットリスト内で分岐接続を持つ節点は節点総数
の数%にすぎない。
の回路変換処理時間Tは、以下の様に与えられる. T=ネットリスト条件部のマッチング時間+ uniq
ue関数の計算時間 =ネットリスト条件部のマッチング時間+K串to ここで,K :ネットリスト総数 tQ:1ネット当りの分岐 接続有無の判定時間 通常,ネットリスト内で分岐接続を持つ節点は節点総数
の数%にすぎない。
従って,本実施例によれば、
T=ネットリスト条件部のマッチング時間+α拳K串t
o ここで、α=o (10−”)つまり10−2オーダの
値となる。つまり、T=ネットリスト条件部のマッチン
グ時間とみなせるようになる.例えば100ゲート規模
のネットリストを用いた実験では、従来手法に比べて、
2〜3倍の高速処理が可能になる。
o ここで、α=o (10−”)つまり10−2オーダの
値となる。つまり、T=ネットリスト条件部のマッチン
グ時間とみなせるようになる.例えば100ゲート規模
のネットリストを用いた実験では、従来手法に比べて、
2〜3倍の高速処理が可能になる。
尚、上述した回路変換装置は、接続情報を解析して得た
分岐の有無のみでなく,分岐の本数つまりファンアウ1
へ数も記憶しておくことで、該ファンアウト数がセルラ
イブラリ中に格納されている当該論理回路の最適ファン
アウト数データを越えていると容易に判断でき、該論理
回路と同じ論理回路を追加してファンアウト数を調整す
る処理を亮速に行う。
分岐の有無のみでなく,分岐の本数つまりファンアウ1
へ数も記憶しておくことで、該ファンアウト数がセルラ
イブラリ中に格納されている当該論理回路の最適ファン
アウト数データを越えていると容易に判断でき、該論理
回路と同じ論理回路を追加してファンアウト数を調整す
る処理を亮速に行う。
本発明によれば、回路変換処理速度が速くなるという効
果がある。
果がある。
第1図は本発明の一実施例の半導体製造装置の機能構成
図、第2図は第1図に示す論理合成装置のうちの回路変
換装置の構成図、第3図は回路変換前のプール代数レベ
ルの論理回路の一構成図、第4図は第3図に示す論理回
路のうち変換可能な論理回路をセルパターンに変換した
後の論理回路の構成図、第5図は分岐接続節点検出処理
の一実施例に係る処理手順を示すフローチャート、第6
図は第3図に示す論理回路のネットリストの構成図、第
7図は分岐接続節点リストの一例を示す構成図、第8図
は回路変換ルールの一例を示す説明図、第9図は回路変
換処理の一実施例に係る処理手順を示すフローチャート
、第10図は第9図の処理手順のうちのunique関
数計算処理手順を示すフローチャート、第11図は変換
回路ネットリスト書き換え手順を示すフローチャート、
第12図は変換途中のネットリストの構成図,第13図
は変換後のネットリストの構成図である。 1・・・半導体製造装置、2・・・論理合成装置,3・
・・マスク作成装置、4・・・論理記述入力手段、5・
・・真理値表作成手段、6・・・論理合成手段、7・・
・回路変換装置、8・・・記憶媒体、10・・・ネット
リスト記憶部、1l・・・分岐接続節点検出部,12・
・・分岐接続節点記憶部、13・・・変換ルール記憶部
、l4・・・等価変換ルール適用部。
図、第2図は第1図に示す論理合成装置のうちの回路変
換装置の構成図、第3図は回路変換前のプール代数レベ
ルの論理回路の一構成図、第4図は第3図に示す論理回
路のうち変換可能な論理回路をセルパターンに変換した
後の論理回路の構成図、第5図は分岐接続節点検出処理
の一実施例に係る処理手順を示すフローチャート、第6
図は第3図に示す論理回路のネットリストの構成図、第
7図は分岐接続節点リストの一例を示す構成図、第8図
は回路変換ルールの一例を示す説明図、第9図は回路変
換処理の一実施例に係る処理手順を示すフローチャート
、第10図は第9図の処理手順のうちのunique関
数計算処理手順を示すフローチャート、第11図は変換
回路ネットリスト書き換え手順を示すフローチャート、
第12図は変換途中のネットリストの構成図,第13図
は変換後のネットリストの構成図である。 1・・・半導体製造装置、2・・・論理合成装置,3・
・・マスク作成装置、4・・・論理記述入力手段、5・
・・真理値表作成手段、6・・・論理合成手段、7・・
・回路変換装置、8・・・記憶媒体、10・・・ネット
リスト記憶部、1l・・・分岐接続節点検出部,12・
・・分岐接続節点記憶部、13・・・変換ルール記憶部
、l4・・・等価変換ルール適用部。
Claims (1)
- 【特許請求の範囲】 1、プール代数レベルの論理回路パターンを、回路特性
の良い回路パターンに等価変換する回路変換方法におい
て、前記論理回路パターンを構成する各論理回路の接続
情報を解析し、前もって出力端子が複数の他の論理回路
の入力端子に接続される論理回路を求めておき、該論理
回路以外の論理回路のみに対し前記変換を施すことを特
徴とする回路変換方法。 2、論理回路パターンをより回路特性の優れた論理回路
パターンに等価変換する回路変換方法において、前もっ
てファンアウト数が2以上の論理回路をリストアップし
ておき、論理回路パターンを構成する各論理回路のうち
ファンアウト数が複数の論理回路以外の論理回路のみに
対し前記等価変換を施すことを特徴とする回路変換方法
。 3、論理回路パターンをより回路特性の優れた論理回路
パターンに等価変換する回路変換方法において、変換処
理前にファンアウト数が1の論理回路をリストアップし
ておき、論理回路パターンを構成する各論理回路のうち
ファンアウト数が1の論理回路のみに対し前記等価変換
を施すことを特徴とする回路変換方法。 4、入力された論理回路パターンを該論理回路より回路
特性の優れた回路パターンに等価変換して出力する回路
変換装置において、変換処理前に論理回路パターンの接
続情報を解析して得たファンアウト数が1の論理回路を
検出しリストアップしておく記憶手段と、該記憶手段に
リストアップされている論理回路のみに対し前記等価変
換を施す回路変換手段とを備えることを特徴とする回路
変換装置。 5、入力された論理回路パターンを該論理回路より回路
特性の優れた回路パターンに等価変換して出力する回路
変換装置において、論理回路の接続情報を解析して得た
ファンアウト数が複数ある論理回路をリストアップして
おく記憶手段と、該記憶手段にリストアップされている
論理回路以外の論理回路に対してのみ前記等価変換を施
す回路変換手段とを備えることを特徴とする回路変換装
置。 6、論理回路を該論理回路より回路特性の優れた回路パ
ターンに等価変換する変換ルールを論理回路対応に格納
した第1記憶手段と、入力された論理回路の接続情報を
解析して得たファンアウト数が1の論理回路をリストア
ップしておく第2記憶手段と、該第2記憶手段にリスト
アップされた論理回路と前記第1記憶手段に格納されて
いる論理回路とのパターンマッチングを行うマッチング
手段と、該マッチング手段で一致したと判定された論理
回路を対応する前記変換ルールで変換し出力する回路変
換手段とを備えて成ることを特徴とする回路変換装置。 7、論理回路を該論理回路より回路特性の優れた回路パ
ターンに等価変換する変換ルールを論理回路の種類及び
接続状態対応に格納した記憶手段と、入力された論理回
路パターンを構成する各論理回路パターンと前記記憶手
段に格納されている論理回路のパターンとのパターンマ
ッチングを行い一致した論理回路を対応する前記変換ル
ールで変換し出力する回路変換手段とを備える回路変換
装置において、入力された論理回路の接続情報を解析し
てファンアウト数が複数ある論理回路を変換処理前に全
て検出しておく検出手段と、該検出手段が検出した論理
回路での前記回路変換手段の実行を飛び越させる手段と
を備えることを特徴とする回路変換装置。 8、請求項4乃至請求項7のいずれかに記載の回路変換
装置は、更に、論理回路の接続情報を解析してファンア
ウト数が当該論理回路の特性データに基づく最適数を越
えると判断した場合には該論理回路と同じ論理回路を追
加してファンアウトの割り当て調整する手段とを備える
ことを特徴とする回路変換装置。 9、論理記述を入力する入力装置と、入力された論理記
述に基づく論理回路パターンを作成する論理合成手段と
、該論理合成手段で作成した論理回路パターンを入力デ
ータとする請求項4乃至請求項8のいずれかに記載の回
路変換装置とを備えることを特徴とする論理合成装置。 10、回路パターンに対するマスクパターンを作成する
マスク作成装置と、該マスク作成装置で作成されたマス
クを使用して半導体基板上に半導体装置を製造する装置
とを備える半導体製造装置において、前記回路パターン
を出力する請求項9記載の論理合成装置を備えることを
特徴とする半導体装置製造装置。 11、論理回路を該論理回路より回路特性の優れた論理
回路に等価変換する変換ルールが論理回路対応に格納さ
れ該格納データがコンピュータに読み込まれることで該
コンピュータを論理合成装置化する記憶媒体であって、
回路変換処理前に論理回路パターンの接続情報を解析し
てファンアウト数が1の論理回路を記憶装置内にリスト
アップする命令と、リストアップされた論理回路に対し
てのみ回路変換処理を実行させる命令とが格納されコン
ピュータを請求項9記載の論理合成装置化することを特
徴とする記憶媒体。 12、論理回路を該論理回路より回路特性の優れた論理
回路に等価変換する変換ルールが論理回路の種類及び接
続状態対応に格納され該格納データがコンピュータに読
み込まれることで該コンピュータを論理合成装置化する
記憶媒体であって、回路変換処理前に論理回路パターン
の接続関係を解析しファンアウト数が2以上ある論理回
路を記憶装置内に格納する命令と、該記憶装置に格納さ
れた論理回路に対する回路変換処理をスキップさせる命
令とが格納され、コンピュータを請求項9記載の論理合
成装置化することを特徴とする記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1112155A JPH02292673A (ja) | 1989-05-02 | 1989-05-02 | 回路変換方法及びその装置並びに論理合成装置と半導体装置製造装置との記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1112155A JPH02292673A (ja) | 1989-05-02 | 1989-05-02 | 回路変換方法及びその装置並びに論理合成装置と半導体装置製造装置との記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02292673A true JPH02292673A (ja) | 1990-12-04 |
Family
ID=14579609
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1112155A Pending JPH02292673A (ja) | 1989-05-02 | 1989-05-02 | 回路変換方法及びその装置並びに論理合成装置と半導体装置製造装置との記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02292673A (ja) |
-
1989
- 1989-05-02 JP JP1112155A patent/JPH02292673A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102674709B1 (ko) | 회로 스텐실들의 발생 및 인스턴스화를 이용한 집적 회로 설계 | |
| US7805694B2 (en) | Apparatus and method to facilitate hierarchical netlist checking | |
| US5197016A (en) | Integrated silicon-software compiler | |
| JP3175322B2 (ja) | 論理自動生成方法 | |
| GB2213967A (en) | Knowledge based method and apparatus for designing integrated circuits using functional specifications | |
| US11966677B1 (en) | Emulation performance analysis using abstract timing graph representation | |
| US6154719A (en) | Logic simulation system and method | |
| US6519609B1 (en) | Method and system for matching boolean signatures | |
| US11663392B2 (en) | Timing driven cell swapping | |
| US20220075920A1 (en) | Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results | |
| JP3272915B2 (ja) | スタティックタイミング解析装置 | |
| US20090031276A1 (en) | Design Apparatus, Design Method, and Program | |
| US12277254B2 (en) | Hardware trojan detection method, hardware trojan detection device, and program for hardware trojan detection | |
| US5761488A (en) | Logic translation method for increasing simulation emulation efficiency | |
| JP2006024008A (ja) | 情報処理方法、情報処理装置およびプログラム | |
| CN114417754B (zh) | 组合逻辑单元的形式化识别方法及相关设备 | |
| US7260791B2 (en) | Integrated circuit designing system, method and program | |
| JP3193167B2 (ja) | 論理合成システム | |
| US6965853B2 (en) | Back annotation apparatus for carrying out a simulation based on the extraction result in regard to parasitic elements | |
| KR20240014460A (ko) | 회로 설계에서 강하게 접속된 컴포넌트들의 병렬 및 확장가능한 계산 | |
| JP3373641B2 (ja) | テスト系列生成装置 | |
| WO2007083747A1 (ja) | 階層型論理回路の信号接続プログラム、方法及び装置 | |
| JP2980348B2 (ja) | 論理回路の合成装置 | |
| CN114186516B (zh) | 超导数字电路单元库的硬件行为描述方法 | |
| JP3616212B2 (ja) | メガセルテスト支援装置 |