JPH04147379A - Method for correcting network list for semiconductor integrated circuit - Google Patents

Method for correcting network list for semiconductor integrated circuit

Info

Publication number
JPH04147379A
JPH04147379A JP2272012A JP27201290A JPH04147379A JP H04147379 A JPH04147379 A JP H04147379A JP 2272012 A JP2272012 A JP 2272012A JP 27201290 A JP27201290 A JP 27201290A JP H04147379 A JPH04147379 A JP H04147379A
Authority
JP
Japan
Prior art keywords
block
data
list
blocks
terminals
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
JP2272012A
Other languages
Japanese (ja)
Inventor
Tetsukazu Murakami
村上 哲一
Mie Funato
船戸 美恵
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 JP2272012A priority Critical patent/JPH04147379A/en
Publication of JPH04147379A publication Critical patent/JPH04147379A/en
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PURPOSE:To automatically carry out such correction as newly defining intermediate stage blocks between the lower stage blocks and the upper stage blocks by extracting block data one by one node from a list of original upper stage block. CONSTITUTION:Block data defined for upper stage blocks is extracted one by one node. In this example, since block TOP is a upper stage block, from a list of TOP, block data is extracted one by one line. New terminals of intermediate stage block SUB to be newly prepared are generated, and further two block data items that shows the connecting relationship between a part of a plurality of terminals included in extracted data and the newly prepared terminals are generated. Furthermore, by one of these block data items extracted data in a list of upper stage blocks is replaced, while the processing of adding the other block data item to a list to be newly prepared is implemented. With this, the operator has only to carry out input work for specifying an object block.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は半導体集積回路用ネットリストの修正方法、特
に、対象となる複数の下層ブロックと、この下層ブロッ
クの上の階層に定義された上層ブロックと、の間に新た
に中層ブロックを定義するような修正を、コンピュータ
を用いて自動的に行うことのできる修正方法に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a method for modifying a netlist for a semiconductor integrated circuit, and in particular, a method for modifying a netlist for a semiconductor integrated circuit, and in particular, a method for modifying a netlist for a semiconductor integrated circuit. The present invention relates to a modification method that can automatically perform modifications such as defining a new middle block between blocks using a computer.

〔従来の技術〕[Conventional technology]

半導体集積回路の設計では、まず論理設計が行われ、設
計された論理回路についての論理シミュレーションが行
われ、続いて具体的なレイアウト設計がなされることに
なる。ここで、論理設計時においても、レイアウト設計
時においても、半導体集積回路の各構成要素(たとえば
、AND回路、NOR回路などの論理素子)についての
情報は、階層構造をもったブロックごとに分類されたネ
・ソトリストとして表現される。通常は論理設計時に作
成したネットリストは、そのままレイアウト設計時にも
流用されることになる。
In designing a semiconductor integrated circuit, a logic design is first performed, a logic simulation is performed on the designed logic circuit, and then a specific layout design is performed. At the time of logic design and layout design, information about each component of a semiconductor integrated circuit (for example, logic elements such as AND circuits and NOR circuits) is classified into blocks with a hierarchical structure. It is expressed as a tane sotorist. Normally, the netlist created during logic design is also used as is during layout design.

〔発明が解決しようとする課題〕 しかしながら、論理設計時のネットリストをレイアウト
設計時に全くそのままの形で流用できる例は少なく、通
常は多少の修正が必要になる。たとえば、対象となる複
数の下層ブロックと、この下層ブロックの上の階層に定
義された上層ブロックと、の間に新たに中層ブロックを
定義するような修正が必要になることがある。ネットリ
ストが図形的なデータとして与えられている場合には、
このような修正は比較的簡単に行えるか、文字データと
して与えられている場合には、この修正は非常に困難で
あり、誤りが発生しやすい作業となる。
[Problems to be Solved by the Invention] However, there are few cases in which a netlist used in logical design can be used in layout design in its exact form, and some modifications are usually required. For example, it may be necessary to make a modification such as defining a new middle-layer block between a plurality of target lower-layer blocks and an upper-layer block defined in a hierarchy above the lower-layer blocks. If the netlist is given as graphical data,
This kind of modification can be done relatively easily, or if the data is provided as character data, it can be extremely difficult and an error-prone task.

そこで本発明は、対象となる複数の下層ブロックと、こ
の下層ブロックの上の階層に定義された上層ブロックと
、の間に新たに中層ブロックを定義するような修正をコ
ンピュータを用いて自動的に行うことのできる半導体集
積回路用ネットリストの修正方法を提供することを目的
とする。
Therefore, the present invention uses a computer to automatically make corrections such as defining a new middle-layer block between a plurality of target lower-layer blocks and an upper-layer block defined in the hierarchy above the lower-layer blocks. An object of the present invention is to provide a method for modifying a netlist for a semiconductor integrated circuit.

〔課題を解決するための手段〕[Means to solve the problem]

本発明は、半導体集積回路の各構成要素を階層構造をも
ったブロックに分類し、各ブロックごとにブロック内の
接続関係を示すブロックデータを定義することにより構
成されるネットリストに対し、対象となる複数の下層ブ
ロックと、この下層ブロックの上の階層に定義された上
層ブロックと、の間に新たに中層ブロックを定義するよ
うな修正を施す方法において、 対象となる複数の下層ブロックと、この下層ブロックの
上の階層に定義された上層ブロックと、を特定する修正
命令を入力する段階と、入力された上層ブロックについ
て定義されたブロックデータを、1ノード分ずつ抽出す
る段階と、この抽出データによってその接続関係が示さ
れる複数の端子に着目し、この複数の端子のすべてが対
象となる下層ブロックについての端子である場合には第
1の状態と判断し、一部が対象となる下層ブロックにつ
いての端子である場合には第2の状態と判断し、いずれ
もが対象となる下層ブロックについての端子でない場合
には第3の状態と判断する段階と、 第1の状態と判断されたときに、抽出データを、上層ブ
ロックについてのリストから中層プロ・ツクについて新
たに作成されたリストへ移動する段階と、 第2の状態と判断されたときに、新端子を発生させ、抽
出データによってその接続関係が示される複数の端子の
一部とこの新端子との接続関係を示す2つのブロックデ
ータを作成し、このうちの一方のブロックデータによっ
て上層ブロックについてのリスト内の抽出データを置換
し、もう一方のブロックデータを新たに作成されたリス
トに加える処理を行う段階と、 第3の状態と判断されたときに、リストの修正を行わな
い段階と、 を行うようにしたものである。
The present invention classifies each component of a semiconductor integrated circuit into blocks with a hierarchical structure, and defines for each block block data indicating connection relationships within the block. In this method, a new middle-layer block is defined between a plurality of lower-layer blocks and an upper-layer block defined in the hierarchy above the lower-layer blocks. A step of inputting a modification command that specifies an upper layer block defined in the hierarchy above the lower layer block, a step of extracting block data defined for the input upper layer block for each node, and a step of extracting this extracted data. Focusing on multiple terminals whose connection relationships are indicated by If the terminal is for the target lower block, it is determined to be in the second state, and if none of the terminals is for the target lower block, it is determined to be in the third state; and when it is determined to be in the first state. Next, the extracted data is moved from the list for the upper block to the newly created list for the middle block, and when the second state is determined, a new terminal is generated and the extracted data is used to move the extracted data to the newly created list for the middle block. Create two block data indicating the connection relationship between some of the multiple terminals whose connection relationships are indicated and this new terminal, and replace the extracted data in the list regarding the upper layer block with one of the block data, The following steps are performed: a step of adding the other block data to the newly created list; and a step of not modifying the list when the third state is determined.

