JPH0327474A - 半導体集積回路用ネットリストの修正方法 - Google Patents

半導体集積回路用ネットリストの修正方法

Info

Publication number
JPH0327474A
JPH0327474A JP1162411A JP16241189A JPH0327474A JP H0327474 A JPH0327474 A JP H0327474A JP 1162411 A JP1162411 A JP 1162411A JP 16241189 A JP16241189 A JP 16241189A JP H0327474 A JPH0327474 A JP H0327474A
Authority
JP
Japan
Prior art keywords
data
block
movement
moving
netlist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1162411A
Other languages
English (en)
Inventor
Tetsukazu Murakami
村上 哲一
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP1162411A priority Critical patent/JPH0327474A/ja
Publication of JPH0327474A publication Critical patent/JPH0327474A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は半導体集積回路用ネットリストの修正方法、特
に1つのブロック内の構成要素を別なブ1 つ ロック内に移動するようなネットリストの修正をコンピ
ュータを用いて自動的に行うことのできる修正方法に関
する。
〔従来の技術〕
半導体集積回路の設計では、まず論理設計が行われ、設
計された論理回路についての論理シミュレーションが行
われ、続いて具体的なレイアウト設計がなされることに
なる。ここで、論理設計時においても、レイアウト設計
時においても、半導体集積回路の各構成要素(たとえば
、AND回路、NOR回路などの論理素子)についての
情報は、階層構造をもったブロックごとに分類されたネ
ットリストとして表現される。通常は論理設計時に作成
したネットリストは、そのままレイアウト設計時にも流
用されることになる。
〔発明が解決しようとする課題〕
しかしながら、論理設計時のネットリストをレイアウト
設計時に全くそのままの形で流用できる例は少なく、通
常は多少の修正が必要になる。
般に、1つのブロック内の構威要素を別なプロック内に
移動するような修正が必要になる。ネットリストが図形
的なデータとして与えられている場合には、このような
修正は比較的簡単に行えるが、文字データとして与えら
れている場合には、この修正は非常に困難であり、誤り
が発生しやすい作業となる。
そこで本発明は、1つのブロック内の構成要素を別なブ
ロック内に移動するようなネットリストの修正をコンピ
ュータを用いて自動的に行うことのできる半導体集積回
路用ネットリストの修正方法を提供することを目的とす
る。
〔課題を解決するための手段〕
本発明は、半導体集積回路の各構成要素を階層構造をも
ったブロックに分類し、各ブロックごとにブロック内の
接続関係を示すブロックデータを定義することにより構
成されるネットリストを、修正する方法において、 移動対象と、この移動対象の所属する移動元ブロックと
、この移動対象を移動すべき移動先ブロックと、を特定
する移動命令を入力する段階と、3 4 移動元ブロックのブロックデータから移動対象に関連し
たデータを抽出する段階と、 この抽出データに対する移動処理を行った場合に、新端
子を設定する必要の有無を判定する段階と、 新端子設定が不要な場合に、抽出データに対応する箇所
を、上位階層のブロックデータに基づいて移動先ブロッ
クのブロックデータ内にみつけ、移動元ブロックのブロ
ックデータから抽出データを削除するとともに、移動先
ブロックのブロックデータ内の対応箇所に、抽出データ
に対応するデータを付加する段階と、 新端子設定が必要な場合に、移動元ブロックおよび移動
先ブロックのブロックデータに新端子データを付加する
とともに、上位階層のブロックデータに新端子間を接続
するデータを付加する段階と、 を行うようにしたものである。
〔作 用〕
この方法によれば、まず移動元ブロックから移動対象に
関連したデータが抽出される。この抽出データすべてに
対して移動処理がなされることになるが、この移動処理
は基本的には、移動元ブロックからの当該データの削除
と、移動先ブロックへの当該データに対応するデータの
付加と、いう2つの処理からなる。移動先ブロック内で
のデータ付加箇所は、上位階層のブロックデータを参照
して決めることができる。また、移動処理を行うにあた
って、新端子を設定する必要がある場合には、移動元お
よび移動先の双方のブロックに新端子が設定され、更に
上位階層のブロックデータにも、この新端子に関する情
報が付加される。このような処理が自動化されることに
より、オペレータは移動元ブロックと、移動先ブロック
と、移動対象と、を入力するだけの作業を行えばよい。
〔実施例〕
以下本発明を図示する一実施例に基づいて詳述する。第
1図は本発明の一実施例に係る半導体集積回路用ネット
リストの修正方法の手順を示す流れ図である。この手順
についての説明を行う前に、5 半導体集積回路の設計プロセスの概略を第2図の工程図
に沿って簡単に説明しておく。はじめに、プロセスP1
において、システム設計がなされる。
これはシステム全体の概括的な設計である。続くプロセ
スP2において論理設計がなされる。すなわち、論理回
路レベルで集積回路の設計がなされることになる。前述
のように、このとき、各論理回路素子の接続関係を示す
ために、階層構造をもったネットリストが作成される。
このネットリストの階層構造の一例を第3図に示す。こ
こで、A.B,  Cは個々の論理素子を示す。このよ
うに、各論理素子は5つのブロックに分類されており、
さらに、この5つのブロックを統括するためにトップと
呼ばれる最上泣ブロックが設けられている。
このように、この例では、A,B,Cで示す個々の論理
素子レベルの第1階層ブロックと、ブロック1〜5で示
す中間レベルの第2階層ブロックと、トップと記した最
高位レベルの第3階層ブロックと、の3つの階層レベル
が設けられている。複雑な集積回路では、更に階層数が
多くなる。
続いて、この設計された論理回路についての論理シミュ
レーションがプロセスP3において実行される。シミュ
レーションの結果、不都合があれば論理設計に修正を加
えることになる。論理シミュレーションがパスすると、
プロセスP4で具体的なレイアウト設計が行われる。す
なわち、半導体ウエハを加工するためのマスクパターン
のレイアウトが決められる。このとき、前述のように、
プロセスP2の論理設計で作成したネットリストを流用
することになるが、一部修正を加える必要が生じる。た
とえば、プロセスP2の論理設計におけるネットリスト
は第3図に示すようなものであったが、プロセスP4の
レイアウト設計におけるネットリストは第4図に示すよ
うなものにする必要が生じる。すなわち、論理設計時に
はブロック2に所属していた論理素子Aを、レイアウト
設計時にはブロック1に所属させる必要が生じている。
このような、ブロック間における論理素子移動は、論理
素子を実際に半導体ウエハ面上にレイアウトする場合の
レイアウト効率の向上などの要7 8 求から必要になる。たとえば、第5図に示すように、論
理設計時のブロックは破線で示すような分類でよかった
が、実際のレイアウトを考えると配線が非常に長くなる
などの弊害が生じ、実線で示すような分類にした方が効
率的であるというような事態が生じるのである。この場
合、第3図に示すようなネットリストを流用するために
、ブロック2に所属する論理素子Aをブロック1に移動
させるような修正が必要になる。本発明による方法では
、移動元となるブロック2、移動先となるブロック1、
そして移動対象となる論理素子A1を特定する人力を行
うだけで、ネットリストの自動修正が行われる。
以下、この自動修正の手順を具体例に基づいて説明する
。ここでは説明の便宜上、第6図に示すような3層から
なる論理回路についての修正手順を説明する。最上位の
階層にはブロックTOPが形成され、中間位の階層には
ブロックBl,B2が形成され、最下位の階層にはブロ
ックX1〜X4が形成されている。ブロックX1〜X4
は実際にはNAND回路、インバータ回路などの論理素
子である。ブロックB1内にはX1〜X4の4つの論理
素子が所属しており、ブロックB2内にはX1〜X3の
3つの論理素子が所属している。各論理素子内の符号A
, B,  C,  I, Oなどは、この論理素子の
端子名を示す。また、ブロックBl内のN1〜N6およ
びブロックB2内のN1〜N7は、各端子間のノードを
示すものであり、各ブロックの輪郭線上に記された.N
1、.N2といった符号は、ブロックの端子名を示す。
更に、両ブロック間の接続線にも、Nl,N2といった
ノード名が付されている。
このような論理回路についてのネットリストは、第7図
に示すようなものになる。ここで、Bl,B2はそれぞ
れブロックBl,B2内の接続関係を示すブロックデー
タであり、TOPはブロックTOP内の接続関係、すな
わちブロックBl,B2相互間の接続関係を示すブロッ
クデータてある。
いずれのブロックデータも、見出しとしてNl−N2−
などのノード名が先行し、その後にこのノ9 ードに接続されている端子名が後続する。端子名にはそ
の前に記号「,」を付して示す。たとえば、符号“N1
″はノードを示すものであるが、符号.N1”は端子を
示すものである。また、端子名の区切りには記号「,」
を用いており、1つのノードに関するデータの最後には
記号「;」を用いている。以上の規則を理解すれば、第
7図のブロックデータが第6図の論理回路を表現してい
ることがわかるであろう。たとえば、TOPの「N1−
」の欄のrB1  .N1,B2 .N5Jなるデータ
は、ブロックTOPに所属するノードN1には、ブロッ
クB1の端子.N1と、ブロックB2の端子.N5と、
が接続されていることを示している。また、B1のrN
l日」の欄のr.N1,Xi  .A,X4  .11
 ;Jなるデータは、ブロックB1に所属するノードN
