JPH0546698A - 論理回路の自動合成方式 - Google Patents
論理回路の自動合成方式Info
- Publication number
- JPH0546698A JPH0546698A JP3207664A JP20766491A JPH0546698A JP H0546698 A JPH0546698 A JP H0546698A JP 3207664 A JP3207664 A JP 3207664A JP 20766491 A JP20766491 A JP 20766491A JP H0546698 A JPH0546698 A JP H0546698A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- input
- gate
- library
- matching
- 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
- 230000015572 biosynthetic process Effects 0.000 title description 2
- 238000003786 synthesis reaction Methods 0.000 title description 2
- 238000005516 engineering process Methods 0.000 claims abstract description 9
- 238000007493 shaping process Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000001308 synthesis method Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Abstract
(57)【要約】
【目的】 テクノロジマッピグの際の回路とライブラリ
のマッチング処理を高速化する。 【構成】 入力ネットリストまたは論理式をポーランド
記述ストリングに変換する初期回路生成部104と、回
路中のインバータを入力側へ伝播して、さらに2段以上
にまたがる同種類のゲートを一まとめにする処理を行う
回路整形部105と、整形された回路を、入力信号の遅
延制約情報およびライブラリ中のゲート遅延時間を参照
して到着時間が早い入力信号ほど多い段数で出力に到達
するような2入力ゲートのみで構成される2入力ポーラ
ンド記述ストリングに展開する2入力ゲート展開部10
6と、2入力ゲートに展開された回路のポーランド記述
ストリングとライブラリ中のゲートのポーランド記述ス
トリングとの、マッチング処理を行い、マッチングに成
功したら、コスト計算部108を呼び出してコスト計算
を行い、すべてのマッチングが終了したら出力正極性の
マッチング結果と出力負極性のマッチング結果との比較
を行って最適解を保存するマッチング処理部107とを
有する論理回路の自動合成方式。
のマッチング処理を高速化する。 【構成】 入力ネットリストまたは論理式をポーランド
記述ストリングに変換する初期回路生成部104と、回
路中のインバータを入力側へ伝播して、さらに2段以上
にまたがる同種類のゲートを一まとめにする処理を行う
回路整形部105と、整形された回路を、入力信号の遅
延制約情報およびライブラリ中のゲート遅延時間を参照
して到着時間が早い入力信号ほど多い段数で出力に到達
するような2入力ゲートのみで構成される2入力ポーラ
ンド記述ストリングに展開する2入力ゲート展開部10
6と、2入力ゲートに展開された回路のポーランド記述
ストリングとライブラリ中のゲートのポーランド記述ス
トリングとの、マッチング処理を行い、マッチングに成
功したら、コスト計算部108を呼び出してコスト計算
を行い、すべてのマッチングが終了したら出力正極性の
マッチング結果と出力負極性のマッチング結果との比較
を行って最適解を保存するマッチング処理部107とを
有する論理回路の自動合成方式。
Description
【0001】
【産業上の利用分野】本発明は論理回路の自動合成方式
に関する。
に関する。
【0002】
【従来の技術】従来の論理回路の自動合成方式は、テク
トロジマッピングの際に回路を、ゲートを表すノードと
ゲート間の接続を表すネットのデータ構造で記述し、ラ
イブラリも同様のデータ構造で記述していた。
トロジマッピングの際に回路を、ゲートを表すノードと
ゲート間の接続を表すネットのデータ構造で記述し、ラ
イブラリも同様のデータ構造で記述していた。
【0003】
【発明が解決しようとする課題】上述した従来の論理回
路の自動合成方式では、テクトノロジマッピングの際に
回路とライブラリのマッチング処理でネットワークをト
レースする処理が必要となり、処理時間がかかるという
欠点があった。
路の自動合成方式では、テクトノロジマッピングの際に
回路とライブラリのマッチング処理でネットワークをト
レースする処理が必要となり、処理時間がかかるという
欠点があった。
【0004】
【課題を解決するための手段】本発明の論理回路の自動
合成方式は、1出力の組み合せ論理回路のネットリスト
または論理式と、その論理回路への入出力信号の遅延制
約情報と、その論理回路を実現する対象テクノロジの各
ゲートの機能とゲート機能のポーランド記述ストリング
とゲート遅延時間の情報を含むライブラリを入力とし、
入力ネットリストまたは論理式をポーランド記述ストリ
ングに変換する初期回路生成部と、回路中のインバータ
を入力側へ伝播して、さらに2段以上にまたがる同種類
のゲートを一まとめにする処理を行う回路整形部と、整
形された回路を、入力信号の遅延制約情報およびライブ
ラリ中のゲート遅延時間を参照して到着時間が早い入力
信号ほど多い段数で出力に到達するような2入力ゲート
のみで構成される2入力ポーランド記述ストリングに展
開する2入力ゲート展開部と、2入力ゲートに展開され
た回路のポーランド記述ストリングとライブラリ中のゲ
ートのポーランド記述ストリングとの、出力極性を考慮
したマッチング行列を使ってマッチング処理を行い、マ
ッチングに成功したら、面積と遅延時間のコスト計算を
行うコスト計算部を呼び出してコスト計算を行い、すべ
てのマッチングが終了したら出力正極性のマッチング結
果と出力負極性のマッチング結果との比較を行って最適
解を保存するマッチング処理部と、最適解を対象テクノ
ロジの論理回路図として出力する回路生成部とを有して
いる。
合成方式は、1出力の組み合せ論理回路のネットリスト
または論理式と、その論理回路への入出力信号の遅延制
約情報と、その論理回路を実現する対象テクノロジの各
ゲートの機能とゲート機能のポーランド記述ストリング
とゲート遅延時間の情報を含むライブラリを入力とし、
入力ネットリストまたは論理式をポーランド記述ストリ
ングに変換する初期回路生成部と、回路中のインバータ
を入力側へ伝播して、さらに2段以上にまたがる同種類
のゲートを一まとめにする処理を行う回路整形部と、整
形された回路を、入力信号の遅延制約情報およびライブ
ラリ中のゲート遅延時間を参照して到着時間が早い入力
信号ほど多い段数で出力に到達するような2入力ゲート
のみで構成される2入力ポーランド記述ストリングに展
開する2入力ゲート展開部と、2入力ゲートに展開され
た回路のポーランド記述ストリングとライブラリ中のゲ
ートのポーランド記述ストリングとの、出力極性を考慮
したマッチング行列を使ってマッチング処理を行い、マ
ッチングに成功したら、面積と遅延時間のコスト計算を
行うコスト計算部を呼び出してコスト計算を行い、すべ
てのマッチングが終了したら出力正極性のマッチング結
果と出力負極性のマッチング結果との比較を行って最適
解を保存するマッチング処理部と、最適解を対象テクノ
ロジの論理回路図として出力する回路生成部とを有して
いる。
【0005】
【実施例】次に本発明について図面を参照して説明す
る。
る。
【0006】図1は本発明の一実施例を示すフローチャ
ートである。
ートである。
【0007】入力論理回路101は、1出力の組み合せ
論陸回路を記述したネットリストまたは論理式であり、
遅延制約情報102は、入力信号の対象回路への到着時
間および対象回路の最終段に到達するまでにかかる時間
の制限値を格納したパラメータファイルである。
論陸回路を記述したネットリストまたは論理式であり、
遅延制約情報102は、入力信号の対象回路への到着時
間および対象回路の最終段に到達するまでにかかる時間
の制限値を格納したパラメータファイルである。
【0008】ライブラリ103は、対象テクノロジの各
ゲート機能と、ゲート遅延時間と、そのゲートの機能を
ポーランド記述ストリングで記述したものと、さらにそ
のゲートが複合ゲータや多入力ゲートの場合には2入力
のゲートで展開したときの全ての展開パターンをポーラ
ンド記述ストリングで記述したものが格納されている。
ゲート機能と、ゲート遅延時間と、そのゲートの機能を
ポーランド記述ストリングで記述したものと、さらにそ
のゲートが複合ゲータや多入力ゲートの場合には2入力
のゲートで展開したときの全ての展開パターンをポーラ
ンド記述ストリングで記述したものが格納されている。
【0009】初期回路生成部104は、入力論理回路図
101を入力とし、ライブラリ103を参照して、回路
を出力側から入力側へトレースして多入力ゲートのまま
のポーランド記述ストリングで回路図を記述する処理を
行う。
101を入力とし、ライブラリ103を参照して、回路
を出力側から入力側へトレースして多入力ゲートのまま
のポーランド記述ストリングで回路図を記述する処理を
行う。
【0010】回路整形部105は、回路中に現れるイン
バータをすべて入力側に伝播して、さらに2段以上にま
たがる同一ゲートを一まとめにする処理を行う。
バータをすべて入力側に伝播して、さらに2段以上にま
たがる同一ゲートを一まとめにする処理を行う。
【0011】2入力ゲート展開部106は、整形処理さ
れた回路に対し、遅延制約情報102の入力信号到着時
間と、ライブライ103のゲート遅延時間を参照して、
多入力ゲートを、到着時間の早い信号ほど多い段数で、
遅い信号ほど少ない段数で出力段に到着するような形で
2入力ゲートに展開する処理を行う。
れた回路に対し、遅延制約情報102の入力信号到着時
間と、ライブライ103のゲート遅延時間を参照して、
多入力ゲートを、到着時間の早い信号ほど多い段数で、
遅い信号ほど少ない段数で出力段に到着するような形で
2入力ゲートに展開する処理を行う。
【0012】マッチング処理部107は、2入力ゲート
に展開した回路のポーランド記述とライブラリ中の機能
ブロックのポーランド記述とをマッチングして成功した
らコスト計算部108を呼び出してコスト計算を行い最
適解を保存する。
に展開した回路のポーランド記述とライブラリ中の機能
ブロックのポーランド記述とをマッチングして成功した
らコスト計算部108を呼び出してコスト計算を行い最
適解を保存する。
【0013】次に、図2,3,4,5,6および7を参
照してマッチング処理部107を説明する。
照してマッチング処理部107を説明する。
【0014】図2はマッチング処理部107の詳細なフ
ローチャートである。
ローチャートである。
【0015】まず、処理201では、回路中のあるゲー
トをルートとするツリー構造を回路のサブツリーとし
て、入力側に近いサブツリーから順にマッチング対象と
する。図3に回路のサブツリーの一例を示す。また、図
4に、図3の回路のポーランド記述による表現を示す。
トをルートとするツリー構造を回路のサブツリーとし
て、入力側に近いサブツリーから順にマッチング対象と
する。図3に回路のサブツリーの一例を示す。また、図
4に、図3の回路のポーランド記述による表現を示す。
【0016】図2の処理202では、処理201で選択
したサブツリーについて、そのサブツリーの入力数以下
の入力をもつライブラリ中の機能ブロックを1つ選択す
る。処理203では、回路のサブツリーのポーランド記
述ストリングとライブラリのポーランド記述ストリング
とをマッチングする。
したサブツリーについて、そのサブツリーの入力数以下
の入力をもつライブラリ中の機能ブロックを1つ選択す
る。処理203では、回路のサブツリーのポーランド記
述ストリングとライブラリのポーランド記述ストリング
とをマッチングする。
【0017】マッチングに成功したら処理204(コス
ト計算部108による)で、ライブラリ103のブロッ
クのセル数情報およびゲート遅延情報を参照してサブツ
リーのセル数と最悪の遅延時間を計算して、遅延制約情
報102の遅延時間に収まる範囲内でセル数が最小とな
るようなマッチング結果を最適解として保存する。
ト計算部108による)で、ライブラリ103のブロッ
クのセル数情報およびゲート遅延情報を参照してサブツ
リーのセル数と最悪の遅延時間を計算して、遅延制約情
報102の遅延時間に収まる範囲内でセル数が最小とな
るようなマッチング結果を最適解として保存する。
【0018】コスト計算および最適解の保存の際に、サ
ブツリーのルートノードの出力極性が正極性となるよう
なマッチング結果と、出力極性が負極性となるようなマ
ッチング結果を考慮して、それぞれのマッチング結果の
最適解を求めて保存する。
ブツリーのルートノードの出力極性が正極性となるよう
なマッチング結果と、出力極性が負極性となるようなマ
ッチング結果を考慮して、それぞれのマッチング結果の
最適解を求めて保存する。
【0019】図5に、極性を考慮したマッチングの一例
を示す。図5(A)はサブツリーnのモデル、図5
(B)はサブツリーmのマッチング結果である。サブツ
リーnをマッチングした結果、入力極性が反転する場合
には、図5(C)に示すように、サブツリーnのルート
の入力側の既にマッチング済みのサブツリーmの出力負
極性でのマッチング結果の最適解と、サブツリーnの入
力極性が反転しない場合には、図5(D)に示すよう
に、サブツリーmの出力正極性でのマッチング結果の最
適解と、それぞれサブツリーnのルートのマッチング結
果とを接続してサブツリーnのマッチング結果とする。
を示す。図5(A)はサブツリーnのモデル、図5
(B)はサブツリーmのマッチング結果である。サブツ
リーnをマッチングした結果、入力極性が反転する場合
には、図5(C)に示すように、サブツリーnのルート
の入力側の既にマッチング済みのサブツリーmの出力負
極性でのマッチング結果の最適解と、サブツリーnの入
力極性が反転しない場合には、図5(D)に示すよう
に、サブツリーmの出力正極性でのマッチング結果の最
適解と、それぞれサブツリーnのルートのマッチング結
果とを接続してサブツリーnのマッチング結果とする。
【0020】すべてのライブラリブロックとのマッチン
グが終了するまで、処理202以下を繰り返し、ライブ
ラリブロックがなくなったら処理201で次のサブツリ
ー選択以下の処理を繰り返す。
グが終了するまで、処理202以下を繰り返し、ライブ
ラリブロックがなくなったら処理201で次のサブツリ
ー選択以下の処理を繰り返す。
【0021】次に図6を参照して回路のサブツリーのポ
ーランド記述とライブライのポーランド記述とのマッチ
ング処理203を説明する。
ーランド記述とライブライのポーランド記述とのマッチ
ング処理203を説明する。
【0022】回路のポーランド記述C〔i〕,
【0023】
【0024】と、ライブライの機能ブロックのポーラン
ド記述L〔j〕,
ド記述L〔j〕,
【0025】
【0026】の要素同士を比較する。回路C〔i〕、ラ
イブラリ〔j〕がともにオペレータの場合、処理501
でマッチング行列による判定を行う。マッチング行列の
定義は以下のようである。
イブラリ〔j〕がともにオペレータの場合、処理501
でマッチング行列による判定を行う。マッチング行列の
定義は以下のようである。
【0027】 返却値=M〔回路オペレータ〕〔極性反転フラグ〕〔ライブラリオペレータ〕 回路オペレータ AND 1 OR 2 XOR 3 XNOR 4 極性反転フラグ 出力極性そのまま0 出力極性反転 1 ライブラリオペレータ AND 1 OR 2 XOR 3 XNOR 4 NAND 5 NOR 6 返却値 入力極性そのまま,出力正極性 0 入力極性反転, 出力正極性 1 入力極性そのまま,出力負極性 2 入力極性反転, 出力負極性 3 マッチ失敗 −1 図7にマッチング行列を使用したマッチングの一例を示
す。
す。
【0028】図7(A)は回路のポーアンド記述とライ
ブラリのポーランド記述であり、図7(B)は、ノード
1のマッチングの判定である。マッチング行列の返却値
が1であるため、サブツリーのノード1のORは入力極
性を反転してライブライのNANDとマッチすることが
出来る。
ブラリのポーランド記述であり、図7(B)は、ノード
1のマッチングの判定である。マッチング行列の返却値
が1であるため、サブツリーのノード1のORは入力極
性を反転してライブライのNANDとマッチすることが
出来る。
【0029】図7(C)は、ノード2のマッチングの判
定である。図7(A)でノード1が入力極性反転でマッ
チしたため、マッチング行列の極性反転フラグを1とし
てマッチする。
定である。図7(A)でノード1が入力極性反転でマッ
チしたため、マッチング行列の極性反転フラグを1とし
てマッチする。
【0030】図7(D)は、マッチング後の回路であ
る。マッチングに成功したらCの要素番号i,Lの要素
番号jをともに1つ先に進める。
る。マッチングに成功したらCの要素番号i,Lの要素
番号jをともに1つ先に進める。
【0031】回路C〔i〕がオペレータかつライブラリ
L〔j〕がともにオペレータでない場合、Cの要素番号
i,Lの要素番号jをともに1つ先に進める。
L〔j〕がともにオペレータでない場合、Cの要素番号
i,Lの要素番号jをともに1つ先に進める。
【0032】回路C〔i〕がオペレータでなく、ライブ
ラリL〔j〕がオペレータの場合、マッチング不可とす
る。
ラリL〔j〕がオペレータの場合、マッチング不可とす
る。
【0033】以上の処理を回路のポーランドCの要素i
が最大値cmaxを越えるか、ライブラリのポーランド
Lの要素jが最大値lmaxを越えるまで行う。
が最大値cmaxを越えるか、ライブラリのポーランド
Lの要素jが最大値lmaxを越えるまで行う。
【0034】マッチング成否の判定はiがj以上ならば
成功とし、iがj未満またはマッチング行列の返却値に
よって失敗とする。
成功とし、iがj未満またはマッチング行列の返却値に
よって失敗とする。
【0035】以上のマッチング処理部107により得ら
れた最適解を回路生成部109で対象テクノロジの論理
回路図としてのネットリストデータ構造に置き換えてか
ら出力回路図110を出力する。
れた最適解を回路生成部109で対象テクノロジの論理
回路図としてのネットリストデータ構造に置き換えてか
ら出力回路図110を出力する。
【0036】
【発明の効果】以上説明したように本発明は、回路及び
ライブラリを2入力ゲートのポーランド記述ストリング
で表現することにより、テクノロジマッピング処理がス
トリング列の単純な比較ですみ、マッチング行列を利用
することによりオペレータのマッチング成否の判定でI
F−ELSE文等の条件文を使わずに一度の動作で判定
を行うことができ、マッチング処理を高速に行うことが
できるという効果がある。
ライブラリを2入力ゲートのポーランド記述ストリング
で表現することにより、テクノロジマッピング処理がス
トリング列の単純な比較ですみ、マッチング行列を利用
することによりオペレータのマッチング成否の判定でI
F−ELSE文等の条件文を使わずに一度の動作で判定
を行うことができ、マッチング処理を高速に行うことが
できるという効果がある。
【0037】また、出力極性を正極性,負極性の両方で
マッチング処理を行い、それぞれ面積,遅延時間等のコ
スト計算を行って比較することにより、コスト最小の論
理回路図を合成できるという効果がある。
マッチング処理を行い、それぞれ面積,遅延時間等のコ
スト計算を行って比較することにより、コスト最小の論
理回路図を合成できるという効果がある。
【図1】本発明の一実施例を示すフローチャートであ
る。
る。
【図2】本実施例におけるマッチング処理部の詳細なフ
ローチャートである。
ローチャートである。
【図3】回路中のサブツリーの一例を示す。
【図4】図3に示した回路のポーランド記述による表現
を示す。
を示す。
【図5】出力極性を考慮したマッチングの一例を示す。
【図6】サブツリーのポーランド記述とライブラリのポ
ーランド記述のマッチング処理の一例を示す。
ーランド記述のマッチング処理の一例を示す。
【図7】マッチング処理の一例を示す。
101 入力論理回路図 102 遅延制約情報 103 ライブラリ 104 初期回路生成部 105 回路整形部 106 2入力ゲート展開部 107 マッチング処理部 108 コスト計算部 109 回路生成部 110 出力論理回路図
Claims (1)
- 【請求項1】 1出力の組み合せ論理回路のネットリス
トまたは論理式と、その論理回路への入出力信号の遅延
制約情報と、その論理回路を実現する対象テクノロジの
各ゲートの機能とゲート機能のポーランド記述ストリン
グとゲート遅延時間の情報を含むライブラリを入力と
し、 入力ネットリストまたは論理式をポーランド記述ストリ
ングに変換する初期回路生成部と、 回路中のインバータを入力側へ伝播して、さらに2段以
上にまたがる同種類のゲートを一まとめにする処理を行
う回路整形部と、 整形された回路を、入力信号の遅延制約情報およびライ
ブラリ中のゲート遅延時間を参照して到着時間が早い入
力信号ほど多い段数で出力に到達するような2入力ゲー
トのみで構成される2入力ポーランド記述ストリングに
展開する2入力ゲート展開部と、 2入力ゲートに展開された回路のポーランド記述ストリ
ングとライブラリ中のゲートのポーランド記述ストリン
グとの、出力極性を考慮したマッチング行列を使ってマ
ッチング処理を行い、マッチングに成功したら、面積と
遅延時間のコスト計算を行うコスト計算部を呼び出して
コスト計算を行い、すべてのマッチングが終了したら出
力正極性のマッチング結果と出力負極性のマッチング結
果との比較を行って最適解を保存するマッチング処理部
と、 最適解を対象テクノロジの論理回路図として出力する回
路生成部とを有する論理回路の自動合成方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3207664A JPH0546698A (ja) | 1991-08-20 | 1991-08-20 | 論理回路の自動合成方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3207664A JPH0546698A (ja) | 1991-08-20 | 1991-08-20 | 論理回路の自動合成方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0546698A true JPH0546698A (ja) | 1993-02-26 |
Family
ID=16543515
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3207664A Pending JPH0546698A (ja) | 1991-08-20 | 1991-08-20 | 論理回路の自動合成方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0546698A (ja) |
-
1991
- 1991-08-20 JP JP3207664A patent/JPH0546698A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2609799B2 (ja) | 順序回路の再設計方法 | |
| US6360352B2 (en) | Digital circuit layout techniques | |
| JPH08510885A (ja) | ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス | |
| WO1996004608A1 (en) | System and method for simulating discrete functions using ordered decision arrays | |
| CN102982205B (zh) | 一种用于数字电路设计的固定极性转换方法 | |
| JPH10134091A (ja) | 論理エミュレーションの最適化回路生成法 | |
| Manohar et al. | Asynchronous parallel prefix computation | |
| JPH0546698A (ja) | 論理回路の自動合成方式 | |
| JPH0561937A (ja) | 論理回路の自動合成方式 | |
| Chen et al. | Timing optimization of logic network using gate duplication | |
| CN113255257B (zh) | 基于工艺库的s盒电路的优化方法及系统 | |
| JP2508620B2 (ja) | 論理回路シミュレ―ション装置 | |
| CN121351723B (zh) | 一种基于Undef_SAT的电路输入敏感性分析方法 | |
| JPH09251483A (ja) | セルライブラリ作成方法 | |
| JPH04353977A (ja) | 論理回路の自動合成方式 | |
| JPH0997281A (ja) | パストランジスタ論理設計方法 | |
| JPS6311715B2 (ja) | ||
| JP2516611B2 (ja) | 並列デ−タ処理装置 | |
| JP2681968B2 (ja) | 演算処理装置 | |
| JPH09259171A (ja) | 組み合わせ論理回路における真理値表作成方法 | |
| JP3102408B2 (ja) | 信号遅延低減方法及び装置 | |
| US20050091555A1 (en) | Abstraction generation for hierarchical timing analysis using implicity connectivity graph derived from domain propagation | |
| JP4428819B2 (ja) | 多入力データソーティング回路 | |
| JP2806459B2 (ja) | フリップフロップが評価可能な論理シミュレーション装置 | |
| GB2234092A (en) | System for simulating operations of electronic circuit |