JP2003099488A - 論理整合化装置 - Google Patents

論理整合化装置

Info

Publication number
JP2003099488A
JP2003099488A JP2001294569A JP2001294569A JP2003099488A JP 2003099488 A JP2003099488 A JP 2003099488A JP 2001294569 A JP2001294569 A JP 2001294569A JP 2001294569 A JP2001294569 A JP 2001294569A JP 2003099488 A JP2003099488 A JP 2003099488A
Authority
JP
Japan
Prior art keywords
gate
output terminal
input
block
deleted
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.)
Withdrawn
Application number
JP2001294569A
Other languages
English (en)
Inventor
Kyoji Wada
恭司 和田
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 JP2001294569A priority Critical patent/JP2003099488A/ja
Priority to US10/212,768 priority patent/US6834376B2/en
Publication of JP2003099488A publication Critical patent/JP2003099488A/ja
Withdrawn 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

Abstract

(57)【要約】 【課題】 階層的な集積回路の各階層における要素を自
動的に単純化し、無駄のない階層的ゲートレベルネット
リストを作成する。 【解決手段】 論理整合化装置は、集積回路の各階層を
記述した階層的な回路情報を参照し、下位階層の出力端
子が上位階層に接続されているか否かを判断する。そし
て、下位階層の出力端子が上位階層に接続されていない
と判断した場合には、その出力端子を記述した情報部分
を削除するとともに、その出力端子に接続されている下
位階層の要素を記述した情報部分を削除して、集積回路
に関するゲートレベルネットリストを作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、集積回路を自動
設計するための諭理整合化装置に関するものであり、特
に、不要な出力ポートを削除し、矛盾のない階層的ゲー
トレベルネットリストを出力する機能を有する論理整合
化装置に関するものである。
【0002】
【従来の技術】集積回路を設計するにあたっては、集積
回路の複数の階層ブロックに対応するRTL(regi
ster transfer level)で記述され
た階層的な回路データを作成した後、論理合成を実行
し、RTLの回路データに基づいて、ゲートレベル(論
理回路レベル)のネットリストを作成する方法がある。
また、ゲートレベルで記述された各階層ブロックのネッ
トリストに基づいて、ゲートレベルで記述された複数の
階層ブロックを有する集積回路全体のネットリストを作
成する方法がある。
【0003】この設計において、複数種類の上位階層ブ
ロックに利用できるように余分な要素を持った下位階層
ブロックに対応する回路データまたはネットリストを作
成しておく場合がある。この場合、下位階層ブロック
は、特定の上位階層ブロックに対して、使用されない要
素を持つことになる。
【0004】余分な要素を持った下位階層ブロックと特
定の上位階層ブロックを記述した回路データに基づいて
論理合成を実行すると、集積回路全体のネットリストに
おいても、下位階層ブロックには、上位階層ブロックで
使用されていない出力端子および論理が存在したままで
ある。従って、無駄な回路が残る可能性がある。余分な
要素を持った下位階層ブロックをゲートレベルで記述し
たネットリストと、特定の上位階層ブロックを記述した
ネットリストとを統合して集積回路全体のネットリスト
を作成する場合でも同様の問題がある。
【0005】そこで、従来の論理整合化装置には、下位
階層ブロックを論理合成する際に、下位階層ブロック中
の上位階層ブロックに接続されない出力端子を設計者が
指定すると、当該出力端子に関連する論理を削除するこ
とができるものがある。
【0006】
【発明が解決しようとする課題】従来の論理整合化装置
は以上のように構成されているので、無駄な要素を排除
するには、あらかじめ上位階層ブロックに接続されない
下位階層ブロックの出力端子を把握しておく必要があ
る。また、一つの上位階層ブロックについて、複数の同
じ下位階層ブロックを用いる場合、それぞれの下位階層
ブロックで上位階層ブロックに接続されない出力端子が
異なれば、上述した方法をとることはできないなどの課
題があった。
【0007】また、下位階層のゲートの入力端子に上位
階層から一義的な入力が与えられる場合にも、類似した
課題がある。このような場合には、下位階層のゲートに
は一義的な入力が与えられるのだから、上位階層の要素
および下位階層のゲートからなる構成部分はより簡単な
構成部分で置換または削除できるかもしれない。しか
し、複数階層にわたった構成部分を置換または削除する
発想は存在せず、余分な要素が残されていたままでい
た。
【0008】この発明は上記のような課題を解決するた
めになされたもので、階層的な集積回路の各階層におけ
る要素を自動的に単純化し、無駄のない階層的ゲートレ
ベルネットリストを作成する論理整合化装置を得ること
を目的とする。
【0009】
【課題を解決するための手段】この発明に係る論理整合
化装置は、集積回路の各階層を記述した階層的な回路情
報を参照し、下位階層の出力端子が上位階層に接続され
ているか否かを判断する判断部と、上記判断部で上位階
層に接続されていないと判断された下位階層の出力端子
を記述した情報部分を削除するとともに、上記出力端子
に接続されている下位階層の要素を記述した情報部分を
削除して、上記集積回路に関するゲートレベルネットリ
ストを作成する修正部とを備えたものである。
【0010】この発明に係る論理整合化装置は、判断部
で上位階層に接続されていないと判断された下位階層の
出力端子がバスポートの最上位ビットもしくは最下位ビ
ットに該当する出力端子である場合または最上位ビット
もしくは最下位ビットから連続する複数のビットに該当
する複数の出力端子である場合に、修正部は、上記出力
端子を記述した情報部分を削除するとともに、上記バス
ポートの名前を変えずに、削除した出力端子の分、バス
幅を減少させたゲートレベルネットリストを作成するも
のである。
【0011】この発明に係る論理整合化装置は、判断部
で上位階層に接続されていないと判断された下位階層の
出力端子がバスポートの最上位ビットおよび最下位ビッ
トを含まない途中のビットに該当する出力端子である場
合に、修正部は、上記出力端子を記述した情報部分を削
除するとともに、削除した上記出力端子を境界にしてバ
スポートの他の出力端子を複数のバスポートに区分した
ゲートレベルネットリストを作成するものである。
【0012】この発明に係る論理整合化装置は、判断部
は、下位階層の出力端子が上位階層に接続されていたと
しても、上位階層よりも上位にある第2の上位階層に接
続されているか否かを判断し、修正部は、上記判断部で
第2の上位階層に接続されていないと判断された下位階
層の出力端子を記述した情報部分を削除するとともに、
上記出力端子に接続されている上位階層の要素を記述し
た情報部分を削除するものである。
【0013】この発明に係る論理整合化装置は、集積回
路の各階層を記述した階層的な回路情報を参照し、上位
階層から下位階層にあるゲートへの入力値が一義的であ
るか否かを判断する判断部と、上記判断部で入力値が一
義的であると判断されたゲートを含む下位階層中の要素
と、上記ゲートの入力端子に接続された上位階層の要素
とで構成される構成部分を記述した情報部分を、この構
成部分よりも簡単な構成部分を記述した情報部分に置換
または削除して、上記集積回路に関するゲートレベルネ
ットリストを作成する修正部とを備えたものである。
【0014】この発明に係る論理整合化装置は、判断部
で入力値が一義的であると判断されたゲートの入力端子
がバスポートの最上位ビットもしくは最下位ビットに該
当する入力端子に接続されている場合に、修正部は、上
記バスポートの入力端子を記述した情報部分を削除する
とともに、上記バスポートの名前を変えずに、削除した
入力端子の分、バス幅を減少させたゲートレベルネット
リストを作成するものである。
【0015】この発明に係る論理整合化装置は、判断部
は、入力値が一義的であるために削除することができる
ゲートの入力端子が複数あるか否かを判断し、この判断
が肯定的である場合に、修正部は上記バスポートのこれ
らの入力端子を記述した情報部分を削除するとともに、
上記バスポートの名前を変えずに、削除した入力端子の
分、バス幅を減少させたゲートレベルネットリストを作
成するものである。
【0016】この発明に係る論理整合化装置は、判断部
で入力値が一義的であると判断されたゲートの入力端子
がバスポートの最上位ビットおよび最下位ビットを含ま
ない途中のビットに該当する入力端子に接続されている
場合に、修正部は、上記バスポートの上記入力端子を記
述した情報部分を削除するとともに、削除した上記入力
端子を境界にしてバスポートの他の入力端子を複数のバ
スポートに区分したゲートレベルネットリストを作成す
るものである。
【0017】この発明に係る論理整合化装置は、判断部
は、下位階層にある要素の出力値が一義的であるか否か
を判断し、修正部は、上記判断部で出力値が一義的であ
ると判断された要素の出力端子を削除するとともに、上
記出力端子に接続された上位階層の要素で構成される構
成部分を記述した情報部分を、この構成部分よりも簡単
な構成部分を記述した情報部分に置換または削除して、
上記集積回路に関するゲートレベルネットリストを作成
するものである。
【0018】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1は、この発明の実施の形態1に係る
論理整合化装置を示すブロック図である。図において、
1は論理合成装置(判断部、修正部)、2は記憶部、3
は表示部、4は入力部を示す。
【0019】次に動作について説明する。論理合成装置
1は、例えばソフトウェアに基づいて動作するコンピュ
ータであり、階層的に構成されている集積回路の各階層
をRTLで記述した回路データに基づいて、論理合成を
実行し、ゲートレベルで記述された集積回路全体のネッ
トリストを作成する。
【0020】記憶部2には、RTLで記述された回路デ
ータが格納されている。また論理合成装置1は、集積回
路全体のネットリストを作成すると、これを記憶部2に
格納する。図示しないが、論理合成装置1はネットリス
トを記憶部2とは別の記憶媒体に格納してもよいし、通
信装置により、ネットリストを他の装置に送出してもよ
い。
【0021】また論理合成装置1は、作成されたネット
リストに基づいて、表示部3を制御して、これに集積回
路の回路図を表示させる。設計者は入力部4を用いて、
論理合成を開始するように論理合成装置1に指示を与え
ることができ、この指示が与えられると、論理合成装置
1は記憶部2からRTLで記述された回路データを読み
出して、論理合成を実行する。
【0022】論理合成においては、論理合成装置1は、
RTLで記述された回路データをゲートレベルに展開す
る。この後、論理合成装置1は論理の整合化のために、
展開された回路データ中で、下位階層の出力端子が上位
階層に接続されているか否かを判断する。上位階層に接
続されていない下位階層の出力端子がある場合、論理合
成装置1は、その下位階層の出力端子を記述した情報部
分を削除するとともに、この出力端子に接続されている
下位階層の要素を記述した情報部分を削除して、集積回
路に関する無駄のないゲートレベルネットリストを作成
する。
【0023】図2および図3は、この発明の実施の形態
1に係る論理整合化装置が実行する処理を説明するため
の図である。図において、10は階層的な集積回路の一
つの階層にあるブロック、11,12はブロック10の
すぐ下の階層にあるブロックを示す。20,21,22
は、ブロック11内に存在する回路を示す。OUT1,
OUT2は、ブロック11に設けられた出力端子、IN
1はブロック12に設けられた入力端子を示す。
【0024】図2は、集積回路の各階層をRTLで記述
した回路データに基づいて、この実施の形態で行う修正
処理を行わずに作成したネットリストで表された集積回
路を示す。図2に示すように、ブロック10の下位階層
のブロック11内には、回路20、回路21および回路
22が存在する。これは、論理合成前の回路データで、
下位階層のブロック11に3つの回路があることが指示
されていたということである。回路21および回路22
は回路20と接続されており、回路20の出力信号が回
路21および回路22に供給されるようになっている。
【0025】回路21は、ブロック11の出力端子OU
T1に接続されており、出力端子OUT1に適切な回路
を接続すれば、回路21の出力信号が出力端子OUT1
から出力可能になっている。出力端子OUT1は、ブロ
ック11と同じ階層のブロック12の入力端子IN1に
接続されており、図示しないがブロック12は上位階層
のブロック10に接続されている。従って、回路21の
出力信号は上位階層のブロック10に供給される。
【0026】一方、回路22は、ブロック11の出力端
子OUT2に接続されており、出力端子OUT2に適切
な回路を接続すれば、回路22の出力信号は出力端子O
UT2から出力可能ではあるが、出力端子OUT2は他
のどの信号線にも接続されていない。従って、回路22
は、上位階層のブロック10にとって不要な回路であ
る。
【0027】図3は、RTLで記述された上記と同じ回
路データに基づいて、この実施の形態1に係る論理合成
装置1が作成したゲートレベルのネットリストで表され
た集積回路を示す。この実施の形態においては、図3に
示すように、回路22をブロック11から取り除き、さ
らに回路22と接続されていた出力端子OUT2も取り
除く。より正確には、論理合成装置1は、ゲートレベル
に展開された回路データから回路22および出力端子O
UT2を記述した情報部分を削除して、集積回路全体に
関する階層的ゲートレベルネットリストを作成する。こ
れにより回路規模が削減され、回路面積も小さくでき
る。
【0028】以上のように、この実施の形態1によれ
ば、各階層において不要な出力端子を自動的に削除し、
無駄のない階層的ゲートレベルネットリストを作成する
ことが可能であるなどの効果が得られる。
【0029】実施の形態2.次にこの発明の実施の形態
2に係る論理整合化装置を説明する。この実施の形態2
に係る論理整合化装置の構造は、図1に示されたものと
同じでよい。
【0030】次に動作について説明する。図4は、この
発明の実施の形態2に係る論理整合化装置の論理合成装
置1(図1参照)が実行する動作を表すフローチャート
である。設計者が入力部4を用いて、論理合成を開始す
るように論理合成装置1に指示を与えると、この動作は
開始する。
【0031】この指示が与えられると、まずステップS
T1で、論理合成装置1は記憶部2からRTLで記述さ
れた回路データを読み出す。次に、ステップST2で、
論理合成装置1は、RTLで記述された回路データをゲ
ートレベルに展開する。この後、ステップST3で、論
理合成装置1は論理の整合化のために、ゲートレベルに
展開された回路データ中で、下位階層の出力端子が上位
階層に接続されているか否かを判断する。
【0032】下位階層の出力端子が上位階層に接続され
ていると判断した場合、すなわちステップST3の判断
が肯定的な場合には、無駄のないゲートレベルネットリ
ストが作成されているので、動作はステップST4に進
み、論理合成装置1はこのゲートレベルネットリストを
記憶部2に格納し、動作が終了する。
【0033】一方、下位階層の出力端子が上位階層に接
続されていないと判断した場合、すなわちステップST
3の判断が否定的な場合には、論理合成装置1はステッ
プST5でその出力端子が下位階層のブロックまたはデ
バイスのバスポートの一部であるか否か判断する。
【0034】ステップST5の判断が否定的な場合に
は、動作はステップST6に進み、実施の形態1に関連
して説明したのと同様に、ゲートレベルに展開された回
路データからその下位階層の出力端子を記述した情報部
分を削除するとともに、この出力端子に接続されている
下位階層の回路を記述した情報部分を削除する。この
後、動作はステップST4に進み、論理合成装置1は、
無駄が排除されたこのゲートレベルネットリストを記憶
部2に格納し、動作が終了する。
【0035】一方、ステップST5の判断が肯定的な場
合、すなわち、上位階層に接続されていない出力端子が
下位階層のブロックまたはデバイスのバスポートの一部
である場合には、動作はステップST7に進み、問題の
出力端子がバスポートの途中のビット(最上位もしくは
最下位ビット以外のビット)に該当する出力端子のみで
あるか否か判断する。
【0036】ステップST7の判断が否定的な場合、す
なわち、上位階層に接続されていないと判断された下位
階層の出力端子がバスポートの最上位ビットもしくは最
下位ビットに該当する出力端子のみである場合または最
上位ビットもしくは最下位ビットから連続する複数のビ
ットに該当する複数の出力端子である場合に、論理合成
装置1は、ステップST8で、上記出力端子を記述した
情報部分を削除する。さらに、論理合成装置1は、ステ
ップST9で、上記バスポートの名前を変えずに、削除
した出力端子の分、バス幅を減少させたゲートレベルネ
ットリストを作成する。これらのステップST8および
ステップST9の処理については後に詳しく説明する。
この後、動作はステップST4に進み、論理合成装置1
は、無駄が排除されたこのゲートレベルネットリストを
記憶部2に格納し、動作が終了する。
【0037】ステップST7の判断が肯定的な場合、す
なわち、上位階層に接続されていないと判断された下位
階層の出力端子がバスポートの最上位ビットおよび最下
位ビットを含まない途中のビットに該当する出力端子で
ある場合に、論理合成装置1は、ステップST10で、
上記出力端子を記述した情報部分を削除する。さらに、
論理合成装置1は、ステップST11で、削除した上記
出力端子を境界にしてバスポートの他の出力端子を複数
のバスポートに区分して、ゲートレベルネットリストを
作成する。これらのステップST10およびステップS
T11の処理については後に詳しく説明する。この後、
動作はステップST4に進み、論理合成装置1は、無駄
が排除されたこのゲートレベルネットリストを記憶部2
に格納し、動作が終了する。
【0038】図5は、この発明の実施の形態2に係る論
理整合化装置が実行する処理、具体的には図4のステッ
プST8およびステップST9に相当する処理を説明す
るための図である。図において、30は階層的な集積回
路の一つの階層にあるブロック、31はブロック30の
下位の階層にあるブロック,32はブロック30,31
の間にあるブロックを示す。A[3]〜A[0]および
B[3]〜B[0]は、ブロック31の出力端子を示
す。A,Bは、ブロック31の出力用のバスポートをそ
れぞれ示す。A2〜A0およびB3〜B0は、ブロック
31とその上位のブロック32とを接続するラインを示
す。
【0039】図5(a)は、集積回路の各階層をRTL
で記述した回路データに基づいて、この実施の形態で行
う修正処理を行わずに作成したネットリストで表された
集積回路を示す。ブロック30,32の下位にあるブロ
ック31には、バスポートA,Bが配置されており、図
5(a)に示すように、バスポートAには4つの出力端
子A[3]〜A[0]が存在し、バスポートBにも4つ
の出力端子B[3]〜B[0]が存在する。出力端子を
示す符号A,Bは例えば用途を表しており、出力端子A
[3]〜A[0]の群からなるバスポートAと、出力端
子B[3]〜B[0]の群からなるバスポートBは別々
の用途で使われるようになっていてもよい。
【0040】これらのバスポートA,Bは、ブロック3
1とその上位階層のブロック32とを接続するパラレル
バスに対応する。仮に出力端子A[3]〜A[0]の全
てがラインによってブロック32に接続されていれば、
これらのラインからなるバスは4ビットバスとして利用
され、出力端子B[3]〜B[0]の全てがラインによ
ってブロック32に接続されていれば、これらのライン
からなるバスも同様に4ビットバスとして利用されう
る。
【0041】しかし、バスポートAをなす出力端子A
[3]〜A[0]のうち最上位ビットに該当する出力端
子A[3]にはラインが接続されておらず、バスポート
Bをなす出力端子B[3]〜B[0]のうち最下位ビッ
トに該当する出力端子B[0]にもラインが接続されて
いない。出力端子A[3]およびB[0]は上位階層に
とって不要な端子である。バスポートAの他の出力端子
A[2]〜A[0]は、一つのパラレルバスを構成する
ラインA2〜A0によりブロック32に接続されてお
り、バスポートBの他の出力端子B[3]〜B[1]
は、他の一つのパラレルバスを構成するラインB3〜B
1によりブロック32に接続されている。
【0042】図5(b)は、RTLで記述された上記と
同じ回路データに基づいて、この実施の形態2に係る論
理合成装置1が作成したゲートレベルのネットリストで
表された集積回路を示す。この実施の形態においては、
図5(b)に示すように、出力端子A[3]およびB
[0]を削除し、出力端子A[3]およびB[0]に接
続されているブロック31内の要素も必要に応じて削除
する。より正確には、論理合成装置1は、ゲートレベル
に展開された回路データから出力端子A[3]およびB
[0]、さらには必要に応じて出力端子A[3]および
B[0]に接続されているブロック31内の要素を記述
した情報部分を削除する。この動作が図4のステップS
T8に相当する。
【0043】さらに、論理合成装置1は、ゲートレベル
の回路データから、バスポートA,Bの名前はそのまま
変更せずに、削除した出力端子の分、バス幅を減少させ
て、ゲートレベルネットリストを作成する。この動作が
図4のステップST9に相当する。すなわち、バスポー
トAにおいては、出力端子A[3]〜A[0]の4ビッ
トから、出力端子A[2]〜A[0]の3ビットにバス
幅を減少させ、バスポートBにおいては、出力端子B
[3]〜B[0]の4ビットから、出力端子B[2]〜
B[0]の3ビットにバス幅を減少させる。このとき、
回路データにおいて、バスポートAに関しては出力端子
の名前を変更しないが、バスポートBに関しては、出力
端子の名前を変更する。つまり、出力端子B[3]をB
[2]に、出力端子B[2]をB[1]に、出力端子B
[1]をB[0]に、それぞれ変更する。このようにし
て、不要な出力端子を削除するとともに、出力端子の一
部を削減してもバスポートの名前の矛盾を防止すること
ができる。
【0044】上位階層に接続されていないと判断された
下位階層の出力端子がバスポートの最上位ビットもしく
は最下位ビットから連続する複数のビットに該当する複
数の出力端子である場合には、上記と類似の処理が行わ
れる。例えば、バスポートAにおいて、修正前の出力端
子A[3]だけでなく出力端子A[2]も上位階層にと
って不要な端子である場合には、ゲートレベルの回路デ
ータから、出力端子A[3]およびA[2]、さらには
必要に応じて出力端子A[3]およびA[2]に接続さ
れているブロック31内の要素を記述した情報部分を削
除し、出力端子A[3]〜A[0]の4ビットから、出
力端子A[1]〜A[0]の2ビットにバス幅を減少さ
せればよい。
【0045】バスポートBにおいて、修正前の出力端子
B[0]だけでなく出力端子B[1]も上位階層にとっ
て不要な端子である場合には、ゲートレベルの回路デー
タから、出力端子B[0]およびB[1]、さらには必
要に応じて出力端子B[0]およびB[1]に接続され
ているブロック31内の要素を記述した情報部分を削除
し、出力端子B[3]〜B[0]の4ビットから、出力
端子B[1]〜B[0]の2ビットにバス幅を減少させ
ればよい。このとき、出力端子の名前については、出力
端子B[3]をB[1]に、出力端子B[2]をB
[0]に、それぞれ変更する。
【0046】図6は、この発明の実施の形態2に係る論
理整合化装置が実行する処理、具体的には図4のステッ
プST10およびステップST11に相当する処理を説
明するための図である。図において、40は階層的な集
積回路の一つの階層にあるブロック、41はブロック4
0の下位の階層にあるブロック,42はブロック40,
41の間にあるブロックを示す。A[7]〜A[0]
は、ブロック41の出力端子を示す。Aは、ブロック4
1の出力用のバスポートを示す。A7〜A4、A2〜A
0は、ブロック41とその上位のブロック42とを接続
するラインを示す。
【0047】図6(a)は、集積回路の各階層をRTL
で記述した回路データに基づいて、この実施の形態で行
う修正処理を行わずに作成したネットリストで表された
集積回路を示す。ブロック40,42の下位にあるブロ
ック41には、バスポートAが配置されており、図6
(a)に示すように、バスポートAには8つの出力端子
A[7]〜A[0]が存在する。
【0048】バスポートAは、ブロック41とその上位
階層のブロック42とを接続するパラレルバスに対応す
る。仮に出力端子A[7]〜A[0]の全てがラインに
よってブロック42に接続されていれば、これらのライ
ンからなるバスは8ビットバスとして利用されうる。
【0049】しかし、バスポートAをなす出力端子A
[7]〜A[0]のうち途中のビットに該当する出力端
子A[3]にはラインが接続されていない。出力端子A
[3]は上位階層にとって不要な端子である。バスポー
トAの他の出力端子A[7]〜A[4],A[2]〜A
[0]は、一つのパラレルバスを構成するラインA7〜
A4,A2〜A0によりブロック42に接続されてい
る。
【0050】図6(b)は、RTLで記述された上記と
同じ回路データに基づいて、この実施の形態2に係る論
理合成装置1が作成したゲートレベルのネットリストで
表された集積回路を示す。この実施の形態においては、
図6(b)に示すように、出力端子A[3]を削除し、
出力端子A[3]に接続されているブロック41内の要
素も必要に応じて削除する。より正確には、論理合成装
置1は、ゲートレベルに展開された回路データから出力
端子A[3]、さらには必要に応じて出力端子A[3]
に接続されているブロック41内の要素を記述した情報
部分を削除する。この動作が図4のステップST10に
相当する。
【0051】さらに、論理合成装置1は、ゲートレベル
に展開された回路データにおいて、削除した出力端子A
[3]を境界にしてバスポートAの他の出力端子A
[7]〜A[4],A[2]〜A[0]を二つのバスポ
ートA_2_0,A_7_4に区分して、ゲートレベルネッ
トリストを作成する。バスポートA_2_0は、図6
(a)でいう出力端子A[2]を最上位ビットとし、出
力端子A[0]を最下位ビットとする3ビットのポート
であり、バスポートA_7_4は、図6(a)でいう出力
端子A[7]を最上位ビットとし、出力端子A[4]を
最下位ビットとする4ビットのポートである。この動作
が図4のステップST11に相当する。
【0052】このバスポートの分割に伴い、出力端子の
名前も、図6(b)に示すように変更する。すなわち、
出力端子A[2]〜A[0]をA_2_0[2]〜A_2_
0[0]に変更し、出力端子A[7]〜A[4]をA_
7_4[3]〜A_7_4[0]に変更する。このように
して、不要な出力端子を削除するとともに、出力端子の
一部を削減してもバスポートの名前の矛盾を防止するこ
とができる。しかも、出力端子の名前の変更が容易であ
り、変更後の出力端子の名前から元のデータでの名前を
推定するのも容易である。
【0053】ここでは、元のバスポートAを二つのバス
ポートA_2_0,A_7_4に区分するが、元のバスポー
トAの途中のビットに該当する出力端子を複数削除する
場合には、同様の手法で元のバスポートAを三つ以上の
バスポートに区分してもよい。
【0054】以上のように、この実施の形態2によれ
ば、各階層において不要な出力端子を自動的に削除し、
無駄のない階層的ゲートレベルネットリストを作成する
ことが可能である。また、不要な出力端子を削除すると
ともに、出力端子の一部を削減してもバスポートの名前
の矛盾を防止することができるなどの効果が得られる。
【0055】実施の形態3.次にこの発明の実施の形態
3に係る論理整合化装置を説明する。この実施の形態3
に係る論理整合化装置の構造も、図1に示されたものと
同じでよい。
【0056】次に動作について説明する。この実施の形
態に係る論理整合化装置は、実施の形態1の動作に加え
て次のような動作を行う。すなわち、論理整合化装置の
論理合成装置1(図1参照)は、論理合成において、論
理の整合化のために、ゲートレベルに展開された回路デ
ータ中で、下位階層の出力端子が上位階層に接続されて
いるか否かを判断するが、下位階層の出力端子が上位階
層に接続されていたとしても、上位階層よりも上位にあ
る第2の上位階層に接続されているか否かを判断する。
【0057】そして、下位階層の出力端子が第2の上位
階層に接続されていないと判断した場合には、回路デー
タからこの下位階層の出力端子を記述した情報部分を削
除するとともに、上記出力端子に接続されている上位階
層の要素を記述した情報部分を削除する。
【0058】図7および図8は、この発明の実施の形態
3に係る論理整合化装置が実行する処理を説明するため
の図である。図において、50は階層的な集積回路の一
つの階層にあるブロック、51,52はブロック50の
すぐ下位であって互いに同じ階層にあるブロックを示
す。53はブロック51,52のさらに下位の階層にあ
るブロックを示す。つまり、図示のブロック中、ブロッ
ク53は最も下位の階層にあり、ブロック51,52は
ブロック53の上位階層にあり、ブロック50はブロッ
ク51,52のさらに上位にある第2の上位階層であ
る。60はブロック51内に存在する回路を示し、6
1,62はブロック53内に存在する回路を示す。
【0059】IN53はブロック53に設けられた入力
端子、OUT531,OUT532はブロック53に設
けられた出力端子、OUT511,OUT512はブロ
ック51に設けられた出力端子、IN52はブロック5
2に設けられた入力端子である。
【0060】図7は、集積回路の各階層をRTLで記述
した回路データに基づいて、この実施の形態で行う修正
処理を行わずに作成したネットリストで表された集積回
路を示す。図7に示すように、最下位の階層のブロック
53内には、回路61および回路62が存在する。これ
は、論理合成前の回路データで、下位階層のブロック5
3に2つの回路があることが指示されていたということ
である。
【0061】回路61および回路62は、ブロック53
内の入力端子IN53に接続されており、入力端子IN
53はブロック51内の回路60と接続されているの
で、回路60の出力信号が回路61および回路62に供
給されるようになっている。
【0062】回路61は、ブロック53の出力端子OU
T531に接続されており、出力端子OUT531はよ
り上位のブロック51の出力端子OUT511に接続さ
れている。従って、出力端子OUT511に適切な回路
を接続すれば、回路61の出力信号が出力端子OUT5
11から出力可能になっている。出力端子OUT511
は、ブロック51と同じ階層のブロック52の入力端子
IN52に接続されており、図示しないがブロック52
は第2の上位階層のブロック50に接続されている。従
って、回路61の出力信号は第2の上位階層のブロック
50に供給される。
【0063】一方、回路62は、ブロック53の出力端
子OUT532に接続されており、出力端子OUT53
2はより上位のブロック51の出力端子OUT512に
接続されている。従って、出力端子OUT512に適切
な回路を接続すれば、回路62の出力信号は出力端子O
UT512から出力可能ではあるが、出力端子OUT5
12は他のどの信号線にも接続されていない。従って、
回路62は、第2の上位階層のブロック50にとって不
要な回路である。
【0064】図8は、RTLで記述された上記と同じ回
路データに基づいて、この実施の形態3に係る論理合成
装置1(図1参照)が作成したゲートレベルのネットリ
ストで表された集積回路を示す。この実施の形態におい
ては、図8に示すように、回路62をブロック53から
取り除き、さらにブロック53において回路62と接続
されていた出力端子OUT532も取り除く。さらに、
ブロック51の出力端子OUT512も不要になるの
で、出力端子OUT512も取り除く。より正確には、
論理合成装置1は、ゲートレベルに展開された回路デー
タから回路62および出力端子OUT532,OUT5
12を記述した情報部分を削除して、集積回路全体に関
する階層的ゲートレベルネットリストを作成する。これ
により回路規模が削減され、回路面積も小さくできる。
【0065】以上のように、この実施の形態3によれ
ば、下位階層の出力端子が上位階層に接続されていたと
しても、これがさらに上位の階層に接続されているか否
かを判断するので、不要な出力端子をより多く自動的に
削除し、無駄のない階層的ゲートレベルネットリストを
作成することが可能であるなどの効果が得られる。
【0066】なお、この実施の形態3では、下位階層の
ブロック53の二つ上の第2の上位階層のブロック50
までが、ブロック53内の要素と接続されているか否か
の判断の対象とされているが、さらに上位の階層を判断
の対象としてもよい。すなわち、ブロック53内の要素
がブロック50まで接続されていても、ブロック50よ
りさらに上位の階層が一つまたは複数あるのであれば、
ブロック53内の要素と接続されているか否かの判断を
繰り返せばよい。
【0067】また、この実施の形態3の論理整合化装置
が、実施の形態2と同じ動作も併せて実行するようにな
っていてもよい。
【0068】実施の形態4.次にこの発明の実施の形態
4に係る論理整合化装置を説明する。この実施の形態4
に係る論理整合化装置の構造も、図1に示されたものと
同じでよい。
【0069】次に動作について説明する。この動作は、
実施の形態1ないし3の動作と組み合わせられて行われ
てもよい。
【0070】設計者が入力部4(図1参照)を用いて、
論理合成を開始するように論理合成装置1に指示を与え
ると、論理合成装置1は記憶部2からRTLで記述され
た回路データを読み出して、論理合成を実行する。
【0071】論理合成においては、論理合成装置1は、
RTLで記述された回路データをゲートレベルに展開す
る。そして、ゲートレベルに展開された回路データ中
で、下位階層にあるゲートへの入力値が一義的であるか
否かを判断する。そして、下位階層にあるゲートへの入
力値が一義的である場合には、入力値が一義的であると
判断されたゲートを含む下位階層中の要素と、上記ゲー
トの入力端子に接続された上位階層の要素とで構成され
る構成部分を記述した情報部分を、この構成部分よりも
簡単でこの構成部分と等価または類似な構成部分を記述
した情報部分に置換または削除して、上記集積回路に関
するゲートレベルネットリストを作成する。
【0072】図9は、この発明の実施の形態4に係る論
理整合化装置が実行する処理を説明するための図であ
る。図において、70は階層的な集積回路の一つの階層
にあるブロック、71はブロック70のすぐ下の階層に
あるブロックを示す。G1は下位の階層にあるブロック
71に配置されたANDゲート、G2はブロック71に
配置されたORゲートを示す。IN70A,IN70
B,IN70Zは、ブロック70に設けられた入力端
子、IN71A,IN71B,IN71Zは、ブロック
71に設けられた入力端子を示す。
【0073】図9(a)は、集積回路の各階層をRTL
で記述した回路データに基づいて、この実施の形態で行
う修正処理を行わずに作成したネットリストで表された
集積回路を示す。図9(a)に示すように、ブロック7
0の下位階層のブロック71内には、ANDゲートG1
およびORゲートG2が存在する。これは、論理合成前
の回路データで、下位階層のブロック71にこれらのゲ
ートがあることが指示されていたということである。
【0074】上位階層にあるブロック70に設けられた
入力端子IN70A,IN70B,IN70Zは、下位
階層にあるブロック71に設けられたIN71A,IN
71B,IN71Zにそれぞれ接続されている。入力端
子IN71A、IN71ZはANDゲートG1の両方の
入力端子にそれぞれ接続されている。ANDゲートG1
の出力端子はORゲートG2の一方の入力端子に接続さ
れ、入力端子IN71BはORゲートG2の他方の入力
端子に接続されている。
【0075】この構造で、入力端子IN70A,IN7
0Bには不定な入力値が与えられるが、入力端子IN7
0Zには固定値“0”だけが入力されるとする。この場
合、入力端子IN70Aへの入力値に関わらず、AND
ゲートG1の出力値は必ず“0”になる。従って、AN
DゲートG1の出力が一方の入力端子に入力されるOR
ゲートG2は、その他方の入力端子に接続された入力端
子IN71Bへの入力値をそのまま出力する。以上より
明らかなように、ANDゲートG1およびORゲートG
2は不要な要素である。
【0076】図9(b)は、RTLで記述された上記と
同じ回路データに基づいて、この実施の形態4に係る論
理合成装置1が作成したゲートレベルのネットリストで
表された集積回路を示す。この実施の形態においては、
図9(b)に示すように、不要なANDゲートG1をブ
ロック71から取り除き、さらにANDゲートG1と接
続されていた入力端子IN70A,IN70Z,IN7
1A,IN71Zも取り除く。また、不要なORゲート
G2はブロック71から削除してもよいが、この実施の
形態では、ORゲートG2をバッファG3に置換し、そ
の入力端子を入力端子IN71Bに接続する。より正確
には、論理合成装置1は、ゲートレベルに展開された回
路データからANDゲートG1、ORゲートG2および
入力端子IN70A,IN70Z,IN71A,IN7
1Zを記述した情報部分を削除して、入力端子IN71
Bに接続されたバッファG3を記述した情報部分を付加
し、集積回路全体に関する階層的ゲートレベルネットリ
ストを作成する。これにより回路規模が削減され、回路
面積も小さくできる。
【0077】以上のように、この実施の形態4によれ
ば、各階層における要素を自動的に単純化し、無駄のな
い階層的ゲートレベルネットリストを作成することが可
能であるなどの効果が得られる。
【0078】実施の形態5.次にこの発明の実施の形態
5に係る論理整合化装置を説明する。この実施の形態5
に係る論理整合化装置の構造は、図1に示されたものと
同じでよい。
【0079】次に動作について説明する。この動作は、
実施の形態1ないし3の動作と組み合わせられて行われ
てもよい。図10は、実施の形態5に係る論理整合化装
置の論理合成装置1(図1参照)が実行する動作を表す
フローチャートである。設計者が入力部4を用いて、論
理合成を開始するように論理合成装置1に指示を与える
と、この動作は開始する。
【0080】この指示が与えられると、まずステップS
T21で、論理合成装置1は記憶部2からRTLで記述
された回路データを読み出す。次に、ステップST22
で、論理合成装置1は、RTLで記述された回路データ
をゲートレベルに展開する。この後、ステップST23
で、論理合成装置1は論理の整合化のために、ゲートレ
ベルに展開された回路データ中で、下位階層にあるゲー
トの入力端子に上位階層から固定値が入力されるか否か
を判断する。
【0081】下位階層にあるゲートの入力端子に上位階
層から固定値が入力されないと判断した場合、すなわち
ステップST23の判断が否定的な場合には、無駄のな
いゲートレベルネットリストが作成されているので、動
作はステップST24に進み、論理合成装置1はこのゲ
ートレベルネットリストを記憶部2に格納し、動作が終
了する。
【0082】一方、下位階層にあるゲートの入力端子に
上位階層から固定値が入力されると判断した場合、すな
わちステップST23の判断が肯定的な場合には、論理
合成装置1はステップST25でその入力端子が下位階
層のブロックまたはデバイスのバスポートの一部に接続
されているか否か判断する。
【0083】ステップST25の判断が否定的な場合に
は、動作はステップST26に進み、実施の形態4に関
連して説明したのと同様に、ゲートレベルに展開された
回路データからその下位階層のゲートを含む構成部分を
記述した情報部分をより簡単な構成部分を記述した情報
部分に置換するか削除する。この後、動作はステップS
T24に進み、論理合成装置1は、無駄が排除されたこ
のゲートレベルネットリストを記憶部2に格納し、動作
が終了する。
【0084】一方、ステップST25の判断が肯定的な
場合、すなわち、上位階層から固定値が入力される下位
階層にあるゲートの入力端子が下位階層のブロックまた
はデバイスのバスポートの一部に接続されている場合に
は、動作はステップST27に進み、問題の入力端子が
バスポートの途中のビット(最上位もしくは最下位ビッ
ト以外のビット)に該当する入力端子のみに接続されて
いるか否か判断する。
【0085】ステップST27の判断が否定的な場合、
すなわち、上位階層から固定値が入力される下位階層に
あるゲートの入力端子がバスポートの最上位ビットもし
くは最下位ビットに該当する入力端子に接続されている
場合に、論理合成装置1は、ステップST28で、ゲー
トレベルに展開された回路データからその下位階層のゲ
ートを含む構成部分を記述した情報部分をより簡単な構
成部分を記述した情報部分に置換するか削除する。この
ときには、バスポートの上記入力端子を記述した情報部
分の削除を伴う。さらに、論理合成装置1は、ステップ
ST29で、上記バスポートの名前を変えずに、削除し
た入力端子の分、バス幅を減少させる。これらのステッ
プST28およびステップST29の処理については後
に詳しく説明する。この後、動作はステップST24に
進み、論理合成装置1は、無駄が排除されたこのゲート
レベルネットリストを記憶部2に格納し、動作が終了す
る。
【0086】ステップST27の判断が肯定的な場合、
すなわち、上位階層から固定値が入力される下位階層に
あるゲートの入力端子がバスポートの最上位ビットおよ
び最下位ビットを含まない途中のビットに該当する入力
端子のみに接続されている場合に、論理合成装置1は、
ステップST30で、ゲートレベルに展開された回路デ
ータからその下位階層のゲートを含む構成部分を記述し
た情報部分をより簡単な構成部分を記述した情報部分に
置換するか削除する。このときには、バスポートの上記
入力端子を記述した情報部分の削除を伴う。さらに、論
理合成装置1は、ステップST31で、削除した上記入
力端子を境界にしてバスポートの他の入力端子を複数の
バスポートに区分する。これらのステップST30およ
びステップST31の処理については後に詳しく説明す
る。この後、動作はステップST24に進み、論理合成
装置1は、無駄が排除されたこのゲートレベルネットリ
ストを記憶部2に格納し、動作が終了する。
【0087】図11は、この発明の実施の形態5に係る
論理整合化装置が実行する処理、具体的には図10のス
テップST28およびステップST29に相当する処理
を説明するための図である。図において、80は階層的
な集積回路の一つの階層にあるブロック、81はブロッ
ク80の下位の階層にあるブロックを示す。X[3]〜
X[0]およびY[3]〜Y[0]は、ブロック81の
入力端子を示す。X,Yは、ブロック81の入力用のバ
スポートをそれぞれ示す。G11はブロック81に設け
られたANDゲート、G12はブロック81に設けられ
たNORゲートを示す。IN80X3,IN80Y0
は、上位階層のブロック80に設けられた入力端子を示
す。
【0088】図11(a)は、集積回路の各階層をRT
Lで記述した回路データに基づいて、この実施の形態で
行う修正処理を行わずに作成したネットリストで表され
た集積回路を示す。ブロック80の下位にあるブロック
81には、バスポートX,Yが配置されており、図11
(a)に示すように、バスポートXには4つの入力端子
X[3]〜X[0]が存在し、バスポートYにも4つの
入力端子Y[3]〜Y[0]が存在する。入力端子を示
す符号X,Yは例えば用途を表しており、入力端子X
[3]〜X[0]の群からなるバスポートXと、入力端
子Y[3]〜Y[0]の群からなるバスポートYは別々
の用途で使われるようになっていてもよい。
【0089】下位階層にあるブロック81のバスポート
X,Yは、ブロック81とその上位階層のブロック80
とを接続するパラレルバスに対応する。仮に入力端子X
[3]〜X[0]の全てがブロック80に接続されてい
れば、これらのラインからなるバスは4ビットバスとし
て利用され、入力端子Y[3]〜Y[0]の全てがブロ
ック80に接続されていれば、これらのラインからなる
バスも同様に4ビットバスとして利用されうる。図示の
ように、入力端子X[3],Y[0]は、上位階層にあ
るブロック80に設けられた入力端子IN80X3,I
N80Y0にそれぞれ接続されており、図示しないが、
他の入力端子X[2]〜X[0],Y[3]〜Y[1]
も同様にブロック80に設けられた入力端子にそれぞれ
接続されている。入力端子X[3],X[2]はAND
ゲートG11の両方の入力端子にそれぞれ接続されてい
る。入力端子Y[1],Y[0]はNORゲートG12
の両方の入力端子にそれぞれ接続されている。
【0090】この構造で、入力端子X[2]〜X
[0],Y[3]〜Y[1]にはブロック80の入力端
子から不定な入力値が与えられるが、バスポートXをな
す入力端子X[3]〜X[0]のうち最上位ビットに該
当する入力端子X[3]にはブロック80の入力端子I
N80X3から固定値“1”だけが入力されるとする。
この場合、ANDゲートG11は、一方の入力端子へ固
定値“1”が入力されるため、入力端子X[2]への入
力値をそのまま出力する。従って、ANDゲートG11
は不要な要素である。
【0091】また、バスポートYをなす入力端子Y
[3]〜Y[0]のうち最下位ビットに該当する入力端
子Y[0]にはブロック80の入力端子IN80Y0か
ら固定値“0”だけが入力されるとする。この場合、N
ORゲートG12は、一方の入力端子へ固定値“0”が
入力されるため、入力端子Y[1]への入力値を常に反
転して出力する。つまり、入力端子Y[1]への入力値
が“0”であれば“1”を出力し、入力端子Y[1]へ
の入力値が“1”であれば“0”を出力する。従って、
NORゲートG12はインバータに置換することが可能
である。
【0092】図11(b)は、RTLで記述された上記
と同じ回路データに基づいて、この実施の形態5に係る
論理合成装置1が作成したゲートレベルのネットリスト
で表された集積回路を示す。この実施の形態において
は、不要なANDゲートG11をブロック81から削除
してもよいが、図11(b)に示すように、ANDゲー
トG11をバッファG13に置換し、その入力端子を入
力端子X[2]に接続する。そして、これにより不要に
なった入力端子X[3]および入力端子IN80X3を
取り除く。より正確には、論理合成装置1は、ゲートレ
ベルに展開された回路データから入力端子X[3]、入
力端子IN80X3、ANDゲートG11を記述した情
報部分を削除して、入力端子X[2]に接続されたバッ
ファG13を記述した情報部分を付加する。また、NO
RゲートG12をNOTゲートG14に置換し、その入
力端子を入力端子Y[1]に接続する。そして、これに
より不要になった入力端子Y[0]および入力端子IN
80Y0を取り除く。より正確には、論理合成装置1
は、ゲートレベルに展開された回路データから入力端子
Y[0]、入力端子IN80Y0、NORゲートG12
を記述した情報部分を削除して、入力端子Y[1]に接
続されたNOTゲートG14を記述した情報部分を付加
する。
【0093】さらに、論理合成装置1は、ゲートレベル
の回路データから、バスポートX,Yの名前はそのまま
変更せずに、削除した入力端子の分、バス幅を減少させ
て、ゲートレベルネットリストを作成する。この動作が
図10のステップST29に相当する。すなわち、バス
ポートXにおいては、入力端子X[3]〜X[0]の4
ビットから、入力端子X[2]〜X[0]の3ビットに
バス幅を減少させ、バスポートYにおいては、入力端子
Y[3]〜Y[0]の4ビットから、入力端子Y[2]
〜Y[0]の3ビットにバス幅を減少させる。このと
き、回路データにおいて、バスポートXに関しては入力
端子の名前を変更しないが、バスポートYに関しては、
入力端子の名前を変更する。つまり、入力端子Y[3]
をY[2]に、入力端子Y[2]をY[1]に、入力端
子Y[1]をY[0]に、それぞれ変更する。このよう
にして、不要な入力端子を削除するとともに、入力端子
の一部を削減してもバスポートの名前の矛盾を防止する
ことができる。
【0094】論理合成装置1は、入力値が一義的である
ために削除することができるゲートの入力端子が複数あ
るか否かを判断し、この判断が肯定的である場合に、上
記バスポートのこれらの入力端子を記述した情報部分を
削除してもよい。例えば、バスポートXにおいて、修正
前の入力端子X[3]だけでなく入力端子X[1]も不
要であると判断される場合には、ゲートレベルの回路デ
ータから、入力端子X[3]およびX[1]を削除し、
入力端子X[3]〜X[0]の4ビットから、入力端子
X[1]〜X[0]の2ビットにバス幅を減少させれば
よい。このとき、入力端子の名前については、入力端子
X[2]をX[1]に変更する。
【0095】図12は、この発明の実施の形態5に係る
論理整合化装置が実行する処理、具体的には図10のス
テップST30およびステップST31に相当する処理
を説明するための図である。図において、90は階層的
な集積回路の一つの階層にあるブロック、91はブロッ
ク90の下位の階層にあるブロックを示す。X[7]〜
X[0]は、ブロック91の入力端子を示す。Xは、ブ
ロック91の入力用のバスポートを示す。G21はブロ
ック81に設けられたANDゲート、IN90X3は上
位階層のブロック80に設けられた入力端子を示す。
【0096】図12(a)は、集積回路の各階層をRT
Lで記述した回路データに基づいて、この実施の形態で
行う修正処理を行わずに作成したネットリストで表され
た集積回路を示す。ブロック90の下位にあるブロック
91には、バスポートXが配置されており、図12
(a)に示すように、バスポートXには8つの入力端子
X[7]〜X[0]が存在する。
【0097】バスポートXは、ブロック91とその上位
階層のブロック90とを接続するパラレルバスに対応す
る。仮に入力端子X[7]〜X[0]の全てがラインに
よってブロック90に接続されていれば、これらのライ
ンからなるバスは8ビットバスとして利用されうる。図
示のように、入力端子X[3]は、上位階層にあるブロ
ック90に設けられた入力端子IN90X3に接続され
ており、図示しないが、他の入力端子X[7]〜X
[4],X[2]〜X[0]も同様にブロック90に設
けられた入力端子にそれぞれ接続されている。入力端子
X[3],X[2]はANDゲートG21の両方の入力
端子にそれぞれ接続されている。
【0098】この構造で、入力端子X[7]〜X
[4],X[2]〜X[0]にはブロック90の入力端
子から不定な入力値が与えられるが、バスポートXの途
中のビットに該当する入力端子X[3]にはブロック9
0の入力端子IN90X3から固定値“1”だけが入力
されるとする。この場合、ANDゲートG21は、一方
の入力端子へ固定値“1”が入力されるため、入力端子
X[2]への入力値をそのまま出力する。従って、AN
DゲートG21は不要な要素である。
【0099】図12(b)は、RTLで記述された上記
と同じ回路データに基づいて、この実施の形態5に係る
論理合成装置1が作成したゲートレベルのネットリスト
で表された集積回路を示す。この実施の形態において
は、不要なANDゲートG21をブロック91から削除
してもよいが、図11(b)に示すように、ANDゲー
トG21をバッファG22に置換し、その入力端子を入
力端子X[2]に接続する。そして、これにより不要に
なった入力端子X[3]および入力端子IN90X3を
取り除く。より正確には、論理合成装置1は、ゲートレ
ベルに展開された回路データから入力端子X[3]、入
力端子IN90X3、ANDゲートG21を記述した情
報部分を削除して、入力端子X[2]に接続されたバッ
ファG22を記述した情報部分を付加する。この動作が
図10のステップST30に相当する。
【0100】さらに、論理合成装置1は、ゲートレベル
に展開された回路データにおいて、削除した入力端子X
[3]を境界にしてバスポートXの他の入力端子X
[7]〜X[4],X[2]〜X[0]を二つのバスポ
ートX_2_0,X_7_4に区分して、ゲートレベルネッ
トリストを作成する。バスポートX_2_0は、図12
(a)でいう入力端子X[2]を最上位ビットとし、入
力端子X[0]を最下位ビットとする3ビットのポート
であり、バスポートX_7_4は、図12(a)でいう入
力端子X[7]を最上位ビットとし、入力端子X[4]
を最下位ビットとする4ビットのポートである。この動
作が図10のステップST31に相当する。
【0101】このバスポートの分割に伴い、入力端子の
名前も、図12(b)に示すように変更する。すなわ
ち、入力端子X[2]〜X[0]をX_2_0[2]〜X
_2_0[0]に変更し、入力端子X[7]〜X[4]を
X_7_4[3]〜X_7_4[0]に変更する。このよう
にして、不要な入力端子を削除するとともに、入力端子
の一部を削減してもバスポートの名前の矛盾を防止する
ことができる。しかも、入力端子の名前の変更が容易で
あり、変更後の入力端子の名前から元のデータでの名前
を推定するのも容易である。
【0102】ここでは、元のバスポートXを二つのバス
ポートX_2_0,X_7_4に区分するが、元のバスポー
トXの途中のビットに該当する入力端子を複数削除する
場合には、同様の手法で元のバスポートXを三つ以上の
バスポートに区分してもよい。
【0103】以上のように、この実施の形態5によれ
ば、各階層における要素を自動的に単純化し、無駄のな
い階層的ゲートレベルネットリストを作成することが可
能であるなどの効果が得られる。
【0104】実施の形態6.次にこの発明の実施の形態
6に係る論理整合化装置を説明する。この実施の形態6
に係る論理整合化装置の構造も、図1に示されたものと
同じでよい。
【0105】次に動作について説明する。この実施の形
態に係る論理整合化装置は、次のような動作を行う。す
なわち、論理整合化装置の論理合成装置1(図1参照)
は、論理合成において、下位階層にある要素の出力値が
一義的であるか否かを判断する。そして、下位階層にあ
る要素の出力値が一義的であると判断した場合には、回
路データからこの要素の出力端子を削除するとともに、
上記出力端子に接続された上位階層の要素で構成される
構成部分を記述した情報部分を、この構成部分よりも簡
単な構成部分を記述した情報部分に置換または削除し
て、集積回路に関するゲートレベルネットリストを作成
する。この動作は、実施の形態4または実施の形態5と
同じ動作に併せて実行される。
【0106】図13および図14は、この発明の実施の
形態6に係る論理整合化装置が実行する処理を説明する
ための図である。図において、100は階層的な集積回
路の一つの階層にあるブロック、101はブロック10
0のすぐ下の階層にあるブロックを示す。G31は下位
の階層にあるブロック101に配置されたANDゲー
ト、G32はブロック101に配置されたNANDゲー
ト、G33はブロック101に配置されたNOTゲー
ト、G34はブロック100に配置されたANDゲート
を示す。IN100A,IN100B,IN100C,
IN100Zは、ブロック100に設けられた入力端
子、IN101A,IN101B,IN101Zは、ブ
ロック101に設けられた入力端子を示す。OUT10
1は、ブロック101に設けられた出力端子を示す。
【0107】図13は、集積回路の各階層をRTLで記
述した回路データに基づいて、この実施の形態で行う修
正処理を行わずに作成したネットリストで表された集積
回路を示す。図13に示すように、ブロック100の下
位階層のブロック101内には、ANDゲートG31、
NANDゲートG32およびNOTゲートG33が存在
する。これは、論理合成前の回路データで、下位階層の
ブロック101にこれらのゲートがあることが指示され
ていたということである。
【0108】上位階層にあるブロック100に設けられ
た入力端子IN100A,IN100B,IN100Z
は、下位階層にあるブロック101に設けられたIN1
01A,IN101B,IN101Zにそれぞれ接続さ
れている。入力端子IN101A、IN101ZはAN
DゲートG31の両方の入力端子にそれぞれ接続されて
いる。ANDゲートG31の出力端子はNANDゲート
G32の一方の入力端子に接続され、入力端子IN10
1BはNANDゲートG32の他方の入力端子とNOT
ゲートG33の入力端子に接続されている。
【0109】NOTゲートG33の出力端子は、図示し
ないが上位階層のブロック100の要素に接続されてい
る。NANDゲートG32の出力端子は、ブロック10
1に設けられた出力端子OUT101に接続され、出力
端子OUT101は上位階層のブロック100内のAN
DゲートG34の一方の入力端子に接続されている。A
NDゲートG34の他方の入力端子は、入力端子IN1
00Cに接続されている。
【0110】この構造で、入力端子IN100A,IN
100B,IN100Cには不定な入力値が与えられる
が、入力端子IN100Zには固定値“0”だけが入力
されるとする。この場合、入力端子IN100Aへの入
力値に関わらず、ANDゲートG31の出力値は必ず
“0”になる。従って、ANDゲートG31の出力が一
方の入力端子に入力されるNANDゲートG32につい
ては、入力端子IN100Bへの入力値に関わらず、そ
の出力が必ず“1”になる。さらに、NANDゲートG
32の出力が一方の入力端子に入力されるANDゲート
G34は、その他方の入力端子に接続された入力端子I
N100Cへの入力値をそのまま出力する。以上より明
らかなように、ANDゲートG31、NANDゲートG
32およびANDゲートG34は不要な要素である。
【0111】図14は、RTLで記述された上記と同じ
回路データに基づいて、この実施の形態6に係る論理合
成装置1が作成したゲートレベルのネットリストで表さ
れた集積回路を示す。この実施の形態においては、図1
4に示すように、不要なANDゲートG31、NAND
ゲートG32をブロック101から取り除き、さらにA
NDゲートG31およびNANDゲートG32と接続さ
れていた入力端子IN100A,IN100Z,IN1
01A,IN101Z、出力端子OUT101も取り除
く。
【0112】但し、必要と判断されたNOTゲートG3
3およびこれに接続された入力端子IN100B,IN
101Bはそのまま残しておく。また、不要なANDゲ
ートG34はブロック100から削除してもよいが、こ
の実施の形態では、ANDゲートG34をバッファG3
5に置換し、その入力端子を入力端子IN100Cに接
続する。より正確には、論理合成装置1は、ゲートレベ
ルに展開された回路データからANDゲートG31、N
ANDゲートG32および入力端子IN100A,IN
100Z,IN101A,IN101Zを記述した情報
部分を削除して、入力端子IN100Cに接続されたバ
ッファG35を記述した情報部分を付加し、集積回路全
体に関する階層的ゲートレベルネットリストを作成す
る。これにより回路規模が削減され、回路面積も小さく
できる。
【0113】以上のように、この実施の形態6によれ
ば、各階層における要素を自動的に単純化し、無駄のな
い階層的ゲートレベルネットリストを作成することが可
能であるなどの効果が得られる。
【0114】なお、この実施の形態6では、下位階層の
ブロック101にある要素の出力値が一義的であると判
断した場合に、回路データからこの要素の出力端子を削
除するとともに、上記出力端子に接続された上位階層の
ブロック100にある要素で構成される構成部分を記述
した情報部分を削除するが、ここでいう上位階層は下位
階層のすぐ上の階層には限定されず、さらに上の階層で
あってもよい。
【0115】以上、この発明をその好適な実施の形態を
参照しながら詳細に図示して説明したが、特許請求の範
囲に記載されたこの発明の趣旨および範囲の区域内で、
形式および細部に関する様々な変更が可能であることは
当業者であれば理解できることだろう。かかる変更、代
替、修正もこの発明の範囲に含まれるものであると出願
人は意図している。例えば、上記の実施の形態によれ
ば、RTLで記述された回路データをゲートレベルに展
開する論理合成装置が様々な情報要素の修正を行うが、
ゲートレベルで記述された複数のネットリストを統合す
る装置が情報要素の修正を行ってもよい。
【0116】
【発明の効果】以上のように、この発明によれば、集積
回路の各階層を記述した階層的な回路情報を参照し、下
位階層の出力端子が上位階層に接続されているか否かを
判断する判断部と、上記判断部で上位階層に接続されて
いないと判断された下位階層の出力端子を記述した情報
部分を削除するとともに、上記出力端子に接続されてい
る下位階層の要素を記述した情報部分を削除して、上記
集積回路に関するゲートレベルネットリストを作成する
修正部とを備えるように構成したので、各階層において
不要な出力端子を自動的に削除し、無駄のない階層的ゲ
ートレベルネットリストを作成することが可能であるな
どの効果がある。
【0117】この発明によれば、判断部で上位階層に接
続されていないと判断された下位階層の出力端子がバス
ポートの最上位ビットもしくは最下位ビットに該当する
出力端子である場合または最上位ビットもしくは最下位
ビットから連続する複数のビットに該当する複数の出力
端子である場合に、修正部は、上記出力端子を記述した
情報部分を削除するとともに、上記バスポートの名前を
変えずに、削除した出力端子の分、バス幅を減少させた
ゲートレベルネットリストを作成するように構成したの
で、不要な出力端子を削除するとともに、出力端子の一
部を削減してもバスポートの名前の矛盾を防止すること
ができるなどの効果がある。
【0118】この発明によれば、判断部で上位階層に接
続されていないと判断された下位階層の出力端子がバス
ポートの最上位ビットおよび最下位ビットを含まない途
中のビットに該当する出力端子である場合に、修正部
は、上記出力端子を記述した情報部分を削除するととも
に、削除した上記出力端子を境界にしてバスポートの他
の出力端子を複数のバスポートに区分したゲートレベル
ネットリストを作成するように構成したので、不要な出
力端子を削除するとともに、出力端子の一部を削減して
もバスポートの名前の矛盾を防止することができ、出力
端子の名前の変更が容易であるなどの効果がある。
【0119】この発明によれば、判断部は、下位階層の
出力端子が上位階層に接続されていたとしても、上位階
層よりも上位にある第2の上位階層に接続されているか
否かを判断し、修正部は、上記判断部で第2の上位階層
に接続されていないと判断された下位階層の出力端子を
記述した情報部分を削除するとともに、上記出力端子に
接続されている上位階層の要素を記述した情報部分を削
除するように構成したので、不要な出力端子をより多く
自動的に削除し、無駄のない階層的ゲートレベルネット
リストを作成することが可能であるなどの効果がある。
【0120】この発明によれば、集積回路の各階層を記
述した階層的な回路情報を参照し、上位階層から下位階
層にあるゲートへの入力値が一義的であるか否かを判断
する判断部と、上記判断部で入力値が一義的であると判
断されたゲートを含む下位階層中の要素と、上記ゲート
の入力端子に接続された上位階層の要素とで構成される
構成部分を記述した情報部分を、この構成部分よりも簡
単な構成部分を記述した情報部分に置換または削除し
て、上記集積回路に関するゲートレベルネットリストを
作成する修正部とを備えるように構成したので、各階層
における要素を自動的に単純化し、無駄のない階層的ゲ
ートレベルネットリストを作成することが可能であるな
どの効果がある。
【0121】この発明によれば、判断部で入力値が一義
的であると判断されたゲートの入力端子がバスポートの
最上位ビットもしくは最下位ビットに該当する入力端子
に接続されている場合に、修正部は、上記バスポートの
入力端子を記述した情報部分を削除するとともに、上記
バスポートの名前を変えずに、削除した入力端子の分、
バス幅を減少させたゲートレベルネットリストを作成す
るように構成したので、不要な入力端子を削除するとと
もに、入力端子の一部を削減してもバスポートの名前の
矛盾を防止することができるなどの効果がある。
【0122】この発明によれば、判断部は、入力値が一
義的であるために削除することができるゲートの入力端
子が複数あるか否かを判断し、この判断が肯定的である
場合に、修正部は上記バスポートのこれらの入力端子を
記述した情報部分を削除するとともに、上記バスポート
の名前を変えずに、削除した入力端子の分、バス幅を減
少させたゲートレベルネットリストを作成するように構
成したので、複数の不要な入力端子を削除するととも
に、複数の入力端子の一部を削減してもバスポートの名
前の矛盾を防止することができるなどの効果がある。
【0123】この発明によれば、判断部で入力値が一義
的であると判断されたゲートの入力端子がバスポートの
最上位ビットおよび最下位ビットを含まない途中のビッ
トに該当する入力端子に接続されている場合に、修正部
は、上記バスポートの上記入力端子を記述した情報部分
を削除するとともに、削除した上記入力端子を境界にし
てバスポートの他の入力端子を複数のバスポートに区分
したゲートレベルネットリストを作成するように構成し
たので、不要な入力端子を削除するとともに、入力端子
の一部を削減してもバスポートの名前の矛盾を防止する
ことができ、入力端子の名前の変更が容易であるなどの
効果がある。
【0124】この発明によれば、判断部は、下位階層に
ある要素の出力値が一義的であるか否かを判断し、修正
部は、上記判断部で出力値が一義的であると判断された
要素の出力端子を削除するとともに、上記出力端子に接
続された上位階層の要素で構成される構成部分を記述し
た情報部分を、この構成部分よりも簡単な構成部分を記
述した情報部分に置換または削除して、上記集積回路に
関するゲートレベルネットリストを作成するように構成
したので、各階層におけるさらに多くの要素を自動的に
単純化し、無駄のない階層的ゲートレベルネットリスト
を作成することが可能であるなどの効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係る論理整合化装
置を示すブロック図である。
【図2】 実施の形態1に係る論理整合化装置が実行す
る処理を説明するための図であって、集積回路の各階層
をRTLで記述した回路データに基づいて、実施の形態
1で行う修正処理を行わずに作成したネットリストで表
された集積回路を示す図である。
【図3】 実施の形態1に係る論理整合化装置が実行す
る処理を説明するための図であって、図2の元になる回
路データと同じ回路データに基づいて、実施の形態1に
係る論理合成装置が作成したゲートレベルのネットリス
トで表された集積回路を示す図である。
【図4】 この発明の実施の形態2に係る論理整合化装
置が実行する動作を表すフローチャートである。
【図5】 この発明の実施の形態2に係る論理整合化装
置が実行する処理を説明するための図であって、(a)
は集積回路の各階層をRTLで記述した回路データに基
づいて、実施の形態2で行う修正処理を行わずに作成し
たネットリストで表された集積回路を示す図であり、
(b)は(a)の元になる回路データと同じ回路データ
に基づいて、実施の形態2に係る論理合成装置が作成し
たゲートレベルのネットリストで表された集積回路を示
す図である。
【図6】 この発明の実施の形態2に係る論理整合化装
置が実行する他の処理を説明するための図であって、
(a)は集積回路の各階層をRTLで記述した回路デー
タに基づいて、実施の形態2で行う修正処理を行わずに
作成したネットリストで表された集積回路を示す図であ
り、(b)は(a)の元になる回路データと同じ回路デ
ータに基づいて、実施の形態2に係る論理合成装置が作
成したゲートレベルのネットリストで表された集積回路
を示す図である。
【図7】 この発明の実施の形態3に係る論理整合化装
置が実行する処理を説明するための図であって、集積回
路の各階層をRTLで記述した回路データに基づいて、
実施の形態3で行う修正処理を行わずに作成したネット
リストで表された集積回路を示す図である。
【図8】 実施の形態3に係る論理整合化装置が実行す
る処理を説明するための図であって、図7の元になる回
路データと同じ回路データに基づいて、実施の形態3に
係る論理合成装置が作成したゲートレベルのネットリス
トで表された集積回路を示す図である。
【図9】 この発明の実施の形態4に係る論理整合化装
置が実行する処理を説明するための図であって、(a)
は集積回路の各階層をRTLで記述した回路データに基
づいて、実施の形態4で行う修正処理を行わずに作成し
たネットリストで表された集積回路を示す図であり、
(b)は(a)の元になる回路データと同じ回路データ
に基づいて、実施の形態4に係る論理合成装置が作成し
たゲートレベルのネットリストで表された集積回路を示
す図である。
【図10】 この発明の実施の形態5に係る論理整合化
装置が実行する動作を表すフローチャートである。
【図11】 この発明の実施の形態5に係る論理整合化
装置が実行する処理を説明するための図であって、
(a)は集積回路の各階層をRTLで記述した回路デー
タに基づいて、実施の形態5で行う修正処理を行わずに
作成したネットリストで表された集積回路を示す図であ
り、(b)は(a)の元になる回路データと同じ回路デ
ータに基づいて、実施の形態5に係る論理合成装置が作
成したゲートレベルのネットリストで表された集積回路
を示す図である。
【図12】 この発明の実施の形態5に係る論理整合化
装置が実行する他の処理を説明するための図であって、
(a)は集積回路の各階層をRTLで記述した回路デー
タに基づいて、実施の形態5で行う修正処理を行わずに
作成したネットリストで表された集積回路を示す図であ
り、(b)は(a)の元になる回路データと同じ回路デ
ータに基づいて、実施の形態5に係る論理合成装置が作
成したゲートレベルのネットリストで表された集積回路
を示す図である。
【図13】 この発明の実施の形態6に係る論理整合化
装置が実行する処理を説明するための図であって、集積
回路の各階層をRTLで記述した回路データに基づい
て、実施の形態6で行う修正処理を行わずに作成したネ
ットリストで表された集積回路を示す図である。
【図14】 実施の形態6に係る論理整合化装置が実行
する処理を説明するための図であって、図13の元にな
る回路データと同じ回路データに基づいて、実施の形態
6に係る論理合成装置が作成したゲートレベルのネット
リストで表された集積回路を示す図である。
【符号の説明】
1 論理合成装置(判断部、修正部)、2 記憶部、3
表示部、4 入力部、10〜12,30〜32,40
〜42,50〜52,70,71,80,81,90,
91,100,101 ブロック、20〜22,60〜
62 回路、A,B,A_2_0,A_7_4,X,Y,X
_2_0,X_7_4 バスポート、A2〜A0,B3〜B
0 ライン、A[3]〜A[0],B[3]〜B[0]
出力端子、G1,G11,G21,G31,G34
ANDゲート、G2 ORゲート、G3,G13,G2
2,G35 バッファ、G12 NORゲート、G1
4,G33 NOTゲート、G32 NANDゲート、
IN1,IN52,IN53,IN70A,IN70
B,IN70Z,IN71A,IN71B,IN71
Z,IN80X3,IN80Y0,IN90X3,IN
100A,IN100B,IN100C,IN100
Z,IN101A,IN101B,IN101Z 入力
端子、OUT1,OUT2,OUT101,OUT51
1,OUT512,OUT531,OUT532 出力
端子、X[3]〜X[0],Y[3]〜Y[0] 入力
端子。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 集積回路の各階層を記述した階層的な回
    路情報を参照し、下位階層の出力端子が上位階層に接続
    されているか否かを判断する判断部と、 上記判断部で上位階層に接続されていないと判断された
    下位階層の出力端子を記述した情報部分を削除するとと
    もに、上記出力端子に接続されている下位階層の要素を
    記述した情報部分を削除して、上記集積回路に関するゲ
    ートレベルネットリストを作成する修正部とを備えた論
    理整合化装置。
  2. 【請求項2】 判断部で上位階層に接続されていないと
    判断された下位階層の出力端子がバスポートの最上位ビ
    ットもしくは最下位ビットに該当する出力端子である場
    合または最上位ビットもしくは最下位ビットから連続す
    る複数のビットに該当する複数の出力端子である場合
    に、修正部は、上記出力端子を記述した情報部分を削除
    するとともに、上記バスポートの名前を変えずに、削除
    した出力端子の分、バス幅を減少させたゲートレベルネ
    ットリストを作成することを特徴とする請求項1記載の
    論理整合化装置。
  3. 【請求項3】 判断部で上位階層に接続されていないと
    判断された下位階層の出力端子がバスポートの最上位ビ
    ットおよび最下位ビットを含まない途中のビットに該当
    する出力端子である場合に、修正部は、上記出力端子を
    記述した情報部分を削除するとともに、削除した上記出
    力端子を境界にしてバスポートの他の出力端子を複数の
    バスポートに区分したゲートレベルネットリストを作成
    することを特徴とする請求項1または請求項2記載の論
    理整合化装置。
  4. 【請求項4】 判断部は、下位階層の出力端子が上位階
    層に接続されていたとしても、上位階層よりも上位にあ
    る第2の上位階層に接続されているか否かを判断し、 修正部は、上記判断部で第2の上位階層に接続されてい
    ないと判断された下位階層の出力端子を記述した情報部
    分を削除するとともに、上記出力端子に接続されている
    上位階層の要素を記述した情報部分を削除することを特
    徴とする請求項1から請求項3のうちのいずれか1項記
    載の論理整合化装置。
  5. 【請求項5】 集積回路の各階層を記述した階層的な回
    路情報を参照し、上位階層から下位階層にあるゲートへ
    の入力値が一義的であるか否かを判断する判断部と、 上記判断部で入力値が一義的であると判断されたゲート
    を含む下位階層中の要素と、上記ゲートの入力端子に接
    続された上位階層の要素とで構成される構成部分を記述
    した情報部分を、この構成部分よりも簡単な構成部分を
    記述した情報部分に置換または削除して、上記集積回路
    に関するゲートレベルネットリストを作成する修正部と
    を備えた論理整合化装置。
  6. 【請求項6】 判断部で入力値が一義的であると判断さ
    れたゲートの入力端子がバスポートの最上位ビットもし
    くは最下位ビットに該当する入力端子に接続されている
    場合に、修正部は、上記バスポートの入力端子を記述し
    た情報部分を削除するとともに、上記バスポートの名前
    を変えずに、削除した入力端子の分、バス幅を減少させ
    たゲートレベルネットリストを作成することを特徴とす
    る請求項5記載の論理整合化装置。
  7. 【請求項7】 判断部は、入力値が一義的であるために
    削除することができるゲートの入力端子が複数あるか否
    かを判断し、この判断が肯定的である場合に、修正部は
    上記バスポートのこれらの入力端子を記述した情報部分
    を削除するとともに、上記バスポートの名前を変えず
    に、削除した入力端子の分、バス幅を減少させたゲート
    レベルネットリストを作成することを特徴とする請求項
    6記載の論理整合化装置。
  8. 【請求項8】 判断部で入力値が一義的であると判断さ
    れたゲートの入力端子がバスポートの最上位ビットおよ
    び最下位ビットを含まない途中のビットに該当する入力
    端子に接続されている場合に、修正部は、上記バスポー
    トの上記入力端子を記述した情報部分を削除するととも
    に、削除した上記入力端子を境界にしてバスポートの他
    の入力端子を複数のバスポートに区分したゲートレベル
    ネットリストを作成することを特徴とする請求項5から
    請求項7のうちのいずれか1項記載の論理整合化装置。
  9. 【請求項9】 判断部は、下位階層にある要素の出力値
    が一義的であるか否かを判断し、 修正部は、上記判断部で出力値が一義的であると判断さ
    れた要素の出力端子を削除するとともに、上記出力端子
    に接続された上位階層の要素で構成される構成部分を記
    述した情報部分を、この構成部分よりも簡単な構成部分
    を記述した情報部分に置換または削除して、上記集積回
    路に関するゲートレベルネットリストを作成することを
    特徴とする請求項5から請求項8のうちのいずれか1項
    記載の論理整合化装置。
