JP2004013683A - 半導体集積回路の開発方法、レイアウトエディタ、及び記録媒体 - Google Patents
半導体集積回路の開発方法、レイアウトエディタ、及び記録媒体 Download PDFInfo
- Publication number
- JP2004013683A JP2004013683A JP2002168679A JP2002168679A JP2004013683A JP 2004013683 A JP2004013683 A JP 2004013683A JP 2002168679 A JP2002168679 A JP 2002168679A JP 2002168679 A JP2002168679 A JP 2002168679A JP 2004013683 A JP2004013683 A JP 2004013683A
- Authority
- JP
- Japan
- Prior art keywords
- layout
- cell
- function
- symbol
- display
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】論理トレースの効率を向上させる。
【解決手段】表示手段(19)の表示情報に基づいて半導体集積回路の対話的なレイアウトを可能にするレイアウト工程において、レイアウト対象のデータに基づいてセルのレイアウトシンボル(251)を上記表示手段に表示させる第1処理と、上記セルのレイアウトシンボル上に、それに対応する回路シンボル(252)を重畳表示させる第2処理と、上記表示手段の表示画面上で論理修正を行う第3処理と、上記第3処理での修正に基づいてネットリストを修正する第4処理とを含め、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示することにより、上記レイアウトシンボルと回路シンボルとの対応関係の把握の容易化を図る。
【選択図】 図2
【解決手段】表示手段(19)の表示情報に基づいて半導体集積回路の対話的なレイアウトを可能にするレイアウト工程において、レイアウト対象のデータに基づいてセルのレイアウトシンボル(251)を上記表示手段に表示させる第1処理と、上記セルのレイアウトシンボル上に、それに対応する回路シンボル(252)を重畳表示させる第2処理と、上記表示手段の表示画面上で論理修正を行う第3処理と、上記第3処理での修正に基づいてネットリストを修正する第4処理とを含め、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示することにより、上記レイアウトシンボルと回路シンボルとの対応関係の把握の容易化を図る。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト設計支援技術に関し、特に設計者による設計から検証に至る半導体集積回路の開発方法、コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能を上記コンピュータに実現させるためのレイアウトエディタ、及び上記レイアウトエディタを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
レイアウトエディタは、コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能を上記コンピュータに実現させるためソフトウェアであり、それによれば、セルやブロックの作成および編集のほか、半導体集積回路の配置及び配線後の編集をインタラクティブに行うことができる。
【0003】
レイアウトとは、論理図の設計においては論理関係が視覚的に把握しやすいように論理シンボルを配置し、論理シンボル間を配線する作業であり、回路図の設計においては、所定の物理的制約や性能目標を満足するようにゲートを配置し、ゲート間を配線する作業である。レイアウトを自動化するためのアルゴリズムは多数開発されている。より良いレイアウトを行うためには人間が修正を指示できる対話的なシステムが望ましい。特にソフトウェア設計で作成される論理図の場合、ソフトウェアの保守や改造の際に重要なドキュメントとなるため、論理図が複雑化、大規模化するほどその可能性を向上させるような良いレイアウトを行うことは非常に重要とされる。しかし、レイアウトの対象が複雑化、大規模化するほど、そのレイアウトの特徴や傾向を対象図そのものから把握するのが困難とされている。
【0004】
論理図や回路図のレイアウトの特徴や傾向の把握とレイアウトの修正を容易にする情報の表示を可能とするレイアウト支援装置について記載された文献の例としては、特開平10−142286号公報がある。これによれば、レイアウト対象のCADデータからレイアウト改善の指標となる論理図もしくは回路図の情報を抽出する抽出手段と、抽出した指標値を図表形式に変換して視覚的に表現する可視化手段と、可視化した指標値をレイアウト対象図とは独立したウィンドウに表示する表示手段と、その指標値を表示するウィンドウ上においてレイアウトの修正すべき箇所、レイアウトの修正内容を指示する指示手段と、その指示に基づいてレイアウト対象図を修正する修正手段とを設けることにより、論理図や回路図のレイアウトの特徴や傾向の把握とレイアウトの修正を容易にする情報の表示を可能とする。
【0005】
また、レイアウト支援装置が記載された文献の例としては、特開平5−159020号公報がある。それによれば、操作命令を入力可能な入力手段と、等価回路図と配置配線図に関する設計情報及び装置全体の制御プログラム情報を記憶する記憶手段と、画像表示手段と、操作命令に基づき、設計情報を処理して表示画像を表示させる制御手段とを備え、制御手段では、表示画像に等価回路図のうち任意の部分と、この部分に対応する配線配置図の部分とを相互に参照可能なように同時に表示させ、任意の信号線が指定された場合には指定信号線に対応する配線及び信号線の出力元の信号線に対応する配線及び指定信号線の入力先の信号線に対応する配線の各々の表示を他の配線と異なる表示をさせることにより、任意の信号線又は配線に対してその出力元と入力先の配線又は信号線も他の線と容易に区別できるようにしている。
【0006】
【発明が解決しようとする課題】
半導体集積回路の開発において、レイアウト設計が終了した後に論理修正が必要になることは少なくない。その場合、レイアウトエディタを用いて論理解析や論理修正が行われる。この論理解析や論理修正について本願発明者が検討したところ、レイアウト改善の指標を図表形式に変換して別ウィンドウに表示したり、回路とレイアウト図が別ウィンドウに表示されることによってレイアウトの支援が可能とされるが、レイアウト結果から論理をトレースするのに必要となる時間を更に短縮する必要性のあることが見いだされた。
【0007】
本発明の目的は、論理トレースの効率を向上させるための技術を提供することにある。
【0008】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0009】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0010】
すなわち、コンピュータシステムに含まれる表示手段の表示情報に基づいてコンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト工程において、レイアウト対象のデータに基づいてセルのレイアウトシンボルを上記表示手段に表示させる第1処理と、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させる第2処理と、上記表示手段の表示画面上で論理修正を可能とする第3処理と、上記第3処理での修正に基づいてネットリストを修正する第4処理とを含める。
【0011】
上記の手段によれば、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルが重畳表示されることにより、上記セルのレイアウトシンボルと回路シンボルとの対応関係の把握を容易にする。このことが、レイアウトエディタ上での論理トレースの効率向上を達成する。
【0012】
このとき、上記回路シンボルの表示濃度や上記回路シンボルの表示の有無を、必要に応じて設定可能とすることができる。
【0013】
既にレイアウト設計が完了したデザインに対して配線層だけの変更で設計変更が可能とされる予備セルが含まれるとき、上記レイアウト工程には、上記表示手段を利用して、未使用の上記予備セルについてのリストを表示する第3処理を含めることができる。
【0014】
さらに、上記レイアウト工程において、ロジックコーンの表示処理を含めることができる。そしてこのロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースし、そのトレース結果に基づいてセルを上記表示手段に他のセルとは異なる態様で表示する処理を含めることができる。上記他のセルと異なる態様としては、ハイライト表示を挙げることができる。
【0015】
上記レイアウト工程には、ロジックコーンの表示処理を含めることができ、このロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1処理と、上記トレース結果に基づいて、上記表示手段上の対応するセルのレイアウトシンボルを他のセルとは異なる態様で表示する第2処理と、そのセルのレイアウトシンボル上に、当該セルに対応する回路シンボルを重畳表示させる第3処理とを含めることができる。
【0016】
さらに上記レイアウト工程には、レイアウト論理修正後に機能検証を可能とする機能検証工程を含めることができ、この機能検証工程には、レイアウト論理修正前のネットリストとレイアウト論理修正後のネットリストとの差分を求める処理を含めることができる。
【0017】
レイアウトエディタにおいて、レイアウトシンボルと、それに対応する回路シンボルとを管理する第1機能と、レイアウト対象のデータに基づいてセルのレイアウトシンボルを上記表示手段に表示させる第2機能と、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させる第3機能と、上記表示手段の表示画面上で論理修正を可能とする第4機能と、上記第4機能での修正に基づいてネットリストを修正する第5機能とを含めることができる。既にレイアウト設計が完了したデザインに対して配線層だけの変更で設計変更が可能とされる予備セルが含まれる場合には、上記レイアウト機能として、上記表示手段に未使用の予備セルについてのリストを表示させる第6機能を含めることができる。
【0018】
また、レイアウトエディタのレイアウト機能として、ロジックコーンの表示処理機能を含めることができ、このロジックコーンの表示処理機能には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1機能と、上記第1機能のトレース結果に基づいて上記セルを他のセルとは異なる態様で上記表示手段に表示する第2機能とを含めることができる。
【0019】
さらに、レイアウトエディタのレイアウト機能として、ポート又は順序セルを基準点とするとき前段の基準点までの論理であるロジックコーンの表示処理を含めることができ、その場合において上記ロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1機能と、上記第1機能のトレース結果に基づいて、上記表示手段上の対応するセルのレイアウトシンボルを他のセルとは異なる態様で表示する第2機能と、この第2機能により表示されたセルのレイアウトシンボル上に、当該セルに対応する回路シンボルを重畳表示させる第3機能とを含めることができる。
【0020】
【発明の実施の形態】
図1には、本発明にかかる半導体集積回路の開発方法が適用されるコンピュータシステムの構成例が示される。
【0021】
図1に示されるコンピュータシステム100は、特に制限されないが、プログラムに従った演算処理のためのマイクロコンピュータ10、読み出し専用のROM(リード・オンリ・メモリ)やランダムアクセス可能なRAM(ランダム・アクセス・メモリ)を含むメモリ11、CD−ROM15に記録されている情報の読み取りを可能とするためのCD−ROMドライブ14、このCD−ROMドライブ14をシステムに結合させるためのインタフェース13、プログラムや各種データの読み書きを可能とするハードディスク装置17、このハードディスク装置17をシステムに結合させるためのインタフェース16、各種情報を表示可能な表示装置19、この表示装置19での情報表示を制御するための表示制御部18を含む。上記マイクロコンピュータ10,メモリ11、インタフェース13,16、及び表示制御部18は、バス12を介して信号のやり取り可能に相互に結合される。
【0022】
上記CD−ROM15には、レイアウトエディタをコンピュータシステム100で機能させるためのプログラムが記録されている。このプログラムは、コンピュータシステム100に含まれる表示装置19の表示情報に基づいてコンピュータシステム100との間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能をコンピュータシステム100に実現させるためのソフトウェアであり、それは、ハードディスク装置17に転送されてから、マイクロコンピュータ10によって実行される。このプログラムがマイクロコンピュータ10で実行されることによって、上記レイアウトエディタにおけるレイアウト機能が発揮される。
【0023】
ここで、上記CD−ROM15やハードディスク装置17は、本発明における記録媒体の一例とされる。
【0024】
図2にはコンピュータシステム100でレイアウトエディタのプログラムが実行された場合の主要な機能ブロック構成が示される。
【0025】
特に制限されないが、レイアウトエディタはレイアウト機能を有し、このレイアウト機能には、回路情報(ネットリスト)21を適宜の記録媒体若しくはこのコンピュータシステム100が結合されているネットワークを介してデータベース22に読み込む機能と、このデータベース22の回路情報やライブラリ25に基づいてレイアウトを実施するレイアウトツール24とを含む。対話的なレイアウトを可能とするため、レイアウトツール24での処理内容は、表示装置19の表示画像に速やかに表示される。そして、このコンピュータシステム100においては、論理修正などにおいて必要となる論理トレースの効率を向上させるために、表示装置19においてセルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させるようにしており、そのような表示処理の容易化を図るため、ライブラリ25には、セルのレイアウトシンボル251とそれに対応する回路シンボル252とが一緒に管理されている。ここで、レイアウトシンボルとは、フリップフロップやインバータなどのセルがレイアウトパターンによって特定されているものを指す。回路シンボルとは、フリップフロップやインバータなどの特定の論理機能を示すものとして特定されたシンボルを指す。ライブラリ25には、上記セルのレイアウトシンボル251とそれに対応する回路シンボル252の他に、ファンクションやタイミング情報、デザインルールなどを含めることができる。また、表示装置19には、後に詳述するように、予備セルや配置候補リスト、ロジックコーンなどを表示することができる。
【0026】
尚、データベース22やライブラリ25は、特に制限されないが、ハードディスク装置17に形成される。
【0027】
次に、レイアウトシンボルと回路シンボルとの重畳表示機能について説明する。
【0028】
回路シンボルの表示は、回路シンボル表示が必要とされる場合にのみ、回路シンボル表示を可能とするため、必要に応じて表示、非表示の切り換えが可能とされる。また、表示された回路シンボルを見やすくするため、コントラストの調整が可能とされる。
【0029】
例えば、表示装置19に表示される表示画面は、複数の層から成り、各層の表示モードは、層別指定、又はレイアウトシンボル層や回路シンボル層単位の指定などで切り換えることができる。回路シンボルの表示対象は、全体、エリア指定、ロジックコーンのみ、指定ネットに接続しているインスタンス等の制御が可能とされる。また、レイアウトシンボルの明度を上げることにより、シンボルが見やすいコントラストでの表示が可能とされる。
【0030】
また、回路シンボルの端子とレイアウトシンボルの端子との間は、結線情報が表示される。回路シンボルの表示は、セルのフリップや、回転情報には影響されない。このような表示により、セル機能を直感的に認識できるようになる。セルの移動や削除、セルの変更、結線情報の変更時には、表示情報の整合性を図るため、回路シンボル、又は端子間結線情報の表示も併せて更新する。
【0031】
図3には、回路シンボルとレイアウトシンボルとの重畳表示制御において参照されるテーブルが示される。このテーブルは、メモリ11に形成することができる。
【0032】
レイアウトエディタで使用可能なレイヤにおいて、0〜l層をレイアウトシンボル層、(l+1)〜m層を回路シンボル層に割り当てる。表示制御部18においては、各層毎に、図3に示されるように、層名、レイアウトエディタでの表示情報(表示色、パターン、線種)、表示のオン/オフ状態など、各種情報を含んだテーブルが形成され、そのテーブルが参照されることによって表示状態が制御される。表示状態がオンの場合にはその層は表示されるが、表示状態がオフの場合にはその層は表示されない。図3に示される例では、レイアウトシンボル層に属する端子0、配線5、配線6などが、それぞれ指定された色やパターン、線種で表示され、それらに重畳される形で回路シンボル層に属するコネクトや端子が表示される。
【0033】
レイアウトシンボル層や回路シンボル層では、基本的に透明又は半透明パターンを使用し、べた塗りパターンは使用しない。また、再描画、拡大、縮小等の表示操作に伴う描画では、レイアウトシンボル層を描画した後に回路シンボル層を上書きして重ねることで、レイアウトシンボルの上に回路シンボルを重畳させた状態とすることができる。それによってレイアウトシンボルと回路シンボルとの対応関係が明確となり、レイアウト上での論理解析が容易とされるため、論理の修正は、表示装置19に表示されたレイアウト画面上で容易に行うことができる。論理修正が行われた場合、修正後回路情報(ネットリスト)23が得られる。
【0034】
上記論理修正には、予備セルを使用することができる。
【0035】
ここで、予備セルとは、既にレイアウトが完了したデザインに対して、配線層だけの変更で設計変更を行い得るような場合に使用するセルであり、空きスペースを利用して予め配置されている。空きスペースを利用していることから「スペースセル」と称されることもある。
【0036】
この予備セルは、次のような場合に使用される。
【0037】
例えばセルの変更(セルのファンクション変更、ドライバビリティ変更)において使用される。それにより、既配置素子のセルが予備セルに置換えられる。また、新たに素子を追加する場合にも予備セルが利用される。
【0038】
予備セルは、次のようにしてデータベース22に登録される。
【0039】
データベース22には上記予備セル管理用のテーブルを含み、このテーブルによって予備セルの配置情報やセル名の管理が可能とされる。
【0040】
回路情報21から読み込まれた回路情報に予備セルが素子として入っている場合には、ある特定の状態のセルを自動抽出してそれを予備セルとする。例えば入力端子の論理がハイレベルに固定され、出力端子の論理がローレベルに固定されているセルを予備セルとして予備セル管理用テーブルに登録することができる。
【0041】
また、bns001,bns002などのように、特定の文字列が素子名に付加されているセルを自動抽出してそれを予備セルとして予備セル管理用テーブル登録することができる。
【0042】
さらに、レイアウト段階で、通常セル配置後の空きスペースに予備セルを配置する場合には、オペレータが手動操作により行うことができる。
【0043】
セル名と配置個数(又は全ボーナスセル個数中の割合)を指定して自動配置することもできる。
【0044】
上記のようにして予備セル管理用テーブルに登録された予備セルは次のように使用される。
【0045】
表示装置19には、図4に示されるように、レイアウト画面41のウインドウと、配置候補リスト42のウインドウが同時に表示される。レイアウト画面41上でセル(U100)をインバータINV1からインバータINV2に入れ換える場合について説明する。
【0046】
配置候補リスト42には、レイアウト画面41に表示された複数の予備セルにおけるインバータINV2のセルについての素子名とその評価コストが一覧表示される。このとき、素子名とその評価コストは、評価コストが低い順に表示される。ここで「評価コスト」とは、配線の難易度や接続端子までのマンハッタン距離などから計算された値であり、通常はこの値が小さいほど、配線が容易と考えられる。尚、マンハッタン距離とは、レイアウト画面41上で互いに直交するX軸とY軸とによって特定される平面において、基準点から接続端子までのX成分とY成分との加算値に相当する。
【0047】
配置候補リスト42上で予備セル(素子名)を選択すると、レイアウト画面41上では、対応する予備セルがハイライト表示され、それによって、当該予備セル43の位置や配線状況を容易に確認することができる。また、上記予備セル43のハイライト表示に加えて、上記予備セル43のレイアウトシンボル上に、対応する回路シンボルを重畳表示することによって、予備セル43とその回路シンボルとの対応関係を容易に把握することができる。尚、レイアウトシンボル上に回路シンボルを重畳表示することについては既に説明済みであるため、その説明を省略する。
【0048】
配置候補リスト42の表示内容に基づいて置き換えに使用する予備セルが決定された後、各端子のネットの接続を確認すると、論理変更が実行され、選択された予備セル(インバータINV2)が、U100となり、この置換え前のセルINV1に接続されていた配線は削除され、入力端子の論理がハイレベルに固定され、出力端子の論理がローレベルに固定される。そして使用された予備セルは予備セル管理用テーブルから削除され、置き換え前のセルが予備セル管理用のテーブルに追加される。同時に接続情報のテーブルも更新される。
【0049】
次に、ロジックコーンについて説明する。
【0050】
ロジックコーンとは、例えば図5に示されるように、ポート又は順序セルを基準点として前段の基準点までの論理を指す。上記基準点は、例えば端子などとされる。一般的には、作成された回路記述がロジックコーンと呼ばれる単位に分割され、ロジックコーンに関する情報が論理検証処理に積極的に活用されている。
【0051】
本システムでは、任意の基準点をドライブするネット、及びこのネットをドライブするセルをトレースしながら図形をハイライト表示する処理を再帰的に行い、ロジックコーンを表示する。
【0052】
図6には、上記レイアウトエディタにおけるロジックコーンの表示アルゴリズムの流れが示される。
【0053】
先ず、オブジェクトの種類が判別される(ステップ60)。ステップ60の判別において、オブジェクトが入力ポートであると判断された場合には、そのポートに繋がるネット名が「DNET」とされる(ステップ61)。ステップ60の判別において、オブジェクトが順序セル又は順序セルの端子であると判断された場合には、セルのデータ端子に繋がネット名が「DNET」とされる(ステップ62)。ステップ60の判別において、オブジェクトが、入力ポートでもなく、順序セルやその端子でもないと判断された場合にはエラーとされる(ステップ63)。
【0054】
上記DNETをドライブするオブジェクトは一つとは限らない。そこで、上記DNETをドライブするオブジェクト数が「DCOUNT」とされ(ステップ64)、ひとつのオブジェクト毎に以下の処理が行われるようになっている。
【0055】
先ず、0<DCOUNTが成立するか否かの判別が行われる(ステップ65)。この判別において、0<DCOUNTが成立する(Y)と判断された場合には、i(i=1,2,3,…)番目のオブジェクトを得る(ステップ66)。そして当該オブジェクトにおいて2端子間の配線図形、結線情報をレイアウト画面41上でハイライト表示し(ステップ67)、後に詳述するセルドライブ処理が行われる(ステップ68)。このセルドライブ処理が終了された後に、DCOUNTがデクリメントにより更新され(ステップ69)、上記ステップ65の判別が行われる。また、上記ステップ65の判別において、0<DCOUNTが成立しない(N)と判断された場合、本アルゴリズムによるロジックコーンの表示処理は終了される。
【0056】
次に、上記ステップ68のセルドライブ処理について図7を参照しながら説明する。
【0057】
先ず、オブジェクトの種類の判別が行われる(681)。この判別においてオブジェクトが入力ポート又は順序セルの出力端子であると判断された場合、図6におけるステップ69の処理に移行する。また、上記ステップ681の判別においてオブジェクトが組み合わせセルであると判断された場合には、セルをハイライト表示させ、また、このセルのレイアウトシンボル上に、それに対応する回路シンボルが重畳表示される(682)。そして、セルの入力端子数がIPCONTとされ(ステップ683)、IPCONT>0が成立するか否かの判別が行われる(ステップ684)。この判別において、IPCONT>0が成立する(Y)と判断された場合には、オブジェクトを取り込み(ステップ686)、そのオブジェクトについてロジックコーン表示処理が行われる(686)。このロジックコーン表示処理は、図6のフローチャートに示される処理と同じであるため、その処理についての詳細な説明を省略する。
【0058】
そして、上記ステップ686のロジックコーン表示処理の後に、IPCOUNTがデクリメントにより更新され(ステップ687)、上記ステップ684の判別に移行される。また、上記ステップ684の判別において、IPCONT>0が成立しない(N)と判断された場合には、図7に示されるセルドライブ処理が終了される。
【0059】
このように、任意の基準点をドライブするネット、及びこのネットをドライブするセルをトレースしながら図形をハイライト表示する処理を再帰的に行い、ロジックコーンが強調表示される。そのようなロジックコーンの表示を論理検証処理に積極的に活用することにより、レイアウト上での論理解析の容易化を図ることができる。
【0060】
図8にはレイアウトエディタを用いた半導体集積回路装置の開発方法が示される。
【0061】
図8に示されるように、半導体集積回路装置の開発においては、特に制限されないが、ゲートレベルよりも抽象度が高いレジスタトランスファレベル(RTL)設計が行われる(ステップ80)。この情報はRTL設計情報としてデータベース88−1に登録される。そして、上記RTL設計情報に基づいて論理合成が行われる(ステップ81)。この論理合成の結果はネットリスト88−2として、後の検証(ステップ82)や、クロックツリー設計及びレイアウト設計(ステップ83)で利用される。上記ステップ82の検証では、上記ネットリスト88−2に基づいて、上記ステップ81の論理合成が適切であるか否かの判別が行われる。また、上記ステップ83のクロックツリー設計及びレイアウト設計では、上記ネットリスト88−2に基づいてクロックツリーの設計やレイアウト設計が行われる。そして、このステップ83のクロックツリー設計及びレイアウト設計が終了された後に、その検証が行われる(ステップ84)。上記論理設計及びレイアウト設計後に、論理修正の必要性が発生した場合には、レイアウト上での解析が行われ(ステップ85)、レイアウト上での論理修正が行われる(ステップ86)。そしてこの論理修正後にネットリスト88−4が得られる。このネットリスト88−4に基づいて機能検証が行われ、また、ネットリスト88−3とネットリスト88−4との差分の検証が行われる(ステップ87)。ネットリスト88−3とネットリスト88−4との差分を求めることにより、変更箇所の確認の容易化を図ることができる。
【0062】
ここで、上記論理設計及びレイアウト設計後に、論理修正の必要性が発生した場合には、従来技術に従えば、レイアウトのベースとなったネットリストを人手で修正し、この修正済みのネットリストをレイアウトデータベースに再度読み込んで、セルの入れ換えや配線修正が行われる。
【0063】
これに対して、本システムにおけるレイアウトエディタによれば、レイアウト結果(セルの配置、配線)を見ながら修正方法を決定し、論理情報を修正できるため、レイアウト情報を考慮して最適なボーナスセルを選択することができる。また、論理修正において論理工程まで戻る必要がないため、修正に要する期間の短縮を図ることができる。
【0064】
レイアウトシンボルの端子と回路シンボルの端子との対応を容易に把握するには、次のような表示を行うとよい。
【0065】
図9乃至図11にはセルレイアウトとそれに対する回路シンボルとの関係が示される。
【0066】
図9に示されるように、セルレイアウトシンボルの端子と、回路シンボルの端子とを結ぶライン(これを「フライライン)という)91,92,93,94,95を表示することにより、セルレイアウトシンボルの端子と、回路シンボルの端子との対応関係を容易に把握することができる。フライラインの形成はレイアウトツール24において行うことができる。
【0067】
図10に示されるように、セルレイアウトシンボルの端子101、回路シンボルの端子102の何れかを選択した場合に、それに対応して他方も同時に選択状態にされるように構成することができる。このような表示により、セルレイアウトシンボルの端子と、回路シンボルの端子との対応関係を容易に把握することができる。
【0068】
図11に示されるように、ネットの一部113がハイライト表示された場合に、そのネットに対してレイアウト的に対応する回路シンボルの端子111,112もハイライト表示することによって、ネットと回路シンボルの端子との対応関係を容易に把握することができる。
【0069】
上記の例によれば、以下の作用効果を得ることができる。
【0070】
(1)コンピュータシステム100においては、表示装置19においてセルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルが重畳表示されるので、上記セルのレイアウトシンボルと回路シンボルとの対応関係を容易に把握することができる。それにより、レイアウトエディタ上での論理トレースの効率を向上させることができるので、レイアウト後の論理修正を容易に行うことができる。
【0071】
(2)配置候補リスト42には、レイアウト画面41における複数の予備セルの中から対応するセルについての素子名とその評価コストが一覧表示される。このとき、素子名とその評価コストは、評価コストが低い順に表示される。評価コストの値が小さいほど、配線が容易と考えられるため、上記配置候補リスト42によって、置き換えに使用するセルを容易に決定することができる。しかも、配置候補リスト42上で予備セル(素子名)を選択すると、レイアウト画面41上では、対応する予備セルがハイライト表示されるため、当該予備セルの位置や配線状況を容易に確認することができる。
【0072】
(3)任意の基準点をドライブするネット、及びこのネットをドライブするセルをトレースしながら図形をハイライト表示する処理を再帰的に行い、ロジックコーンが強調表示される。そのようなロジックコーンの表示を論理検証処理に積極的に活用することにより、レイアウト上での論理解析の容易化を図ることができる。
【0073】
(4)論理設計及びレイアウト設計後に、論理修正の必要性が発生した場合には、従来技術に従えば、レイアウトのベースとなったネットリストを人手で修正し、この修正済みのネットリストをレイアウトデータベースに再度読み込んで、セルの入れ換えや配線修正が行われるが、本システムにおけるレイアウトエディタによれば、レイアウト結果(セルの配置、配線)を見ながら修正方法を決定し、論理情報を修正できるため、レイアウト情報を考慮して最適なボーナスセルを選択することができる。また、論理修正において論理工程まで戻る必要がないため、修正に要する期間の短縮を図ることができる。
【0074】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0075】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるレイアウトエディタに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種ツールに広く適用することができる。
【0076】
本発明は、少なくとも半導体集積回路のレイアウトを支援することを条件に適用することができる。
【0077】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0078】
すなわち、セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルが重畳表示されることにより、上記セルのレイアウトシンボルと回路シンボルとの対応関係を容易に把握することができるので、レイアウトエディタ上での論理トレースの効率向上を図ることができる。それにより、レイアウト後の論理修正を容易に行うことができる。
【図面の簡単な説明】
【図1】本発明にかかる半導体集積回路の開発方法が適用されるコンピュータシステムの構成例ブロック図である。
【図2】上記コンピュータシステムでレイアウトエディタのプログラムが実行された場合の機能ブロック図である。
【図3】回路シンボルとレイアウトシンボルとの重畳表示制御において参照されるテーブルの説明図である。
【図4】上記コンピュータシステムの表示装置における配置候補リストの表示例説明図である。
【図5】上記コンピュータシステムで取り扱われるロジックコーンの説明図である。
【図6】上記レイアウトエディタにおけるロジックコーンの表示アルゴリズムのフローチャートである。
【図7】上記レイアウトエディタにおけるロジックコーンの表示アルゴリズムのフローチャートである。
【図8】上記レイアウトエディタを用いた半導体集積回路装置の開発方法のフローチャートである。
【図9】上記レイアウトエディタにおけるセルレイアウトとそれに対する回路シンボルとの関係説明図である。
【図10】上記レイアウトエディタにおけるセルレイアウトとそれに対する回路シンボルとの関係説明図である。
【図11】上記レイアウトエディタにおけるセルレイアウトとそれに対する回路シンボルとの関係説明図である。
【符号の説明】
10 マイクロコンピュータ
11 メモリ
12 バス
13 インタフェース
14 CD−ROMドライブ
15 CD−ROM
16 インタフェース
17 ハードディスク装置
18 表示制御部
19 表示装置
21 回路情報
22 データベース
23 修正後回路情報
24 レイアウトツール
25 ライブラリ
251 レイアウトシンボル
252 回路シンボル
100 コンピュータシステム
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト設計支援技術に関し、特に設計者による設計から検証に至る半導体集積回路の開発方法、コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能を上記コンピュータに実現させるためのレイアウトエディタ、及び上記レイアウトエディタを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
レイアウトエディタは、コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能を上記コンピュータに実現させるためソフトウェアであり、それによれば、セルやブロックの作成および編集のほか、半導体集積回路の配置及び配線後の編集をインタラクティブに行うことができる。
【0003】
レイアウトとは、論理図の設計においては論理関係が視覚的に把握しやすいように論理シンボルを配置し、論理シンボル間を配線する作業であり、回路図の設計においては、所定の物理的制約や性能目標を満足するようにゲートを配置し、ゲート間を配線する作業である。レイアウトを自動化するためのアルゴリズムは多数開発されている。より良いレイアウトを行うためには人間が修正を指示できる対話的なシステムが望ましい。特にソフトウェア設計で作成される論理図の場合、ソフトウェアの保守や改造の際に重要なドキュメントとなるため、論理図が複雑化、大規模化するほどその可能性を向上させるような良いレイアウトを行うことは非常に重要とされる。しかし、レイアウトの対象が複雑化、大規模化するほど、そのレイアウトの特徴や傾向を対象図そのものから把握するのが困難とされている。
【0004】
論理図や回路図のレイアウトの特徴や傾向の把握とレイアウトの修正を容易にする情報の表示を可能とするレイアウト支援装置について記載された文献の例としては、特開平10−142286号公報がある。これによれば、レイアウト対象のCADデータからレイアウト改善の指標となる論理図もしくは回路図の情報を抽出する抽出手段と、抽出した指標値を図表形式に変換して視覚的に表現する可視化手段と、可視化した指標値をレイアウト対象図とは独立したウィンドウに表示する表示手段と、その指標値を表示するウィンドウ上においてレイアウトの修正すべき箇所、レイアウトの修正内容を指示する指示手段と、その指示に基づいてレイアウト対象図を修正する修正手段とを設けることにより、論理図や回路図のレイアウトの特徴や傾向の把握とレイアウトの修正を容易にする情報の表示を可能とする。
【0005】
また、レイアウト支援装置が記載された文献の例としては、特開平5−159020号公報がある。それによれば、操作命令を入力可能な入力手段と、等価回路図と配置配線図に関する設計情報及び装置全体の制御プログラム情報を記憶する記憶手段と、画像表示手段と、操作命令に基づき、設計情報を処理して表示画像を表示させる制御手段とを備え、制御手段では、表示画像に等価回路図のうち任意の部分と、この部分に対応する配線配置図の部分とを相互に参照可能なように同時に表示させ、任意の信号線が指定された場合には指定信号線に対応する配線及び信号線の出力元の信号線に対応する配線及び指定信号線の入力先の信号線に対応する配線の各々の表示を他の配線と異なる表示をさせることにより、任意の信号線又は配線に対してその出力元と入力先の配線又は信号線も他の線と容易に区別できるようにしている。
【0006】
【発明が解決しようとする課題】
半導体集積回路の開発において、レイアウト設計が終了した後に論理修正が必要になることは少なくない。その場合、レイアウトエディタを用いて論理解析や論理修正が行われる。この論理解析や論理修正について本願発明者が検討したところ、レイアウト改善の指標を図表形式に変換して別ウィンドウに表示したり、回路とレイアウト図が別ウィンドウに表示されることによってレイアウトの支援が可能とされるが、レイアウト結果から論理をトレースするのに必要となる時間を更に短縮する必要性のあることが見いだされた。
【0007】
本発明の目的は、論理トレースの効率を向上させるための技術を提供することにある。
【0008】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0009】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0010】
すなわち、コンピュータシステムに含まれる表示手段の表示情報に基づいてコンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト工程において、レイアウト対象のデータに基づいてセルのレイアウトシンボルを上記表示手段に表示させる第1処理と、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させる第2処理と、上記表示手段の表示画面上で論理修正を可能とする第3処理と、上記第3処理での修正に基づいてネットリストを修正する第4処理とを含める。
【0011】
上記の手段によれば、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルが重畳表示されることにより、上記セルのレイアウトシンボルと回路シンボルとの対応関係の把握を容易にする。このことが、レイアウトエディタ上での論理トレースの効率向上を達成する。
【0012】
このとき、上記回路シンボルの表示濃度や上記回路シンボルの表示の有無を、必要に応じて設定可能とすることができる。
【0013】
既にレイアウト設計が完了したデザインに対して配線層だけの変更で設計変更が可能とされる予備セルが含まれるとき、上記レイアウト工程には、上記表示手段を利用して、未使用の上記予備セルについてのリストを表示する第3処理を含めることができる。
【0014】
さらに、上記レイアウト工程において、ロジックコーンの表示処理を含めることができる。そしてこのロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースし、そのトレース結果に基づいてセルを上記表示手段に他のセルとは異なる態様で表示する処理を含めることができる。上記他のセルと異なる態様としては、ハイライト表示を挙げることができる。
【0015】
上記レイアウト工程には、ロジックコーンの表示処理を含めることができ、このロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1処理と、上記トレース結果に基づいて、上記表示手段上の対応するセルのレイアウトシンボルを他のセルとは異なる態様で表示する第2処理と、そのセルのレイアウトシンボル上に、当該セルに対応する回路シンボルを重畳表示させる第3処理とを含めることができる。
【0016】
さらに上記レイアウト工程には、レイアウト論理修正後に機能検証を可能とする機能検証工程を含めることができ、この機能検証工程には、レイアウト論理修正前のネットリストとレイアウト論理修正後のネットリストとの差分を求める処理を含めることができる。
【0017】
レイアウトエディタにおいて、レイアウトシンボルと、それに対応する回路シンボルとを管理する第1機能と、レイアウト対象のデータに基づいてセルのレイアウトシンボルを上記表示手段に表示させる第2機能と、上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させる第3機能と、上記表示手段の表示画面上で論理修正を可能とする第4機能と、上記第4機能での修正に基づいてネットリストを修正する第5機能とを含めることができる。既にレイアウト設計が完了したデザインに対して配線層だけの変更で設計変更が可能とされる予備セルが含まれる場合には、上記レイアウト機能として、上記表示手段に未使用の予備セルについてのリストを表示させる第6機能を含めることができる。
【0018】
また、レイアウトエディタのレイアウト機能として、ロジックコーンの表示処理機能を含めることができ、このロジックコーンの表示処理機能には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1機能と、上記第1機能のトレース結果に基づいて上記セルを他のセルとは異なる態様で上記表示手段に表示する第2機能とを含めることができる。
【0019】
さらに、レイアウトエディタのレイアウト機能として、ポート又は順序セルを基準点とするとき前段の基準点までの論理であるロジックコーンの表示処理を含めることができ、その場合において上記ロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1機能と、上記第1機能のトレース結果に基づいて、上記表示手段上の対応するセルのレイアウトシンボルを他のセルとは異なる態様で表示する第2機能と、この第2機能により表示されたセルのレイアウトシンボル上に、当該セルに対応する回路シンボルを重畳表示させる第3機能とを含めることができる。
【0020】
【発明の実施の形態】
図1には、本発明にかかる半導体集積回路の開発方法が適用されるコンピュータシステムの構成例が示される。
【0021】
図1に示されるコンピュータシステム100は、特に制限されないが、プログラムに従った演算処理のためのマイクロコンピュータ10、読み出し専用のROM(リード・オンリ・メモリ)やランダムアクセス可能なRAM(ランダム・アクセス・メモリ)を含むメモリ11、CD−ROM15に記録されている情報の読み取りを可能とするためのCD−ROMドライブ14、このCD−ROMドライブ14をシステムに結合させるためのインタフェース13、プログラムや各種データの読み書きを可能とするハードディスク装置17、このハードディスク装置17をシステムに結合させるためのインタフェース16、各種情報を表示可能な表示装置19、この表示装置19での情報表示を制御するための表示制御部18を含む。上記マイクロコンピュータ10,メモリ11、インタフェース13,16、及び表示制御部18は、バス12を介して信号のやり取り可能に相互に結合される。
【0022】
上記CD−ROM15には、レイアウトエディタをコンピュータシステム100で機能させるためのプログラムが記録されている。このプログラムは、コンピュータシステム100に含まれる表示装置19の表示情報に基づいてコンピュータシステム100との間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能をコンピュータシステム100に実現させるためのソフトウェアであり、それは、ハードディスク装置17に転送されてから、マイクロコンピュータ10によって実行される。このプログラムがマイクロコンピュータ10で実行されることによって、上記レイアウトエディタにおけるレイアウト機能が発揮される。
【0023】
ここで、上記CD−ROM15やハードディスク装置17は、本発明における記録媒体の一例とされる。
【0024】
図2にはコンピュータシステム100でレイアウトエディタのプログラムが実行された場合の主要な機能ブロック構成が示される。
【0025】
特に制限されないが、レイアウトエディタはレイアウト機能を有し、このレイアウト機能には、回路情報(ネットリスト)21を適宜の記録媒体若しくはこのコンピュータシステム100が結合されているネットワークを介してデータベース22に読み込む機能と、このデータベース22の回路情報やライブラリ25に基づいてレイアウトを実施するレイアウトツール24とを含む。対話的なレイアウトを可能とするため、レイアウトツール24での処理内容は、表示装置19の表示画像に速やかに表示される。そして、このコンピュータシステム100においては、論理修正などにおいて必要となる論理トレースの効率を向上させるために、表示装置19においてセルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させるようにしており、そのような表示処理の容易化を図るため、ライブラリ25には、セルのレイアウトシンボル251とそれに対応する回路シンボル252とが一緒に管理されている。ここで、レイアウトシンボルとは、フリップフロップやインバータなどのセルがレイアウトパターンによって特定されているものを指す。回路シンボルとは、フリップフロップやインバータなどの特定の論理機能を示すものとして特定されたシンボルを指す。ライブラリ25には、上記セルのレイアウトシンボル251とそれに対応する回路シンボル252の他に、ファンクションやタイミング情報、デザインルールなどを含めることができる。また、表示装置19には、後に詳述するように、予備セルや配置候補リスト、ロジックコーンなどを表示することができる。
【0026】
尚、データベース22やライブラリ25は、特に制限されないが、ハードディスク装置17に形成される。
【0027】
次に、レイアウトシンボルと回路シンボルとの重畳表示機能について説明する。
【0028】
回路シンボルの表示は、回路シンボル表示が必要とされる場合にのみ、回路シンボル表示を可能とするため、必要に応じて表示、非表示の切り換えが可能とされる。また、表示された回路シンボルを見やすくするため、コントラストの調整が可能とされる。
【0029】
例えば、表示装置19に表示される表示画面は、複数の層から成り、各層の表示モードは、層別指定、又はレイアウトシンボル層や回路シンボル層単位の指定などで切り換えることができる。回路シンボルの表示対象は、全体、エリア指定、ロジックコーンのみ、指定ネットに接続しているインスタンス等の制御が可能とされる。また、レイアウトシンボルの明度を上げることにより、シンボルが見やすいコントラストでの表示が可能とされる。
【0030】
また、回路シンボルの端子とレイアウトシンボルの端子との間は、結線情報が表示される。回路シンボルの表示は、セルのフリップや、回転情報には影響されない。このような表示により、セル機能を直感的に認識できるようになる。セルの移動や削除、セルの変更、結線情報の変更時には、表示情報の整合性を図るため、回路シンボル、又は端子間結線情報の表示も併せて更新する。
【0031】
図3には、回路シンボルとレイアウトシンボルとの重畳表示制御において参照されるテーブルが示される。このテーブルは、メモリ11に形成することができる。
【0032】
レイアウトエディタで使用可能なレイヤにおいて、0〜l層をレイアウトシンボル層、(l+1)〜m層を回路シンボル層に割り当てる。表示制御部18においては、各層毎に、図3に示されるように、層名、レイアウトエディタでの表示情報(表示色、パターン、線種)、表示のオン/オフ状態など、各種情報を含んだテーブルが形成され、そのテーブルが参照されることによって表示状態が制御される。表示状態がオンの場合にはその層は表示されるが、表示状態がオフの場合にはその層は表示されない。図3に示される例では、レイアウトシンボル層に属する端子0、配線5、配線6などが、それぞれ指定された色やパターン、線種で表示され、それらに重畳される形で回路シンボル層に属するコネクトや端子が表示される。
【0033】
レイアウトシンボル層や回路シンボル層では、基本的に透明又は半透明パターンを使用し、べた塗りパターンは使用しない。また、再描画、拡大、縮小等の表示操作に伴う描画では、レイアウトシンボル層を描画した後に回路シンボル層を上書きして重ねることで、レイアウトシンボルの上に回路シンボルを重畳させた状態とすることができる。それによってレイアウトシンボルと回路シンボルとの対応関係が明確となり、レイアウト上での論理解析が容易とされるため、論理の修正は、表示装置19に表示されたレイアウト画面上で容易に行うことができる。論理修正が行われた場合、修正後回路情報(ネットリスト)23が得られる。
【0034】
上記論理修正には、予備セルを使用することができる。
【0035】
ここで、予備セルとは、既にレイアウトが完了したデザインに対して、配線層だけの変更で設計変更を行い得るような場合に使用するセルであり、空きスペースを利用して予め配置されている。空きスペースを利用していることから「スペースセル」と称されることもある。
【0036】
この予備セルは、次のような場合に使用される。
【0037】
例えばセルの変更(セルのファンクション変更、ドライバビリティ変更)において使用される。それにより、既配置素子のセルが予備セルに置換えられる。また、新たに素子を追加する場合にも予備セルが利用される。
【0038】
予備セルは、次のようにしてデータベース22に登録される。
【0039】
データベース22には上記予備セル管理用のテーブルを含み、このテーブルによって予備セルの配置情報やセル名の管理が可能とされる。
【0040】
回路情報21から読み込まれた回路情報に予備セルが素子として入っている場合には、ある特定の状態のセルを自動抽出してそれを予備セルとする。例えば入力端子の論理がハイレベルに固定され、出力端子の論理がローレベルに固定されているセルを予備セルとして予備セル管理用テーブルに登録することができる。
【0041】
また、bns001,bns002などのように、特定の文字列が素子名に付加されているセルを自動抽出してそれを予備セルとして予備セル管理用テーブル登録することができる。
【0042】
さらに、レイアウト段階で、通常セル配置後の空きスペースに予備セルを配置する場合には、オペレータが手動操作により行うことができる。
【0043】
セル名と配置個数(又は全ボーナスセル個数中の割合)を指定して自動配置することもできる。
【0044】
上記のようにして予備セル管理用テーブルに登録された予備セルは次のように使用される。
【0045】
表示装置19には、図4に示されるように、レイアウト画面41のウインドウと、配置候補リスト42のウインドウが同時に表示される。レイアウト画面41上でセル(U100)をインバータINV1からインバータINV2に入れ換える場合について説明する。
【0046】
配置候補リスト42には、レイアウト画面41に表示された複数の予備セルにおけるインバータINV2のセルについての素子名とその評価コストが一覧表示される。このとき、素子名とその評価コストは、評価コストが低い順に表示される。ここで「評価コスト」とは、配線の難易度や接続端子までのマンハッタン距離などから計算された値であり、通常はこの値が小さいほど、配線が容易と考えられる。尚、マンハッタン距離とは、レイアウト画面41上で互いに直交するX軸とY軸とによって特定される平面において、基準点から接続端子までのX成分とY成分との加算値に相当する。
【0047】
配置候補リスト42上で予備セル(素子名)を選択すると、レイアウト画面41上では、対応する予備セルがハイライト表示され、それによって、当該予備セル43の位置や配線状況を容易に確認することができる。また、上記予備セル43のハイライト表示に加えて、上記予備セル43のレイアウトシンボル上に、対応する回路シンボルを重畳表示することによって、予備セル43とその回路シンボルとの対応関係を容易に把握することができる。尚、レイアウトシンボル上に回路シンボルを重畳表示することについては既に説明済みであるため、その説明を省略する。
【0048】
配置候補リスト42の表示内容に基づいて置き換えに使用する予備セルが決定された後、各端子のネットの接続を確認すると、論理変更が実行され、選択された予備セル(インバータINV2)が、U100となり、この置換え前のセルINV1に接続されていた配線は削除され、入力端子の論理がハイレベルに固定され、出力端子の論理がローレベルに固定される。そして使用された予備セルは予備セル管理用テーブルから削除され、置き換え前のセルが予備セル管理用のテーブルに追加される。同時に接続情報のテーブルも更新される。
【0049】
次に、ロジックコーンについて説明する。
【0050】
ロジックコーンとは、例えば図5に示されるように、ポート又は順序セルを基準点として前段の基準点までの論理を指す。上記基準点は、例えば端子などとされる。一般的には、作成された回路記述がロジックコーンと呼ばれる単位に分割され、ロジックコーンに関する情報が論理検証処理に積極的に活用されている。
【0051】
本システムでは、任意の基準点をドライブするネット、及びこのネットをドライブするセルをトレースしながら図形をハイライト表示する処理を再帰的に行い、ロジックコーンを表示する。
【0052】
図6には、上記レイアウトエディタにおけるロジックコーンの表示アルゴリズムの流れが示される。
【0053】
先ず、オブジェクトの種類が判別される(ステップ60)。ステップ60の判別において、オブジェクトが入力ポートであると判断された場合には、そのポートに繋がるネット名が「DNET」とされる(ステップ61)。ステップ60の判別において、オブジェクトが順序セル又は順序セルの端子であると判断された場合には、セルのデータ端子に繋がネット名が「DNET」とされる(ステップ62)。ステップ60の判別において、オブジェクトが、入力ポートでもなく、順序セルやその端子でもないと判断された場合にはエラーとされる(ステップ63)。
【0054】
上記DNETをドライブするオブジェクトは一つとは限らない。そこで、上記DNETをドライブするオブジェクト数が「DCOUNT」とされ(ステップ64)、ひとつのオブジェクト毎に以下の処理が行われるようになっている。
【0055】
先ず、0<DCOUNTが成立するか否かの判別が行われる(ステップ65)。この判別において、0<DCOUNTが成立する(Y)と判断された場合には、i(i=1,2,3,…)番目のオブジェクトを得る(ステップ66)。そして当該オブジェクトにおいて2端子間の配線図形、結線情報をレイアウト画面41上でハイライト表示し(ステップ67)、後に詳述するセルドライブ処理が行われる(ステップ68)。このセルドライブ処理が終了された後に、DCOUNTがデクリメントにより更新され(ステップ69)、上記ステップ65の判別が行われる。また、上記ステップ65の判別において、0<DCOUNTが成立しない(N)と判断された場合、本アルゴリズムによるロジックコーンの表示処理は終了される。
【0056】
次に、上記ステップ68のセルドライブ処理について図7を参照しながら説明する。
【0057】
先ず、オブジェクトの種類の判別が行われる(681)。この判別においてオブジェクトが入力ポート又は順序セルの出力端子であると判断された場合、図6におけるステップ69の処理に移行する。また、上記ステップ681の判別においてオブジェクトが組み合わせセルであると判断された場合には、セルをハイライト表示させ、また、このセルのレイアウトシンボル上に、それに対応する回路シンボルが重畳表示される(682)。そして、セルの入力端子数がIPCONTとされ(ステップ683)、IPCONT>0が成立するか否かの判別が行われる(ステップ684)。この判別において、IPCONT>0が成立する(Y)と判断された場合には、オブジェクトを取り込み(ステップ686)、そのオブジェクトについてロジックコーン表示処理が行われる(686)。このロジックコーン表示処理は、図6のフローチャートに示される処理と同じであるため、その処理についての詳細な説明を省略する。
【0058】
そして、上記ステップ686のロジックコーン表示処理の後に、IPCOUNTがデクリメントにより更新され(ステップ687)、上記ステップ684の判別に移行される。また、上記ステップ684の判別において、IPCONT>0が成立しない(N)と判断された場合には、図7に示されるセルドライブ処理が終了される。
【0059】
このように、任意の基準点をドライブするネット、及びこのネットをドライブするセルをトレースしながら図形をハイライト表示する処理を再帰的に行い、ロジックコーンが強調表示される。そのようなロジックコーンの表示を論理検証処理に積極的に活用することにより、レイアウト上での論理解析の容易化を図ることができる。
【0060】
図8にはレイアウトエディタを用いた半導体集積回路装置の開発方法が示される。
【0061】
図8に示されるように、半導体集積回路装置の開発においては、特に制限されないが、ゲートレベルよりも抽象度が高いレジスタトランスファレベル(RTL)設計が行われる(ステップ80)。この情報はRTL設計情報としてデータベース88−1に登録される。そして、上記RTL設計情報に基づいて論理合成が行われる(ステップ81)。この論理合成の結果はネットリスト88−2として、後の検証(ステップ82)や、クロックツリー設計及びレイアウト設計(ステップ83)で利用される。上記ステップ82の検証では、上記ネットリスト88−2に基づいて、上記ステップ81の論理合成が適切であるか否かの判別が行われる。また、上記ステップ83のクロックツリー設計及びレイアウト設計では、上記ネットリスト88−2に基づいてクロックツリーの設計やレイアウト設計が行われる。そして、このステップ83のクロックツリー設計及びレイアウト設計が終了された後に、その検証が行われる(ステップ84)。上記論理設計及びレイアウト設計後に、論理修正の必要性が発生した場合には、レイアウト上での解析が行われ(ステップ85)、レイアウト上での論理修正が行われる(ステップ86)。そしてこの論理修正後にネットリスト88−4が得られる。このネットリスト88−4に基づいて機能検証が行われ、また、ネットリスト88−3とネットリスト88−4との差分の検証が行われる(ステップ87)。ネットリスト88−3とネットリスト88−4との差分を求めることにより、変更箇所の確認の容易化を図ることができる。
【0062】
ここで、上記論理設計及びレイアウト設計後に、論理修正の必要性が発生した場合には、従来技術に従えば、レイアウトのベースとなったネットリストを人手で修正し、この修正済みのネットリストをレイアウトデータベースに再度読み込んで、セルの入れ換えや配線修正が行われる。
【0063】
これに対して、本システムにおけるレイアウトエディタによれば、レイアウト結果(セルの配置、配線)を見ながら修正方法を決定し、論理情報を修正できるため、レイアウト情報を考慮して最適なボーナスセルを選択することができる。また、論理修正において論理工程まで戻る必要がないため、修正に要する期間の短縮を図ることができる。
【0064】
レイアウトシンボルの端子と回路シンボルの端子との対応を容易に把握するには、次のような表示を行うとよい。
【0065】
図9乃至図11にはセルレイアウトとそれに対する回路シンボルとの関係が示される。
【0066】
図9に示されるように、セルレイアウトシンボルの端子と、回路シンボルの端子とを結ぶライン(これを「フライライン)という)91,92,93,94,95を表示することにより、セルレイアウトシンボルの端子と、回路シンボルの端子との対応関係を容易に把握することができる。フライラインの形成はレイアウトツール24において行うことができる。
【0067】
図10に示されるように、セルレイアウトシンボルの端子101、回路シンボルの端子102の何れかを選択した場合に、それに対応して他方も同時に選択状態にされるように構成することができる。このような表示により、セルレイアウトシンボルの端子と、回路シンボルの端子との対応関係を容易に把握することができる。
【0068】
図11に示されるように、ネットの一部113がハイライト表示された場合に、そのネットに対してレイアウト的に対応する回路シンボルの端子111,112もハイライト表示することによって、ネットと回路シンボルの端子との対応関係を容易に把握することができる。
【0069】
上記の例によれば、以下の作用効果を得ることができる。
【0070】
(1)コンピュータシステム100においては、表示装置19においてセルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルが重畳表示されるので、上記セルのレイアウトシンボルと回路シンボルとの対応関係を容易に把握することができる。それにより、レイアウトエディタ上での論理トレースの効率を向上させることができるので、レイアウト後の論理修正を容易に行うことができる。
【0071】
(2)配置候補リスト42には、レイアウト画面41における複数の予備セルの中から対応するセルについての素子名とその評価コストが一覧表示される。このとき、素子名とその評価コストは、評価コストが低い順に表示される。評価コストの値が小さいほど、配線が容易と考えられるため、上記配置候補リスト42によって、置き換えに使用するセルを容易に決定することができる。しかも、配置候補リスト42上で予備セル(素子名)を選択すると、レイアウト画面41上では、対応する予備セルがハイライト表示されるため、当該予備セルの位置や配線状況を容易に確認することができる。
【0072】
(3)任意の基準点をドライブするネット、及びこのネットをドライブするセルをトレースしながら図形をハイライト表示する処理を再帰的に行い、ロジックコーンが強調表示される。そのようなロジックコーンの表示を論理検証処理に積極的に活用することにより、レイアウト上での論理解析の容易化を図ることができる。
【0073】
(4)論理設計及びレイアウト設計後に、論理修正の必要性が発生した場合には、従来技術に従えば、レイアウトのベースとなったネットリストを人手で修正し、この修正済みのネットリストをレイアウトデータベースに再度読み込んで、セルの入れ換えや配線修正が行われるが、本システムにおけるレイアウトエディタによれば、レイアウト結果(セルの配置、配線)を見ながら修正方法を決定し、論理情報を修正できるため、レイアウト情報を考慮して最適なボーナスセルを選択することができる。また、論理修正において論理工程まで戻る必要がないため、修正に要する期間の短縮を図ることができる。
【0074】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0075】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるレイアウトエディタに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種ツールに広く適用することができる。
【0076】
本発明は、少なくとも半導体集積回路のレイアウトを支援することを条件に適用することができる。
【0077】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0078】
すなわち、セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルが重畳表示されることにより、上記セルのレイアウトシンボルと回路シンボルとの対応関係を容易に把握することができるので、レイアウトエディタ上での論理トレースの効率向上を図ることができる。それにより、レイアウト後の論理修正を容易に行うことができる。
【図面の簡単な説明】
【図1】本発明にかかる半導体集積回路の開発方法が適用されるコンピュータシステムの構成例ブロック図である。
【図2】上記コンピュータシステムでレイアウトエディタのプログラムが実行された場合の機能ブロック図である。
【図3】回路シンボルとレイアウトシンボルとの重畳表示制御において参照されるテーブルの説明図である。
【図4】上記コンピュータシステムの表示装置における配置候補リストの表示例説明図である。
【図5】上記コンピュータシステムで取り扱われるロジックコーンの説明図である。
【図6】上記レイアウトエディタにおけるロジックコーンの表示アルゴリズムのフローチャートである。
【図7】上記レイアウトエディタにおけるロジックコーンの表示アルゴリズムのフローチャートである。
【図8】上記レイアウトエディタを用いた半導体集積回路装置の開発方法のフローチャートである。
【図9】上記レイアウトエディタにおけるセルレイアウトとそれに対する回路シンボルとの関係説明図である。
【図10】上記レイアウトエディタにおけるセルレイアウトとそれに対する回路シンボルとの関係説明図である。
【図11】上記レイアウトエディタにおけるセルレイアウトとそれに対する回路シンボルとの関係説明図である。
【符号の説明】
10 マイクロコンピュータ
11 メモリ
12 バス
13 インタフェース
14 CD−ROMドライブ
15 CD−ROM
16 インタフェース
17 ハードディスク装置
18 表示制御部
19 表示装置
21 回路情報
22 データベース
23 修正後回路情報
24 レイアウトツール
25 ライブラリ
251 レイアウトシンボル
252 回路シンボル
100 コンピュータシステム
Claims (10)
- コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト工程を含む半導体集積回路の開発方法であって、
上記レイアウト工程は、レイアウト対象のデータに基づいてセルのレイアウトシンボルを上記表示手段に表示させる第1処理と、
上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させる第2処理と、
上記表示手段の表示画面上で論理修正を可能とする第3処理と、
上記第3処理での修正に基づいてネットリストを修正する第4処理と、を含むことを特徴とする半導体集積回路の開発方法。 - 既にレイアウト設計が完了したデザインに対して配線層だけの変更で設計変更が可能とされる予備セルが含まれるとき、上記レイアウト工程は、上記表示手段を利用して、未使用の上記予備セルについてのリストを表示する第3処理を含む請求項1記載の半導体集積回路の開発方法。
- コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト工程を含む半導体集積回路の開発方法であって、
上記レイアウト工程は、ロジックコーンの表示処理を含み、上記ロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースし、そのトレース結果に基づいてセルを上記表示手段に他のセルとは異なる態様で表示する処理を含むことを特徴とする半導体集積回路の開発方法。 - コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト工程を含む半導体集積回路の開発方法であって、
上記レイアウト工程は、ロジックコーンの表示処理を含み、上記ロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1処理と、上記トレース結果に基づいて、上記表示手段上の対応するセルのレイアウトシンボルを他のセルとは異なる態様で表示する第2処理と、そのセルのレイアウトシンボル上に、当該セルに対応する回路シンボルを重畳表示させる第3処理と、を含むことを特徴とする半導体集積回路の開発方法。 - 上記レイアウト工程は、レイアウト論理修正後に機能検証を可能とする機能検証工程を含み、上記機能検証工程は、レイアウト論理修正前のネットリストとレイアウト論理修正後のネットリストとの差分を求める処理を含む請求項1乃至4の何れか1項記載の半導体集積回路の開発方法。
- コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能を上記コンピュータに実現させるためのレイアウトエディタであって、
上記レイアウト機能は、レイアウトシンボルと、それに対応する回路シンボルとを管理する第1機能と、
レイアウト対象のデータに基づいてセルのレイアウトシンボルを上記表示手段に表示させる第2機能と、
上記セルのレイアウトシンボル上に、当該レイアウトシンボルに対応する回路シンボルを重畳表示させる第3機能と、
上記表示手段の表示画面上で論理修正を可能とする第4機能と、
上記第4機能での修正に基づいてネットリストを修正する第5機能と、を含むことを特徴とするレイアウトエディタ。 - 既にレイアウト設計が完了したデザインに対して配線層だけの変更で設計変更が可能とされる予備セルが含まれるとき、上記レイアウト機能は、上記表示手段に、未使用の上記予備セルについてのリストを、上記レイアウトシンボル及び上記回路シンボルが表示されるウインドウとは別のウインドウに表示させる第6機能を含む請求項6記載のレイアウトエディタ。
- コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能を上記コンピュータに実現させるためのレイアウトエディタであって、
上記レイアウト機能は、ロジックコーンの表示処理機能を含み、上記ロジックコーンの表示処理機能には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1機能と、
上記第1機能のトレース結果に基づいて上記セルを他のセルとは異なる態様で上記表示手段に表示する第2機能と、を含むことを特徴とするレイアウトエディタ。 - コンピュータシステムに含まれる表示手段の表示情報に基づいて上記コンピュータシステムとの間で半導体集積回路の対話的なレイアウトを可能にするレイアウト機能を上記コンピュータに実現させるためのレイアウトエディタであって、
上記レイアウト機能は、ロジックコーンの表示処理を含み、上記ロジックコーンの表示処理には、任意の基準点をドライブするネット及び当該ネットをドライブするセルをトレースする第1機能と、
上記第1機能のトレース結果に基づいて、上記表示手段上の対応するセルのレイアウトシンボルを他のセルとは異なる態様で表示する第2機能と、
上記第2機能により表示されたセルのレイアウトシンボル上に、当該セルに対応する回路シンボルを重畳表示させる第3機能と、を含むことを特徴とするレイアウトエディタ。 - 請求項6乃至9の何れか1項記載のレイアウトエディタをコンピュータシステムで機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002168679A JP2004013683A (ja) | 2002-06-10 | 2002-06-10 | 半導体集積回路の開発方法、レイアウトエディタ、及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002168679A JP2004013683A (ja) | 2002-06-10 | 2002-06-10 | 半導体集積回路の開発方法、レイアウトエディタ、及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013683A true JP2004013683A (ja) | 2004-01-15 |
Family
ID=30435523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002168679A Withdrawn JP2004013683A (ja) | 2002-06-10 | 2002-06-10 | 半導体集積回路の開発方法、レイアウトエディタ、及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013683A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016004467A (ja) * | 2014-06-18 | 2016-01-12 | 株式会社Pfu | 基板実装設計システム |
-
2002
- 2002-06-10 JP JP2002168679A patent/JP2004013683A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016004467A (ja) * | 2014-06-18 | 2016-01-12 | 株式会社Pfu | 基板実装設計システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6366874B1 (en) | System and method for browsing graphically an electronic design based on a hardware description language specification | |
JP3027009B2 (ja) | 設計取り込みシステム | |
JP4644614B2 (ja) | レイアウトエディタ装置、配線表示方法、及び配線表示プログラム | |
JP2862886B2 (ja) | Asic用計算機支援設計システム | |
US7990375B2 (en) | Virtual view schematic editor | |
KR100886337B1 (ko) | 이미지 내 선택 영역을 일괄 저장하는 장치 및 이미지정보의 문서화 장치 | |
US6230305B1 (en) | Methods and apparatus for configuring schematic diagrams | |
US7904863B2 (en) | Circuit-design supporting apparatus, circuit-design supporting method, computer product, and printed-circuit-board manufacturing method | |
US20040111688A1 (en) | Methods, apparatus and computer program products for generating selective netlists that include interconnection influences at pre-layout and post-layout design stages | |
JP4448466B2 (ja) | 論理回路設計方法、論理回路設計プログラム及び論理回路設計装置 | |
US9619605B1 (en) | System and method for automatically enforcing schematic layout strategy selectively applied to schematic objects | |
CN108140059B (zh) | 用于基于布局的检查的分析过程参数的可视化 | |
JP5114877B2 (ja) | 設計データ作成方法、設計データ作成装置および設計データ作成プログラム | |
JP2004013683A (ja) | 半導体集積回路の開発方法、レイアウトエディタ、及び記録媒体 | |
JP3476688B2 (ja) | ネットリスト生成方法及びネットリスト生成装置 | |
JP2003091566A (ja) | 配置配線構想設計装置 | |
JPH04246778A (ja) | 半導体集積回路の配置方式 | |
JP4159496B2 (ja) | 回路図作成装置および回路図作成方法とそのプログラム、該プログラムを格納した記録媒体 | |
JP2605932B2 (ja) | 半導体集積回路のレイアウト設計装置 | |
JP2008204192A (ja) | 設計支援装置,設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
JPH06251108A (ja) | コンピュータ援用による基板配線パターンの設計方法 | |
US20130328940A1 (en) | Designing device, designing method, and recording medium | |
JP2002183232A (ja) | Lsiレイアウトデータ表示装置及びその表示方法 | |
JP2009245215A (ja) | Cadシステム、cadプログラム | |
JP2522096B2 (ja) | 半導体集積回路のレイアウト設計の検証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050906 |