JP2776262B2 - 論理回路合成方法及び装置 - Google Patents

論理回路合成方法及び装置

Info

Publication number
JP2776262B2
JP2776262B2 JP6215215A JP21521594A JP2776262B2 JP 2776262 B2 JP2776262 B2 JP 2776262B2 JP 6215215 A JP6215215 A JP 6215215A JP 21521594 A JP21521594 A JP 21521594A JP 2776262 B2 JP2776262 B2 JP 2776262B2
Authority
JP
Japan
Prior art keywords
circuit
logic
flattening
optimization
stage
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.)
Expired - Lifetime
Application number
JP6215215A
Other languages
English (en)
Other versions
JPH0863498A (ja
Inventor
俊治 淺香
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP6215215A priority Critical patent/JP2776262B2/ja
Priority to US08/516,549 priority patent/US5721690A/en
Priority to KR1019950025408A priority patent/KR0165992B1/ko
Publication of JPH0863498A publication Critical patent/JPH0863498A/ja
Application granted granted Critical
Publication of JP2776262B2 publication Critical patent/JP2776262B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路合成方法に関
し、特に組合せ回路に対する論理最適化の一手法である
論理平坦化の途中に2段論理最適化を行なうことによ
り、計算機上のメモリ使用量を削減し、処理時間短縮を
図り、大規模回路に対して効率良く最適化することを特
徴とする論理回路合成方法及び論理回路合成装置に関す
る。
【0002】
【従来の技術】一般に、論理回路を合成する際、面積、
遅延等を目的関数として論理回路を最適化する。
【0003】面積を目的関数として論理回路を最適化す
る場合、論理式等で記述された組合せ回路部分を一旦平
坦化して2段論理回路にした後に、2段論理最適化を行
ない、再び多段回路に変換して、テクノロジマッピング
する方法が多く用いられている。
【0004】ここで、用語について予め簡単に説明して
おく。まず2段論理最適化について説明すると、例え
ば、次式(1)の論理式が与えられた場合、これを、例え
ば2段論理の一表現であるカルノーマップに表わすと、
a=1又はb=1である場合にfが1となる論理式である事が
わかり、論理式(2)に変換され、論理の冗長性が除去さ
れる。この論理式(1)から(2)への最適化処理を2段論理
最適化という。なお、a ̄はaの否定論理を表わす。
【0005】f=a・b+a ̄・b+a・b ̄ …(1) f=a+b …(2)
【0006】また、多段化(「論理多段化」ともいう)
とは、例えば次式(3)の論理式について、項a・b・c、a
・b・dにはa・bという共通部分があるため、共通部分を
抽出し新たに中間変数e=a・bを導入し論理式fを式(4)
のように多段化(即ち多段回路に変換)することをい
う。
【0007】f=a・b・c+a・b・d …(3)
【0008】e=a・b f=e・c+e・d …(4)
【0009】テクノロジマッピングとは、論理合成ツー
ルの機能の一つで、ゲート・レベルの論理を特定の半導
体技術に依存した設計データ(ネットリスト;接続情
報)に変換することをいう。テクノロジマッピングによ
り、例えば一つのRTL(レジスタ・トランスファ・レ
ベル)記述から例えば異なる半導体メーカ等のゲートア
レイ又はセルベースLSI等の設計データを作成するこ
とができる。
【0010】ところで、VHDL(HSIC ardware
escription anguage)等のハードウェア記述言語で
記述された回路等では、設計者が記述した論理構造をで
きる限り残した方が効率良く最適化できるため、組合せ
回路を全て平坦化せずに、部分的に平坦化して、2段論
理最適化を行ない、これを多段化し、テクノロジマッピ
ングする方法がある。
【0011】遅延を目的関数として論理回路を最適化す
る場合、一般に論理段数を少なくすると最大遅延値を削
減できることが知られている。
【0012】すなわち、クリティカルパス上の組合せ回
路を平坦化することによって、論理段数を少なくし、遅
延を削減する。
【0013】組合せ回路部分を全て平坦化すると、一般
に遅延は短縮されるが、面積が増大する。そこで、面積
増加を抑えながら遅延を最適化するために、部分回路の
平坦化を行なう。そして、平坦化した回路は、必要に応
じて多段化し、テクノロジマッピングする。
【0014】図面を参照して、従来の平坦化処理につい
て説明する。
【0015】図5のように、組合せ回路501(論理関数
はx)が、組合せ回路502(論理関数はf)にファンア
ウトしているものとする。これらの論理関数f,xに関
して、一般に、シャノン展開と呼ばれる以下の式(5)が
成り立つことが知られている。
【0016】f=xfx+x ̄fx ̄ …(5)
【0017】ここで、x ̄はxの否定論理(反転)、f
xは論理関数fのxに対するコファクターと呼ばれ、論
理関数fの入力変数xを1にした時の論理関数を表す。
x ̄は、同様に、論理関数fの入力変数xを“0”に
した時の論理関数を表す。上式(5)を利用して平坦化処
理を行なう。
【0018】平坦化処理は、図6に示すような手順で行
なわれる。図5に示すような接続関係にある2つの論理
関数f,xに対して平坦化を行なう場合、まず、xの論
理否定x ̄をとる(ステップ602)。
【0019】次に、論理関数fのxに対するコファクタ
ーfxとxの論理積をとり、f1とする(ステップ60
3)。
【0020】ついで、fのx ̄(反転)に対するコファ
クターとx ̄の論理積をとり、f0とする(ステップ60
4)。
【0021】そして、f1とf0の論理和をとると、最終
的にfに対してxを平坦化したことになる(ステップ60
5)。
【0022】組合せ回路502の全てのファンインについ
て平坦化する場合、ステップ601に戻り、ステップ601〜
605の処理を繰り返す。
【0023】
【発明が解決しようとする課題】前記平坦化処理におい
て、論理否定、論理積をとる処理は、対象となる組合せ
回路の積項数をnとすると、処理の計算複雑度はnの2
乗に比例し、このため大規模な回路に対しては、使用す
る計算機上のメモリを大量に必要とし、処理時間も膨大
になる。
【0024】このように、論理合成技術において、平坦
化処理は極めて重要であり、特に大規模な回路を効率良
く最適化する際、平坦化に必要なメモリの削減、処理時
間の短縮の達成が課題となっている。
【0025】図7を参照して、面積最適化の一例を用い
て説明する。まず、組合せ回路部分の平坦化を行ない
(ステップ701)、平坦化された2段論理回路を論理圧
縮することにより2段論理最適化し(ステップ702)、
共通部分などを抽出しながら多段化し(ステップ70
3)、ターゲットへのテクノロジマッピングを行なう
(ステップ704)。
【0026】平坦化に関するこの種の論理回路合成方法
として、例えば特開平4-352283号公報に開示されたもの
がある。同公報には、論理式中に存在する中間変数の全
てを展開するのではなく、中間変数の展開処理に先立っ
て展開後の積項数を調べ、積項数が所定値を越えていな
い場合にのみ中間変数の展開処理を行なうことで、中間
変数の処理展開数を低減し処理時間を短縮する多段組合
せ回路の合成方法が提案されている。なお、前記特開平
4-352283号公報中の展開処理は平坦化処理と同義であ
る。
【0027】図8を参照して、前記特開平4-352283号公
報に提案された平坦化処理を説明する。なお、図8は、
図7の平坦化処理701の詳細な流れ図に対応するもので
ある。
【0028】平坦化処理対象を抽出し(ステップ80
1)、中間変数、すなわち平坦化すべき組合せ回路が残
っているか否かを判定し(ステップ802)、平坦化後の
積項数を予測し(ステップ803)、予測した積項数が予
め定めた閾値(「許容最大値」ともいう)を越えている
場合は平坦化せずにステップ801に戻り、予測した積項
数が閾値を越えていない場合にのみ平坦化処理を行ない
(ステップ805)、ステップ801に戻る。
【0029】ステップ802の判定処理において全ての平
坦化対象の処理が終わると2段論理最適化し(ステップ
806)、多段化する(ステップ807)。
【0030】このように、図8に示された従来の平坦化
処理では中間変数中の積項数を予め定められた閾値と比
較して、予測した積項数が閾値を越えていない場合にの
み平坦化処理を行ない処理時間の短縮化を図るものであ
るが、積項数が多い場合には、十分な平坦化処理が行わ
れず、このため平坦化後の回路規模の縮小化が達成され
ず、面積の最適化が十分に行なえないという問題があ
る。また、従来の平坦化処理では、大規模回路の最適化
に際してメモリ容量の削減、処理時間の大幅な短縮化が
図れないという問題がある。
【0031】従って本発明は、前記問題を解消し、特に
大規模な回路を最適化する際に、平坦化に必要なメモリ
の削減及び処理時間の大幅な短縮化を達成し、大規模回
路に対して効率良く最適化する論理回路合成装置及び論
理回路合成方法を提供することを目的とする。
【0032】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、論理平坦化処理対象の回路について平坦
化処理後の回路規模を予測し、該回路規模の予測値が予
め定めた閾値を越えた場合その段階で該回路に2
段論理最適化を施し、該2段論理最適化を施した回路に
ついて平坦化処理後の回路規模を予測し直し、前記回路
規模の予測値が前記閾値を越えないものについて論理平
坦化処理を行なうようにしたことを特徴とする論理回路
合成方法を提供する。
【0033】本発明の論理回路合成方法においては、論
理回路の最適化処理は、好ましくは、(A)論理平坦化処
理対象回路を抽出し、(B)論理平坦化処理対象回路に対
して平坦化処理後の回路規模を予測し、(C)該回路規模
の予測値が予め定めた閾値を越えるか否かを判定し、
(D)該回路規模の予測値が前記予め定めた閾値を越える
場合において、前記論理平坦化処理対象回路が2段論理
最適化済みでない場合には2段論理最適化を施した後に
前記工程(B)にて2段論理最適化済みの回路について回
路規模を予測し直し、(E)前記回路規模の予測値が前記
予め定めた閾値を越える場合において、前記論理平坦化
処理対象回路が2段論理最適化済みの場合には、前記工
程(A)にて論理平坦化処理対象回路を抽出し、(F)前記回
路規模の予測値が前記予め定めた閾値を越えていない場
合には、前記論理平坦化処理対象回路に対して平坦化処
理を施し、(G)論理平坦化処理対象回路が存在しない場
合には、2段論理最適化を行ない、更に、(H)論理多段
化を行なう、上記各工程を含むことをことを特徴とす
る。
【0034】本発明の論理回路合成方法においては、前
記回路規模として積項数又はファイン数が用いられ、あ
るいは積項数及びファイン数が用いられる。
【0035】本発明の論理回路合成方法においては、中
間変数に、2段論理最適化を行なったか否かのフラグを
備え、初期化時に該フラグを2段論理最適化処理未実行
状態にリセットすることを特徴としている。
【0036】また、本発明は、論理回路のテクノロジマ
ッピングに用いるテクノロジライブラリブロックの情報
を入力するライブラリ入力部と、論理合成対象となる論
理回路記述を入力する回路入力部と、遅延又は面積等か
ら成る論理回路の制約条件を入力する制約条件入力部
と、論理回路の最適化処理を行なう論理最適化部であっ
て、論理平坦化の処理中に2段論理最適化を行なって論
理最適化を行う論理最適化部と、与えられた制約条件を
目的関数として、前記テクノロジライブラリブロックを
論理回路に割り当てるテクノロジマッピング部と、処理
結果の回路を出力する回路出力処理部と、を有すること
を特徴とする論理回路合成装置を提供する。
【0037】本発明の論理回路合成装置においては、論
理最適化部が、論理平坦化処理対象の回路について平坦
化処理後の回路規模を予測し、該回路規模の予測値が予
め定めた閾値を越える際に、該回路に2段論理最適化を
施し、該2段論理最適化を施した回路について平坦化処
理後の回路規模を予測し直し、前記回路規模の予測値が
前記閾値を越えないものについて論理平坦化処理を行な
うように構成されたことを特徴とするものである。
【0038】
【作用】上述した従来の論理回路合成方法に対し、本発
明は、論理最適化処理において、平坦化後の回路規模を
予測し、予測された回路規模が予め定められた閾値を越
える場合には、平坦化処理対象の組合せ回路に対して2
段論理最適化を実行することにより、積項数を十分に少
なくすることにより、平坦化後の予測回路規模を縮小化
することができるという利点を有する。また、本発明
は、平坦化処理の処理効率(メモリ容量、処理時間)を
大幅に向上させている。
【0039】
【実施例】図面を参照して、本発明の実施例を以下に説
明する。
【0040】
【実施例1】図2は、本発明の一実施例に係る論理回路
合成装置のハードウェア構成例を示すものである。
【0041】図2に示すように、本実施例は、論理回路
のテクノロジマッピングに用いるテクノロジライブラリ
ブロックの情報を入力するライブラリ入力部200と、論
理合成対象となる論理回路記述を入力する回路入力部20
1と、遅延や面積などの論理回路の制約条件を入力する
制約条件入力部202と、論理の最適化を行なう論理最適
化部203と、与えられた制約条件を満たすことを目的関
数としてテクノロジライブラリブロックを論理回路に割
り当てるテクノロジマッピング部204と、処理結果の回
路を出力する回路出力部205と、テクノロジライブラリ
と論理回路と制約条件を保持する記憶部206から構成さ
れる。
【0042】次に、図1及び図2を参照して本実施例の
動作を説明する。図1は、本実施例を処理フローを示す
流れ図である。
【0043】ライブラリ入力部200にて、テクノロジラ
イブラリブロックの論理、ファンアウト制約等の情報が
記述されたテクノロジライブラリ100を入力し、これを
記憶部206に保持する(ステップ101のライブラリ入力処
理)。
【0044】次に、回路入力部201にて、論理回路記述1
02を入力し、記憶部206に保持する(ステップ103の回路
入力処理)。
【0045】ついで、制約条件入力部202において、制
約条件104を入力し、記憶部206に保持する(ステップ10
5の制約入力処理)。
【0046】論理最適化部203において、記憶部206に保
持されている論理回路に対して論理の最適化を行なう
(ステップ106の論理最適化処理)。
【0047】テクノロジマッピング部204において、記
憶部206に保持されている論理回路に対して記憶部206に
保持されている制約条件を満たすことを目的関数として
記憶部206に保持されているテクノロジライブラリブロ
ックを割り当てる(ステップ107のテクノロジマッピン
グ処理)。
【0048】回路出力部205において、記憶部206に保持
されている論理回路を出力し論理回路記述109が得られ
る(ステップ108の回路出力処理)。
【0049】次に図3を参照して、図1の論理最適化処
理106における論理平坦化処理の詳細を説明する。
【0050】図3は、論理最適化処理106の詳細な流れ
図の一例である。
【0051】記憶部206に保持されている論理回路の組
合せ回路部分に対して論理最適化処理を実行する。
【0052】全ての中間変数に2段論理最適化処理未実
行フラグを設定する(ステップ300)。
【0053】論理平坦化処理対象回路、すなわち中間変
数に対応する組合せ回路とそのファンアウト先の組合せ
回路、を抽出する(ステップ301)。論理平坦化対象の
回路が論理合成対象回路の部分回路である場合には、そ
の部分回路内から論理平坦化対象を抽出する。また、中
間変数が多くのファンアウト先を持ち、平坦化を行なわ
ない方が論理最適化に効果的であると判断される場合に
は平坦化処理対象として抽出しない。
【0054】論理平坦化処理対象回路があるか否か判定
し(ステップ302)、論理平坦化処理対象回路がある場
合にはステップ303に進む。論理平坦化処理対象回路が
無い場合にはステップ308に進む。
【0055】論理平坦化処理対象回路に対して論理平坦
化処理実行後の回路規模を予測する(ステップ303)。
【0056】ステップ303により予測された回路規模が
予め定められた回路規模の閾値を越えるか否かを判定し
(ステップ304)、論理平坦化処理実行後の回路規模の
予測値が閾値を越えた場合はステップ305に進む。論理
平坦化処理実行後の回路規模の予測値が閾値を越えてい
ない場合には平坦化処理を行なう(ステップ307)。
【0057】論理平坦化処理実行後の回路規模の予測値
が閾値を越えた場合には、論理平坦化処理対象回路が2
段論理最適化処理未実行フラグが解除されているか否か
を判定し(ステップ305)、2段論理最適化処理未実行
フラグが解除されている場合には2段論理最適化済みで
あるためそのままステップ301に戻る。
【0058】2段論理最適化処理未実行フラグが設定さ
れている場合には、論理平坦化処理対象回路に対し2段
論理最適化を実行し、2段論理最適化処理未実行フラグ
を解除して(ステップ306)、ステップ303に戻る。この
場合、ステップ303では2段論理最適化が行なわれた回
路に対して、論理平坦化処理実行後の回路規模を予測す
る。
【0059】論理平坦化処理実行後の回路規模の予測値
が閾値を越えていない場合には、論理平坦化処理対象回
路に対して論理平坦化処理を実行し、論理平坦化処理対
象回路のファンアウト側の回路の論理最適化処理未実行
フラグを再設定し(ステップ307)、ステップ301に戻
る。
【0060】ステップ308で2段論理最適化処理未実行
フラグが設定されている中間変数に対し2段論理最適化
処理を行い、ステップ309で必要に応じて論理多段化処
理を行う。
【0061】次に、図4の論理式を参照して、本実施例
の論理最適化処理106における論理平坦化処理(図3参
照)の適用例を説明する。
【0062】ここでは回路規模の尺度として組合せ回路
の積項数を用いる。
【0063】ステップ300で全ての中間変数に2段論理
最適化処理未実行フラグを設定する。
【0064】ステップ301で組合せ論理回路中の中間変
数x(401)とファンアウト先f(402)が論理平坦化処
理対象として抽出されたとする。
【0065】ここで、i1、i2、i3、i4、i5は組合
せ論理回路中の中間変数であっても良く、論理回路の外
部入力端子であっても良く、フリップフロップなどの組
合せ論理素子以外の回路素子の出力端子であっても良
い。また、中間変数xはf以外のファンアウト先であっ
ても良い。また、図4中、演算記号*は論理積、+は論
理和、 ̄は論理否定(反転)をそれぞれ示す。
【0066】ステップ302では論理平坦化処理対象回路
fとxが抽出されているため、ステップ303に進む。
【0067】ステップ303では予め定められた閾値と比
較するために論理平坦化処理結果の回路規模を予測す
る。前記の如く回路規模として積項数を用いるものとす
る。論理平坦化処理結果の積項数は、次式(6)に従って
求められる。
【0068】
【数1】
【0069】この場合、f中のxを含む積項数は2、x
の積項数は2、f中のx ̄を含む積項数は2、x ̄の積
項数は2、f中のx,x ̄を含まない積項数は1である
ので、上式(6)により、 2*2+2*2+1=9 となり、論理平坦化後の積項数は9と予測される。
【0070】ステップ304により、積項数9が予め定め
られた閾値を越えていないと判断された場合にはステッ
プ307に進み、ステップ304により積項数9が予め定めら
れた閾値を越えていると判断された場合にはステップ30
5に進む。
【0071】ステップ305により、論理平坦化処理対象
回路f,x共に2段論理最適化処理未実行フラグが解除
されている場合には、f,x共に2段論理最適化済みで
あると判断され、ステップ301に戻り、新たな論理平坦
化処理対象回路を抽出する。
【0072】論理平坦化処理対象回路f,xのいずれか
に2段論理最適化処理未実行フラグが設定されている場
合にはステップ306に進む。
【0073】ステップ306では、論理平坦化処理対象回
路f,xの2段論理最適化処理未実行フラグが設定され
ているものに対して2段論理最適化を実行する。なお、
2段論理最適化処理は、クワイン・マクラスキー(Quin
e Mucluskey)法等に代表される論理の冗長性を除去す
る論理最適化処理であり、周知の技術であり、前記用語
の説明の内容と実質的に同一である。
【0074】2段論理最適化の結果、論理平坦化処理対
象回路のf,xは図4の403、404のようになる。
【0075】2段論理最適化後、f,xの2段論理最適
化処理未実行フラグを解除し、ステップ303に戻る。
【0076】ステップ303により、論理平坦化後の積項
数を予測する。論理平坦化処理対象回路f中のxを含む
積項数は1、xの積項数は1、f中のx ̄を含む積項数
は1、x ̄の積項数は1、f中のx,x ̄を含まない積
項数は1であるので、上式(6)により、 1*1+1*1+1=3 となり、積項数は3と予測される。
【0077】積項数3が予め定められた閾値を越えてい
ないと判断された場合にはステップ307に進むが、閾値
を越えていると判断される場合には、ステップ305に進
み、f,x共に2段論理最適化済みであるため、ステッ
プ301に戻る。
【0078】ステップ307では論理平坦化処理を行い、
fの2段論理最適化処理未実行フラグを設定する。xは
論理平坦化処理による論理の変更は無いので2段論理最
適化処理未実行フラグの変更は行わない。論理平坦化の
結果、405の論理が得られる。
【0079】上記の説明では、組合せ回路の論理表現に
論理式を用いたが、真理値表、BDD(バイナリ・ディ
シジョン・ダイアグラム)等を用いても良い。
【0080】論理最適化前の積項数が1736の回路に対し
て、本実施例を適用しない従来例では、必要メモリはプ
ロセスサイズで6552k byte(キロバイト)、CPU時間
が78.6秒であるのに対し、本実施例を適用した場合、必
要メモリはプロセスサイズで6424k byte(約2%減)、
CPU時間が16.6秒(約80%減)という結果を得た。
【0081】
【実施例2】本発明の第2の実施例を以下に説明する。
本実施例では、回路規模として論理平坦化後の予測積項
数を用いる代わりに、論理平坦化後の予測ファンイン数
を用いるものとする。論理平坦化後のファンイン数は次
式(7)に従って求める。
【0082】
【数2】
【0083】図4の例では、fのファンイン数は4、x
のファンイン数は2、fとxに共通なファンイン数は0
であるので、上式(7)より、 2+4−0−1=5 となり、論理平坦化後のファンイン数は5と予測され
る。
【0084】本実施例においては、論理最適化処理にお
いて、回路規模の尺度として積項数の代わりにファンイ
ン数を用いている点のみが前記第1の実施例と相違し、
その他の構成は前記第1の実施例と同一である。より詳
細には、図3を参照して、本実施例では、ステップ303
の平坦化結果予測処理において上式(7)により論理平坦
化後の予測ファンイン数を算出し、ステップ304にて予
測値を予め定められたファインイン数の閾値と比較する
点が、前記第1の実施例と相違している。その他は前記
第1の実施例と同一であるため、説明を省略する。
【0085】
【実施例3】さらに、本発明の別の実施例として、回路
規模の予測値として、論理平坦化後の積項数とファンイ
ン数の両者を組み合わせて用いてもよい。
【0086】
【発明の効果】以上説明したように、従来の論理回路合
成方法における論理最適化処理ではメモリ制約や実行時
間制約等により十分な論理平坦化処理が行えなかったの
に対し、本発明の論理回路合成方法によれば、論理平坦
化処理対象に対し2段論理最適化処理を適用することに
より、これまで不可能であった部分の論理平坦化処理の
実現を可能としたことにより、論理最適化の効率を大幅
に向上するという効果がある。
【0087】論理最適化前の積項数が1736の回路に対し
て、本発明を適用しない論理最適化では、必要メモリ容
量はプロセスサイズで6552k byte、CPU時間は78.6秒
であったのに対し、本発明の論理最適化処理によれば、
必要メモリ容量はプロセスサイズで6424k byte(約2%
減)、CPU時間は16.6秒(約80%減)とされ、論理最
適化処理の処理時間を約80%も削減している。
【0088】そして、本発明においては、回路規模の予
測数として、積項数、又はファンイン数、あるいは両者
を用いることによっても、上記効果を同様に達するもの
である。
【0089】また、本発明の論理回路合成装置は、論理
平坦化処理対象に対し2段論理最適化処理を適用するこ
とにより、これまで不可能であった部分の論理平坦化処
理の実現を可能としたことにより、平坦化処理に要する
メモリ容量の削減、処理時間の大幅な短縮を達成し、大
規模回路の論理合成を処理効率を特段に向上するもので
ある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す流れ図である。
【図2】本発明の一実施例のハードウェア構成を示す図
である。
【図3】本発明の一実施例における論理最適化処理106
の処理フローの一例を示す流れ図である。
【図4】本発明の1適用例である。
【図5】論理平坦化対象の組合せ回路を示す説明図であ
る。
【図6】論理平坦化処理の流れ図である。
【図7】最適化の流れ図である。
【図8】従来の論理平坦化処理の流れ図である。
【符号の説明】
100 テクノロジライブラリ 101 ライブラリ入力処理 102 論理回路記述 103 回路入力処理 104 制約条件 105 制約条件入力処理 106 論理最適化処理 107 テクノロジマッピング処理 108 回路出力処理 109 論理回路記述 200 ライブラリ入力部 201 回路入力部 202 制約条件入力部 203 論理最適化部 204 テクノロジマッピング部 205 回路出力部 206 記憶部 300 フラグ設定処理 301 平坦化対象抽出処理 302 平坦化対象判断処理 303 平坦化結果予測処理 304 閾値判断処理 305 最適化済み判断処理 306 2段論理最適化処理 307 論理平坦化処理 308 2段論理最適化処理 309 論理多段化処理 501 中間変数組合せ回路 502 ファンアウト先組合せ回路 601 ファンイン判断処理 602 否定算出処理 603 論理積算出処理 604 論理積算出処理 605 論理和算出処理 701 平坦化処理 702 2段論理最適化処理 703 多段化処理 704 テクノロジマッピング処理 801 平坦化対象抽出処理 802 平坦化対象判断処理 803 平坦化結果予測処理 804 閾値判断処理 805 論理平坦化処理 806 2段論理最適化処理 807 論理多段化処理

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】論理回路の最適化処理において、論理平坦
    化処理対象の回路について平坦化処理後の回路規模を予
    測し、 該回路規模の予測値が予め定めた閾値を越えた場合
    その段階で該回路に2段論理最適化を施し、該2段
    論理最適化を施した回路について平坦化処理後の回路規
    模を予測し直し、 前記回路規模の予測値が前記閾値を越えないものについ
    て論理平坦化処理を行なうようにしたことを特徴とする
    論理回路合成方法。
  2. 【請求項2】論理回路の最適化処理が、 (A) 論理平坦化処理対象回路を抽出し、 (B) 論理平坦化処理対象回路に対して平坦化処理後の
    回路規模を予測し、 (C) 該回路規模の予測値が予め定めた閾値を越えるか
    否かを判定し、 (D) 該回路規模の予測値が前記予め定めた閾値を越え
    る場合において、前記論理平坦化処理対象回路が2段論
    理最適化済みでない場合には2段論理最適化を施した後
    に前記工程(B)にて2段論理最適化済みの回路について
    回路規模を予測し直し、 (E) 前記回路規模の予測値が前記予め定めた閾値を越
    える場合において、前記論理平坦化処理対象回路が2段
    論理最適化済みの場合には前記工程(A)にて論理平坦化
    処理対象回路を抽出し、 (F) 前記回路規模の予測値が前記予め定めた閾値を越
    えていない場合には、前記論理平坦化処理対象回路に対
    して平坦化処理を施し、 (G) 論理平坦化処理対象回路が存在しない場合には、
    2段論理最適化を行ない、更に、 (H) 論理多段化を行なう、 上記各工程を含むことを特徴とする論理回路合成方法。
  3. 【請求項3】前記回路規模の尺度として、積項数及び/
    又はファイン数を用いることを特徴とする請求項1又は
    2記載の論理回路合成方法。
  4. 【請求項4】中間変数に、2段論理最適化を行なったか
    否かのフラグを備え、初期化時に該フラグを2段論理最
    適化処理未実行状態にリセットすることを特徴とする請
    求項2記載の論理回路合成方法。
  5. 【請求項5】論理回路のテクノロジマッピングに用いる
    テクノロジライブラリブロックの情報を入力するライブ
    ラリ入力部と、 論理合成対象となる論理回路記述を入力する回路入力部
    と、 遅延又は面積等から成る論理回路の制約条件を入力する
    制約条件入力部と、 論理回路の最適化処理を行なう論理最適化部であって、
    論理平坦化の処理中に2段論理最適化を行なって論理最
    適化を行う論理最適化部と、 与えられた制約条件を目的関数として、前記テクノロジ
    ライブラリブロックを論理回路に割り当てるテクノロジ
    マッピング部と、 処理結果の回路を出力する回路出力処理部と、 を有することを特徴とする論理回路合成装置。
  6. 【請求項6】前記論理最適化部が、論理平坦化処理対象
    の回路について平坦化処理後の回路規模を予測し、該回
    路規模の予測値が予め定めた閾値を越える際に、該回路
    に2段論理最適化を施し、該2段論理最適化を施した回
    路について平坦化処理後の回路規模を予測し直し、前記
    回路規模の予測値が前記閾値を越えないものについて論
    理平坦化処理を行なうように構成されたことを特徴とす
    る請求項5記載の論理回路合成装置。
JP6215215A 1994-08-18 1994-08-18 論理回路合成方法及び装置 Expired - Lifetime JP2776262B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP6215215A JP2776262B2 (ja) 1994-08-18 1994-08-18 論理回路合成方法及び装置
US08/516,549 US5721690A (en) 1994-08-18 1995-08-18 Logic circuit synthesis
KR1019950025408A KR0165992B1 (ko) 1994-08-18 1995-08-18 논리 회로 합성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6215215A JP2776262B2 (ja) 1994-08-18 1994-08-18 論理回路合成方法及び装置

Publications (2)

Publication Number Publication Date
JPH0863498A JPH0863498A (ja) 1996-03-08
JP2776262B2 true JP2776262B2 (ja) 1998-07-16

Family

ID=16668609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6215215A Expired - Lifetime JP2776262B2 (ja) 1994-08-18 1994-08-18 論理回路合成方法及び装置

Country Status (3)

Country Link
US (1) US5721690A (ja)
JP (1) JP2776262B2 (ja)
KR (1) KR0165992B1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2877087B2 (ja) * 1996-06-28 1999-03-31 日本電気株式会社 類似部分回路抽出を用いた論理合成方法及び論理合成装置
US6006022A (en) * 1996-11-15 1999-12-21 Microsystem Synthesis, Inc. Cross-linked development and deployment apparatus and method
JP3179363B2 (ja) * 1997-04-18 2001-06-25 日本電気株式会社 回路設計方法及び記憶媒体
US6185719B1 (en) * 1997-06-06 2001-02-06 Kawasaki Steel Corporation Pass-transistor logic circuit and a method of designing thereof
JP3090136B2 (ja) * 1999-01-25 2000-09-18 日本電気株式会社 論理合成用制約生成処理装置及び論理合成用制約生成処理方法
JP3992947B2 (ja) * 2001-06-22 2007-10-17 富士通株式会社 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム
FI20040624A (fi) * 2004-04-30 2005-10-31 Metso Paper Inc Menetelmä ja järjestelmä logiikkaohjelmien muokkaamiseksi vikadiagnostiikkaa varten
US7346862B2 (en) * 2005-08-19 2008-03-18 Synopsys, Inc. Method and apparatus for optimizing a logic network in a digital circuit
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
CN114115804B (zh) * 2022-01-28 2022-05-03 苏州浪潮智能科技有限公司 一种乘法器转换方法、***、设备以及介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029102A (en) * 1987-06-08 1991-07-02 International Business Machines, Corp. Logical synthesis
US5461574A (en) * 1989-03-09 1995-10-24 Fujitsu Limited Method of expressing a logic circuit
US5572436A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
US5287289A (en) * 1990-04-13 1994-02-15 Hitachi, Ltd. Logic synthesis method
US5500808A (en) * 1991-01-24 1996-03-19 Synopsys, Inc. Apparatus and method for estimating time delays using unmapped combinational logic networks
JPH04282770A (ja) * 1991-03-12 1992-10-07 Fujitsu Ltd 多段論理回路合成装置
JPH04352283A (ja) * 1991-05-30 1992-12-07 Mitsubishi Electric Corp 多段組合せ回路の合成処理方法
US5473546A (en) * 1991-06-12 1995-12-05 Lsi Logic Corporation Method for flattening hierarchical design descriptions
JPH056408A (ja) * 1991-06-27 1993-01-14 Fujitsu Ltd 多段論理回路合成装置
US5452227A (en) * 1991-11-13 1995-09-19 Westinghouse Elec. Corp. Method and apparatus for converting a programmable logic device designed into a selectable target gate array design
JP2786967B2 (ja) * 1992-02-27 1998-08-13 富士通株式会社 半導体集積回路の設計方法
JPH05267460A (ja) * 1992-03-19 1993-10-15 Fujitsu Ltd 配線層に対する平坦化パターンの発生方法
US5493504A (en) * 1992-10-28 1996-02-20 Nippon Telegraph And Telephone Corporation System and method for processing logic function and fault diagnosis using binary tree representation
US5436849A (en) * 1993-02-09 1995-07-25 International Business Machines Corporation Incremental logic synthesis system for efficient revision of logic circuit designs
DE69527814T2 (de) * 1994-01-19 2002-12-12 Matsushita Electric Industrial Co., Ltd. Integrierte Halbleiterschaltung mit zwei Versorgungsspannungen
US5537330A (en) * 1994-06-10 1996-07-16 International Business Machines Corporation Method for mapping in logic synthesis by logic classification

Also Published As

Publication number Publication date
US5721690A (en) 1998-02-24
KR0165992B1 (ko) 1999-01-15
KR960008609A (ko) 1996-03-22
JPH0863498A (ja) 1996-03-08

Similar Documents

Publication Publication Date Title
CN110192192B (zh) 用于电路设计的基于神经网络的物理综合
US6728945B1 (en) Behavioral level observability analysis and its applications
JP2609799B2 (ja) 順序回路の再設計方法
JP2776262B2 (ja) 論理回路合成方法及び装置
US7752592B2 (en) Scheduler design to optimize system performance using configurable acceleration engines
Benini et al. Symbolic synthesis of clock-gating logic for power optimization of control-oriented synchronous networks
JPH0877221A (ja) 消費電力を低減する有限状態マシンを設計するシステム及び方法
US6463576B1 (en) Method for designing an ASIC and ASIC designing apparatus
EP1355244A1 (en) Method for designing an LSI system
EP0769738A2 (en) Logic circuit and method for designing the same
KR20030061686A (ko) 하나 이상의 중복 테스트 제거 및 하나 이상의 비효율적테스트 재배열 방법
US20090228859A1 (en) Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium
US6557144B1 (en) Netlist resynthesis program based on physical delay calculation
Wu et al. A Novel $\Delta\Sigma $ Control System Processor and Its VLSI Implementation
Higuchi et al. A fast state reduction algorithm for incompletely specified finite state machine
JP2861994B1 (ja) 回路合成方法、回路合成装置および記録媒体
Lin et al. In&Out: Restructuring for threshold logic network optimization
CN115204077B (zh) 集成电路的节点优化方法、装置、电子设备及可读介质
JP3491580B2 (ja) Lsi階層設計における遅延最適化システム及びその遅延最適化方法
JP3234124B2 (ja) エンジニアリングチェンジ用論理合成方法及び装置
KR100396237B1 (ko) 반복적 과도 근사 도달 상태 계산 방법 및 장치
JPH08106476A (ja) 論理回路自動合成方法
CN116841919A (zh) 一种数字逻辑电路的路径信息存储方法、***及存储介质
CN115203485A (zh) 图数据的处理方法、装置、电子设备及计算机可读介质
JPH0997281A (ja) パストランジスタ論理設計方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980331