1には、端子.N1と、ブロックX1の端子.Aと、ブ
ロックX4の端子.11と、が接続されていることを示
している。
さて、いま論理設計において第6図に示すような回路に
ついてのネットリストが作成されていたが、レイアウト
設計では、ブロックB1に所属する論理素子X1を、ブ
ロックB2に移動する必要が生じたものとする。この結
果、第6図の回路図は第8図の回路図のように修正され
ねばならず、第7図のネットリストは第9図のネットリ
ストのように修正されねばならない。以下に説明する手
順に従えば、第7図のネットリストを第9図のネットリ
ストに自動的に修正することが可能である。
それでは第1図の流れ図に沿ってこの手順を説明する。
まず、ステップS1において移動命令の入力を行う。コ
ンピュータには第7図に示すネットリストがデータとし
て与えられているが、オペレータは更に移動命令として
、移動元ブロック名、移動先ブロック名、移動対象、の
3つを特定する入力をコンピュータに与えるのである。
この例の場合、移動元ブロック名としてブロックB1、
移動先ブロック名としてブロックB2、移動対象として
ブロック(論理素子)XIが入力される。
続くステップS2では、移動元ブロックのブロックデー
タから、移動対象に関連したデータが抽11 12 出される。すなわち、第7図に示す移動元ブロックB1
のブロックデータから、移動対象X1に関連したデータ
が抽出される。具体的には、B1のノードN1の欄から
rX1  .AJなるデータが、ノードN2の欄からr
X1  .BJなるデータが、ノードN3の欄からrX
1  .CJなるデータが、抽出の対象となる。ここで
は、この3つのデータを順に1つずつ抽出することにす
る。はじめに、B1のノードN1の欄からrX1  .
’AJなるデータが抽出されたものとしよう。
続くステップS3では、この抽出データに対する移動処
理を行った場合に、新端子を設定する必要があるか否か
が判断される。新端子設定の必要性の有無の判断は、次
のようにして行うことができる。すなわち、当該抽出デ
ータを削除した場合に、当該ノード欄に端子が2個以上
残る場合には新端子設定の必要はないが、端子が2個以
上残らない場合には新端子設定の必要が生じる。いまの
例の場合、B1のノードN1の欄からrX1  .AJ
なるデータを削除したとしても、まだr.NIJやrX
4.IIJなるデータが残る。すなわちノードN1欄に
は、2個の端子が残るので、新端子設定の必要はない。
そこで、ステップS4へと進むことになる。
ステップS4では、上位階層データに基づいて、移動先
ブロックの対応箇所の判別が行われる。すなわち、抽出
データrX1  .AJに対応する箇所が、移動先ブロ
ックB2内に見付けられることになる。これは、具体的
には次のようにして行われる。すなわち、まず、抽出デ
ータrX1  .AJが記されているノード欄に記され
ているブロックの端子をみつける。この場合、端子.N
1である。
そこで、上位階層であるTOP内のブロックデータから
、移動元のブロックB1の端子.N1が記されているノ
ード欄を探し、その欄で移動先のブロックB2について
の端子名を確認する。この例テハ、TOPのノードNl
(7)欄に、rX1  .NIJが探し出され、この欄
のrX2 .N5Jなるデータから端子.N5が確認さ
れる。そこで、今度は移動先のブロックB2についての
ブロックデータから、端子.N5が記されたノードを探
す。結局、B2のノードN5の欄に、r .N5Jが探
し出される。しがたって、対応箇所はB2のノードN5
の欄ということになる。
続くステップS5では、移動元から抽出データrX1 
 .AJが削除され、移動先の対応箇所にこれに対応し
