JPH09107033A - Layout design method and apparatus - Google Patents
Layout design method and apparatusInfo
- Publication number
- JPH09107033A JPH09107033A JP7265196A JP26519695A JPH09107033A JP H09107033 A JPH09107033 A JP H09107033A JP 7265196 A JP7265196 A JP 7265196A JP 26519695 A JP26519695 A JP 26519695A JP H09107033 A JPH09107033 A JP H09107033A
- Authority
- JP
- Japan
- Prior art keywords
- block
- propagation time
- wiring
- load resistance
- signal propagation
- 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
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、半導体集積回路の
設計手法に関するものであり、特にレイアウト設計に関
するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor integrated circuit design method, and more particularly to layout design.
【0002】[0002]
【従来の技術】近年の微細加工技術の進歩による半導体
の高集積度は、1チップに搭載される論理素子の数の増
大化と同時に、配線による信号伝搬時間の遅れ(配線遅
延)の増大化も引き起こしている。2. Description of the Related Art In recent years, due to the progress of microfabrication technology, the high degree of integration of semiconductors has led to an increase in the number of logic elements mounted on one chip and an increase in the signal propagation time delay (wiring delay) due to wiring. Is also causing.
【0003】配線遅延の問題を解決するために、従来
は、フロアプラン処理を行なうことで、配線遅延を予測
して論理回路を設計する方法がとられていた。In order to solve the problem of wiring delay, conventionally, a method of designing a logic circuit by predicting the wiring delay by performing floorplan processing has been used.
【0004】図5に従来のフロアプラン処理を用いた論
理設計の一例を表す処理フロー図を示す。FIG. 5 is a processing flow chart showing an example of logic design using conventional floorplan processing.
【0005】図5において、501〜507は処理のス
テップであり、501は論理回路を複数のブロックに分
割するステップ、502はブロックの外部ピン位置を決
定してブロック間配線を行なうステップ、503はブロ
ック間は配線経路に基づき、ブロック内は配線分岐数に
応じた配線負荷抵抗値一覧表に基づいて、全配線負荷抵
抗値を求めるステップ、504は、前記ステップ503
で求めた前配線負荷抵抗値に基づいて記憶素子間の信号
伝搬時間を計算し、要求される信号伝播時間と比較する
ステップ、505は信号伝搬時間を要求時間内に収める
ために駆動論理素子を駆動能力が高いものに交換するス
テップ、506は前記ステップ505で交換した論理素
子を含むブロックに対してブロックサイズの再予測を行
ない、ブロックサイズの変更に伴うブロック配置位置の
再調整を行なうステップ、507はブロック内のレイア
ウトを行なうステップである。In FIG. 5, 501 to 507 are processing steps, 501 is a step of dividing a logic circuit into a plurality of blocks, 502 is a step of deciding external pin positions of the blocks and wiring between blocks, and 503 is a step. A step of obtaining all wiring load resistance values based on a wiring route between blocks and a wiring load resistance value list according to the number of wiring branches inside the block, and 504, the step 503.
A step of calculating the signal propagation time between the storage elements based on the pre-wiring load resistance value obtained in step S5 and comparing the signal propagation time with the required signal propagation time. Reference numeral 505 denotes a drive logic element for keeping the signal propagation time within the required time. A step of exchanging a block having a higher driving capability, a step 506 of re-estimating the block size of the block including the logic element exchanged in the step 505, and a step of re-adjusting the block arrangement position according to the change of the block size, Reference numeral 507 is a step for performing layout within a block.
【0006】次に図5の処理フロー図に従って、処理の
流れを説明する。先ず、ステップ501で論理回路を複
数のブロックに分割し、ブロックサイズを予測しなが
ら、接続関係が強いブロック同士をチップ内の隣接した
位置に配置する。Next, the processing flow will be described with reference to the processing flow chart of FIG. First, in step 501, the logic circuit is divided into a plurality of blocks, and blocks having strong connection relationships are arranged at adjacent positions in the chip while predicting the block size.
【0007】次に、ステップ502でブロック間の全配
線長が短くなるようにブロックの外部ピン位置を決定
し、ブロック間の配線を行なう。Next, in step 502, the external pin positions of the blocks are determined so that the total wiring length between the blocks is shortened, and wiring between the blocks is performed.
【0008】ステップ503でブロック間には配線結果
から得られた配線負荷抵抗値、ブロック内は配線分岐数
に依存した配線負荷抵抗値を用いて、信号記憶素子間
(以下パスと記す)毎の配線負荷抵抗値を計算する。In step 503, the wiring load resistance values obtained from the wiring results are used between the blocks, and the wiring load resistance values depending on the number of wiring branches are used in the blocks to determine the distance between the signal storage elements.
Calculate the wiring load resistance value for each (hereinafter referred to as the path).
【0009】ステップ504で、パス間の信号伝搬時間
を計算し、要求される信号伝搬時間以上の時間がかかっ
ているパスがないかを調べ、有る場合はステップ505
へ、無い場合はステップ507へ進む。In step 504, the signal propagation time between the paths is calculated, and it is checked whether or not there is a path that takes more time than the required signal propagation time. If there is, step 505.
If no, go to step 507.
【0010】有る場合は、ステップ505で、要求され
る信号伝搬時間内に収まるように、そのパスに関わる駆
動論理素子を駆動能力が高いものに交換する。If there is, in step 505, the drive logic element related to the path is replaced with a drive logic element having a high drive capability so as to be within the required signal propagation time.
【0011】ない場合は、ステップ506で変更された
論理回路を含むブロックに関して、ブロックサイズの再
予測を行なって、ブロック配置位置の再調整を行い、ス
テップ502からなり直す。If not, for the block including the logic circuit changed in step 506, the block size is re-predicted, the block arrangement position is readjusted, and the process is repeated from step 502.
【0012】ステップ507で、前記ステップ502で
決定したブロック外部ピン位置を変更しないようにブロ
ック内のレイアウトを行なう。In step 507, the layout within the block is performed so that the block external pin positions determined in step 502 are not changed.
【0013】このような従来方法では、ブロック内をレ
イアウトする前にブロックの外部ピン位置を決定してし
まうため、ブロック内をレイアウトする際の自由度が低
下し結果としてレイアウトサイズが大きくなってしま
う。In such a conventional method, since the external pin position of the block is determined before laying out the inside of the block, the degree of freedom when laying out inside the block is lowered and the layout size is increased as a result. .
【0014】この問題を解決しようとして、ステップ5
07の前にブロック外部ピン位置を解放すると、ステッ
プ504の段階とステップ507終了後の段階で、パス
間の信号伝搬時間が異なってしまう。このため、ステッ
プ503の段階でブロック間の全配線負荷抵抗値を大き
めに設定し直し、ステップ504で大きめの信号伝搬時
間を用いる必要がある。なぜなら、ステップ504での
信号伝搬時間が、ステップ507後の信号伝搬時間より
小さかった場合、ステップ507後に要求される信号伝
搬時間を満たさないパスが発生する恐れがあり、もし、
それが発生すれば、再設計する必要が起こり設計期間が
増大してしまうからである。In order to solve this problem, step 5
If the block external pin position is released before 07, the signal propagation time between the paths will be different between the step 504 and the step after the end of step 507. For this reason, it is necessary to reset the total wiring load resistance value between the blocks to a large value at the stage of step 503 and to use a large signal propagation time at step 504. This is because if the signal propagation time in step 504 is smaller than the signal propagation time after step 507, there is a possibility that a path that does not satisfy the signal propagation time required after step 507 may occur.
If this occurs, it will be necessary to redesign and the design period will increase.
【0015】しかしながら、この方法では、全ての信号
伝搬時間を大きめに予測しているので、不必要にステッ
プ505を実行してしまい、必要以上の駆動能力が備わ
った論理回路が出来てしまう。一般的には、駆動能力が
高くなるにつれ、論理素子は面積が大きくなるので、結
果として不必要にレイアウト面積が大きくなることにな
る。However, in this method, since all the signal propagation times are predicted to be large, step 505 is unnecessarily executed, and a logic circuit having a driving capacity higher than necessary can be obtained. Generally, as the driving capability increases, the area of the logic element increases, resulting in an unnecessarily large layout area.
【0016】前記したような問題は、ブロックの全ての
外部ピン位置を論理設計時に決定するか決定しないかと
いうように、ブロック外部ピンを一律で扱って個別に扱
わないところにある。The problem as described above is that the block external pins are uniformly treated and not individually treated, such as whether all external pin positions of the block are determined at the time of logic design.
【0017】[0017]
【発明が解決しようとする課題】前記したような従来方
法では、必要とされる信号伝搬時間を満たすように設計
すると、不必要にチップ面積が大きくなる問題がある。
また、チップ面積を小さくしようとして、ステップ50
7の前にブロックピン位置を解放して、レイアウトの自
由度を高めと、ステップ507後に再設計を行なう危険
性をはらんでおり、設計期間に余裕のない現在の設計環
境下では採用することができない。In the conventional method as described above, there is a problem that the chip area becomes unnecessarily large if it is designed so as to satisfy the required signal propagation time.
Also, in order to reduce the chip area, step 50
Release the block pin position before step 7 to increase the degree of freedom in layout and risk redesigning after step 507. Use this in the current design environment where there is not enough time for design. I can't.
【0018】本発明は以上のような従来方法の問題点を
解決するものであって、要求される信号伝搬時間内に信
号伝播時間が収まっているかを調べる時、信号伝搬時間
に余裕があるかを調査して、この余裕値が大きいパスに
関わるブロック外部ピンほどブロックの外部ピン位置の
移動可能量を多くしてレイアウト時の自由度を高める処
理をブロックの外部ピン毎に扱うことで、再設計無し
に、要求されたパスの伝搬時間を満たしたレイアウト面
積の小さなチップの設計を可能とすることを目的とす
る。The present invention solves the problems of the conventional method as described above. When checking whether the signal propagation time is within the required signal propagation time, is there a margin for the signal propagation time? By processing each of the external pins of the block to increase the degree of freedom in layout by increasing the movable amount of the external pin position of the block for the block external pin related to the path with a large margin value, An object of the present invention is to enable the design of a chip with a small layout area that satisfies the required propagation time of paths without designing.
【0019】[0019]
【課題を解決するための手段】この目的を達成するため
に本発明では、論理回路を記憶する回路記憶部と、配線
分岐数に応じた配線負荷抵抗値の一覧を記憶している配
線負荷抵抗モデル記憶部と、信号記憶素子間に要求され
る信号伝搬時間を記憶する伝搬時間制約記憶部と、前記
回路記憶部に記憶された論理回路を複数のブロックに分
割・配置し、各ブロックの外部ピン位置を仮に決定して
ブロック間の配線を行なうフロアプラン部と、ブロック
間については前記フロアプラン部で決定したブロック間
配線結果に、ブロック内は前記配線負荷抵抗モデル記憶
部に記憶されている配線負荷抵抗値一覧に基づいて、信
号記憶素子間毎の配線の負荷抵抗値を計算する配線負荷
抵抗計算部と、前記配線負荷抵抗計算部で計算された信
号記憶素子間毎の配線負荷抵抗値を記憶する配線負荷抵
抗記憶部と、前記配線負荷抵抗記憶部に記憶された配線
負荷抵抗値に基づいて、信号記憶素子間の信号伝搬時間
を計算し、結果を前記伝搬時間制約記憶部に記憶された
要求される信号伝搬時間と比較して、信号伝搬時間の余
裕値を計算する伝搬時間解析部と、前記伝搬時間解析部
で得られた信号記憶素子間毎の信号伝搬時間の余裕値を
記憶する伝搬時間余裕値記憶部と、前記伝搬時間余裕値
記憶部に記憶された信号伝搬時間の余裕値に基づいて、
ブロック間配線に関わる信号記憶素子間毎に各ブロック
の外部ピンの移動可能量を計算するブロックピン移動可
能量計算部と、前記ブロックピン移動可能量計算部で計
算されたブロックの外部ピン移動可能量を記憶するブロ
ックピン移動可能量記憶部と、前記ブロックピン移動可
能量記憶部に記憶されたブロックの外部ピンの移動可能
量を考慮して、各ブロック内をレイアウトするブロック
内レイアウト部の構成を有している。In order to achieve this object, according to the present invention, a circuit storage unit for storing a logic circuit and a wiring load resistance storing a list of wiring load resistance values according to the number of wiring branches. A model storage unit, a propagation time constraint storage unit that stores a signal propagation time required between signal storage elements, and a logic circuit stored in the circuit storage unit are divided and arranged into a plurality of blocks, and each block is externally arranged. A floor plan section for temporarily deciding pin positions to perform wiring between blocks, an inter block inter-block wiring result determined by the floor plan section, and an inside block are stored in the wiring load resistance model storage section. Based on the wiring load resistance value list, a wiring load resistance calculation unit that calculates the load resistance value of the wiring for each signal storage element, and for each signal storage element calculated by the wiring load resistance calculation unit. A wiring load resistance storage unit that stores a line load resistance value, and a signal propagation time between signal storage elements is calculated based on the wiring load resistance value stored in the wiring load resistance storage unit, and the result is the propagation time constraint. A propagation time analysis unit that calculates a margin value of the signal propagation time compared with the required signal propagation time stored in the storage unit, and a signal propagation time for each signal storage element obtained by the propagation time analysis unit Based on the margin value of the signal propagation time stored in the propagation time margin value storage unit and the propagation time margin value storage unit,
A block pin movable amount calculation unit that calculates the movable amount of the external pin of each block for each signal storage element related to the wiring between blocks, and the external pin movement of the block calculated by the block pin movable amount calculation unit A configuration of a block pin movable amount storage unit that stores the amount, and an intra-block layout unit that lays out each block in consideration of the movable amount of the external pin of the block stored in the block pin movable amount storage unit have.
【0020】この構成によって、要求される信号伝搬時
間を満たす範囲内でブロック外部ピン位置に自由度を持
たせて、ブロック内レイアウトを行なうことができる。
したがって、要求された信号伝搬時間を満たした、もっ
とも面積の小さいレイアウトを行なうことが可能とな
る。With this configuration, it is possible to perform the in-block layout by providing the block external pin positions with a degree of freedom within a range that satisfies the required signal propagation time.
Therefore, it is possible to perform the layout having the smallest area and satisfying the required signal propagation time.
【0021】[0021]
【発明の実施の形態】次に、本発明の一実施の形態につ
いて図面を参照しながら説明する。BEST MODE FOR CARRYING OUT THE INVENTION Next, an embodiment of the present invention will be described with reference to the drawings.
【0022】(実施の形態1)図1は、本発明の第1の
実施の形態における構成図である。図1において、10
1は論理回路を記憶する論理回路記憶部、102は論理
回路101に記憶された論理回路を複数のブロックに分
割してチップ内に配置した後、ブロック外部ピンの配置
位置を仮決定してブロック間配線を行なうフロアプラン
部、103は配線分岐数に応じた配線負荷抵抗値の一覧
を記憶している配線負荷抵抗モデル記憶部、104はブ
ロック間についてはブロック間配線結果に基づき、ブロ
ック内については配線負荷モデル記憶部103に記憶さ
れた配線負荷一覧表に基づいて、パス間毎の配線負荷抵
抗値を計算する配線負荷抵抗計算部、105は配線負荷
抵抗計算部104で計算したパス間毎の配線負荷抵抗値
を記憶する配線負荷抵抗値記憶部、106はパス間に要
求される信号伝搬時間を記憶する伝搬時間制約記憶部、
107は配線負荷抵抗値記憶部105に記憶されたパス
間毎の配線負荷抵抗値に基づいて信号伝搬時間を計算
し、その計算結果の伝搬時間制約記憶部106に記憶さ
れた要求される信号伝搬時間に対する余裕値を計算する
伝搬時間解析部、108は伝搬時間解析部107で計算
された信号伝搬時間の余裕値を記憶する伝搬時間余裕値
記憶部、109は伝搬時間余裕値記憶部108に記憶さ
れたパス間毎の信号伝搬時間の余裕値に基づいて、ブロ
ック間配線に関わるパス間毎に、各ブロックの外部ピン
移動可能量を計算するブロックピン移動可能量計算部、
110はブロックピン移動可能量計算部109で計算さ
れたブロックの外部ピン移動可能量を記憶するブロック
ピン移動可能量記憶部、111はブロックピン移動可能
量記憶部110に記憶されたブロックの外部ピン移動可
能量を考慮して、ブロック内をレイアウトするブロック
内レイアウト部である。(Embodiment 1) FIG. 1 is a block diagram of a first embodiment of the present invention. In FIG. 1, 10
Reference numeral 1 denotes a logic circuit storage unit that stores a logic circuit. Reference numeral 102 denotes a block in which a logic circuit stored in the logic circuit 101 is divided into a plurality of blocks and arranged in a chip, and then a layout position of a block external pin is provisionally determined. A floor plan unit for inter-wiring, 103 is a wiring load resistance model storage unit that stores a list of wiring load resistance values according to the number of wiring branches, and 104 is for each block based on the inter-block wiring result and for each block. Is a wiring load resistance calculation unit that calculates the wiring load resistance value for each path based on the wiring load list stored in the wiring load model storage unit 103, and 105 is for each path calculated by the wiring load resistance calculation unit 104. , A wiring load resistance value storage unit for storing the wiring load resistance value, and a propagation time constraint storage unit 106 for storing the signal propagation time required between paths,
Reference numeral 107 calculates the signal propagation time based on the wiring load resistance value for each path stored in the wiring load resistance value storage unit 105, and the required signal propagation stored in the propagation time constraint storage unit 106 of the calculation result. A propagation time analysis unit for calculating a margin value with respect to time, 108 is a propagation time margin value storage unit for storing the margin value of the signal propagation time calculated by the propagation time analysis unit 107, and 109 is stored in the propagation time margin value storage unit 108. Based on the margin value of the signal propagation time for each path between, for each path involved in inter-block wiring, the block pin movable amount calculation unit that calculates the external pin movable amount of each block,
110 is a block pin movable amount storage unit that stores the external pin movable amount of the block calculated by the block pin movable amount calculation unit 109, and 111 is an external pin of the block stored in the block pin movable amount storage unit 110. This is an intra-block layout unit that lays out the inside of the block in consideration of the movable amount.
【0023】図2は、図1のレイアウト設計装置の処理
の流れを示した処理フロー図である。図2において、2
01〜203は処理のステップであり、201は伝搬時
間制約記憶部106に記憶されている要求される信号伝
搬時間に対する、パス間における信号伝搬時間の伝搬時
間余裕値を計算し、伝搬時間余裕値記憶部108に記憶
するステップ、202は伝搬時間記憶部108に記憶さ
れた信号伝搬時間の余裕値を、ブロック間配線長に換算
してブロック間配線の余裕長を計算するステップ、20
3は前記ステップ202で計算したブロック間配線長の
余裕値に基づいて、ブロックの外部ピン移動可能量を計
算するステップである。さらに、501から507は従
来技術の説明に用いた図5のステップと同様である。FIG. 2 is a processing flow chart showing the processing flow of the layout design apparatus of FIG. In FIG. 2, 2
01 to 203 are processing steps, and 201 is a propagation time margin value for calculating the propagation time margin value of the signal propagation time between the paths with respect to the required signal propagation time stored in the propagation time constraint storage unit 106. Step 202 of storing in the storage unit 108, Step 202 of converting the margin value of the signal propagation time stored in the propagation time storage unit 108 into the inter-block wiring length, and calculating the margin length of the inter-block wiring, 20
Step 3 is a step of calculating the external pin movable amount of the block based on the margin value of the inter-block wiring length calculated in step 202. Further, 501 to 507 are similar to the steps of FIG. 5 used in the description of the prior art.
【0024】以下に図1を用いて、図2の処理フロー図
に沿って、本実施の形態の処理の流れを説明する。The process flow of this embodiment will be described below with reference to FIG. 1 and along the process flow diagram of FIG.
【0025】先ず、ステップ501で回路記憶部101
に記憶されている論理回路を複数のブロックに分割し、
ブロックサイズを予測しながら、接続関係が強いブロッ
ク同士を隣接した位置に配置する。First, in step 501, the circuit storage unit 101
Divide the logic circuit stored in to multiple blocks,
While predicting the block size, blocks having a strong connection relationship are arranged at adjacent positions.
【0026】次に、ステップ502でブロック間の全配
線長が短くなるようにブロックの外部ピン位置を決定
し、ブロック間の配線を行なう。Next, in step 502, the external pin positions of the blocks are determined so that the total wiring length between the blocks is shortened, and wiring between the blocks is performed.
【0027】ステップ503でブロック間には配線結果
から得られた配線負荷抵抗値、ブロック内には配線負荷
抵抗モデル記憶部111に記憶された配線分岐数に依存
した配線負荷抵抗値の一覧を用いて、全配線負荷抵抗値
を計算し、配線負荷抵抗値記憶部105に記憶させる。In step 503, a list of wiring load resistance values obtained from the wiring results is used between blocks, and a list of wiring load resistance values depending on the number of wiring branches stored in the wiring load resistance model storage unit 111 is used in each block. Then, the total wiring load resistance value is calculated and stored in the wiring load resistance value storage unit 105.
【0028】ステップ504で、パス間の信号伝搬時間
を計算し、要求される信号伝搬時間以上の時間がかかっ
ているパスの有無を調べ、有る場合はステップ505
へ、無い場合はステップ201へ進む。In step 504, the signal propagation time between the paths is calculated, and it is checked whether or not there is a path that takes longer than the required signal propagation time. If there is, a step 505 is performed.
If not, go to step 201.
【0029】要求される信号伝搬時間以上のパスが有る
場合は、ステップ505で、要求される信号伝搬時間内
に収まる様に、そのパスに関わる駆動論理素子を駆動能
力が高いものに交換する。続いて、ステップ506で変
更された論理回路を含むブロックに関して、ブロックサ
イズの再予測を行なって、ブロック配置位置の再調整を
行い、ステップ502からなり直す。If there is a path longer than the required signal propagation time, in step 505, the drive logic element related to the path is exchanged with one having a high driving capability so that the path is within the required signal propagation time. Subsequently, with respect to the block including the logic circuit changed in step 506, the block size is re-estimated, the block arrangement position is readjusted, and step 502 is performed again.
【0030】全てのバスが要求される信号伝搬時間を満
たしている場合は、ステップ201でブロック間配線毎
に、要求される信号伝搬時間以下のパスが存在するかを
調べて、そのパスが存在した場合は、要求される信号伝
搬時間との伝搬時間差を信号伝搬時間の余裕値として、
伝搬時間余裕値記憶部107に記憶する。信号伝搬時間
の余裕値がないパスについては、伝搬時間余裕値記憶部
107にゼロを記憶する。When all the buses satisfy the required signal propagation time, it is checked in step 201 for each inter-block wiring whether or not there is a path shorter than the required signal propagation time, and the path exists. In this case, the propagation time difference from the required signal propagation time is set as the margin value of the signal propagation time,
It is stored in the propagation time margin value storage unit 107. Zero is stored in the propagation time margin value storage unit 107 for a path having no margin value for the signal propagation time.
【0031】次に、ステップ202で伝搬時間余裕値記
憶部107に記憶した内のブロック間配線に関わる信号
伝搬時間の余裕値を、ブロック間配線の余裕長に換算す
る。このブロック間配線の余裕長を求める式を(数1)
に示す。Next, the margin value of the signal propagation time relating to the inter-block wiring stored in the propagation time margin value storage unit 107 in step 202 is converted into the margin length of the inter-block wiring. The formula for calculating the margin length of this inter-block wiring is (Equation 1)
Shown in
【0032】[0032]
【数1】 (Equation 1)
【0033】(数1)において、Tは信号伝搬時間、I
は無負荷状態での論理素子の伝搬時間(論理素子毎に一
定値)、fは配線負荷値(これをCとする)に依存した
伝搬遅延関数、gは配線負荷値(C)と配線抵抗値(これ
をRとする)に依存した伝搬遅延関数である。In (Equation 1), T is the signal propagation time and I
Is the propagation time of the logic element in the no-load state (a constant value for each logic element), f is the propagation delay function depending on the wiring load value (this is C), g is the wiring load value (C) and the wiring resistance It is a propagation delay function that depends on the value (this is R).
【0034】ここで、配線負荷値(C)と配線抵抗値
(R)はそれぞれ、配線長(Lとする)の関数P
(L),Q(L)で表現することができるので、(数
2)のように信号伝搬時間(T)は、配線長(L)で表
現することができる。Here, the wiring load value (C) and the wiring resistance value (R) are respectively functions P of the wiring length (L).
Since it can be expressed by (L) and Q (L), the signal propagation time (T) can be expressed by the wiring length (L) as in (Equation 2).
【0035】[0035]
【数2】 (Equation 2)
【0036】したがって、信号伝搬時間の余裕値をTs
とした場合の配線の余裕長をLsをすると、(数2)の
逆関数を求めてTsからLsを計算する。Therefore, the margin value of the signal propagation time is set to Ts.
In this case, if the wiring margin length is Ls, the inverse function of (Equation 2) is obtained and Ls is calculated from Ts.
【0037】次に、ステップ203でブロック間配線の
余裕値(Ls)を用いて、ブロックピンの移動可能量を
計算し、ブロックピン移動可能量記憶部109に記憶す
る。Next, in step 203, the movable amount of the block pin is calculated using the margin value (Ls) of the inter-block wiring, and stored in the block pin movable amount storage unit 109.
【0038】図3はステップ203の処理を詳しく説明
するための図である。そして、図3(a)はブロック間
配線まで行なったフロアプランの一例を示す図であり、
図3(b)は図3(a)中のブロックの外部出力ピン3
05についてさらに詳しく説明するための図ある。FIG. 3 is a diagram for explaining the processing of step 203 in detail. FIG. 3A is a diagram showing an example of a floor plan in which wiring between blocks is performed.
FIG. 3B shows the external output pin 3 of the block in FIG.
FIG. 5 is a diagram for explaining in more detail 05.
【0039】図3(a)において、301〜303はブ
ロック、304、306はブロックの入力外部ピン、3
05はブロックの出力外部ピン、307〜309はブロ
ックの外部ピン移動可能量、310はブロック間配線で
あり、図3(b)において、311はブロック外部ピン
1つに対するブロック間配線310の余裕長、312は
ブロック間配線310の余裕長がゼロになるブロックの
外部ピン位置、313はブロック間配線310が長くな
る場合のブロックの外部ピン移動可能量、314はブロ
ック間配線がもっとも短くなるブロックの外部ピン位
置、315はブロック間配線310が短くなる場合のブ
ロックの外部ピン移動可能量である。In FIG. 3A, 301 to 303 are blocks, 304 and 306 are input external pins of the blocks, 3
Reference numeral 05 is an output external pin of the block, 307 to 309 are movable amounts of the external pin of the block, 310 is an inter-block wiring, and in FIG. 3B, 311 is a margin length of the inter-block wiring 310 with respect to one block external pin. Numeral 312 is the external pin position of the block where the margin length of the inter-block wiring 310 is zero, 313 is the external pin movable amount of the block when the inter-block wiring 310 is long, and 314 is the block with the shortest inter-block wiring. The external pin position 315 is the external pin movable amount of the block when the inter-block wiring 310 becomes short.
【0040】図4はステップ203の処理をさらに詳し
くした処理フロー図であり、図4において401〜40
8は処理のステップである。FIG. 4 is a processing flow chart showing the processing of step 203 in more detail. In FIG.
Reference numeral 8 is a processing step.
【0041】以下に、図3を用いて、図4の処理フロー
図に沿ってステップ203の計算方法を説明する。The calculation method of step 203 will be described below with reference to FIG. 3 along with the process flow chart of FIG.
【0042】先ず、ステップ401で、前記ステップ2
02で計算したブロック間配線310の余裕長(この値
をLsとする)を均等に2つのブロック外部ピンに割り
付けるために、Lsを2で割ってブロック外部ピン1つ
に対するブロック間配線310の余裕長311(この値
をLspとする)を計算する。First, in step 401, the step 2
In order to evenly allocate the margin length of the inter-block wiring 310 calculated in 02 (this value is Ls) to the two block external pins, divide Ls by 2 and leave the margin of the inter-block wiring 310 for one block external pin. Calculate the length 311 (this value is Lsp).
【0043】次にステップ402で、出力外部ピン30
5とそのピンと最も配線経路が長いブロック外部ピン3
04の2つのブロック外部ピンを選択する。ブロック間
配線につながるブロック外部ピンが2つしかない場合は
その配線の両端の2つのブロック外部ピンを選ぶ。Next, in step 402, the output external pin 30
5 and its pin and block external pin 3 with the longest wiring route
Select the two block external pins 04. If there are only two block external pins connected to the inter-block wiring, select the two block external pins at both ends of the wiring.
【0044】次にステップ403で、前記ステップ40
2で選択された2つのブロック外部ピンについて、ブロ
ックの外部ピン305の配置位置(この値をPdとす
る)からブロック間配線長が長くなる方向(311の矢
印方向)に(Lsp)だけ移動したブロックの外部ピン
位置312(この位置をPwとする)までの範囲(Pd
〜Pw)をブロック外部ピン305の移動可能量313
(この値をMとする)とする。Next, at step 403, at step 40
With respect to the two block external pins selected in 2, moved by (Lsp) from the position of the block external pin 305 (this value is Pd) in the direction in which the inter-block wiring length becomes longer (the direction of the arrow 311). The range (Pd) up to the external pin position 312 of the block (this position is Pw)
~ Pw) is the amount of movement of the block external pin 305 313
(This value is M).
【0045】次に、ステップ404で、ブロック間配線
長が短くなるブロックの外部ピン位置314(この位置
をPbとする)が存在するかを調査し、存在する場合は
ステップ405へ進み、存在しない場合は、ステップ4
06へ進む。Next, in step 404, it is examined whether or not there is an external pin position 314 (where this position is Pb) of the block in which the inter-block wiring length is shortened. If it exists, the process proceeds to step 405 and does not exist. If step 4
Proceed to 06.
【0046】ステップ405では、ブロック間配線長が
短くなるブロックピン位置314(Pb)までの範囲を
加えた(Pb〜Pw)をブロック外部ピン305の移動
可能量(M)とする。At step 405, the movable amount (M) of the block external pin 305 is defined by adding (Pb to Pw) the range up to the block pin position 314 (Pb) where the inter-block wiring length is shortened.
【0047】ここまでの段階では、2つのブロック外部
ピン304、305についての移動可能量(M1、M2
とする)307、308を決定することができている。Up to this stage, the movable amounts (M1, M2) for the two block external pins 304, 305 are set.
307 and 308 can be determined.
【0048】ステップ406では、ブロック間配線につ
ながるブロック外部ピン数が3つ以上有るかを調べ、有
る場合はステップ407に進み、無い場合はステップ4
08に進む。In step 406, it is checked whether or not there are three or more block external pins connected to the inter-block wiring. If yes, the process proceeds to step 407.
Proceed to 08.
【0049】ステップ407では、ステップ402で選
択されなかった移動可能量のブロック外部ピン306に
は、出力外部ピン305とのブロック間配線が長くなら
ない外部ピン位置がある場合は、その範囲309をブロ
ックの外部ピン移動可能量(M3とする)とする。In step 407, if the block external pin 306 of the movable amount not selected in step 402 has an external pin position that does not lengthen the inter-block wiring with the output external pin 305, the range 309 is blocked. External pin movable amount (denoted as M3).
【0050】ステップ408では、ブロックの外部ピン
移動可能量(M1、M2、M3)を、ブロックピン移動
可能量記憶部109に記憶する。In step 408, the external pin movable amount (M1, M2, M3) of the block is stored in the block pin movable amount storage unit 109.
【0051】ステップ203の処理でブロック外部ピン
の移動可能量を計算することができたので、最後にステ
ップ507でそのブロック外部ピン位置の移動可能量に
基づいて、ブロック内をレイアウトする。Since it is possible to calculate the movable amount of the block external pin in the processing of step 203, finally in step 507, the inside of the block is laid out based on the movable amount of the block external pin position.
【0052】一般的に、レイアウトする際は、ブロック
外部ピン位置の制約が緩いほど、ブロック面積が小さく
なることが知られている。したがって、ブロックの外部
ピン移動可能量はレイアウト時の自由度となり、面積の
小さいレイアウト結果を得ることができる。さらに、信
号伝搬時間に余裕があるパスのみに対して、要求される
信号伝搬時間を満たす範囲で、ブロックの外部ピン位置
の移動可能量を設定しているため、ステップ507のレ
イアウト処理が終了した後でも、要求された信号伝搬時
間以上の伝搬時間になるパスが発生しない。It is generally known that, in layout, the looser the constraint on the block external pin position, the smaller the block area. Therefore, the amount of movement of the external pins of the block becomes a degree of freedom in layout, and a layout result having a small area can be obtained. Furthermore, since the movable amount of the external pin position of the block is set within the range that satisfies the required signal propagation time only for the path having a sufficient signal propagation time, the layout process of step 507 is completed. Even after that, a path having a propagation time longer than the required signal propagation time does not occur.
【0053】[0053]
【発明の効果】以上説明してきたように本発明では、要
求された信号伝搬時間内で、ブロック外部ピンの移動可
能量を計算し、その移動可能量を自由度として与えてブ
ロックレイアウトを行なうことで、要求された信号伝搬
時間を満たした、最も面積の小さいレイアウトを行なう
ことが可能となる。このことにより、全ブロックのレイ
アウト終了後に、要求された信号伝搬時間を満たしてい
ることが保証されているため、設計の手戻りが無くなっ
て、設計期間の短縮につながる。さらに、レイアウト面
積を小さくすることで、チップコストを下げる効果もあ
る。As described above, in the present invention, the movable amount of the block external pin is calculated within the required signal propagation time, and the movable amount is given as the degree of freedom to perform the block layout. Thus, it is possible to perform the layout with the smallest area, which satisfies the required signal propagation time. As a result, it is guaranteed that the required signal propagation time is satisfied after the layout of all blocks is completed, so that design rework is eliminated and the design period is shortened. Furthermore, reducing the layout area also has the effect of reducing the chip cost.
【図1】第1の実施の形態における構成図FIG. 1 is a configuration diagram according to a first embodiment.
【図2】第1の実施の形態における処理フロー図FIG. 2 is a process flow chart according to the first embodiment.
【図3】第1の実施の形態におけるブロックの外部ピン
移動可能量の計算方法を示す図FIG. 3 is a diagram showing a method of calculating an external pin movable amount of a block according to the first embodiment.
【図4】第1の実施の形態におけるブロックの外部ピン
移動可能量計算の処理フロー図FIG. 4 is a process flow chart for calculating an external pin movable amount of a block according to the first embodiment.
【図5】従来技術の一例を示す処理フロー図FIG. 5 is a processing flow chart showing an example of a conventional technique.
101 論理回路記憶部 102 フロアプラン部 103 配線負荷抵抗モデル部 104 配線負荷抵抗計算部 105 配線負荷抵抗記憶部 106 伝搬時間制約記憶部 107 伝搬時間解析部 108 伝搬時間余裕値記憶部 109 ブロックピン移動可能量計算部 110 ブロックピン移動可能量記憶部 111 ブロック内レイアウト部 101 logic circuit storage unit 102 floor plan unit 103 wiring load resistance model unit 104 wiring load resistance calculation unit 105 wiring load resistance storage unit 106 propagation time constraint storage unit 107 propagation time analysis unit 108 propagation time allowance storage unit 109 block pin moveable Amount calculation unit 110 Block pin movable amount storage unit 111 In-block layout unit
Claims (4)
号記憶素子間に要求された信号伝搬時間を満たすために
制約条件を与えてレイアウト設計を行なうことを特徴と
するレイアウト設計方法。1. A layout design method for an LSI, wherein a layout design is performed by applying a constraint condition to satisfy a signal propagation time required between signal storage elements.
ブロックの外部ピンの移動可能量で表現することを特徴
とする請求項1記載のレイアウト設計方法。2. The layout design method according to claim 1, wherein the constraint condition is expressed by a movable amount of an external pin of each block that is a target of layout design.
を用いて、該ブロック間を跨る信号記憶素子間の信号伝
搬時間を計算する処理と、 前記計算結果と要求された信号伝搬時間との差からブロ
ック間配線の余裕長を求める処理と、 前記余裕長を該ブロック外部ピンに分配して割り当てる
ことで、移動可能量計算を行なう処理とを備えたことを
特徴とする請求項2記載のレイアウト設計方法。3. A process of calculating a signal propagation time between signal storage elements extending between the blocks using a result of wiring between blocks of the block, and a difference between the calculation result and a required signal propagation time. 3. The layout according to claim 2, further comprising: a process for obtaining a margin length of the inter-block wiring from the process; and a process for calculating the movable amount by distributing and assigning the margin length to the block external pins. Design method.
理回路を記憶する回路記憶部と、配線分岐数に応じた配
線負荷抵抗値の一覧を記憶している配線負荷抵抗モデル
記憶部と、 信号記憶素子間に要求される信号伝搬時間を記憶する伝
搬時間制約記憶部と、 前記回路記憶部に記憶された論理回路を複数のブロック
に分割・配置し、各ブロックの外部ピン位置を仮に決定
してブロック間の配線を行なうフロアプラン部と、 ブロック間については前記フロアプラン部で決定したブ
ロック間の配線結果に基づき、ブロック内は前記配線負
荷抵抗モデル記憶部に記憶されている配線負荷抵抗値の
一覧に基づいて、信号記憶素子間毎の配線の負荷抵抗値
を計算する配線負荷抵抗計算部と、 前記配線負荷抵抗計算部で計算された信号記憶素子間毎
の配線負荷抵抗値を記憶する配線負荷抵抗記憶部と、 前記配線負荷抵抗記憶部に記憶された配線負荷抵抗値に
基づいて、信号記憶素子間の信号伝搬時間を計算し、結
果を前記伝搬時間制約記憶部に記憶された要求される信
号伝搬時間と比較して、信号伝搬時間の余裕値を計算す
る伝搬時間解析部と、 前記伝搬時間解析部で得られた信号記憶素子間毎の信号
伝搬時間の余裕値を記憶する伝搬時間余裕値記憶部と、 前記伝搬時間余裕値記憶部に記憶された信号伝搬時間の
余裕値に基づいて、ブロック間配線に関わる信号記憶素
子間毎にブロック外部ピンの移動可能量を計算するブロ
ックピン移動可能量計算部と、 前記ブロックピン移動可能量計算部で計算されたブロッ
クの外部ピン移動可能量を記憶するブロックピン移動可
能量記憶部と、 前記ブロックピン移動可能量記憶部に記憶されたブロッ
クの外部ピンの移動可能量を制約条件して、各ブロック
内をレイアウトするブロック内レイアウト部とを備えた
ことを特徴するレイアウト設計装置。4. An LSI layout design apparatus, a circuit storage section for storing a logic circuit, a wiring load resistance model storage section for storing a list of wiring load resistance values according to the number of wiring branches, and a signal storage element. A propagation time constraint storage unit that stores a signal propagation time required between and a logic circuit stored in the circuit storage unit are divided and arranged into a plurality of blocks, and the external pin positions of each block are provisionally determined and A list of wiring load resistance values stored in the wiring load resistance model storage unit based on the wiring results between blocks determined by the floorplan unit for the floor plan section that performs wiring between A wiring load resistance calculating unit for calculating a load resistance value of a wiring for each signal storage element based on the above, and a wiring for each signal storage element calculated by the wiring load resistance calculating unit. A wiring load resistance storage unit that stores a load resistance value, based on the wiring load resistance value stored in the wiring load resistance storage unit, calculates a signal propagation time between signal storage elements, and stores the result as the propagation time constraint storage. Compared with the required signal propagation time stored in the unit, the propagation time analysis unit for calculating the margin value of the signal propagation time, and the signal propagation time for each signal storage element obtained by the propagation time analysis unit Based on the propagation time margin value storage unit that stores the margin value, and the margin value of the signal propagation time stored in the propagation time margin value storage unit, the block external pin is moved for each signal storage element related to the inter-block wiring. A block pin movable amount calculation unit that calculates a movable amount; a block pin movable amount storage unit that stores the external pin movable amount of the block calculated by the block pin movable amount calculation unit; A movable amount of the external pins of the block stored in Kupyn movable amount storage unit by constraints layout designing apparatus which is characterized in that a block layout section for laying out in each block.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7265196A JPH09107033A (en) | 1995-10-13 | 1995-10-13 | Layout design method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7265196A JPH09107033A (en) | 1995-10-13 | 1995-10-13 | Layout design method and apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09107033A true JPH09107033A (en) | 1997-04-22 |
Family
ID=17413882
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7265196A Pending JPH09107033A (en) | 1995-10-13 | 1995-10-13 | Layout design method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09107033A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008140003A (en) * | 2006-11-30 | 2008-06-19 | Brother Ind Ltd | Circuit unit |
-
1995
- 1995-10-13 JP JP7265196A patent/JPH09107033A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008140003A (en) * | 2006-11-30 | 2008-06-19 | Brother Ind Ltd | Circuit unit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6110222A (en) | Layout design method and system for an improved place and route | |
| JP4368641B2 (en) | Number and position estimation method of power supply pads, chip size estimation method and design apparatus | |
| JPH08287111A (en) | Automatic layout system | |
| JP4045113B2 (en) | Semiconductor integrated circuit design method, program, and recording medium | |
| JPH09107033A (en) | Layout design method and apparatus | |
| US6074429A (en) | Optimizing combinational circuit layout through iterative restructuring | |
| JPH05198678A (en) | Layout method and layout device for semiconductor integrated circuit | |
| TW201030546A (en) | System and method of connecting a macro cell to a system power supply | |
| JP4824785B2 (en) | Core size estimation method, chip size estimation method and design apparatus | |
| JPH04250571A (en) | Wiring length prediction device | |
| JP2803495B2 (en) | Semiconductor integrated circuit wiring length prediction method | |
| US7346871B2 (en) | Method of estimating wiring complexity degree in semiconductor integrated circuit | |
| JPH033348A (en) | Designing method for lsi | |
| JP3017038B2 (en) | Design method of semiconductor integrated circuit | |
| JP3846804B2 (en) | Automatic placement and routing equipment | |
| JPH09325978A (en) | Layout method in CAD system | |
| JP3904620B2 (en) | Automatic placement and routing equipment | |
| JPH09232436A (en) | Logic synthesis method and device, and semiconductor integrated circuit design method | |
| JP2763721B2 (en) | Logic circuit verification method | |
| JP2967762B2 (en) | Circuit layout method | |
| JPH0844784A (en) | Floor plan design method and apparatus | |
| JP2002215704A (en) | Method and apparatus for determining terminal position of module | |
| JPH0729981A (en) | Virtual wiring load evaluation method and virtual wiring load evaluation device | |
| JP2003142585A (en) | LSI layout wiring control means and device | |
| JP2001229218A (en) | Logic synthesis method |