JP2001294569A 2001-09-26 2001-09-26 論理整合化装置 Withdrawn JP2003099488A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001294569A JP2003099488A (ja) 2001-09-26 2001-09-26 論理整合化装置
US10/212,768 US6834376B2 (en) 2001-09-26 2002-08-07 Logic optimization device for automatically designing integrated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001294569A JP2003099488A (ja) 2001-09-26 2001-09-26 論理整合化装置

Publications (1)

Publication Number Publication Date
JP2003099488A true JP2003099488A (ja) 2003-04-04

Family

ID=19116146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001294569A Withdrawn JP2003099488A (ja) 2001-09-26 2001-09-26 論理整合化装置

Country Status (2)

Country Link
US (1) US6834376B2 (ja)
JP (1) JP2003099488A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676770B2 (en) 2004-03-26 2010-03-09 Elpida Memory, Inc. Apparatus and method for creating circuit diagram, program therefor and recording medium storing the program
JP2012048604A (ja) * 2010-08-30 2012-03-08 Fujitsu Ltd 設計支援装置、設計支援方法および設計支援プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3939550B2 (ja) * 2001-12-28 2007-07-04 株式会社リコー オブジェクト整合管理方法及びシステム
US7529851B1 (en) * 2002-02-08 2009-05-05 Cisco Technology, Inc. Method and apparatus for MAC address assignment
US7509548B2 (en) * 2003-06-30 2009-03-24 Mates John W Method and apparatus for integrated circuit self-description
TWI529551B (zh) * 2009-09-10 2016-04-11 卡登斯系統設計公司 用於實作圖形可編輯參數化單元之系統及方法
US8819612B1 (en) 2013-03-18 2014-08-26 International Business Machines Corporation Analyzing timing requirements of a hierarchical integrated circuit design
US9715564B2 (en) 2015-10-28 2017-07-25 International Business Machines Corporation Scalable and automated identification of unobservability causality in logic optimization flows

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01205274A (ja) 1988-02-10 1989-08-17 Mitsubishi Electric Corp 論理回路の作成方法
JPH0567171A (ja) 1991-09-10 1993-03-19 Nec Corp 論理回路の作成方式
JPH10171861A (ja) 1996-10-11 1998-06-26 Hitachi Ltd 階層図作成支援方法およびその装置
US6591402B1 (en) * 1999-03-19 2003-07-08 Moscape, Inc. System and method for performing assertion-based analysis of circuit designs
JP4031905B2 (ja) * 2000-11-09 2008-01-09 富士通株式会社 回路設計装置及び回路設計方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676770B2 (en) 2004-03-26 2010-03-09 Elpida Memory, Inc. Apparatus and method for creating circuit diagram, program therefor and recording medium storing the program
JP2012048604A (ja) * 2010-08-30 2012-03-08 Fujitsu Ltd 設計支援装置、設計支援方法および設計支援プログラム