たデータrX4 .AJが付加される。
ここで、削除されたデータの「X1」が、付加されたデ
ータでは「X4」に修正されているが、これは移動先の
ブロック2内での次のブロック名(ブロック2内には既
にX1〜X3の3つのブロックが設けられているので、
次のブロック名はX4になる)に修正したものである。
かくして、第7図の81のノードN1欄から、データr
X1.AJが削除され、B2のノードN5欄に、データ
rX4  .AJが付加される。すなわち、第9図のB
1のノードN1欄、およびB2のノードN5欄が得られ
る。
そして、ステップS8において、すべてのデータが抽出
されたか否かが判断される。この例の場合、まだ2つの
データが残っているので、再びステップS2へと戻り、
今度は、B1のノードN2の欄からrX1  .BJな
るデータが抽出される。
そして、ステップ83〜S5において、前回と同様の処
理がなされる。その結果、第7図の81のノードN2欄
から、データrX1  .BJが削除され、B2のノー
ドN7欄に、データrX4  .BJが付加される。す
なわち、第9図の81のノードN2欄、およびB2のノ
ードN7欄が得られる。
再びステップS8を経てステップS2へと戻り、今度は
B1のノードN3欄からrX1  .CJなるデータが
抽出される。このデータに関しては、ステップS3で新
端子設定が必要である旨の判断がなされる。なぜなら、
ノードN3欄からrXIC」なるデータを削除してしま
うと、rX2  .IJなる端子しか残らなくなってし
まうためである。
そこで、今回はステップS6へと進むことになる。
ステップS6では、移動元ブロックおよび移動先ブロッ
クに新端子データが設定される。まず、移動元ブロック
では、抽出データが削除され、代15 16 わりに新端子データが例加される。すなわち、データr
X1  .CJが削除され、新端子データ「.N3Jが
付加され、第7図の81のノードN3欄は、第9図のB
1のノードN3欄のように修正される。一方、移動先ブ
ロックでは、第9図の82に示すように、新たなノード
欄N8が作られ、ここに新端子データr .N8Jと、
抽出データ「X1 .C」に対応したデータrX4 .
CJとが記される。
続くステップS7では、上位階層データに新端子間接続
データの設定が行われる。すなわち、ステップS6で設
定された新端子.N3と.N8との接続を示すデータが
、第9図のTOPに設けられた新しいノードN3欄に記
される。
以上ですべての抽出データについての処理が完了したの
で、ステップS8を経て全手順が終了する。結局、第7
図に示すネットリストが第9図に示すネットリストに修
正され、ブロックBl内の論理素子X1がブロックB2
内に移動したことになる。更にブロックB1内の論理素
子X2についてもブロック2内への移動を行いたい場合
には、第9図のように修正されたネットリストに対して
再度の修正処理を繰り返せばよい。オペレータは常に移
動元および移動先のブロックと、移動対象の指定を行う
だけであり、オペレータの行う作業は非常に単純なもの
となる。
〔発明の効果〕
以上のとおり本発明の半導体集積回路用ネットリストの
修正方法によれば、移動元ブロックから移動対象に関連
したデータを抽出し、移動元ブロックからこの抽出デー
タを削除し、上位階層のブロックデータに基づいて移動
先ブロックへ抽出データに対応するデータを付加する処
理を行い、必要があれば新端子の設定処理を行うように
したため、1つのブロック内の構成要素を別なブロック
内に移動するようなネットリストの修正をコンピュータ
を用いて自動的に行うことができるようになる。
【図面の簡単な説明】
第1図は本発明に係る半導体集積回路用ネットリストの
修正方法の手順を示す流れ図、第2図は一般的な半導体
集積回路の設計プロセスを示す図、第3図は論理設計時
に作成したネットリストを示す図、第4図はレイアウト
設計時に必要なネットリストを示す図、第5図はレイア
ウト設計時にネットリストに修正を加える必要のあるこ
とを説明するレイアウト図、第6図は修正前の論理回路
図、第7図は修正前のネットリスト図、第8図は修正後
の論理回路図、第9図は修正後のネットリスト図である
。 TOP・・・最上位のブロック、Bl,B2・・・中間
位のブロック、X1〜X4・・・最下位のブロック(論
理素子)、N1〜N8・・・ノード、.N1〜.N8・
・・端子。

