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
Links
- 238000000034 method Methods 0.000 title claims description 34
- 239000004065 semiconductor Substances 0.000 title claims description 16
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000012937 correction Methods 0.000 abstract description 7
- 238000000605 extraction Methods 0.000 abstract description 3
- 238000012217 deletion Methods 0.000 abstract 1
- 230000037430 deletion Effects 0.000 abstract 1
- 238000013461 design Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000004088 simulation Methods 0.000 description 4
- 238000012938 design process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は半導体集積回路用ネットリストの修正方法、特
に1つのブロック内の構成要素を別なブ1 つ ロック内に移動するようなネットリストの修正をコンピ
ュータを用いて自動的に行うことのできる修正方法に関
する。
に1つのブロック内の構成要素を別なブ1 つ ロック内に移動するようなネットリストの修正をコンピ
ュータを用いて自動的に行うことのできる修正方法に関
する。
半導体集積回路の設計では、まず論理設計が行われ、設
計された論理回路についての論理シミュレーションが行
われ、続いて具体的なレイアウト設計がなされることに
なる。ここで、論理設計時においても、レイアウト設計
時においても、半導体集積回路の各構成要素(たとえば
、AND回路、NOR回路などの論理素子)についての
情報は、階層構造をもったブロックごとに分類されたネ
ットリストとして表現される。通常は論理設計時に作成
したネットリストは、そのままレイアウト設計時にも流
用されることになる。
計された論理回路についての論理シミュレーションが行
われ、続いて具体的なレイアウト設計がなされることに
なる。ここで、論理設計時においても、レイアウト設計
時においても、半導体集積回路の各構成要素(たとえば
、AND回路、NOR回路などの論理素子)についての
情報は、階層構造をもったブロックごとに分類されたネ
ットリストとして表現される。通常は論理設計時に作成
したネットリストは、そのままレイアウト設計時にも流
用されることになる。
しかしながら、論理設計時のネットリストをレイアウト
設計時に全くそのままの形で流用できる例は少なく、通
常は多少の修正が必要になる。
設計時に全くそのままの形で流用できる例は少なく、通
常は多少の修正が必要になる。
般に、1つのブロック内の構威要素を別なプロック内に
移動するような修正が必要になる。ネットリストが図形
的なデータとして与えられている場合には、このような
修正は比較的簡単に行えるが、文字データとして与えら
れている場合には、この修正は非常に困難であり、誤り
が発生しやすい作業となる。
移動するような修正が必要になる。ネットリストが図形
的なデータとして与えられている場合には、このような
修正は比較的簡単に行えるが、文字データとして与えら
れている場合には、この修正は非常に困難であり、誤り
が発生しやすい作業となる。
そこで本発明は、1つのブロック内の構成要素を別なブ
ロック内に移動するようなネットリストの修正をコンピ
ュータを用いて自動的に行うことのできる半導体集積回
路用ネットリストの修正方法を提供することを目的とす
る。
ロック内に移動するようなネットリストの修正をコンピ
ュータを用いて自動的に行うことのできる半導体集積回
路用ネットリストの修正方法を提供することを目的とす
る。
本発明は、半導体集積回路の各構成要素を階層構造をも
ったブロックに分類し、各ブロックごとにブロック内の
接続関係を示すブロックデータを定義することにより構
成されるネットリストを、修正する方法において、 移動対象と、この移動対象の所属する移動元ブロックと
、この移動対象を移動すべき移動先ブロックと、を特定
する移動命令を入力する段階と、3 4 移動元ブロックのブロックデータから移動対象に関連し
たデータを抽出する段階と、 この抽出データに対する移動処理を行った場合に、新端
子を設定する必要の有無を判定する段階と、 新端子設定が不要な場合に、抽出データに対応する箇所
を、上位階層のブロックデータに基づいて移動先ブロッ
クのブロックデータ内にみつけ、移動元ブロックのブロ
ックデータから抽出データを削除するとともに、移動先
ブロックのブロックデータ内の対応箇所に、抽出データ
に対応するデータを付加する段階と、 新端子設定が必要な場合に、移動元ブロックおよび移動
先ブロックのブロックデータに新端子データを付加する
とともに、上位階層のブロックデータに新端子間を接続
するデータを付加する段階と、 を行うようにしたものである。
ったブロックに分類し、各ブロックごとにブロック内の
接続関係を示すブロックデータを定義することにより構
成されるネットリストを、修正する方法において、 移動対象と、この移動対象の所属する移動元ブロックと
、この移動対象を移動すべき移動先ブロックと、を特定
する移動命令を入力する段階と、3 4 移動元ブロックのブロックデータから移動対象に関連し
たデータを抽出する段階と、 この抽出データに対する移動処理を行った場合に、新端
子を設定する必要の有無を判定する段階と、 新端子設定が不要な場合に、抽出データに対応する箇所
を、上位階層のブロックデータに基づいて移動先ブロッ
クのブロックデータ内にみつけ、移動元ブロックのブロ
ックデータから抽出データを削除するとともに、移動先
ブロックのブロックデータ内の対応箇所に、抽出データ
に対応するデータを付加する段階と、 新端子設定が必要な場合に、移動元ブロックおよび移動
先ブロックのブロックデータに新端子データを付加する
とともに、上位階層のブロックデータに新端子間を接続
するデータを付加する段階と、 を行うようにしたものである。
この方法によれば、まず移動元ブロックから移動対象に
関連したデータが抽出される。この抽出データすべてに
対して移動処理がなされることになるが、この移動処理
は基本的には、移動元ブロックからの当該データの削除
と、移動先ブロックへの当該データに対応するデータの
付加と、いう2つの処理からなる。移動先ブロック内で
のデータ付加箇所は、上位階層のブロックデータを参照
して決めることができる。また、移動処理を行うにあた
って、新端子を設定する必要がある場合には、移動元お
よび移動先の双方のブロックに新端子が設定され、更に
上位階層のブロックデータにも、この新端子に関する情
報が付加される。このような処理が自動化されることに
より、オペレータは移動元ブロックと、移動先ブロック
と、移動対象と、を入力するだけの作業を行えばよい。
関連したデータが抽出される。この抽出データすべてに
対して移動処理がなされることになるが、この移動処理
は基本的には、移動元ブロックからの当該データの削除
と、移動先ブロックへの当該データに対応するデータの
付加と、いう2つの処理からなる。移動先ブロック内で
のデータ付加箇所は、上位階層のブロックデータを参照
して決めることができる。また、移動処理を行うにあた
って、新端子を設定する必要がある場合には、移動元お
よび移動先の双方のブロックに新端子が設定され、更に
上位階層のブロックデータにも、この新端子に関する情
報が付加される。このような処理が自動化されることに
より、オペレータは移動元ブロックと、移動先ブロック
と、移動対象と、を入力するだけの作業を行えばよい。
以下本発明を図示する一実施例に基づいて詳述する。第
1図は本発明の一実施例に係る半導体集積回路用ネット
リストの修正方法の手順を示す流れ図である。この手順
についての説明を行う前に、5 半導体集積回路の設計プロセスの概略を第2図の工程図
に沿って簡単に説明しておく。はじめに、プロセスP1
において、システム設計がなされる。
1図は本発明の一実施例に係る半導体集積回路用ネット
リストの修正方法の手順を示す流れ図である。この手順
についての説明を行う前に、5 半導体集積回路の設計プロセスの概略を第2図の工程図
に沿って簡単に説明しておく。はじめに、プロセスP1
において、システム設計がなされる。
これはシステム全体の概括的な設計である。続くプロセ
スP2において論理設計がなされる。すなわち、論理回
路レベルで集積回路の設計がなされることになる。前述
のように、このとき、各論理回路素子の接続関係を示す
ために、階層構造をもったネットリストが作成される。
スP2において論理設計がなされる。すなわち、論理回
路レベルで集積回路の設計がなされることになる。前述
のように、このとき、各論理回路素子の接続関係を示す
ために、階層構造をもったネットリストが作成される。
このネットリストの階層構造の一例を第3図に示す。こ
こで、A.B, Cは個々の論理素子を示す。このよ
うに、各論理素子は5つのブロックに分類されており、
さらに、この5つのブロックを統括するためにトップと
呼ばれる最上泣ブロックが設けられている。
こで、A.B, Cは個々の論理素子を示す。このよ
うに、各論理素子は5つのブロックに分類されており、
さらに、この5つのブロックを統括するためにトップと
呼ばれる最上泣ブロックが設けられている。
このように、この例では、A,B,Cで示す個々の論理
素子レベルの第1階層ブロックと、ブロック1〜5で示
す中間レベルの第2階層ブロックと、トップと記した最
高位レベルの第3階層ブロックと、の3つの階層レベル
が設けられている。複雑な集積回路では、更に階層数が
多くなる。
素子レベルの第1階層ブロックと、ブロック1〜5で示
す中間レベルの第2階層ブロックと、トップと記した最
高位レベルの第3階層ブロックと、の3つの階層レベル
が設けられている。複雑な集積回路では、更に階層数が
多くなる。
続いて、この設計された論理回路についての論理シミュ
レーションがプロセスP3において実行される。シミュ
レーションの結果、不都合があれば論理設計に修正を加
えることになる。論理シミュレーションがパスすると、
プロセスP4で具体的なレイアウト設計が行われる。す
なわち、半導体ウエハを加工するためのマスクパターン
のレイアウトが決められる。このとき、前述のように、
プロセスP2の論理設計で作成したネットリストを流用
することになるが、一部修正を加える必要が生じる。た
とえば、プロセスP2の論理設計におけるネットリスト
は第3図に示すようなものであったが、プロセスP4の
レイアウト設計におけるネットリストは第4図に示すよ
うなものにする必要が生じる。すなわち、論理設計時に
はブロック2に所属していた論理素子Aを、レイアウト
設計時にはブロック1に所属させる必要が生じている。
レーションがプロセスP3において実行される。シミュ
レーションの結果、不都合があれば論理設計に修正を加
えることになる。論理シミュレーションがパスすると、
プロセスP4で具体的なレイアウト設計が行われる。す
なわち、半導体ウエハを加工するためのマスクパターン
のレイアウトが決められる。このとき、前述のように、
プロセスP2の論理設計で作成したネットリストを流用
することになるが、一部修正を加える必要が生じる。た
とえば、プロセスP2の論理設計におけるネットリスト
は第3図に示すようなものであったが、プロセスP4の
レイアウト設計におけるネットリストは第4図に示すよ
うなものにする必要が生じる。すなわち、論理設計時に
はブロック2に所属していた論理素子Aを、レイアウト
設計時にはブロック1に所属させる必要が生じている。
このような、ブロック間における論理素子移動は、論理
素子を実際に半導体ウエハ面上にレイアウトする場合の
レイアウト効率の向上などの要7 8 求から必要になる。たとえば、第5図に示すように、論
理設計時のブロックは破線で示すような分類でよかった
が、実際のレイアウトを考えると配線が非常に長くなる
などの弊害が生じ、実線で示すような分類にした方が効
率的であるというような事態が生じるのである。この場
合、第3図に示すようなネットリストを流用するために
、ブロック2に所属する論理素子Aをブロック1に移動
させるような修正が必要になる。本発明による方法では
、移動元となるブロック2、移動先となるブロック1、
そして移動対象となる論理素子A1を特定する人力を行
うだけで、ネットリストの自動修正が行われる。
素子を実際に半導体ウエハ面上にレイアウトする場合の
レイアウト効率の向上などの要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といった符号は、ブロックの端子名を示す。
。ここでは説明の便宜上、第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相互間の接続関係を示すブロッ
クデータてある。
に示すようなものになる。ここで、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と、が接続されていることを示
している。
などのノード名が先行し、その後にこのノ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図のネットリ
ストに自動的に修正することが可能である。
ついてのネットリストが作成されていたが、レイアウト
設計では、ブロックB1に所属する論理素子X1を、ブ
ロックB2に移動する必要が生じたものとする。この結
果、第6図の回路図は第8図の回路図のように修正され
ねばならず、第7図のネットリストは第9図のネットリ
ストのように修正されねばならない。以下に説明する手
順に従えば、第7図のネットリストを第9図のネットリ
ストに自動的に修正することが可能である。
それでは第1図の流れ図に沿ってこの手順を説明する。
まず、ステップS1において移動命令の入力を行う。コ
ンピュータには第7図に示すネットリストがデータとし
て与えられているが、オペレータは更に移動命令として
、移動元ブロック名、移動先ブロック名、移動対象、の
3つを特定する入力をコンピュータに与えるのである。
ンピュータには第7図に示すネットリストがデータとし
て与えられているが、オペレータは更に移動命令として
、移動元ブロック名、移動先ブロック名、移動対象、の
3つを特定する入力をコンピュータに与えるのである。
この例の場合、移動元ブロック名としてブロックB1、
移動先ブロック名としてブロックB2、移動対象として
ブロック(論理素子)XIが入力される。
移動先ブロック名としてブロック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なるデータが抽出されたものとしよう。
タから、移動対象に関連したデータが抽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個の端子が残るので、新端子設定の必要はない。
理を行った場合に、新端子を設定する必要があるか否か
が判断される。新端子設定の必要性の有無の判断は、次
のようにして行うことができる。すなわち、当該抽出デ
ータを削除した場合に、当該ノード欄に端子が2個以上
残る場合には新端子設定の必要はないが、端子が2個以
上残らない場合には新端子設定の必要が生じる。いまの
例の場合、B1のノードN1の欄からrX1 .AJ
なるデータを削除したとしても、まだr.NIJやrX
4.IIJなるデータが残る。すなわちノードN1欄に
は、2個の端子が残るので、新端子設定の必要はない。
そこで、ステップS4へと進むことになる。
ステップS4では、上位階層データに基づいて、移動先
ブロックの対応箇所の判別が行われる。すなわち、抽出
データrX1 .AJに対応する箇所が、移動先ブロ
ックB2内に見付けられることになる。これは、具体的
には次のようにして行われる。すなわち、まず、抽出デ
ータrX1 .AJが記されているノード欄に記され
ているブロックの端子をみつける。この場合、端子.N
1である。
ブロックの対応箇所の判別が行われる。すなわち、抽出
データ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
の欄ということになる。
、移動元のブロックB1の端子.N1が記されているノ
ード欄を探し、その欄で移動先のブロックB2について
の端子名を確認する。この例テハ、TOPのノードNl
(7)欄に、rX1 .NIJが探し出され、この欄
のrX2 .N5Jなるデータから端子.N5が確認さ
れる。そこで、今度は移動先のブロックB2についての
ブロックデータから、端子.N5が記されたノードを探
す。結局、B2のノードN5の欄に、r .N5Jが探
し出される。しがたって、対応箇所はB2のノードN5
の欄ということになる。
続くステップS5では、移動元から抽出データrX1
.AJが削除され、移動先の対応箇所にこれに対応し
たデータrX4 .AJが付加される。
.AJが削除され、移動先の対応箇所にこれに対応し
たデータrX4 .AJが付加される。
ここで、削除されたデータの「X1」が、付加されたデ
ータでは「X4」に修正されているが、これは移動先の
ブロック2内での次のブロック名(ブロック2内には既
にX1〜X3の3つのブロックが設けられているので、
次のブロック名はX4になる)に修正したものである。
ータでは「X4」に修正されているが、これは移動先の
ブロック2内での次のブロック名(ブロック2内には既
にX1〜X3の3つのブロックが設けられているので、
次のブロック名はX4になる)に修正したものである。
かくして、第7図の81のノードN1欄から、データr
X1.AJが削除され、B2のノードN5欄に、データ
rX4 .AJが付加される。すなわち、第9図のB
1のノードN1欄、およびB2のノードN5欄が得られ
る。
X1.AJが削除され、B2のノードN5欄に、データ
rX4 .AJが付加される。すなわち、第9図のB
1のノードN1欄、およびB2のノードN5欄が得られ
る。
そして、ステップS8において、すべてのデータが抽出
されたか否かが判断される。この例の場合、まだ2つの
データが残っているので、再びステップS2へと戻り、
今度は、B1のノードN2の欄からrX1 .BJな
るデータが抽出される。
されたか否かが判断される。この例の場合、まだ2つの
データが残っているので、再びステップS2へと戻り、
今度は、B1のノードN2の欄からrX1 .BJな
るデータが抽出される。
そして、ステップ83〜S5において、前回と同様の処
理がなされる。その結果、第7図の81のノードN2欄
から、データrX1 .BJが削除され、B2のノー
ドN7欄に、データrX4 .BJが付加される。す
なわち、第9図の81のノードN2欄、およびB2のノ
ードN7欄が得られる。
理がなされる。その結果、第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なる端子しか残らなくなってし
まうためである。
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とが記される。
クに新端子データが設定される。まず、移動元ブロック
では、抽出データが削除され、代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欄に記
される。
データの設定が行われる。すなわち、ステップS6で設
定された新端子.N3と.N8との接続を示すデータが
、第9図のTOPに設けられた新しいノードN3欄に記
される。
以上ですべての抽出データについての処理が完了したの
で、ステップS8を経て全手順が終了する。結局、第7
図に示すネットリストが第9図に示すネットリストに修
正され、ブロックBl内の論理素子X1がブロックB2
内に移動したことになる。更にブロックB1内の論理素
子X2についてもブロック2内への移動を行いたい場合
には、第9図のように修正されたネットリストに対して
再度の修正処理を繰り返せばよい。オペレータは常に移
動元および移動先のブロックと、移動対象の指定を行う
だけであり、オペレータの行う作業は非常に単純なもの
となる。
で、ステップS8を経て全手順が終了する。結局、第7
図に示すネットリストが第9図に示すネットリストに修
正され、ブロックBl内の論理素子X1がブロックB2
内に移動したことになる。更にブロックB1内の論理素
子X2についてもブロック2内への移動を行いたい場合
には、第9図のように修正されたネットリストに対して
再度の修正処理を繰り返せばよい。オペレータは常に移
動元および移動先のブロックと、移動対象の指定を行う
だけであり、オペレータの行う作業は非常に単純なもの
となる。
以上のとおり本発明の半導体集積回路用ネットリストの
修正方法によれば、移動元ブロックから移動対象に関連
したデータを抽出し、移動元ブロックからこの抽出デー
タを削除し、上位階層のブロックデータに基づいて移動
先ブロックへ抽出データに対応するデータを付加する処
理を行い、必要があれば新端子の設定処理を行うように
したため、1つのブロック内の構成要素を別なブロック
内に移動するようなネットリストの修正をコンピュータ
を用いて自動的に行うことができるようになる。
修正方法によれば、移動元ブロックから移動対象に関連
したデータを抽出し、移動元ブロックからこの抽出デー
タを削除し、上位階層のブロックデータに基づいて移動
先ブロックへ抽出データに対応するデータを付加する処
理を行い、必要があれば新端子の設定処理を行うように
したため、1つのブロック内の構成要素を別なブロック
内に移動するようなネットリストの修正をコンピュータ
を用いて自動的に行うことができるようになる。
第1図は本発明に係る半導体集積回路用ネットリストの
修正方法の手順を示す流れ図、第2図は一般的な半導体
集積回路の設計プロセスを示す図、第3図は論理設計時
に作成したネットリストを示す図、第4図はレイアウト
設計時に必要なネットリストを示す図、第5図はレイア
ウト設計時にネットリストに修正を加える必要のあるこ
とを説明するレイアウト図、第6図は修正前の論理回路
図、第7図は修正前のネットリスト図、第8図は修正後
の論理回路図、第9図は修正後のネットリスト図である
。 TOP・・・最上位のブロック、Bl,B2・・・中間
位のブロック、X1〜X4・・・最下位のブロック(論
理素子)、N1〜N8・・・ノード、.N1〜.N8・
・・端子。
修正方法の手順を示す流れ図、第2図は一般的な半導体
集積回路の設計プロセスを示す図、第3図は論理設計時
に作成したネットリストを示す図、第4図はレイアウト
設計時に必要なネットリストを示す図、第5図はレイア
ウト設計時にネットリストに修正を加える必要のあるこ
とを説明するレイアウト図、第6図は修正前の論理回路
図、第7図は修正前のネットリスト図、第8図は修正後
の論理回路図、第9図は修正後のネットリスト図である
。 TOP・・・最上位のブロック、Bl,B2・・・中間
位のブロック、X1〜X4・・・最下位のブロック(論
理素子)、N1〜N8・・・ノード、.N1〜.N8・
・・端子。
Claims (1)
- 【特許請求の範囲】 半導体集積回路の各構成要素を階層構造をもったブロッ
クに分類し、各ブロックごとにブロック内の接続関係を
示すブロックデータを定義することにより構成されるネ
ットリストを、修正する方法において、 移動対象と、この移動対象の所属する移動元ブロックと
、この移動対象を移動すべき移動先ブロックと、を特定
する移動命令を入力する段階と、前記移動元ブロックの
ブロックデータから前記移動対象に関連したデータを抽
出する段階と、前記抽出データに対する移動処理を行っ
た場合に、新端子を設定する必要の有無を判定する段階
と、 新端子設定が不要な場合に、前記抽出データに対応する
箇所を、上位階層のブロックデータに基づいて前記移動
先ブロックのブロックデータ内にみつけ、前記移動元ブ
ロックのブロックデータから前記抽出データを削除する
とともに、前記移動先ブロックのブロックデータ内の前
記対応箇所に、前記抽出データに対応するデータを付加
する段階と、 新端子設定が必要な場合に、前記移動元ブロックおよび
前記移動先ブロックのブロックデータに新端子データを
付加するとともに、上位階層のブロックデータに新端子
間を接続するデータを付加する段階と、 を備えることを特徴とする半導体集積回路用ネットリス
トの修正方法。
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)
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 | 株式会社図研 | マルチボード設計装置、マルチボード設計方法、プログラムおよびコンピューター読み取り可能な記録媒体 |
-
1989
- 1989-06-23 JP JP1162411A patent/JPH0327474A/ja active Pending
Cited By (7)
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 | |
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) | 生成电路版图图案的方法、设备和计算机可读存储介质 | |
US5825659A (en) | Method for local rip-up and reroute of signal paths in an IC design | |
JP2002503850A (ja) | 電子デバイスおよび電子装置を製造および設計する方法 | |
US8209654B2 (en) | Methodology for storing and updating on-chip revision level | |
JP3433025B2 (ja) | モジュール配置方法 | |
JP2872216B1 (ja) | マクロの設計方法 | |
JPS61151782A (ja) | 論理回路デ−タの作成方法 | |
JPH04147379A (ja) | 半導体集積回路用ネットリストの修正方法 | |
TWI712984B (zh) | 藉助於額外導線來進行電網優化之方法與設備 | |
JPH11312185A (ja) | レイアウトデータの作成方法 | |
US20040153987A1 (en) | Method and system for connecting computer-generated rectangles | |
JPH04143865A (ja) | 半導体集積回路用ネットリストの修正方法 | |
JP3076301B2 (ja) | 半導体集積回路のレイアウト面積見積り方法およびそのcad装置 |