Also Published As

Publication number Publication date
US6834376B2 (en) 2004-12-21
US20030061578A1 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
US5349659A (en) Hierarchical ordering of logical elements in the canonical mapping of net lists
US6907592B1 (en) Method of routing in a programmable logic device
KR100249251B1 (ko) 논리회로 최적화 장치 및 그 방법
US5239465A (en) Method and system for layout design of integrated circuits with a data transferring flow
JPH05181933A (ja) タイミング制限を受ける論理回路網の総電力を最小化するコンピュータ・ベースの方法
US6477689B1 (en) Architectural structure of a process netlist design tool
JP2003099488A (ja) 論理整合化装置
US7131085B2 (en) Distributed BDD reordering
US5856926A (en) Logic synthesis method and system with intermediate circuit files
US7006961B2 (en) Marker argumentation for an integrated circuit design tool and file structure
CA2248030A1 (en) Method of reducing circuit area by grouping compatible storage devices
Sawada et al. Restructuring logic representations with easily detectable simple disjunctive decompositions
JP4742281B2 (ja) 多段論理回路の再構成装置及び再構成方法、論理回路修正装置、並びに再構成可能な多段論理回路
JPH0327474A (ja) 半導体集積回路用ネットリストの修正方法
JPH09311886A (ja) 半導体集積回路の自動設計方法
JP2002032427A (ja) Lsiの接続検証装置、接続検証方法および接続検証プログラムを記録した媒体
US20040111247A1 (en) Optimization of timing models using bus compression
CN116796667A (zh) Rtl逻辑综合中的重输入优化方法、存储介质
JPH11120158A (ja) 階層型ニューラルネットワークの学習方法
JPH07334530A (ja) 論理回路の遅延最小化装置及び方法
US6701499B2 (en) Effective approximated calculation of smooth functions
JP2005107575A (ja) 大規模集積回路の設計方法
JPH10241354A (ja) 双方向転送型記憶装置及びメモリの入出力制御方法
US5140672A (en) Diagram generator having reference table which included reproducing and name assigning units for expanding circuit from lower to higher level
Kuo et al. Finite state machine partitioning for I/O-limited design

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060123

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071101

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081202