JP2679343B2 - Loop processing method - Google Patents

Loop processing method

Info

Publication number
JP2679343B2
JP2679343B2 JP2066569A JP6656990A JP2679343B2 JP 2679343 B2 JP2679343 B2 JP 2679343B2 JP 2066569 A JP2066569 A JP 2066569A JP 6656990 A JP6656990 A JP 6656990A JP 2679343 B2 JP2679343 B2 JP 2679343B2
Authority
JP
Japan
Prior art keywords
loop
layer
macro
loop processing
processing method
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.)
Expired - Lifetime
Application number
JP2066569A
Other languages
Japanese (ja)
Other versions
JPH03266119A (en
Inventor
秀之 江村
理絵子 沓掛
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2066569A priority Critical patent/JP2679343B2/en
Publication of JPH03266119A publication Critical patent/JPH03266119A/en
Application granted granted Critical
Publication of JP2679343B2 publication Critical patent/JP2679343B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はループ処理方法に関し、特に階層構造のルー
プ処理方法に関する。
The present invention relates to a loop processing method, and more particularly to a hierarchical loop processing method.

〔従来の技術〕[Conventional technology]

本発明で扱うループとは、ある接点から1本以上の枝
を経由してもとの節点へ戻るような経路である。第7図
はループの例であり、節点701を出発して枝705,708,706
を経由して再び701へ戻るループを示している。またル
ープに関連した処理をループ処理とする。
The loop handled in the present invention is a path that returns from a certain contact point to the original node via one or more branches. FIG. 7 shows an example of a loop, which starts from the node 701 and branches 705, 708, 706.
It shows a loop back to 701 via. Further, the processing related to the loop is called loop processing.

階層構造を表現する方法としてマクロが使用されてい
る。第8図(a)はマクロによる階層構造を示してお
り、階層801は接点802,803,804,805やマクロ06,807など
で構成されている。第8図(b)は第8図(a)のマク
ロ807の本体を示しており、807はさらに内部にマクロ80
8を含んでいる。
Macros are used as a method of expressing a hierarchical structure. FIG. 8 (a) shows a hierarchical structure of macros, and the hierarchy 801 is composed of contacts 802, 803, 804, 805 and macros 06, 807. FIG. 8 (b) shows the main body of the macro 807 of FIG. 8 (a), and 807 further has a macro 80 inside.
Contains eight.

従来、階層構造に対してループ処理を行なう場合、以
下のような方法で行なわれていた。
Conventionally, when performing loop processing on a hierarchical structure, the following method has been used.

第一の方法は、階層構造をすべて展開して階層の無い
構造へ変換し、階層の無い構造に対してループ処理を行
なう方法である。
The first method is a method of expanding the entire hierarchical structure, converting it into a structure without a hierarchy, and performing a loop process on the structure without a hierarchy.

第二の方法は、階層をまたがるループ処理を行なう方
法である。
The second method is a method of performing a loop process across layers.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

前述の第一の方法では、階層構造を展開することによ
り、階層情報が失われてしまうという欠点がある。
The above-mentioned first method has a drawback that hierarchical information is lost by expanding the hierarchical structure.

前述の第二の方法では、階層をまたがって処理を行な
う場合に階層が無い回路に対する処理に比べて処理が複
雑になるという欠点がある。
The above-mentioned second method has a drawback in that, when processing is performed across layers, the processing becomes more complicated than the processing for a circuit having no layers.

またいずれの方法でも一回のループ処理が全階層のデ
ータを処理対象とするためループ処理の負担が大きくな
るという欠点がある。
In addition, any of the methods has a drawback in that the load of the loop processing becomes large because one loop processing targets the data of all layers.

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

本発明のループ処理方法は、階層構造をもって記述さ
れた回路接続情報から任意の接点を出発して1本以上の
枝を経由して元の接点に戻る経路を検索する処理を少な
くとも含むループ処理方法において、 最下位階層から、各階層で閉じたループを検索し、ル
ープが発見された場合にはその階層内のクリティカパル
スを求め、クリティカルパスを避けてループを切断する
論理ゲートを挿入すると共にその階層が持つ入出力端子
の依存関係及び入出力端子間の遅延時間を属性情報とし
て記録する階層内ループ処理を行い、上位階層のループ
処理において下位階層の属性情報を利用して前記階層内
ループ処理を行うことを特徴とする。
A loop processing method according to the present invention includes at least a processing for searching a path starting from an arbitrary contact and returning to the original contact via one or more branches from circuit connection information described in a hierarchical structure. In, in the lowest layer, a closed loop is searched for in each layer, if a loop is found, a critical pulse in that layer is found, and a logic gate that cuts the loop while avoiding the critical path is inserted and Performs an intra-layer loop process that records the dependency of the I / O terminals of the layer and the delay time between the I / O terminals as attribute information, and uses the attribute information of the lower layer in the loop process of the upper layer to perform the intra-layer loop process. It is characterized by performing.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be described with reference to the drawings.

本実例では、階層構造として階層を持つ論理回路を扱
い、回路の最上位階層を第1階層レベルとして下位階層
になるにつれて階層レベルを示す数値が大きくなるもの
とする。また回路全体も1個のマクロとみなして第0階
層レベルにこのマクロが位置しているものとする。
In this example, it is assumed that a logical circuit having a hierarchy as a hierarchical structure is handled, and the numerical value indicating the hierarchy level increases as the highest hierarchy of the circuit becomes the first hierarchy level and becomes the lower hierarchy. The entire circuit is regarded as one macro and this macro is located at the 0th hierarchical level.

第1図,第2図は本発明の一実施例を示したフローチ
ャートである。本実施例では回路内のすべてのループを
検索する処理を実現している。
1 and 2 are flowcharts showing an embodiment of the present invention. In this embodiment, the processing for searching all the loops in the circuit is realized.

第1図はメインルーチンを示している。まず、ステッ
プA1で変数nに回路の階層数をセットする。次に、第n
階層レベルに未処理のマクロがあるあいだステップA3で
未処理のマクロのループ処理を行なう。第n階層レベル
に未処理のマクロが無くなればステップA4で階層レベル
を1段階引き上げてステップA2,A3の処理を繰り返す。
ステップA5ではすべての処理が終了したかを判定する。
FIG. 1 shows the main routine. First, in step A1, the number of circuit layers is set in the variable n. Next, the nth
While there are unprocessed macros in the hierarchy level, loop processing of unprocessed macros is performed in step A3. If there are no unprocessed macros in the nth hierarchical level, the hierarchical level is raised by one step in step A4 and the processes of steps A2 and A3 are repeated.
At step A5, it is determined whether all the processing is completed.

第2図はステップA3の未処理マクロに対するループ処
理を詳しく示している。ステップB1では下位階層の属性
情報を利用してマクロ内で閉じたループを検索する。ス
テップB2では入出力端子の依存関係、すなわちある入力
端子の入力値の変化がどの出力端子の出力値に影響する
かを求めてそのマクロの属性情報として記録する。
FIG. 2 shows the loop processing for the unprocessed macro in step A3 in detail. In step B1, the closed loop is searched in the macro by using the attribute information of the lower hierarchy. In step B2, the dependency relationship of the input / output terminals, that is, the change in the input value of a certain input terminal affects the output value of which output terminal, is recorded as attribute information of the macro.

第3図はマクロの内部構成を示した例である。マクロ
101は論理ゲート102,103,104、マクロ105,106,107、入
力端子108,109,110,111,112,113、出力端子114,115,11
6,117より構成される。
FIG. 3 is an example showing the internal structure of the macro. macro
101 is logic gate 102, 103, 104, macro 105, 106, 107, input terminal 108, 109, 110, 111, 112, 113, output terminal 114, 115, 11
It is composed of 6,117.

マクロ101に対して第2図の未処理マクロに対するル
ープ処理を適用する場合、すでに本マクロ内に含まれる
すべてのマクロ105,106,107のループ回路処理が終了し
各マクロの入出力端子の依存関係118,119,120がそれぞ
れ記録されているので、マクロと論理ゲートを同様に扱
うことができる。従ってステップB1のループ検索処理は
階層の無い回路に対する処理をそのまま適用できる。
When the loop processing for the unprocessed macro of FIG. 2 is applied to the macro 101, the loop circuit processing of all the macros 105, 106, 107 already included in this macro is completed, and the dependency relationships 118, 119, 120 of the input / output terminals of each macro are respectively generated. Since it is recorded, macros and logic gates can be treated in the same way. Therefore, in the loop search process of step B1, the process for a circuit having no hierarchy can be applied as it is.

第4図は第3図のマクロ101に対してステップB2を適
用した結果である入出力端子の依存関係である。
FIG. 4 shows the dependency of input / output terminals as a result of applying step B2 to the macro 101 of FIG.

第5図は本発明の他の一実施例を示したフローチャー
トである。本実施例においても第1図のメインルーチン
を用いて、ループ切断処理を実験している。
FIG. 5 is a flow chart showing another embodiment of the present invention. Also in this embodiment, the loop cutting process is tested by using the main routine of FIG.

第5図は第1図のステップA3の未処理のマクロに対す
るループ処理を示している。ステップC1でマクロ内でル
ープを検索し、ループが存在すれば、まずステップC3で
下位マクロの入出力端子間の遅延時間を用いてマクロ内
のクリティカルパスを求め、次にステップC4でクリティ
カパルスの遅延値を増加させないように考慮してループ
切断処理を行なう。すべてのループが切断されるとステ
ップC5で入出力端子の依存関係を、ステップC6で入出力
端子間の遅延時間をそれぞれ求めマクロの属性情報とし
て記録する。
FIG. 5 shows the loop processing for the unprocessed macro in step A3 of FIG. In step C1, search for a loop in the macro, and if a loop exists, first find the critical path in the macro using the delay time between the input and output terminals of the lower macro in step C3, and then in step C4 select the critical pulse The loop disconnection process is performed in consideration of not increasing the delay value. When all the loops are disconnected, the dependency relationship between the input / output terminals is obtained in step C5, and the delay time between the input / output terminals is obtained in step C6 and recorded as macro attribute information.

第6図は第3図のマクロ101にステップC3,C4を適用し
た結果である。第3図の信号線121,122,123,124より構
成されるループに対して、信号線125,121,122,123,126
より構成されるマクロ内のクリティカルパスの遅延時間
を増加させないことを考慮し、制御信号128により出力
値が固定値となるような論理ゲート127を挿入すること
により論理的にループを切断している。
FIG. 6 shows the result of applying steps C3 and C4 to the macro 101 of FIG. For the loop composed of the signal lines 121, 122, 123, 124 of FIG. 3, the signal lines 125, 121, 122, 123, 126
Considering not to increase the delay time of the critical path in the macro composed of, the loop is logically cut by inserting the logic gate 127 whose output value becomes a fixed value by the control signal 128. .

〔発明の効果〕〔The invention's effect〕

以上説明したように本発明によれば、階層構造に対す
るループ処理において階層構造を展開することなしに階
層が無い構造に対するループ処理方法が適用できること
により、処理が容易にとなる。また、マクロに対してル
ープ処理を行なうことにより1回のループ処理が対象と
する回路規模が小さくなるのでループ処理の負担が小さ
くなる。
As described above, according to the present invention, the loop processing method for a structure having no hierarchy can be applied in the loop processing for a hierarchical structure without expanding the hierarchical structure, thereby facilitating the processing. Further, by performing the loop processing on the macro, the circuit scale targeted for one loop processing is reduced, so that the load of the loop processing is reduced.

【図面の簡単な説明】[Brief description of the drawings]

第1図,第2図はそれぞれ本発明の一実施例を示すフロ
ーチャート、第3図は第2図に示す動作を説明するマク
ロの図、第4図は第3図のマクロの入出力端子の依存関
係を示す図である。 第5図は本発明の別の一実施例を示すフローチャート、
第6図は第5図に示す動作を説明するマクロの図であ
る。 第7図はループの例を示す図である。 第8図(a)および第8図(b)はマクロによって実現
された階層の例を示す図である。
FIGS. 1 and 2 are flow charts showing an embodiment of the present invention, FIG. 3 is a macro diagram for explaining the operation shown in FIG. 2, and FIG. 4 is a diagram showing input / output terminals of the macro shown in FIG. It is a figure which shows a dependency relationship. FIG. 5 is a flow chart showing another embodiment of the present invention,
FIG. 6 is a macro diagram for explaining the operation shown in FIG. FIG. 7 is a diagram showing an example of a loop. 8 (a) and 8 (b) are diagrams showing an example of a hierarchy realized by a macro.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】階層構造をもって記述された回路接続情報
から任意の接点を出発して1本以上の枝を経由して元の
接点に戻る経路を検索する処理を少なくとも含むループ
処理方法において、 最下位階層から、各階層で閉じたループを検索し、ルー
プが発見された場合にはその階層内のクリティカパルス
を求め、クリティカルパスを避けてループを切断する論
理ゲートを挿入すると共にその階層が持つ入出力端子の
依存関係及び入出力端子間の遅延時間を属性情報として
記録する階層内ループ処理を行い、上位階層のループ処
理において下位階層の属性情報を利用して前記階層内ル
ープ処理を行うことを特徴とするループ処理方法。
1. A loop processing method comprising at least a process of searching a circuit connection information described in a hierarchical structure for a route starting from an arbitrary contact and returning to the original contact via one or more branches. It searches for closed loops in each layer from the lower layers, finds a critical pulse in the layer when a loop is found, inserts a logic gate that cuts the loop avoiding a critical path, and has that layer. Performing an intra-layer loop process that records the dependency relationship between input / output terminals and delay time between input / output terminals as attribute information, and performing the intra-layer loop process by using the attribute information of the lower layer in the loop process of the upper layer A loop processing method characterized by.
JP2066569A 1990-03-16 1990-03-16 Loop processing method Expired - Lifetime JP2679343B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2066569A JP2679343B2 (en) 1990-03-16 1990-03-16 Loop processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2066569A JP2679343B2 (en) 1990-03-16 1990-03-16 Loop processing method

Publications (2)

Publication Number Publication Date
JPH03266119A JPH03266119A (en) 1991-11-27
JP2679343B2 true JP2679343B2 (en) 1997-11-19

Family

ID=13319719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2066569A Expired - Lifetime JP2679343B2 (en) 1990-03-16 1990-03-16 Loop processing method

Country Status (1)

Country Link
JP (1) JP2679343B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60111172A (en) * 1983-11-21 1985-06-17 Nippon Telegr & Teleph Corp <Ntt> Integrated logical circuit
JPS60118940A (en) * 1983-11-30 1985-06-26 Toshiba Corp Simulation device of logical circuit
JPS61117627A (en) * 1984-11-13 1986-06-05 Fujitsu Ltd Diagnostic circuit of logic circuit

Also Published As

Publication number Publication date
JPH03266119A (en) 1991-11-27

Similar Documents

Publication Publication Date Title
US5608645A (en) Method of finding a critical path in a circuit by considering the clock skew
Qiu et al. An efficient algorithm for finding the k longest testable paths through each gate in a combinational circuit
JP3119646B2 (en) Evaluation device and arithmetic processing method for reconfigurable hardware system
US6334205B1 (en) Wavefront technology mapping
US6425110B1 (en) Incremental design tuning and decision mediator
US5734917A (en) System for producing combination circuit to satisfy prescribed delay time by deleting selected path gate and allowing to perform the permissible function for initial circuit
US5553000A (en) Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits
US5991524A (en) Cluster determination for circuit implementation
US20060044932A1 (en) Method for routing data paths in a semiconductor chip with a plurality of layers
US6046984A (en) Pruning of short paths in static timing verifier
US7000206B2 (en) Timing path detailer
JP2679343B2 (en) Loop processing method
JP2859202B2 (en) Logic simulation method
Chen et al. A new framework for static timing analysis, incremental timing refinement, and timing simulation
US20010020289A1 (en) Modifying timing graph to avoid given set of paths
US7325217B2 (en) Automatic wiring method for the crosstalk reduction
US6434728B1 (en) Activation path simulation equipment and activation path simulation method
Zachariah et al. Algorithm to extract two-node bridges
JPH07334532A (en) Wiring capacitance value extraction device
JP2853649B2 (en) How to create a logic simulation model
US20030066000A1 (en) Failure propagation path estimate system
US20020112216A1 (en) Method and system for representing hierarchical extracted resistance-capacitance files of a circuit model
US20030101422A1 (en) Method and system for identifying fets implemented in a predefined logic equation
JP3004589B2 (en) Pass transistor logic design method
JP2996160B2 (en) Circuit data verification method