Claims (1)

  1. 【特許請求の範囲】 半導体集積回路の各構成要素を階層構造をもったブロッ
    クに分類し、各ブロックごとにブロック内の接続関係を
    示すブロックデータを定義することにより構成されるネ
    ットリストを、修正する方法において、 移動対象と、この移動対象の所属する移動元ブロックと
    、この移動対象を移動すべき移動先ブロックと、を特定
    する移動命令を入力する段階と、前記移動元ブロックの
    ブロックデータから前記移動対象に関連したデータを抽
    出する段階と、前記抽出データに対する移動処理を行っ
    た場合に、新端子を設定する必要の有無を判定する段階
    と、 新端子設定が不要な場合に、前記抽出データに対応する
    箇所を、上位階層のブロックデータに基づいて前記移動
    先ブロックのブロックデータ内にみつけ、前記移動元ブ
    ロックのブロックデータから前記抽出データを削除する
    とともに、前記移動先ブロックのブロックデータ内の前
    記対応箇所に、前記抽出データに対応するデータを付加
    する段階と、 新端子設定が必要な場合に、前記移動元ブロックおよび
    前記移動先ブロックのブロックデータに新端子データを
    付加するとともに、上位階層のブロックデータに新端子
    間を接続するデータを付加する段階と、 を備えることを特徴とする半導体集積回路用ネットリス
    トの修正方法。
