JPH09305633A - 論理回路最適化方法 - Google Patents

論理回路最適化方法

Info

Publication number
JPH09305633A
JPH09305633A JP8125495A JP12549596A JPH09305633A JP H09305633 A JPH09305633 A JP H09305633A JP 8125495 A JP8125495 A JP 8125495A JP 12549596 A JP12549596 A JP 12549596A JP H09305633 A JPH09305633 A JP H09305633A
Authority
JP
Japan
Prior art keywords
logic
gate
gates
logic circuit
buffer tree
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
Application number
JP8125495A
Other languages
English (en)
Inventor
Motoki Higashida
基樹 東田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP8125495A priority Critical patent/JPH09305633A/ja
Priority to US08/744,832 priority patent/US6006023A/en
Publication of JPH09305633A publication Critical patent/JPH09305633A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 レイアウト結果の配線面積の削減、総配線長
の縮小、遅延の短縮が図れる論理回路最適化方法を得
る。 【解決手段】 入力された論理回路からバッファーツリ
ーを検出し、各バッファーツリーに属するドライバゲー
トの集合を生成する(ステップ102)。複数のバッフ
ァーツリーに関連したゲートの集合(最適化ゲート群)
の検出を行なう(ステップ103)。被最適化ゲート群
を論理構造の対称性により分類する(ステップ10
4)。被最適化ゲート群を1分類づつ抜きだす(ステッ
プ105)。対称性を反映するようにバッファーツリー
の再構成を行なう(ステップ106)。以上の処理によ
り、論理構造の対称性を反映した形態にバッファーツリ
ーを最適化することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ドライバゲート
の接続の最適化を行う論理回路最適化方法に関し、LS
Iの総配線長の短縮、遅延の短縮、配線エリアの縮小が
図れる論理回路最適化方法に関する。
【0002】
【従来の技術】バッファーツリーとは、図13に示すよ
うな、正論理あるいは反転論理のドライバゲートをツリ
ー状に接続した論理回路である。バッファーツリーは、
1つのゲートの出力信号が多数のゲートの入力信号とな
り、単独のゲートのドライブ能力ではドライブできない
ような論理回路において、ゲートの出力に付加して用い
られる。大きなビット幅を持ったデータパス系の論理回
路には、バッファーツリーが必要となる論理回路が多
い。
【0003】データパス系の論理回路は、対称な回路構
造を持った論理回路が多い。この対称性をうまく利用す
ることにより、配線に必要な面積が小さくゲートの利用
密度の高いレイアウトを得ることができる。ゲートの利
用密度を高めるには、バッファーツリーの構造について
も対称性を反映した構成が必要となる。
【0004】
【発明が解決しようとする課題】論理合成ツールは、論
理記述を入力し、論理記述に対応する論理回路を自動合
成するツールである。入力記述の論理構造に対称性があ
れば、合成される論理回路も、通常、対称性を保持す
る。しかし、バッファーツリーは、ファンアウト数やド
ライブ能力の制約を満たすために付加される論理回路で
あり、回路全体の論理構造とは無関係な論理回路であ
る。論理合成ツールは、回路全体の論理構造の対称性を
考慮することなく、バッファーツリーの付加を行なう。
このため、最終的に得られるバッファーツリーを含んだ
論理回路は、対称性を失った回路になることがある。
【0005】図14に示す対称な論理構造を持った論理
回路を例にとって詳細に説明する。図14の四角形のブ
ロックはゲートを表す。論理構造GX’(X=0,1,
2,3)は互いに対称である。それぞれのブロック内に
示された名称(SEL,FF)は、ゲートの種類名であ
る。ブロックの下に示された名称(UX,FX)は各ゲー
トを区別するゲート名である。実線はゲート間を接続す
る配線を示す。配線とブロックの接点に隣接して置かれ
た名称(SELのA,B,S,Y、FFのD,CL,
Q)は、ゲートのピン名である。左右にあるヤジリ記号
は入出力ピンを表し、その隣に置かれた名称(clk,
sel,a[X],b[X],y[X])は、入出力ピン
名である。
【0006】図14の論理回路の入力ピンsel,cl
kのそれぞれに、正論理のドライバゲートBXを2個使
用したバランスツリー形のバッファーツリーの付加を行
なう場合を考える。図15は、対称性を保持するような
バッファーツリーの付加の例である。図16は、対称性
を失うようなバッファーツリーの付加の例である。論理
合成ツールは、図15,図16の2つの論理回路の品質
は同じと判断し、どちらかの論理回路を合成する。な
お、図15,図16中の各名称は図14中の各名称に対
応している。
【0007】配置後の回路で比べた場合、図15,図1
6の2つの論理回路には差が生ずる。図17,図18
は、それぞれ図15,図16の論理回路に対して、配置
を行なった結果を示す。この配置は、配置アルゴリズム
の通常の手法であるMin-Cut法による最適配置結果であ
る。Min-Cut法では、配置の評価尺度は、カットライン
を横切る配線の総和である。図17,図18の太線がカ
ットラインである。カットラインの右あるいは下に示す
数字は、そのカットラインを横切る配線数である。カッ
トラインを横切る配線数の総和は、図17の論理回路で
は32であり、図18の論理回路では34となる。図1
7の論理回路の方が、配置結果がよい。2つの配置結果
の差は、B0,B2とU1,U2のゲート間の配線だけ
である。このゲート間の配線が、図17の場合は中央の
横方向のカットラインを横切らないが、図18の場合は
横切る。あるカットラインを横切る配線数の多さは、そ
の付近の配線チャネルが混雑することにつながり、配置
配線ツールのコンパクション機能による配線領域の圧縮
を困難にする。また、図17,図18から分かるよう
に、図18の方が配線が複雑であり、総配線長が長い。
総配線長の増加は、遅延の増加につながる。
【0008】このように、論理合成ツールは論理構造の
対称性を意識せずバッファーツリーを付加するため、配
置後の回路の総配線長の増加、配線面積の増大、遅延の
増加を招く問題点がある。バッファーツリーの構成に関
する手法として、“Routability-Driven Fanout Optimi
zation”,(Proc. of 30th DAC,pp.230-235)の手法があ
る。この手法では、論理合成において、バッファーツリ
ーの付加前に、論理回路の配置を行ない配置結果に応じ
て最適なバッファーツリーを構成する。しかし、この手
法は、対称な論理構造を反映したバッファーツリーの最
適化は行なっていない。
【0009】本発明は、以上の問題点を解決するために
なされたものであり、レイアウト結果の配線面積の削
減、総配線長の縮小、遅延の短縮が図れる論理回路最適
化方法を得ることを目的とする。
【0010】
【課題を解決するための手段】本発明の請求項1に係る
課題解決手段は、バッファーツリーを有する論理回路の
最適化方法であって、前記論理回路から論理構造の対称
性を検出するステップと、前記バッファーツリーを前記
検出した対称性に基づいて、当該対称性を反映したバッ
ファーツリーに再構成するステップとを備える。
【0011】本発明の請求項2に係る課題解決手段にお
いて、前記対称性を検出するステップは、前記論理回路
から異なるバッファーツリーを検出する第1のステップ
と、前記第1のステップで検出した前記バッファーツリ
ーに属するドライバゲートを検出する第2のステップ
と、前記第1のステップで検出した前記異なるバッファ
ーツリーに接続されている同一の親ゲートを検出する第
3のステップと、前記第3のステップで検出した前記親
ゲートが接続されている前記異なるバッファーツリーに
対し、前記ドライバーゲート及び前記親ゲートを含めた
前記ドライバゲートから前記親ゲートに至るパス上に存
在するゲートからなる複数の前記論理構造を検出する第
4のステップと、前記第4のステップで検出した複数の
前記論理構造に対し、同じ前記バッファーツリーに属す
る前記ドライバゲートは同じとみなし、その他の前記論
理構造に属する前記ゲートのうち、同じ種類の前記ゲー
トは同じとみなした場合に同形となる複数の前記論理構
造を検出することで、前記対称性を検出する第5のステ
ップとを含み、前記バッファーツリーを再構成するステ
ップは、前記第5のステップで検出した前記対称性を有
する複数の同形となる前記論理構造に対し、前記ドライ
バーゲートを除く前記論理構造に属する前記ゲートのう
ち、同じ種類の前記ゲートは同じとみなした場合、前記
論理構造が同形になるように、前記論理構造にそれぞれ
属する前記ドライバゲートを交換する第6のステップを
含む。
【0012】本発明の請求項3に係る課題解決手段は、
前記バッファーツリーの再構成前後の前記論理回路の遅
延を同じにするステップをさらに備える。
【0013】本発明の請求項4に係る課題解決手段にお
いて、前記第6のステップは、前記バッファーツリーの
ルートからの段数が同じ前記ドライバゲートのみを交換
する。
【0014】本発明の請求項5に係る課題解決手段にお
いて、前記第6のステップは、前記バッファーツリーの
ルートからの段数が同じであって、かつファンアウト数
が同じ前記ドライバゲートのみを交換する。
【0015】本発明の請求項6に係る課題解決手段にお
いて、前記第5のステップにおける同じ種類の前記ゲー
トは、回路の論理的な対称性を有するゲートを含む。
【0016】本発明の請求項7に係る課題解決手段にお
いて、前記回路の論理的な対称性を有するゲートは、複
数の入力を有し、かつ前記複数の入力の接続を交換して
も論理の変わらないゲートである。
【0017】本発明の請求項8に係る課題解決手段にお
いて、前記対称性を検出するステップは、前記論理構造
に複合論理ゲートが前記ゲートとして属している場合、
前記複合論理ゲートを前記複数の入力の接続を交換して
も論理の変わらないゲートに展開するステップをさらに
含む。
【0018】本発明の請求項9に係る課題解決手段にお
いて、前記バッファーツリーを再構成するステップは、
前記論理構造を予め定められた順序に並べるステップを
さらに含む。
【0019】本発明の請求項10に係る課題解決手段に
おいて、論理記述を入力し、論理記述に対応する前記論
理回路を合成する論理合成ツール内の回路情報を用いる
ように、前記論理合成ツールに組み込まれる。
【0020】
【発明の実施の形態】
実施の形態1.図1は本発明の実施の形態1における論
理回路最適化方法を説明するフローチャートである。本
実施の形態における論理回路最適化方法は論理合成ツー
ルにてバッファツリーが付加された論理合成後の論理回
路から論理構造の対称性を検出し、検出した対称性に基
づいて、当該対称性を反映した形態のバッファーツリー
に最適化する方法である。以下、フローチャートの各処
理を論理合成後の論理回路の例として図16に示す回路
を用いて、詳細に説明する。
【0021】ステップ101では、論理合成ツールにて
付加されたバッファーツリーを有する論理合成後の論理
回路を入力する。入力される論理回路の記述フォーマッ
トは、VerilogHDLやVHDL等の論理回路のネットリストを
表現できるフォーマットである。
【0022】ステップ102では、入力された論理回路
から複数の異なるバッファーツリーを検出する。バッフ
ァーツリーの検出は周知の技術を用いて実現できる。次
に、検出した各バッファーツリーに属するドライバゲー
トを検出して、検出したドライバゲートの集合BTjを
生成する。反転論理のゲートを用いたバッファーツリー
の場合、バッファーツリーのルートから数えた奇数段と
偶数段では、論理極性が反転している。従って、奇数段
と偶数段を異なったバッファーツリーとみなして区別
し、独立の集合BTjを生成する。正論理と反転論理の
両方の出力を持つドライバゲートがある場合や正論理と
反転論理のドライバゲートが混在している場合も同様
に、論理極性に応じてバッファーツリーを区別し、独立
の集合BTjを生成する。図16の回路には、入力ピン
selがルートであるバッファーツリーと、入力ピンc
lkがルートであるバッファーツリーとが存在する。そ
れら2つのバッファーツリーに属するドライバゲートの
集合BTjは、BTsel={B0,B2},BTclk=
{B1,B3}となる。BTsel,BTclkはバッファー
ツリーの集合名である。
【0023】ステップ103では、被最適化ゲート群と
呼ばれる、複数のバッファーツリーに関連したゲートの
集合の検出を行なう。詳細に、この処理を説明する。ま
ず、ゲートの全ての入力ピンからファンイン方向に接続
をトレースしたとき、2つ以上の異なるバッファーツリ
ーに属するドライバゲートに到達可能なゲートを検出す
る。この異なるバッファーツリーに到達可能なゲートを
被最適化ゲート群の親ゲートと呼ぶ。また、バッファー
ツリー内のドライバゲートから、この親ゲートに至るパ
ス上に存在するゲートの集合を、被最適化ゲート群と呼
ぶ。この被最適化ゲート群を単位として、バッファーツ
リーの最適化を行なう。ただし、被最適化ゲート群の探
索時に、別の被最適化ゲート群の親ゲートより先のファ
ンイン方向のトレースは行なわないものとする。ネット
リスト内の全てのゲートに対して上述の処理を行ない、
全ての被最適化ゲート群の集合を求める。バッファーツ
リー内のドライバゲートを除いて、複数の被最適化ゲー
ト群に属するゲートは存在しない。図16の回路には、
4つの被最適化ゲート群({F0,U0,B0,B
1},{F1,U1,B2,B1},{F2,U2,B
0,B3},{F3,U3,B2,B3})がある。上
記4つの被最適化ゲート群の最初のゲートが親ゲートで
あり、最後の2つがバッファーツリー内のドライバゲー
トである。
【0024】ステップ104では、被最適化ゲート群
を、被最適化ゲート群に属する各ゲートにより構成され
る論理構造(被最適化ゲート群論理構造)の対称性によ
り分類する。論理構造の対称性は、次のような方法で調
べることができる。まず、各被最適化ゲート群に対し
て、次の4つの条件を持つ論理構造グラフを生成する。
【0025】(条件1)論理構造グラフは、被最適化ゲ
ート群のゲートに1対1に対応した、ノードを持つ。
【0026】(条件2)各ノードは、対応するゲートが
バッファーツリーに属するゲートである場合は、バッフ
ァーツリーの集合名を、それ以外のゲートの場合は、ゲ
ートの種類名をタグとして持つ。即ち、同じバッファー
ツリーに属するドライバゲートは同じとみなし、その他
の論理構造グラフに属するゲートのうち、同じ種類のゲ
ートは同じとみなす。
【0027】(条件3)論理構造グラフは、被最適化ゲ
ート間の接続関係に対応したアークをもつ。
【0028】(条件4)各アークは、接続の入力と出力
のピン名をタグとしてもつ。
【0029】図16の被最適化ゲート群の論理構造グラ
フを図2に示す。図2中のY−CL,Y−D,Y−Sは
アーク、Y,CL,D,Sは図14のピン名に対応して
いる。図16には、4個の被最適化ゲート群が存在する
が、全て同形(タグを含む論理構造グラフの形が同じ)
の論理構造グラフとなる。同形な論理構造をもつ被最適
化ゲート群は、対称な論理構造を持つことを表してい
る。論理構造グラフの同形性により、被最適化ゲート群
を論理構造の対称性により分類できる。4個の被最適化
ゲート群は全て同形の論理構造グラフであるため、分類
は1つだけである。このように、同形となる複数の論理
構造グラフを検出することで、論理構造の対称性を検出
する。
【0030】ステップ105では、ステップ104で分
類された被最適化ゲート群を1分類づつ抜きだし、ステ
ップ106の処理に渡す。全ての分類の処理が終ると、
ステップ107の処理へ進む。
【0031】ステップ106では、論理構造の対称性を
反映するようにバッファーツリーの再構成を行なう。再
構成の方法を詳細に説明する。論理構造グラフのバッフ
ァーツリーのドライバゲートに対応するノードのタグ
を、バッファーツリーの集合名からゲート名に置き換え
たグラフを、実構造グラフと呼ぶ。即ち、実構造グラフ
は、同形となる被最適化ゲート群論理構造に対し、ドラ
イバーゲートを除く被最適化ゲート群論理構造に属する
ゲートのうち、同じ種類のゲートは同じとみなしたグラ
フである。対称性を有する同形の論理構造グラフであっ
ても、バッファーツリーのゲートが異なっていれば、実
構造グラフは同形とはならない。同形の論理構造グラフ
を持つ被最適化ゲート群間では、論理回路の論理を変化
させることなく、同じバッファーツリーの集合内のドラ
イバゲートを交換することができる。実構造グラフが同
形となるように、ドライバゲートの交換を行なうことに
より、異なった実構造グラフ数を削減することができ
る。異なった実構造グラフの数を最小にすることで、バ
ッファーツリーの再構成を行なう。最小化は、例えばド
ライバゲートの交換を全ての実構造グラフの組み合わせ
に対して行うことで実現できる。
【0032】図3に、図16の4個の被最適化ゲート群
の実構造グラフを示す。図3に示す実構造グラフG0,
G1,G2,G3はそれぞれ図16に示す論理構造G
0’,G1’,G2’,G3’に相当する。これらの実
構造グラフは互いに異なっている。実構造グラフG1の
バッファーツリーのゲートB2と、実構造グラフG2の
バッファーツリーのゲートB0を交換する。この時、実
構造グラフG0とG1、及び、G2とG3は同形とな
る。これ以上交換を行なっても、異なった実構造グラフ
の個数は削減できない。従って、異なった実構造グラフ
数は2が最小となる。交換後の実構造グラフG0,G
1,G2,G3はそれぞれ図15に示す論理構造G
0’,G1’,G2’,G3’に相当する。
【0033】ステップ107では、ステップ106で行
なわれた最適化に応じてバッファーツリーを再構成し、
再構成後の論理回路をステップ101で入力した論理合
成後の論理回路と同形のフォーマットで出力する。図1
6の論理回路に対して本最適化を行えば、図15の論理
回路を得ることができる。
【0034】以上の処理により、論理構造の対称性を反
映した形態にバッファーツリーを最適化することがで
き、最適化後の論理回路におけるレイアウト結果の配線
面積の削減、総配線長の縮小、遅延の短縮が図れる。
【0035】実施の形態2.実施の形態1において、ス
テップ101において入力した論理合成後の論理回路の
遅延と、ステップ107において再構成したバッファー
ツリーを有する論理回路の遅延とが異なる場合がある。
そこで、本実施の形態は、バッファーツリーの再構成前
後の論理回路の遅延を同じにする。
【0036】図4において、ドライバゲート2aはバッ
ファーツリーのルートから数えて論理段数が1でファン
アウト数が4、ドライバゲート2bはバッファーツリー
のルートから数えて論理段数が1でファンアウト数が
3、ドライバゲート2cはバッファーツリーのルートか
ら数えて論理段数が2でファンアウト数が2、ドライバ
ゲート2dはバッファーツリーのルートから数えて論理
段数が2でファンアウト数が2である。実施の形態1に
おけるステップ106のドライバゲートの交換処理にお
いて、交換を行なうバッファーの論理段数が異なってい
たり、ファンアウト数が異なっていたりする場合、論理
合成後の論理回路と遅延が異なったものとなる。論理合
成後の論理回路の遅延とバッファーツリーの最適化後の
論理回路の遅延とを同じにするには、ドライバゲートの
交換処理に、次に述べるような制約を設ければよい。論
理段数を遅延の尺度とする場合、バッファーツリーの論
理段数が同じドライバゲートのみの交換を行なうように
すればよい。この場合は、図4の例では、ステップ10
6において、ドライバゲート2a,2bが交換でき、ド
ライバーゲート2c,2dが交換できる。また、配線先
のゲートの入力負荷容量とファンアウト数から計算され
る配線容量から遅延を計算する場合、バッファーツリー
のドライバゲートの論理段数とドライバゲートのファン
アウト数とが同じドライバゲートのみに対して交換をお
こなうようにすればよい。この場合は、図4の例では、
ステップ106において、ドライバゲート2c,2dが
交換できる。
【0037】以上のように、交換に制限を設けることに
より、バッファーツリーの再構成前後の論理回路の遅延
を変化させずに、バッファーツリーの最適化を行なうこ
とができる。
【0038】実施の形態3.図5,図6にパス上のゲー
トであるANDゲートの2つの入力ピン(ピン名はAと
B)のみが異なった論理構造グラフの例を示す。実施の
形態1のステップ104において、これら2つの論理構
造グラフは、ピン名のタグが異なるため、同形でない。
しかし、ORゲートやANDゲートは、入力ピンの接続
を互いに入れ換えても論理回路全体の機能には影響しな
い。このような論理ゲートをピン可換な論理ゲートと呼
ぶ。
【0039】そこで、本実施の形態では、実施の形態1
におけるステップ104において、パス上のゲートの論
理を考慮して処理する。即ち、ピン可換な論理ゲートの
入力ピンのみが異なる論理構造グラフは同形とみなす。
例えば、図5,図6におけるタグであるY−AとY−B
は同じとみなすことにより、図5,図6の論理構造グラ
フを同形とみなす。
【0040】なお、以上はパス上のゲートがピン可換な
論理ゲートの場合であるが、その他に、パス上のゲート
が、接続を換えても論理回路の機能には影響しない回路
の論理的な対称性を有する回路の場合にも適用しても良
い。この場合も、この回路のタグが異なっても、実施の
形態1におけるステップ104において、論理構造グラ
フは同形とみなす。なお、論理的な対称性を有する回路
はピン可換な論理ゲートを含む。なお、ピン可換な論理
ゲートの情報は、例えば、データベースに予め入力され
ていて、ステップ104の処理において、そのデータベ
ースにアクセスして、ピン可換な論理ゲートの情報を参
照する。
【0041】本実施の形態では、ピン可換な論理ゲート
のピンが異なる論理構造グラフは同じとみなすことで、
対称性を有する論理構造グラフの数が増加するため、最
適化能力を強化できる。
【0042】実施の形態4.複合論理ゲートとは、図7
に示す例のように、AND論理やOR論理や否定論理を
組み合わせた論理を単一のゲートとして実現したゲート
である。一般に、複合論理ゲートはピン可換な論理ゲー
トではない。従って、通常、実施の形態3に示した方法
を適用することができない。
【0043】しかし、複合論理ゲートは、ピン可換な論
理ゲートに展開することができる。例えば、図7に示す
例であれば、図8に示すAND論理やOR論理や否定論
理のピン可換な論理ゲートに展開できる。従って、例え
ば実施の形態1におけるステップ104中に、あるいは
ステップ104に入る前に、複合論理ゲートをピン可換
な論理ゲートに展開することで、実施の形態3に示した
方法を適用することができる。なお、複合論理ゲート及
びピン可換な論理ゲートの情報は、例えば、データベー
スに予め入力されていて、ステップ102の前の複合論
理ゲートをピン可換な論理ゲートに展開する処理の際に
アクセスする。
【0044】以上の処理により、複合論理ゲートをピン
可換な論理ゲートに展開することにより、対称性を有す
る論理構造グラフの数が増加するため、最適化能力を強
化できる。
【0045】実施の形態5.図9,図10に、4ビット
幅のデータ配線に関連した被最適化ゲート群を持つ論理
回路に対する、2種類のバッファーツリーの構成法を示
す。図9と図10は、出力がnet[2]とnet[3]の被最適化
ゲート群の位置を交換すれば、同じ構成である。実施の
形態1の方式のステップ106の処理では、異なった実
構造グラフの個数を最小化することにより最適化を行な
っている。この最適化方式では、図10の構成を生成す
ることもあり得る。
【0046】実際のLSIの配置では、入出力ピンの位
置は固定されていることが一般的である。また、ビット
幅をもった入出力ピンについては、ビット順に並べるこ
とが普通である。入出力ピンの位置まで考慮に入れた
時、バッファーと被最適化ゲート群間の配線の複雑さに
関して差が生ずる。例えば、図10は出力がnet[2]の被
最適化ゲート群とドライバゲートとの間の配線と、出力
がnet[3]の被最適化ゲート群とドライバゲートとの間の
配線との配線が交差しているが、図9は交差していな
い。従って、図10に示す論理回路は図9に示す論理回
路より複雑である。
【0047】そこで、本実施の形態では、入出力ピンの
位置まで考慮に入れた時、配線が複雑にならないよう
に、被最適化ゲート群を対応する予め定められたビット
順に並べる。以下、その予め定められたビット順に並べ
る処理を説明する。ビット幅をもった論理回路の情報
は、論理回路のピン名や配線名から判断することができ
る。例えば、図9,図10の例では、被最適化ゲート群
の出力の配線名が、net[1],net[2],net[3],net[4]と
なっている。この名称からビット幅を持つデータ配線に
関連した被最適化ゲート群であることを認識する。な
お、ビット順は、net[1],net[2],net[3],net[4]であ
ると予め定めておく。この名称から。被最適化ゲート群
をビット順に並べる。以上の予め定められたビット順に
並べる処理は、ステップ106において行う。
【0048】以上のように、実施の形態1の方式のステ
ップ106の処理において、予め定められた順番のビッ
ト順に合わせて、図9,図10のようなバッファーツリ
ーを構成することにより、入出力ピンの位置を考慮した
バッファーツリーの構成が可能となる。
【0049】実施の形態6.図11は本実施の形態6に
おける実施の形態1〜5の全ての機能を実現する論理回
路最適化方法を示すフローチャートである。図11のフ
ローチャートは図1のフローチャートと主として同様で
ある。
【0050】まず、実施の形態2を実現するために、ス
テップ106の処理を、バッファーツリーの再構成前後
の論理回路の遅延を変化させないために、ドライバゲー
トの交換に制限をステップ106に加えたステップ10
6aの処理に置き換える。
【0051】実施の形態3,4を実現するために、図1
のステップ104の処理を、論理を考慮し、かつ複合論
理ゲートをピン可換な論理ゲートに展開して被最適化ゲ
ート群の分類するステップ104aの処理に変更してい
る。このステップ104aでは、パス上のゲートの論理
を調べるために、ピン可換な論理ゲート等の論理情報を
格納しているデータベース109にアクセスを行う。
【0052】実施の形態5を実現するために、論理回路
から各配線のビット順等を含むビット幅情報110の抽
出を行う処理(ステップ108)を追加し、ステップ1
06の処理をビット順序に考慮したバッファーツリーの
再編成を行う処理をステップ106aに追加している。
図11中のその他の符号は、図1中の符号に対応してい
る。
【0053】以上のように、ステップ104,106を
それぞれステップ104a,106aに置き換え、ステ
ップ108、データベース109のアクセスの各処理を
図1に追加することで、実施の形態1〜5の全ての機能
を実現する論理回路最適化方法が得られる。
【0054】実施の形態7.実施の形態1〜6では、論
理合成ツールにて付加されたバッファツリーを有する論
理合成後の論理回路をステップ101において入力し
て、バッファーツリーの最適化を行なう場合を示した
が、この方式は論理合成ツール内部に組み込んで実現す
ることもできる。
【0055】図19は、論理合成ツールの動作のアルゴ
リズムを示すフローチャートである。ハードウェア記述
言語(HDL)による記述を入力し、論理回路を出力す
る。内部フローは、まず、ステップ201では、HDL
記述を読み込む。ステップ202では、HDL記述から
論理を抽出し、抽象的なネットリストへ変換する。ステ
ップ203では、ピン可換な論理ゲート等のゲートの論
理情報を格納しているデータベース109にアクセスを
行って、ステップ203において変換されたネットリス
トに抽象的なネットリストの仮想的なセルを実際のセル
にマッピングする。ステップ204では、マッピングし
たネットリストにバッファーツリーの付加を行う。ステ
ップ205では、バッファーツリーを付加したネットリ
ストから、最後に合成された論理回路を出力する。ステ
ップ201の処理を行う過程で、詳細なビット順序の情
報110が得られる。ビット順序の情報110の一部
は、ネットやセル名をつける為に、ステップ205にお
いて使用される。なお、詳細なビット順序の情報110
及びデータベース109に格納されているピン可換な論
理ゲート等のゲートの論理情報は、論理合成ツール内の
回路情報に含まれる。
【0056】図12は本発明の実施の形態7における論
理回路最適化方法が論理合成ツール内に組み込まれた場
合のフローチャートであって、図19に示すフローチャ
ートで表される論理合成ツールの動作のフロー内に実施
の形態1〜6におけるバッファーツリーの最適化処理
(ステップ100)を組み込んだ場合のフローチャート
である。ステップ100は図1や図11のフローチャー
トに対応する。論理合成ツールの動作のアルゴリズムに
組み込むことにより、ゲートの論理情報のデータベース
109,ビット順序の情報110を共用できる。なお、
ステップ100にはステップ101を含まない。
【0057】以上のように、論理合成ツールに組み込む
ことにより、実施の形態1〜6における論理合成後の論
理回路を入力する処理(ステップ101)をなくすこと
ができ、処理の単純化や高速化を図ることができる。ま
た、論理合成ツールはゲートの論理情報をもっているた
め実施の形態3、4の処理を行なうために、ゲートの論
理情報を別に入力する必要がなくなる。また、実施の形
態5のビット幅を持ったデータ配線の情報も容易に得る
ことができるようになる。
【0058】
【発明の効果】本発明請求項1によると、バッファーツ
リーを対称性が反映されたバッファーツリーに再構成す
ることで、配線面積が小さく、総配線長が短く、遅延が
短いレイアウト結果を得ることができるという効果を奏
す。
【0059】本発明請求項2によると、対称性が反映さ
れたバッファーツリーが得られるという効果を奏す。
【0060】本発明請求項3によると、最適化前後の論
理回路の遅延を同じにすることで、論理合成後の論理回
路と同じ遅延時間を実現する論理回路が得られるという
効果を奏す。
【0061】本発明請求項4によると、バッファーツリ
ーのルートからの段数が同じドライバゲートのみを交換
することで、最適化前後の論理回路の遅延を同じにする
ことができ、論理合成直後の論理回路と同じ遅延時間を
実現する論理回路が得られるという効果を奏す。
【0062】本発明請求項5によると、ファンアウト数
が同じバッファーのみを交換することで、最適化前後の
論理回路の遅延を同じにすることができ、論理合成直後
の論理回路と同じ遅延時間を実現する論理回路が得られ
るという効果を奏す。
【0063】本発明請求項6によると、同形となる論理
構造の個数が増加し、最適化能力を強化できるという効
果を奏す。
【0064】本発明請求項7によると、使用する入力ピ
ンが異なっていても、当該ゲートは全て同じとみなすこ
とで、同形となる論理構造の個数が増加し、最適化能力
を強化できるという効果を奏す。
【0065】本発明請求項8によると、複合論理ゲート
を複数の入力の接続を交換しても論理の変わらないゲー
トに展開した後、使用する入力ピンが異なっていても、
当該ゲートは全て同じとみなすことで、同形となる論理
構造の個数が増加し、最適化能力を強化できるという効
果を奏す。
【0066】本発明請求項9によると、論理構造を予め
定められた順序に並べることで、入出力ピンの位置を考
慮したバッファーツリーの構成が可能となるという効果
を奏す。
【0067】本発明請求項10によると、論理合成ツー
ルに組み込むことにより、論理回路の入力処理をなくす
ことができ、処理の単純化や高速化を図ることができる
という効果を奏す。
【図面の簡単な説明】
【図1】 本発明の実施の形態1における論理回路最適
化方法を説明するフローチャートである。
【図2】 被最適化ゲート群の論理構造グラフの一例を
示す図である。
【図3】 被最適化ゲート群の実構造グラフの一例を示
す図である。
【図4】 本発明の実施の形態2における遅延を変化さ
せないゲートの交換を説明する図である。
【図5】 本発明の実施の形態3におけるピン可換な論
理ゲートを含む論理構造グラフの例を示す図である。
【図6】 本発明の実施の形態3における図5とピン名
が異なるピン可換な論理ゲートを含む論理構造グラフの
例を示す図である。
【図7】 本発明の実施の形態4を説明するための複合
論理ゲートの例を示す回路図である。
【図8】 図7に示す複合論理ゲートの等価回路を単純
論理ゲートを組み合わせて構成した回路図である。
【図9】 本発明の実施の形態5を説明するためのビッ
ト順を考慮したバッファーツリーの構成図である。
【図10】 本発明の実施の形態5を説明するためのビ
ット順を考慮しないバッファーツリーの構成図である。
【図11】 本発明の実施の形態6における論理回路最
適化方法を示すフローチャートである。
【図12】 本発明の実施の形態7における論理回路最
適化方法が論理合成ツール内に組み込まれた場合のフロ
ーチャートである。
【図13】 バッファーツリーの一例を示す図である。
【図14】 対称な論理構造を持った論理回路の一例を
示す図である。
【図15】 対称性を反映したバッファーツリーを付加
した論理回路の一例を示す回路図である。
【図16】 対称性を喪失したバッファーツリーを付加
した論理回路の一例を示す回路図である。
【図17】 図15の論理回路に対して最適化配置を行
った論理回路図である。
【図18】 図16の論理回路に対して最適化配置を行
った論理回路図である。
【図19】 論理合成ツールの動作のアルゴリズムを示
すフローチャートである。
【符号の説明】
2a,2b,2c,2d ドライバゲート、G0,G
1,G2,G3 実構造グラフ、G0’,G1’,G
2’,G3’ 論理構造。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 バッファーツリーを有する論理回路の最
    適化方法であって、 前記論理回路から論理構造の対称性を検出するステップ
    と、 前記バッファーツリーを前記検出した対称性に基づい
    て、当該対称性を反映したバッファーツリーに再構成す
    るステップと、を備えた論理回路最適化方法。
  2. 【請求項2】 前記対称性を検出するステップは、 前記論理回路から異なるバッファーツリーを検出する第
    1のステップと、 前記第1のステップで検出した前記バッファーツリーに
    属するドライバゲートを検出する第2のステップと、 前記第1のステップで検出した前記異なるバッファーツ
    リーに接続されている同一の親ゲートを検出する第3の
    ステップと、 前記第3のステップで検出した前記親ゲートが接続され
    ている前記異なるバッファーツリーに対し、前記ドライ
    バーゲート及び前記親ゲートを含めた前記ドライバゲー
    トから前記親ゲートに至るパス上に存在するゲートから
    なる複数の前記論理構造を検出する第4のステップと、 前記第4のステップで検出した複数の前記論理構造に対
    し、同じ前記バッファーツリーに属する前記ドライバゲ
    ートは同じとみなし、その他の前記論理構造に属する前
    記ゲートのうち、同じ種類の前記ゲートは同じとみなし
    た場合に同形となる複数の前記論理構造を検出すること
    で、前記対称性を検出する第5のステップと、を含み、 前記バッファーツリーを再構成するステップは、 前記第5のステップで検出した前記対称性を有する複数
    の同形となる前記論理構造に対し、前記ドライバーゲー
    トを除く前記論理構造に属する前記ゲートのうち、同じ
    種類の前記ゲートは同じとみなした場合、前記論理構造
    が同形になるように、前記論理構造にそれぞれ属する前
    記ドライバゲートを交換する第6のステップを含む請求
    項1記載の論理回路最適化方法。
  3. 【請求項3】 前記バッファーツリーの再構成前後の前
    記論理回路の遅延を同じにするステップをさらに備えた
    請求項1記載の論理回路最適化方法。
  4. 【請求項4】 前記第6のステップは、 前記バッファーツリーのルートからの段数が同じ前記ド
    ライバゲートのみを交換する請求項2記載の論理回路最
    適化方法。
  5. 【請求項5】 前記第6のステップは、 前記バッファーツリーのルートからの段数が同じであっ
    て、かつファンアウト数が同じ前記ドライバゲートのみ
    を交換する請求項2記載の論理回路最適化方法。
  6. 【請求項6】 前記第5のステップにおける同じ種類の
    前記ゲートは、回路の論理的な対称性を有するゲートを
    含む請求項2記載の論理回路最適化方法。
  7. 【請求項7】 前記回路の論理的な対称性を有するゲー
    トは、複数の入力を有し、かつ前記複数の入力の接続を
    交換しても論理の変わらないゲートである請求項6記載
    の論理回路最適化方法。
  8. 【請求項8】 前記対称性を検出するステップは、 前記論理構造に複合論理ゲートが前記ゲートとして属し
    ている場合、前記複合論理ゲートを前記複数の入力の接
    続を交換しても論理の変わらないゲートに展開するステ
    ップをさらに含む請求項7記載の論理回路最適化方法。
  9. 【請求項9】 前記バッファーツリーを再構成するステ
    ップは、 前記論理構造を予め定められた順序に並べるステップを
    さらに含む請求項2記載の論理回路最適化方法。
  10. 【請求項10】 論理記述を入力し、論理記述に対応す
    る前記論理回路を合成する論理合成ツール内の回路情報
    を用いるように、前記論理合成ツールに組み込まれた請
    求項2記載の論理回路最適化方法。