〔作 用〕[For production]

対象となる複数の下層ブロックと、この下層ブロックの
上の階層に定義された上層ブロックと、の間に新たに中
層ブロックを定義するような修正を施す場合、上層ブロ
ックについてのリストに修正を加えるとともに、新たに
中層ブロックについてのリストを作成する作業を行わね
ばならない。
When making a modification such as defining a new middle block between multiple target lower blocks and an upper block defined in the hierarchy above the lower block, make the correction to the list for the upper block. At the same time, a new list of middle-layer blocks must be created.

本発明による方法では、もとの上層ブロックについての
リストから、1ノード分ずつブロックデータを抽出し、
この抽出したデータに基づいて上述の作業が行われる。
In the method according to the present invention, block data for each node is extracted from the original list of upper layer blocks,
The above operations are performed based on this extracted data.

抽出データに含まれる複数の端子が、いずれのブロック
についての端子であるかによって、作業内容は3とおり
に分けられる。
The work contents can be divided into three types depending on which block the plurality of terminals included in the extracted data belong to.

この3とおりの作業はいずれも単純な論理的作業となる
ため、コンピュータによる自動処理が可能である。この
ように処理が自動化されるため、オペレータは対象とな
るブロックを特定する入力作業を行うだけですむ。
These three types of tasks are all simple logical tasks, so they can be automatically processed by a computer. Since the process is automated in this way, the operator only has to perform input work to specify the target block.

〔実施例〕〔Example〕

以下本発明を図示する一実施例に基づいて詳述する。第
1図は本発明の一実施例に係る半導体集積回路用ネット
リストの修正方法の手順を示す流れ図である。この手順
についての説明を行う前に、半導体集積回路の設計プロ
セスの概略を第2図の工程図に沿って簡単に説明してお
く。はじめに、プロセスP1において、システム設計が
なされる。
The present invention will be described in detail below based on an illustrated embodiment. FIG. 1 is a flowchart showing the steps of a method for modifying a netlist for a semiconductor integrated circuit according to an embodiment of the present invention. Before explaining this procedure, the outline of the semiconductor integrated circuit design process will be briefly explained along the process diagram of FIG. 2. First, in process P1, a system design is performed.

これはシステム全体の概括的な設計である。続くプロセ
スP2において論理設計がなされる。すなわち、論理回
路レベルで集積回路の設計がなされることになる。前述
のように、このとき、各論理回路素子の接続関係を示す
ために、階層構造をもったネットリストが作成される。
This is a general design of the entire system. In the subsequent process P2, logic design is performed. In other words, integrated circuits are designed at the logic circuit level. As described above, at this time, a netlist with a hierarchical structure is created to show the connection relationship of each logic circuit element.

このネットリストの階層構造の一例を第3図に示す。こ
こで、X1〜X3は個々の論理素子を示す。このように
、各論理素子は4つのブロックB1〜B4に分類されて
おり、さらに、この4つのブロックを統括するためにT
OPという最上位ブロックか設けられている。このよう
に、この例ては、X1〜X3て示す個々の論理素子レベ
ルの第1階層ブロックと、ブロック81〜B4で示す中
間レベルの第2階層ブロックと、TOPと記した最高位
レベルの第3階層ブロックと、の3つの階層レベルが設
けられている。複雑な集積回路では、更に階層数が多く
なる。
An example of the hierarchical structure of this netlist is shown in FIG. Here, X1 to X3 indicate individual logic elements. In this way, each logic element is classified into four blocks B1 to B4, and furthermore, in order to unify these four blocks, T
A top block called OP is provided. Thus, in this example, there are first hierarchical blocks at the individual logic element level indicated as X1 to X3, second hierarchical blocks at the intermediate level indicated as blocks 81 to B4, and a second hierarchical block at the highest level indicated as TOP. There are three hierarchical levels: a three-hierarchical block; Complex integrated circuits have even more layers.