JP1162411A 1989-06-23 1989-06-23 半導体集積回路用ネットリストの修正方法 Pending JPH0327474A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1162411A JPH0327474A (ja) 1989-06-23 1989-06-23 半導体集積回路用ネットリストの修正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1162411A JPH0327474A (ja) 1989-06-23 1989-06-23 半導体集積回路用ネットリストの修正方法

Publications (1)

Publication Number Publication Date
JPH0327474A true JPH0327474A (ja) 1991-02-05

Family

ID=15754094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1162411A Pending JPH0327474A (ja) 1989-06-23 1989-06-23 半導体集積回路用ネットリストの修正方法

Country Status (1)

Country Link
JP (1) JPH0327474A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04140885A (ja) * 1990-10-01 1992-05-14 Nec Ic Microcomput Syst Ltd 回路図エディタ
JPH0524660U (ja) * 1991-09-13 1993-03-30 村田機械株式会社 パツケージ移載装置
JPH06131410A (ja) * 1992-10-22 1994-05-13 Kawasaki Steel Corp 電気回路設計方法及び電気回路設計用cad装置
US7302666B2 (en) 2005-03-17 2007-11-27 Fujitsu Limited Logic circuit design method, computer-readable recording medium having logic circuit design program stored therein, and logic circuit design device
WO2013058095A1 (ja) * 2011-10-20 2013-04-25 株式会社図研 マルチボード設計装置、マルチボード設計方法、プログラムおよびコンピューター読み取り可能な記録媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04140885A (ja) * 1990-10-01 1992-05-14 Nec Ic Microcomput Syst Ltd 回路図エディタ
JPH0524660U (ja) * 1991-09-13 1993-03-30 村田機械株式会社 パツケージ移載装置
JPH06131410A (ja) * 1992-10-22 1994-05-13 Kawasaki Steel Corp 電気回路設計方法及び電気回路設計用cad装置
US7302666B2 (en) 2005-03-17 2007-11-27 Fujitsu Limited Logic circuit design method, computer-readable recording medium having logic circuit design program stored therein, and logic circuit design device
WO2013058095A1 (ja) * 2011-10-20 2013-04-25 株式会社図研 マルチボード設計装置、マルチボード設計方法、プログラムおよびコンピューター読み取り可能な記録媒体
JPWO2013058095A1 (ja) * 2011-10-20 2015-04-02 株式会社図研 マルチボード設計装置、マルチボード設計方法、プログラムおよびコンピューター読み取り可能な記録媒体
US9047435B2 (en) 2011-10-20 2015-06-02 Zuken Inc. Multi-board design apparatus, multi-board design method, program and computer-readable recording medium