JP8125495A 1996-05-21 1996-05-21 論理回路最適化方法 Pending JPH09305633A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8125495A JPH09305633A (ja) 1996-05-21 1996-05-21 論理回路最適化方法
US08/744,832 US6006023A (en) 1996-05-21 1996-11-06 Method of optimizing a logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8125495A JPH09305633A (ja) 1996-05-21 1996-05-21 論理回路最適化方法

Publications (1)

Publication Number Publication Date
JPH09305633A true JPH09305633A (ja) 1997-11-28

Family

ID=14911523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8125495A Pending JPH09305633A (ja) 1996-05-21 1996-05-21 論理回路最適化方法

Country Status (2)

Country Link
US (1) US6006023A (ja)
JP (1) JPH09305633A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10189746A (ja) * 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd Lsi論理回路の配線レイアウト方法
JP2917969B2 (ja) * 1997-06-06 1999-07-12 日本電気株式会社 論理等価性検証方法および論理等価性検証装置
US6205572B1 (en) * 1998-02-20 2001-03-20 Lsi Logic Corporation Buffering tree analysis in mapped design
US6253356B1 (en) * 1998-03-24 2001-06-26 International Business Machines Corporation System and method for improving logic synthesis in logic circuits
US6366131B1 (en) 2000-05-01 2002-04-02 Hewlett-Packard Company System and method for increasing a drive signal and decreasing a pin count
US6681373B1 (en) * 2000-10-02 2004-01-20 Lsi Logic Corporation Method and apparatus for dynamic buffer and inverter tree optimization
US7162302B2 (en) 2002-03-04 2007-01-09 Nanoset Llc Magnetically shielded assembly
US7091412B2 (en) 2002-03-04 2006-08-15 Nanoset, Llc Magnetically shielded assembly
US6857117B2 (en) * 2002-01-31 2005-02-15 Cadence Design Systems, Inc. Method and apparatus for producing a circuit description of a design
US7373615B2 (en) * 2004-02-17 2008-05-13 International Business Machines Corporation Method for optimization of logic circuits for routability
US7168057B2 (en) * 2004-08-17 2007-01-23 International Business Machines Corporation Targeted optimization of buffer-tree logic
US7458050B1 (en) * 2008-03-21 2008-11-25 International Business Machines Corporation Methods to cluster boolean functions for clock gating
US8316338B2 (en) * 2009-02-09 2012-11-20 The United States Of America, As Represented By The Secretary Of Commerce, The National Institute Of Standards & Technology Method of optimizing combinational circuits
US10380309B2 (en) 2015-06-01 2019-08-13 Ecole Polytechnique Federale De Lausanne (Epfl) Boolean logic optimization in majority-inverter graphs

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0324763A (ja) * 1989-06-22 1991-02-01 Nec Corp マスタスライス方式集積回路装置の形成方法
JPH05152438A (ja) * 1991-11-26 1993-06-18 Nec Corp 半導体集積回路装置の形成方法