続いて、この設計された論理回路についての論理シミュ
レーションがプロセスP3において実行される。シミュ
レーションの結果、不都合があれば論理設計に修正を加
えることになる。論理シミュレーションがパスすると、
プロセスP4で具体的なレイアウト設計が行われる。す
なわち、半導体ウェハを加工するためのマスクパターン
のレイアウトが決められる。このとき、前述のように、
プロセスP2の論理設計で作成したネットリストを流用
することになるが、一部修正を加える必要が生じる。た
とえば、プロセスP2の論理設計におけるネットリスト
は第3図に示すようなものであったが、プロセスP4の
レイアウト設計におけるネットリストは第4図に示すよ
うなものにする必要が生じる。すなわち、論理設計時に
は全3階層のブロック構造となっていたが、レイアウト
設計時にはブロックB1と82の上層に、新たなブロッ
クSUBを設け、全4階層のブロック構造とする必要が
生じている。このような、新たな中層ブロックの追加は
、論理素子を実際に半導体ウェハ面上にレイアウトする
場合のレイアウト効率の向上などの要求から必要になる
。たとえば、論理設計時のブロックは第5図に示すよう
な分類でよかったが、実際のレイアウトを考えると配線
が非常に長くなるなどの弊害が生じ、第6図に示すよう
な分類にした方が効率的であるというような事態が生じ
る。特に、高品質なレイアウトを得るためには、ブロッ
クを機能ごとに分類したり、適宜、分割や統括を行った
りして、ネットリストの階層構造に制限されない自由な
修正を行う必要かある。
Subsequently, logic simulation for this designed logic circuit is executed in process P3. If any problems are found as a result of the simulation, the logic design will need to be modified. If the logic simulation passes,
A specific layout design is performed in process P4. That is, the layout of a mask pattern for processing a semiconductor wafer is determined. At this time, as mentioned above,
Although the netlist created in the logical design of process P2 will be used, it will be necessary to make some modifications. For example, the netlist for the logical design of the process P2 was as shown in FIG. 3, but the netlist for the layout design of the process P4 needs to be as shown in FIG. That is, at the time of logic design, the block structure had a total of three hierarchies, but at the time of layout design, it became necessary to provide a new block SUB in the upper layer of blocks B1 and 82, resulting in a block structure of four hierarchies. The addition of such a new middle-layer block is necessary due to demands such as improving layout efficiency when actually laying out logic elements on a semiconductor wafer surface. For example, during logic design, it would be fine to classify the blocks as shown in Figure 5, but when considering the actual layout, it would cause problems such as extremely long wiring, so it would be better to classify the blocks as shown in Figure 6. A situation arises that is efficient. In particular, in order to obtain a high-quality layout, it is necessary to classify blocks by function, divide or consolidate blocks as appropriate, and make free modifications that are not limited by the hierarchical structure of the netlist.

本発明による方法では、対象となる複数のブロックB1
およびB2を特定し、この上層に新ブロックSUBを設
ける旨の人力を行うだけで、ネットリストの自動修正が
行われる。
In the method according to the present invention, a plurality of target blocks B1
The netlist can be automatically corrected simply by specifying SUB and B2 and manually adding a new block SUB in the upper layer.

以下、この自動修正の手順を具体例に基ついて説明する
。ここでは、第7図に示すような具体的な論理回路につ
いて、本発明による方法を適用した例を示す。この論理
回路は、第1階層となるブロックTOPの下に、第2階
層となる4つのブロックB1〜B4が形成され、更に各
ブロックB1〜B4の下に、第3階層となるブロックX
1〜X4が形成されている。ブロックX1〜X4は、実
際にはNOR回路、インバータ回路などの論理素子であ
る。各論理素子内の符号A、B、C,D。
The automatic correction procedure will be explained below using a specific example. Here, an example will be shown in which the method according to the present invention is applied to a specific logic circuit as shown in FIG. In this logic circuit, four blocks B1 to B4, which are the second layer, are formed below the block TOP, which is the first layer, and further, a block X, which is the third layer, is formed below each block B1 to B4.
1 to X4 are formed. Blocks X1 to X4 are actually logic elements such as NOR circuits and inverter circuits. Codes A, B, C, D in each logic element.

I、0,11.12などは、この論理素子の端子名を示
す。また、ブロックB1〜B4の内部に記されたN1〜
N7は、各端子間のノードを示すものであり、ブロック
B1〜B4の輪郭線上、に記された。N1、 、N2と
いった符号は、ブロックの端子名を示す。
I, 0, 11.12, etc. indicate the terminal names of this logic element. In addition, N1 to N1 written inside blocks B1 to B4
N7 indicates a node between each terminal, and is written on the outline of blocks B1 to B4. Codes such as N1, , and N2 indicate terminal names of blocks.

このような論理回路についてのネットリストは、第8図
に示すようなものになる。ここで、B1゜B2.B3.
B4.TOPと表示された5つのデータ群は、それぞれ
ブロックBl、B2.B3゜B4.TOPの内部の接続
関係を示すブロックデータのリストである。いずれのブ
ロックデータも、見出しとしてNl−、N2−などのノ
ード名が先行し、その後にこのノードに接続されている
端子名が後続する。端子名にはその前に記号「、」を付
して示す。たとえば、符号「N1」はノードを示すもの
であるが、符号r、NIJは端子を示すものである。ま
た、端子名の区切りには記号「、」を用いており、1つ
のノードに関するデータの最後には記号「;」を用いて
いる。以上の規則を理解すれば、第8図のブロックデー
タが第7図の論理回路を表現していることがわかるであ
ろう。たとえば、ブロックB1のリストの1行目にある
rN 1−Jの欄のr 、N1.XI  、A、I4、
I 1 ;Jなるデータは、ブロックB1に所属するノ
ードN1には、ブロックB1の端子、N1と、ブロック
XI(最下位のブロック:実際には論理素子)の端子、
Aと、ブロックX4の端子、11と、が接続されている
ことを示している。また、同リストの4行目にあるrN
4=Jの欄のrN4=X3 .0.I4  、I2.J
なるデータは、ノードN4には、ブロックX3の端子0
と、ブロックX4の端子、12と、が接続されているこ
とを示している。一般に、「=」の右側に羅列される端
子名には、その端子が所属するブロック名が前に付加さ
れる。たとえば、前述のrX3  、OJは端子名、O
の前にブロック名X3が付加され、ブロックX3内の端
子、Oであることが特定されている。ただ、この実施例
のネットリストでは、そのネットリストが接続関係を示
しているブロック自身についてはブロック名を省略する
ようにしている。たとえば、前述のrN 1−Jの欄の
r 、N1゜XI  、A、I4  、IIJなるデー
タのうちのr、NIJなる端子名は、本来であれば、r
Bl、N1」と記すべきであるが、このブロックデータ
はブロックB1についてのデータであるため、ブロック
名「B1」は省略されている。
A netlist for such a logic circuit is as shown in FIG. Here, B1°B2. B3.
B4. The five data groups labeled TOP are blocks Bl, B2 . B3゜B4. This is a list of block data indicating internal connection relationships of the TOP. Each block data is preceded by a node name such as Nl-, N2-, etc. as a heading, followed by the name of a terminal connected to this node. Terminal names are indicated with a symbol "," in front of them. For example, the symbol "N1" indicates a node, while the symbols r and NIJ indicate terminals. Further, the symbol "," is used to separate terminal names, and the symbol ";" is used at the end of data regarding one node. If you understand the above rules, you will understand that the block data in FIG. 8 represents the logic circuit in FIG. 7. For example, r in the rN 1-J column in the first row of the list of block B1, N1. XI, A, I4,
The data I 1 ;
This shows that A and the terminal 11 of block X4 are connected. Also, rN in the 4th line of the same list
4=rN4 in column J=X3. 0. I4, I2. J
The data is stored at node N4 at terminal 0 of block X3.
, and the terminal 12 of block X4 are connected. Generally, the name of the block to which the terminal belongs is added in front of the terminal names listed on the right side of "=". For example, in the rX3 mentioned above, OJ is the terminal name, O
The block name X3 is added in front of the block name X3, and the terminal O in the block X3 is specified. However, in the netlist of this embodiment, the block name is omitted for the block itself for which the netlist indicates a connection relationship. For example, among the data r, N1°XI, A, I4, IIJ in the rN 1-J column mentioned above, the terminal names r and NIJ are originally
However, since this block data is for block B1, the block name "B1" is omitted.