Similar Documents

Publication Publication Date Title
US6584610B1 (en) Incrementally resolved phase-shift conflicts in layouts for phase-shifted features
US6889370B1 (en) Method and apparatus for selecting and aligning cells using a placement tool
US7480878B2 (en) Method and system for layout versus schematic validation of integrated circuit designs
US8984465B1 (en) Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design
US9251299B1 (en) Methods, systems, and articles of manufacture for associating track patterns with rules for electronic designs
US7222321B2 (en) System and method for manipulating an integrated circuit layout
US20050151258A1 (en) Method for reducing wiring congestion in a VLSI chip design
US7904856B2 (en) Arrangement handling commands as control system behaviors and data system behaviors
JPH06274568A (ja) 階層図形データの展開方法
JPH0743742B2 (ja) 自動配線方法
JPH0327474A (ja) 半導体集積回路用ネットリストの修正方法
JPH01302850A (ja) テスト容易化半導体集積回路の製造方法
US8006208B2 (en) Reducing coupling between wires of an electronic circuit
CN111611761B (zh) 生成电路版图图案的方法、设备和计算机可读存储介质
US9552453B1 (en) Integrated circuit with power network aware metal fill
US5825659A (en) Method for local rip-up and reroute of signal paths in an IC design
JP2002503850A (ja) 電子デバイスおよび電子装置を製造および設計する方法
JP3433025B2 (ja) モジュール配置方法
JP2872216B1 (ja) マクロの設計方法
JP2006004244A (ja) 集積回路設計システム、方法及びプログラム
US20110185337A1 (en) Methodology for storing and updating on-chip revision level
JPS61151782A (ja) 論理回路デ−タの作成方法
JPH04147379A (ja) 半導体集積回路用ネットリストの修正方法
JPH11312185A (ja) レイアウトデータの作成方法
US20040153987A1 (en) Method and system for connecting computer-generated rectangles