Also Published As

Publication number Publication date
US6006023A (en) 1999-12-21

Similar Documents

Publication Publication Date Title
US6792589B2 (en) Digital design using selection operations
US6473885B1 (en) Digital circuit layout techniques using circuit decomposition and pin swapping
US7162706B2 (en) Method for analyzing and validating clock integration properties in circuit systems
US6442739B1 (en) System and method for timing abstraction of digital logic circuits
US20050268258A1 (en) Rule-based design consultant and method for integrated circuit design
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
US6594808B1 (en) Structural regularity extraction and floorplanning in datapath circuits using vectors
US6360352B2 (en) Digital circuit layout techniques
JPH09305633A (ja) 論理回路最適化方法
WO1999009497A1 (fr) Procede d'extraction de caracteristiques de synchronisation de circuits a transistors, support de stockage stockant une bibliotheque de caracteristiques de synchronisation, procede de conception de lsi et procede d'extraction par grille
US6993731B2 (en) Optimization of digital designs
US20020049958A1 (en) Logical synthesizing apparatus for converting a hardware functional description into gate-level circuit information
US8504953B2 (en) Schematic generation visualization aid for netlists comprising analog circuits
Marakkalage et al. Fanout-bounded logic synthesis for emerging technologies-a top-down approach
Prasad et al. Analysis, Physical Design and Power Optimization of Design Block at Lower Technology Node
CN116502578B (zh) 网表化简时序模型的构建方法及静态时序分析方法
US6823300B1 (en) Memory efficient occurrence model design for VLSI CAD
US6523157B1 (en) Method for designing integrated circuit device and database for design of integrated circuit device
US6877140B1 (en) Method and system for generating a schematic representing bus structures
US12393757B2 (en) Top down physical design of soft embedded field programmable gate array (FPGA) fabrics
JP2930087B2 (ja) 論理設計支援システム
JPH09259172A (ja) 論理シミュレーション用モデルの作成方法
US20060218202A1 (en) Structure analytic program
JP3084255B2 (ja) Lsiレイアウト設計方法
US8661385B1 (en) Method and apparatus for performing delay annotation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060207