さて、いま論理設計において第7図に示すような回路に
ついてのネットリストが作成されていたが、レイアウト
設計では、ブロックB1およびB2の上に、新たな中層
ブロックSUBを設ける必要が生じたものとする。結局
、論理回路は、第9図に示すようなブロック構成となる
。ブロックB1およびB2を包含する新たなブロックS
UBが設けられ、この新たなブロックSUBの輪郭線上
に、断端子、N1.  、N2が設けられている。この
ような修正を行った場合、ブロックB1〜B4について
のネットリストには変更はないが、ブロックTOPにつ
いては内部の接続関係が変わるためにネットリストの修
正が必要になり、また、新たに設けられたブロックSU
Bについてのネットリストを新たに作成する必要がある
。結局、第7図に示すブロック構成を、第9図に示すブ
ロック構成に変更するためには、ネットリスト上、2つ
の修正作業を行う必要がある。その第1は、第8図に示
す5つのリストのうち、ブロックTOPについてのリス
トを第10図のように変更することであり、その第2は
、新たなリストとして第11図に示すようなブロックS
UBについてのリストを作成することである。以下に説
明する手順に従えば、第8図に示すブロックTOPにつ
いてのネットリストに基づいて、第10図および第11
図のネットリストを自動的に作成することが可能である
Now, in the logic design, a netlist for the circuit shown in Figure 7 was created, but in the layout design, it became necessary to provide a new middle block SUB above blocks B1 and B2. do. In the end, the logic circuit has a block configuration as shown in FIG. A new block S that includes blocks B1 and B2
UB is provided, and on the outline of this new block SUB, disconnected terminals, N1. , N2 are provided. If such a modification is made, the netlists for blocks B1 to B4 will not change, but for block TOP, the internal connection relationship will change, so the netlist will need to be modified, and new block SU
It is necessary to create a new netlist for B. After all, in order to change the block configuration shown in FIG. 7 to the block configuration shown in FIG. 9, it is necessary to perform two correction operations on the netlist. The first is to change the list for block TOP out of the five lists shown in FIG. 8 as shown in FIG. 10, and the second is to change the list for block TOP as shown in FIG. 11 as a new list. Block S
The purpose is to create a list about UB. According to the procedure described below, based on the netlist for the block TOP shown in FIG.
It is possible to automatically create a diagram netlist.

それでは第1図の流れ図に沿ってこの手順を説明する。This procedure will now be explained along the flowchart of FIG.

なお、以下の説明で、ブロックについての上層、中層、
下層とは、ブロック間の相対的な上下関係について言う
ものとし、第7図および第9図に示す具体例では、ブロ
ックB1〜B4を下層ブロック、ブロックTOPを上層
ブロック、そして新たに作成されるブロックSUBを中
層ブロックと呼ぶことにする。まず、ステップS1にお
いて修正命令の入力を行う。コンピュータには第8図に
示すネットリストがデータとして与えられているが、オ
ペレータは更に修正命令として、修正対象となる複数の
下層ブロック名(この例では、ブロックB1およびB2
)、これら下層ブロックを包含する上層ブロック名(こ
の例では、ブロックTOP) 、そして新たに作成され
る中層ブロック名(この例では、ブロック5UB) 、
を特定する入力をコンピュータに与える。なお、上層ブ
ロック名は、オペレータが入力しなくても、ネットリス
トに基づいて特定することが可能であり、中層ブロック
名はコンピュータによって一義的に任意の名前を付与さ
せるようにすることも可能である。したがって、オペレ
ータは最小限の情報として、修正対象となる複数の下層
ブロックを特定する入力を行えばよいことになる。以下
、この修正対象として特定された複数の下層ブロックを
、対象ブロックと呼ぶことにする。
In addition, in the following explanation, the upper layer, middle layer,
The lower layer refers to the relative hierarchical relationship between blocks, and in the specific examples shown in FIGS. 7 and 9, blocks B1 to B4 are the lower layer blocks, block TOP is the upper layer block, and the newly created block is the lower layer block. Block SUB will be called a middle layer block. First, in step S1, a modification command is input. The netlist shown in FIG. 8 is given to the computer as data, but the operator also sends the names of multiple lower-layer blocks to be modified (blocks B1 and B2 in this example) as a modification command.
), the upper layer block name that includes these lower layer blocks (in this example, block TOP), and the name of the newly created middle layer block (in this example, block 5UB),
Give the computer input that specifies the Note that the upper layer block name can be specified based on the netlist without input by the operator, and the middle layer block name can be uniquely assigned any name by the computer. be. Therefore, the operator only needs to input the minimum amount of information to specify a plurality of lower-layer blocks to be modified. Hereinafter, the plurality of lower blocks specified as correction targets will be referred to as target blocks.

続くステップS2では、上層ブロックについて定義され
たブロックデータが1ノード分ずつ抽出される。この例
では、ブロックTOPが上層ブロックであるから、第8
図に示すブロックTOPについてのリストから、ブロッ
クデータが1行ずつ抽出される。すなわち、まずrN 
1−Jの欄のデータが抽出され、続いてrN 2 =J
の欄のデータが抽出され、以下rN 5−Jの欄のデー
タまで1行ずつ順に抽出される。
In the following step S2, block data defined for the upper layer block is extracted for each node. In this example, block TOP is the upper layer block, so the 8th
Block data is extracted line by line from the list for the block TOP shown in the figure. That is, first rN
The data in column 1-J is extracted, and then rN 2 =J
The data in the column rN5-J is extracted, and the data in the column rN5-J is extracted line by line in order.

続くステップS3では、この抽出データについて、端子
判別なる作業が行われる。すなわち、抽出データに含ま
れるすべての端子についてその所属するブロックを検討
し、3つの状態のうちのいずれであるかを判別する。た
とえば、第8図に示すブロックTOPのリストの1行目
にあるrN1=」の欄のデータが抽出された場合、「=
」の右側のデータrB1  、N1.B2 、N5Jを
構成する2つの端子(Bl 、N1)と(B2 、N5
)とについて、所属するブロックを検討する。前述のよ
うに、端子に関する記述は、所属するブロック名のうし
ろに端子名を並記することによって行われているため、
所属するブロック名は直ちに認識できる。たとえば、端
子(Bl  、N1)はブロックB1に所属し、端子(
B2 、N5)はブロックB2に所属することが認識で
きる。こうして認識した所属ブロックに関する情報に基
づいて、ステップS3では、各抽出データが次の3つの
状態のいずれかであるかの判別が行われ、それぞれ次の
ステップに分岐する。
In the following step S3, terminal discrimination is performed on this extracted data. That is, the block to which all terminals included in the extracted data belong is examined, and it is determined which of the three states they are in. For example, if the data in the column "rN1=" in the first line of the block TOP list shown in FIG. 8 is extracted, "=
” data rB1, N1. The two terminals (Bl, N1) and (B2, N5) that make up B2, N5J
), consider the block to which it belongs. As mentioned above, terminals are described by writing the terminal name after the name of the block to which it belongs.
The name of the block to which it belongs can be immediately recognized. For example, terminal (Bl, N1) belongs to block B1 and terminal (
B2, N5) can be recognized as belonging to block B2. Based on the information regarding the block to which it belongs recognized in this way, in step S3, it is determined whether each extracted data is in one of the following three states, and the process branches to the next step.

■第1の状態:すべでの端子が対象ブロック(ステップ
S1で特定した複数の下層ブロック)に所属する端子で
ある場合は、ステップS4に分岐。
■First state: If all the terminals belong to the target block (the plurality of lower blocks identified in step S1), the process branches to step S4.

■第2の状態ニ一部の端子が対象ブロックに所属する端
子である場合はステップS5に分岐。
(2) In the second state, if some of the terminals belong to the target block, the process branches to step S5.

■第3の状態:いずれの端子も対象ブロックに所属する
端子でない場合は、ステップS6に分岐。
■Third state: If none of the terminals belong to the target block, the process branches to step S6.

こうして、分岐先において異なる処理が行われ(第3の
状態の場合は、何の処理も行われない)、いずれの場合
もステップS6に至る。最後に、このステップS6にお
いて、すべてのデータが抽出されたか否かが判断される
。この例の場合、第8図のブロックTOPのリストに示
す5行のデータすべてが抽出されるまで、ステップS2
からの手順が繰り返される。
In this way, different processing is performed at the branch destination (in the case of the third state, no processing is performed), and in either case, the process reaches step S6. Finally, in this step S6, it is determined whether all data has been extracted. In this example, step S2
The steps from then on are repeated.

それでは、ステップS3.B4.B5の手順を具体例に
基づいて詳述する。前述のように、ステップS2では、
第8図のブロックTOPのリストに示すブロックデータ
が1行ずつ抽出される。すなわち、1行目のrN 1 
=Jの欄のデータから5行目の「N=5Jの欄のデータ
までが、1行ずつ抽出されることになる。以下、この1
行ずつ抽出された抽出データについての処理を順に説明
する。
Now, step S3. B4. The procedure of B5 will be explained in detail based on a specific example. As mentioned above, in step S2,
The block data shown in the block TOP list in FIG. 8 is extracted line by line. That is, rN 1 in the first row
The data in the =J column to the data in the 5th column "N=5J" will be extracted line by line.Hereafter, this 1
Processing for extracted data extracted row by row will be explained in order.

まず1行目のrN1=B1 、N1.B2 、N5;J
なるデータについて、ステップS3の端子判別が行われ
る。ここには、2つの端子(Bl  、N1)および(
B2 、N5)が記述されており、前者はブロックB1
に、後者はブロックB2に所属することが認識される。
First, rN1=B1, N1. B2, N5; J
The terminal determination in step S3 is performed for the data. There are two terminals (Bl, N1) and (
B2, N5) are described, and the former is block B1
The latter is recognized to belong to block B2.

このブロックB1およびB2は、いずれも対象ブロック
(ステップS1で特定した複数の下層ブロック)に所属
する端子であるから、ステップS3において第1の状態
と判別され、ステップS4の処理が行われることになる
Since these blocks B1 and B2 are both terminals that belong to the target block (the plurality of lower blocks identified in step S1), they are determined to be in the first state in step S3, and the processing in step S4 is performed. Become.

ステップS4における処理は、抽出データを上層ブロッ
クのリストから中層ブロックのリストへ移動する処理で
ある。すなわち、rNl−B1、N1.B2 、N5;
Jなる抽出データが、第8図のブロックTOP (上層
ブロック)のリストから、新たに作成されたブロックS
UB (中層ブロック)のリストへ移動される。この結
果、第11図に示すように、ブロックSUBのリストの
1行目に、rNi=B1  、N1.B2 、N5;J
なる抽出データが記入される。これでステップS4の処
理は完了である。ステップS6を経てステップS2へ戻
り、今度は第8図のブロックTOPのリストの2行目の
rN2=  Bl  、N2.B2、N7;Jなるデー
タについて、ステップS3の端子判別が行われる。ここ
には、2つの端子(Bl  、N2)および(B2 、
N7)が記述されており、前者はブロックB1に、後者
はブロックB2に所属することが認識される。このブロ
ックB1およびB2は、いずれも対象ブロックに所属す
る端子であるから、ステップS3において第1の状態と
判別され、ステップS4の処理が行われることになる。
The process in step S4 is a process of moving the extracted data from the upper layer block list to the middle layer block list. That is, rNl-B1, N1. B2, N5;
The extracted data J is the newly created block S from the block TOP (upper block) list in Figure 8.
Moved to the UB (middle layer block) list. As a result, as shown in FIG. 11, rNi=B1, N1. B2, N5; J
The extracted data will be entered. The process of step S4 is now complete. The process returns to step S2 via step S6, and this time rN2=Bl, N2. B2, N7; For the data J, the terminal determination in step S3 is performed. There are two terminals (Bl, N2) and (B2,
N7) is described, and it is recognized that the former belongs to block B1 and the latter belongs to block B2. Since both blocks B1 and B2 are terminals belonging to the target block, they are determined to be in the first state in step S3, and the process in step S4 is performed.

したがって、この抽出データは、第8図のブロックTO
Pのリストから、新たに作成されたブロックSUBのリ
ストへ移動される。
Therefore, this extracted data is the block TO in FIG.
The block is moved from the list of P to the newly created list of block SUB.

この結果、第11図に示すように、ブロックSUBのリ
ストの2行目に、rN2−B]、、N2゜B2.N7;
Jなる抽出データが記入される。これでステップS4の
処理は完了である。
As a result, as shown in FIG. 11, in the second line of the block SUB list, rN2-B], , N2°B2. N7;
Extracted data J is entered. The process of step S4 is now complete.

続いて、ステップS6を経て再びステップS2へ戻り、
今度は第8図のブロックTOPのリストの3行目のrN
3=B2 、N1.B3 、N4 ;Jなるデータにつ
いて、ステップS3の端子判別が行われる。ここには、
2つの端子(B2 、N1)および(B3  、N4)
が記述されており、前者はブロックB2に、後者はブロ
ックB3に所属することが認識される。ところで、ブロ
ックB2は対象ブロックであるが、ブロックB3は対象
ブロックではない。したがって、ステップS3において
第2の状態と判別され、ステップS5の処理が行われる
ことになる。ステップS5の処理では、断端子を発生さ
せ、抽出データに含まれる複数の端子の一部とこの断端
子との接続関係を示す2つのブロックデータが作成され
る。そして、このうちの一方のブロックデータによって
上層ブロックのリスト内の抽出データを置換し、もう一
方のブロックデータを新たに作成されたリストに加える
処理が行われる。なお、ここで発生される断端子は、新
たに作成される中層ブロックSUBについての断端子で
ある。第9図に示されているように、新たに中層ブロッ
クS’UBを設けることにより、こ2] のブロックSUBの輪郭線上に断端子 N1および、N
2が発生している。発生される新端子名は、オペレータ
により指定させてもよいが、コンピュータによって自動
的に命名させる方がオペレータの手間が省けるので好ま
しい。この実施例では、発生される断端子に対して機械
的に、 、N]、N2.・・・と順に名をつけている。
Subsequently, the process returns to step S2 via step S6,
This time, rN in the third row of the block TOP list in Figure 8.
3=B2, N1. B3, N4; For the data J, the terminal determination in step S3 is performed. here,
Two terminals (B2, N1) and (B3, N4)
It is recognized that the former belongs to block B2 and the latter belongs to block B3. By the way, block B2 is a target block, but block B3 is not a target block. Therefore, the second state is determined in step S3, and the process in step S5 is performed. In the process of step S5, a disconnected terminal is generated, and two block data indicating the connection relationship between some of the plurality of terminals included in the extracted data and the disconnected terminal are created. Processing is then performed to replace the extracted data in the list of upper layer blocks with the data of one of these blocks, and to add the data of the other block to the newly created list. Note that the disconnected terminal generated here is a disconnected terminal for the newly created middle-layer block SUB. As shown in FIG. 9, by newly providing the middle block S'UB, disconnected terminals N1 and N are placed on the outline of block SUB.
2 is occurring. The generated new terminal name may be specified by the operator, but it is preferable to have the computer automatically name it because it saves the operator's time and effort. In this embodiment, mechanically, , N], N2 . They are named in order.

また、この断端子は新たに作成されるブロックSUBに
所属する端子であるから、ブロックデータ上の記述では
、(SUB  、N1)、  (SUB  、N2)、
・・・となる。
Also, since this disconnected terminal is a terminal belonging to the newly created block SUB, the description on the block data is (SUB, N1), (SUB, N2),
...becomes...

さて、第8図のブロックTOPのリストの3行目の N5=B2  、N]、、B3  、N4 ;    
(1)なるデータについて、実際にステップS5の処理
を行ってみる。ここには、2つの端子(B2  、N1
)および(B3  、N4)が記述されており、それぞ
れに断端子(SUB 、N1)を接続した状態を示すブ
ロックデータを作成すると、 N3=  SUB  、N1.B2 、N1;  (2
)N3=  SUB  、N1.、B3  、N4: 
 (3)なる2つのブロックデータが作成できる。すな
わちデータ(1)の右側の2つの端子を示す項を分離し
て、それぞれに新端子を示す項(SUB 、N1)を組
み合わせれば、データ(2)および(3)が機械的に得
られる。こうして得られた2つのブロックデータのうち
、対象ブロックについての端子を含む一方(すなわち、
対象ブロックB2についての端子を含むデータ(2))
を、新たに作成される中層ブロックSUBについてのリ
ストに追加する。
Now, N5 in the third line of the block TOP list in FIG. 8 = B2, N], , B3, N4;
Let us actually perform the process of step S5 on the data (1). There are two terminals (B2, N1
) and (B3, N4) are described, and if block data is created that shows a state in which disconnected terminals (SUB, N1) are connected to each, N3=SUB, N1. B2, N1; (2
)N3=SUB, N1. , B3, N4:
(3) Two block data can be created. In other words, by separating the terms indicating the two terminals on the right side of data (1) and combining them with terms indicating the new terminal (SUB, N1), data (2) and (3) can be mechanically obtained. . Of the two block data obtained in this way, one that includes the terminal for the target block (i.e.
Data (2) including terminals for target block B2)
is added to the list for the newly created middle block SUB.

その結果、第11図の3行目にrN3− 、NlB2.
N1;Jなるブロックデータが得られる(このデータは
形式的には、自身のブロック名であるrSUBJなる文
字列が省略されているが、上述のデータ(2)と等価で
ある)。そして、もう一方のデータ(3)によって、上
層ブロックのリストを置換する。すなわち、゛第8図の
3行目の[N5−B2 、Nl、B3 、N4;Jなる
データ(抽出したデータ)を、上述のデータ(3)によ
って置換する。その結果、ブロックTOPについてのリ
ストにおけるrN−=3Jの欄は、第8図から第10図
のように修正される。以上の処理をもう一度整理すると
次のようになる。
As a result, rN3-, NlB2.
Block data N1:J is obtained (formally, this data is equivalent to the above-mentioned data (2), although the character string rSUBJ, which is the name of the block itself, is omitted). Then, the list of upper layer blocks is replaced with the other data (3). That is, the data [N5-B2, Nl, B3, N4; J (extracted data) in the third line of FIG. As a result, the rN-=3J column in the list for block TOP is modified as shown in FIGS. 8 to 10. If we rearrange the above process again, we get the following.

A:  ”rapのリスト(第8図)から3行目のデー
タ(1)を抽出。
A: Extract the third row of data (1) from the “rap” list (Figure 8).

B: 抽出したデータ(1)に基づいて、データ(2)
 、 (3)を作成。
B: Data (2) based on extracted data (1)
, (3) was created.

C: データ(2)をSUBのリストに付加(第11図
3行目)。
C: Add data (2) to the SUB list (3rd line in Figure 11).

D: TOPのリストの3行目のデータ(1)をデータ
(3)で置換(第10図1行目)。
D: Replace data (1) in the 3rd line of the TOP list with data (3) (1st line in Figure 10).

続いて、第8図のブロックTOPのリストの4行目の N4−B2 、N2. B3 、N5 ;    (4
)なるデータについて、実際にステップS5の処理を行
ってみると、新端子(SUB 、N2)を発生させるこ
とにより、 N4−8UB  、N2.B3  、N5;  (5)
N4=SUB  、N2.B2  、N2;  (6)
なる2つのブロックデータが作成できる。したがって、
ステップS5の処理を整理すると次のようになる。
Next, N4-B2, N2 . B3, N5; (4
), when we actually perform the processing in step S5, we find that by generating new terminals (SUB, N2), N4-8UB, N2. B3, N5; (5)
N4=SUB, N2. B2, N2; (6)
Two block data can be created. therefore,
The processing in step S5 can be summarized as follows.

A:  TOPのリスト(第8図)から4行目のデータ
(4)を抽出。
A: Extract the 4th line of data (4) from the TOP list (Figure 8).

B: 抽出したデータ(4)に基づいて、データ(5)
 、  (B)を作成。
B: Data (5) based on extracted data (4)
, create (B).

C: データ(5)をSUBのリストに付加(第11図
4行目)。
C: Add data (5) to the SUB list (line 4 in Figure 11).

D:  Topのリストの3行目のデータ(4)をデー
タ(6)で置換(第10図2行目)。
D: Replace data (4) in the 3rd line of the Top list with data (6) (2nd line in Figure 10).

最後に、第8図のブロックTOPのリストの5行目のr
N5−B3 、N1.B4 、N6;Jなるデータにつ
いて、ステップS3の端子判別が行われる。ここには、
2つの端子(B3 、N1)および(B4  、N6)
が記述されており、前者はブロックB3に、後者はブロ
ックB4に所属することが認識される。ところで、ブロ
ックB3もB4もいずれも対象ブロックではない。した
がって、ステップS3において第3の状態と判別され、
何の処理も行われることなしにステップS6に至る。
Finally, r on the 5th line of the block TOP list in Figure 8.
N5-B3, N1. The terminal determination in step S3 is performed for the data B4, N6;J. here,
Two terminals (B3, N1) and (B4, N6)
It is recognized that the former belongs to block B3 and the latter belongs to block B4. By the way, neither blocks B3 nor B4 are target blocks. Therefore, the third state is determined in step S3,
Step S6 is reached without any processing being performed.

このため、第8図のブロックTOPのリスI・の5行目
のrN 5−Jの欄のデータは、第10図のリストにも
そのまま残ることになる。
Therefore, the data in the rN 5-J column of the fifth row of list I in the block TOP of FIG. 8 remains as is in the list of FIG. 10.

こうして、ステップS6において、上層ブロック(ブロ
ックTOP)についてのすべてのデータが抽出されたと
判断され、すべての修正手順が終了する。結局、第8図
に示した5つのブロックについてのリストのうち、ブロ
ックTOPのリストは第10図に示すように修正され、
新たに第11図に示すブロックSUBのリストが追加さ
れることになる。
Thus, in step S6, it is determined that all data regarding the upper layer block (block TOP) has been extracted, and all modification procedures are completed. In the end, of the list of five blocks shown in FIG. 8, the list of block TOP was modified as shown in FIG. 10,
A new list of blocks SUB shown in FIG. 11 will be added.

なお、上述の実施例は、本発明の実施の一態様を示すも
のであり、本発明はこの他にも種々の態様で実施可能で
ある。たとえば、新端子名なとは、他の命名法を採って
もよいし、ネットリストの記述法も他の方法を用いても
よい。
Note that the above-mentioned embodiment shows one embodiment of the present invention, and the present invention can be implemented in various other embodiments. For example, a new terminal name may be given using a different nomenclature, or a netlist may be written using a different method.

〔発明の効果〕〔Effect of the invention〕

以上のとおり本発明の半導体集積回路用ネットリストの
修正方法によれば、対象となる複数の下層ブロックと、
この下層ブロックの上の階層に定義された上層ブロック
と、の間に新たに中層ブロツクを定義するような修正を
施す場合に、上層ブロックについてのリストに修正を加
えるとともに、新たに中層ブロックについてのリストを
作成する作業を、もとの上層ブロックについてのリスト
から順次抽出したデータに基づいて自動的に行うように
したため、オペレータは対象となるブロックを特定する
入力作業を行うだけですむ。
As described above, according to the method for modifying a netlist for a semiconductor integrated circuit of the present invention, a plurality of target lower blocks,
When making a modification such as defining a new middle block between an upper block defined in the hierarchy above this lower block, the list for the upper block will be modified, and a new block will be added to the list for the middle block. Since the list is automatically created based on data sequentially extracted from the original list of upper-layer blocks, the operator only has to perform input work to specify the target block.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明に係る半導体集積回路用ネットリストの
修正方法の手順を示す流れ図、第2図は一般的な半導体
集積回路の設計プロセスを示す図、第3図は論理設計時
に作成したネットリストを示す図、第4図はレイアウト
設計時に必要なネットリストを示す図、第5図および第
6図はレイアウト設計時にネットリストに修正を加える
必要のあることを説明するレイアウト図、第7図は修正
前の論理回路図、第8図は修正前のネットリスト図、第
9図は修正後の論理回路図、第10図は修正後の上層ブ
ロックのネットリスト図、第11図は修正後に付加され
た中層ブロックのネットリスト図である。 TOP・・・上層ブロック、SUB・・・中層ブロック
、B1〜B4・・・下層ブロック、X1〜X8・・・最
下位のブロック(論理素子)、N1〜N7・・ノード1
、N1〜.N7・・・端子。 特許出願人 大日本印刷株式会社 出願人代理人  弁理士 志 村  浩第3図 区 区 u) さ、 \t  tr>aフ zzzz 脈
Figure 1 is a flowchart showing the steps of the method for modifying a netlist for semiconductor integrated circuits according to the present invention, Figure 2 is a diagram showing the design process of a general semiconductor integrated circuit, and Figure 3 is a diagram showing the net list created during logic design. Figure 4 is a diagram showing the list. Figure 4 is a diagram showing the netlist required during layout design. Figures 5 and 6 are layout diagrams explaining the need to make modifications to the netlist during layout design. Figure 7. is the logic circuit diagram before modification, Figure 8 is the netlist diagram before modification, Figure 9 is the logic circuit diagram after modification, Figure 10 is the netlist diagram of the upper layer block after modification, and Figure 11 is after modification. FIG. 7 is a netlist diagram of an added middle layer block. TOP...upper layer block, SUB...middle layer block, B1-B4...lower layer block, X1-X8...lowest block (logic element), N1-N7...node 1
, N1~. N7...terminal. Patent applicant: Dai Nippon Printing Co., Ltd. Applicant's agent: Patent attorney Hiroshi Shimura (Figure 3)

Claims (1)

【特許請求の範囲】  半導体集積回路の各構成要素を階層構造をもったブロ
ックに分類し、各ブロックごとにブロック内の接続関係
を示すブロックデータを定義することにより構成される
ネットリストに対し、対象となる複数の下層ブロックと
、この下層ブロックの上の階層に定義された上層ブロッ
クと、の間に新たに中層ブロックを定義するような修正
を施す方法において、前記複数の下層ブロックと、前記
上層ブロックとを特定する修正命令を入力する段階と、
前記上層ブロックについて定義されたブロックデータを
、1ノード分ずつ抽出する段階と、前記抽出データによ
ってその接続関係が示される複数の端子に着目し、この
複数の端子のすべてが前記下層ブロックについての端子
である場合には第1の状態と判断し、一部が前記下層ブ
ロックについての端子である場合には第2の状態と判断
し、いずれもが前記下層ブロックについての端子でない
場合には第3の状態と判断する段階と、前記第1の状態
と判断されたときに、前記抽出データを、前記上層ブロ
ックについてのリストから前記中層ブロックについて新
たに作成されたリストへ移動する段階と、 前記第2の状態と判断されたときに、新端子を発生させ
、前記抽出データによってその接続関係が示される複数
の端子の一部とこの新端子との接続関係を示す2つのブ
ロックデータを作成し、このうちの一方のブロックデー
タによって前記上層ブロックについてのリスト内の前記
抽出データを置換し、もう一方のブロックデータを前記
新たに作成されたリストに加える処理を行う段階と、前
記第3の状態と判断されたときに、リストの修正を行わ
ない段階と、 を備えることを特徴とする半導体集積回路用ネットリス
トの修正方法。
[Claims] For a netlist constructed by classifying each component of a semiconductor integrated circuit into blocks having a hierarchical structure and defining block data indicating connection relationships within the blocks for each block, In a method for making a modification such as defining a new middle block between a plurality of target lower blocks and an upper block defined in a hierarchy above the lower block, the plurality of lower blocks and the inputting a modification instruction specifying the upper layer block;
Focusing on the step of extracting block data defined for the upper layer block one node at a time and the plurality of terminals whose connection relationships are indicated by the extracted data, all of the plurality of terminals are terminals for the lower layer block. If so, it is determined to be the first state, if some of the terminals are for the lower block, it is determined to be the second state, and if none of the terminals are for the lower block, the third state is determined. and when the first state is determined, moving the extracted data from the list for the upper block to a newly created list for the middle block; 2, generates a new terminal, and creates two block data indicating the connection relationship between this new terminal and some of the plurality of terminals whose connection relationships are indicated by the extracted data; replacing the extracted data in the list for the upper block with one of the block data and adding the other block data to the newly created list; and the third state; A method for modifying a netlist for a semiconductor integrated circuit, comprising the steps of not modifying the list when the determination is made.
JP2272012A 1990-10-09 1990-10-09 Method for correcting network list for semiconductor integrated circuit Pending JPH04147379A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2272012A JPH04147379A (en) 1990-10-09 1990-10-09 Method for correcting network list for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2272012A JPH04147379A (en) 1990-10-09 1990-10-09 Method for correcting network list for semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JPH04147379A true JPH04147379A (en) 1992-05-20

Family

ID=17507905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2272012A Pending JPH04147379A (en) 1990-10-09 1990-10-09 Method for correcting network list for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JPH04147379A (en)

Similar Documents

Publication Publication Date Title
US8612922B2 (en) Generalized constraint collection management method
US4758953A (en) Method for generating logic circuit data
JPH0452856A (en) Method and device for allocating processing of document
US5568396A (en) Identifying overconstraints using port abstraction graphs
US7590963B2 (en) Integrating multiple electronic design applications
Chang et al. Postlayout logic restructuring using alternative wires
US6480993B1 (en) Accurate layout modeling for centerline-based detail routing
JP4448466B2 (en) Logic circuit design method, logic circuit design program, and logic circuit design apparatus
DE102004003092A1 (en) Method for resolving improperly adjusted parameters in a computer-aided design for integrated circuits
JPH04147379A (en) Method for correcting network list for semiconductor integrated circuit
JPH0327474A (en) Method for correcting net list for semiconductor integrated circuit
US5315534A (en) Computer process for interconnecting logic circuits utilizing softwire statements
US5825659A (en) Method for local rip-up and reroute of signal paths in an IC design
JP2002503850A (en) Methods of manufacturing and designing electronic devices and electronic devices
US7681169B2 (en) Process for managing complex pre-wired net segments in a VLSI design
US20040153987A1 (en) Method and system for connecting computer-generated rectangles
JP3068892B2 (en) Automatic wiring method
JP2872216B1 (en) Macro design method
US6189129B1 (en) Figure operation of layout for high speed processing
JPH04143865A (en) Method for correcting net list for semiconductor integrated circuit
JP3923568B2 (en) Function extraction method for combinational circuits
Gotlieb et al. Data schemata based on directed graphs
JP2658829B2 (en) Layout method of semiconductor integrated circuit
JPH04309178A (en) Method for preparing and managing symbolic data base at logic simulation
JPH0944535A (en) Layout editing method