JP2009093365A - Program for designing semiconductor integrated circuit device, system for supporting design of semiconductor integrated circuit device, method for designing semiconductor integrated circuit device, semiconductor integrated circuit device, and electronic equipment - Google Patents
Program for designing semiconductor integrated circuit device, system for supporting design of semiconductor integrated circuit device, method for designing semiconductor integrated circuit device, semiconductor integrated circuit device, and electronic equipment Download PDFInfo
- Publication number
- JP2009093365A JP2009093365A JP2007262413A JP2007262413A JP2009093365A JP 2009093365 A JP2009093365 A JP 2009093365A JP 2007262413 A JP2007262413 A JP 2007262413A JP 2007262413 A JP2007262413 A JP 2007262413A JP 2009093365 A JP2009093365 A JP 2009093365A
- Authority
- JP
- Japan
- Prior art keywords
- net
- wiring
- integrated circuit
- semiconductor integrated
- cell
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、半導体集積回路装置の設計プログラム、半導体集積回路装置の設計支援システム、半導体集積回路装置の設計方法、半導体集積回路装置及び電子機器に関する。 The present invention relates to a semiconductor integrated circuit device design program, a semiconductor integrated circuit device design support system, a semiconductor integrated circuit device design method, a semiconductor integrated circuit device, and an electronic apparatus.
近年、LSIのプロセス微細化に伴い集積度が飛躍的に向上した結果、配線密度がますます高くなる傾向がある。配線密度が高くなると配線が隣接する信号間における干渉が大きくなる。そして、論理セルの入力信号の電圧レベルが論理しきい値付近にある時に、隣の信号配線の影響を受けて入力信号の電圧レベルが瞬時的に変化すると論理セルの出力信号に短いパルスが発生する。このような短いパルスがフリップフロップに入力されるクロック信号や非同期リセット信号に発生すると回路が誤動作する可能性がある。そこで、クロック信号や非同期リセット信号等のクリティカルな信号をドライブするセルには駆動能力の比較的大きいセルが使用されるように制約条件を設定して論理合成が行われている。また、配置配線後に、クリティカルな信号に関しては、遷移時間(スルーレート)の許容値を小さく設定してタイミング検証が行われている。
しかし、タイミング検証はすべてのセルの配置配線が終わった後に行われるため、クリティカルな信号のスルーレートにエラーがあるとクリティカルな信号の配線が短くなるように配置配線をやり直す作業に時間を要する場合もある。また、タイミング検証の制約に抜けがあるとクリティカルな信号に関する不具合を見逃し、結果として実機での動作確認ではじめてその不具合を発見するに至る場合もある。一方、クリティカルな信号の両側を配線禁止領域にしたり、クリティカルな信号を電源ラインでガードしたりすることも考えられるが、配線可能領域が減少するため他の配線が困難になり配線作業に時間を要したり、他の配線ができない場合にはチップサイズの増大を招く場合もある。いずれの場合でも、結果としてチップコストが増大する原因となっていた。 However, because timing verification is performed after all cells have been placed and routed, if there is an error in the critical signal slew rate, it takes time to re-place and route the critical signal so that the critical signal wire is shortened. There is also. In addition, if there is an omission in the timing verification constraint, a defect related to a critical signal may be overlooked, and as a result, the defect may be discovered only after confirming the operation on the actual machine. On the other hand, it is conceivable that both sides of the critical signal are set as prohibited wiring areas, or the critical signal is guarded by the power supply line, but the wiring area decreases, so that other wiring becomes difficult and the wiring work takes time. In other cases, the chip size may be increased if other wiring is not possible. In either case, the chip cost was increased as a result.
本発明は、以上のような問題点に鑑みてなされたものであり、クリティカルな信号等の所定の信号の配線長に着目して配線レイアウトを早い段階で変更することにより、信頼性の高い半導体集積回路装置を短期間で設計するための設計支援プログラム等を提供することを目的とする。 The present invention has been made in view of the problems as described above, and pays attention to the wiring length of a predetermined signal such as a critical signal, thereby changing the wiring layout at an early stage, thereby providing a highly reliable semiconductor. It is an object to provide a design support program for designing an integrated circuit device in a short period of time.
(1)本発明は、
半導体集積回路装置の設計を支援する設計支援プログラムであって、
配置配線の対象となる回路に含まれるセルを配置するセル配置手段と、
前記配置配線の対象となる回路に含まれるネットを配線するネット配線手段と、
配線した前記ネットの配線レイアウトを変更する配線レイアウト変更手段としてコンピュータを機能させ、
前記ネット配線手段は、
所定のネットの配線を他のネットの配線よりも優先して行い、
前記配線レイアウト変更手段は、
前記所定のネットの配線長を計算し、配線長が所定の規格値よりも大きい場合には、前記所定のネットの配線レイアウトを変更することを特徴とする。
(1) The present invention
A design support program for supporting the design of a semiconductor integrated circuit device,
Cell placement means for placing cells included in a circuit to be placed and routed;
Net wiring means for wiring a net included in the circuit to be placed and routed;
The computer functions as a wiring layout changing means for changing the wiring layout of the wired net,
The net wiring means is
Prioritize the wiring of a given net over the wiring of other nets,
The wiring layout changing means is
The wiring length of the predetermined net is calculated, and when the wiring length is larger than a predetermined standard value, the wiring layout of the predetermined net is changed.
所定のネットは、ユーザが指定したネットであってもよいし、所定の規則に従ってネットリストから自動的に抽出されたネットであってもよい。例えば、ユーザーが指定した信号(クロック信号や非同期リセット信号等)の伝搬経路上に存在するネットを抽出して所定のネットとしてもよいし、“CLK”や“RST”の文字列を含むネット名を有するネットを自動抽出して所定のネットとしてもよい。また、所定のネットは複数存在してもよい。 The predetermined net may be a net designated by the user, or may be a net automatically extracted from a net list according to a predetermined rule. For example, a net existing on a propagation path of a signal (such as a clock signal or an asynchronous reset signal) specified by a user may be extracted and used as a predetermined net, or a net name including a character string “CLK” or “RST” It is possible to automatically extract a net having a predetermined net. A plurality of predetermined nets may exist.
配線レイアウト変更手段は、配線長が所定の規格値よりも大きいネットの配線をやり直すことにより、又は、当該ネットに接続されているセルの配置を変更することにより、所定のネットの配線レイアウトを変更するようにしてもよい。また、配線レイアウト変更手段は、配線長が所定の規格値よりも大きいネットに1つ以上のバッファやインバータを挿入することにより当該ネットを2つ以上に分割するように配線レイアウトを変更してもよい。また、配線レイアウト変更手段は、配線長が所定の規格値よりも大きいネットの配線に平行なシールド配線(電源電位やグランド電位が供給される配線)を当該ネット配線の両側又は片側に挿入することにより、所定のネットの配線レイアウトを変更するようにしてもよい。また、当該ネット配線の両側又は片側にシールド配線分の隙間を用意して配線禁止領域に設定するようにしてもよい。さらに、配線レイアウト変更手段は、配線のやり直し、セルの配置変更、バッファ等の挿入、シールド配線の挿入、配線禁止領域の設定等の方法からユーザーが指定した方法により所定のネットの配線レイアウトを変更するようにしてもよい。 The wiring layout changing means changes the wiring layout of a predetermined net by redoing the wiring of a net whose wiring length is larger than a predetermined standard value or by changing the arrangement of cells connected to the net. You may make it do. Further, the wiring layout changing means may change the wiring layout so that the net is divided into two or more by inserting one or more buffers or inverters into the net having a wiring length larger than a predetermined standard value. Good. Further, the wiring layout changing means inserts a shield wiring (a wiring to which a power supply potential or a ground potential is supplied) parallel to a net wiring whose wiring length is larger than a predetermined standard value on both sides or one side of the net wiring. Thus, the wiring layout of a predetermined net may be changed. Further, a clearance corresponding to the shield wiring may be prepared on both sides or one side of the net wiring and set in the wiring prohibited area. In addition, the wiring layout change means changes the wiring layout of a given net by a method specified by the user from methods such as re-routing, cell placement change, buffer insertion, shield wiring insertion, wiring prohibited area setting, etc. You may make it do.
規格値はネットの配線に許容される最大配線長を規定する値であり、ネットを伝搬する信号の周波数、製造プロセス、ゲート占有率等により決定するようにしてもよい。また、規格値はユーザーが可変に設定できるようにしてもよい。 The standard value is a value that defines the maximum wiring length allowed for the wiring of the net, and may be determined by the frequency of the signal propagating through the net, the manufacturing process, the gate occupation ratio, and the like. Further, the standard value may be variably set by the user.
本発明によれば、優先配線された所定のネットの配線長に着目し、複雑な遅延計算を行うことなく、配線長が所定の規格値よりも大きいネットの配線レイアウトを変更する。従って、すべてのセル及びネットの配置配線が終了する前に、所定のネットについては優先的に短い配線にすることができる。その結果、クロック信号や非同期リセット信号等のクリティカルな信号の伝搬経路上に存在するネットを所定のネットとして指定しておけば、クリティカルな信号が他の信号の影響を受けにくくすることができる。また、クリティカルな信号の伝搬経路上に存在するネットの配線が優先的に行われるので、配線長が規格値よりも大きい場合でも配線レイアウトの変更が比較的容易である。また、クリティカルな信号の伝搬経路上に存在するネットの配線が短くなるので、クリティカルな信号の周辺を配線禁止領域にしたりシールド配線を行っても配線領域の増加が少なくて済む。さらに、クリティカルな信号の伝搬経路上に存在するネットの配線が短かければ不具合が起こりにくく、仮にタイミング検証における制約条件の設定漏れがあっても問題ない。従って、本発明によれば、信頼性の高い半導体集積回路装置を短期間で提供することができる。 According to the present invention, attention is paid to the wiring length of a predetermined net that is preferentially wired, and the wiring layout of a net having a wiring length larger than a predetermined standard value is changed without performing complicated delay calculation. Therefore, before all the cells and nets are placed and routed, a predetermined net can be preferentially shortened. As a result, if a net existing on the propagation path of a critical signal such as a clock signal or an asynchronous reset signal is designated as a predetermined net, the critical signal can be made less susceptible to the influence of other signals. Further, since the net wiring existing on the propagation path of the critical signal is preferentially performed, it is relatively easy to change the wiring layout even when the wiring length is larger than the standard value. In addition, since the net wiring existing on the critical signal propagation path is shortened, the increase in the wiring area can be reduced even if the periphery of the critical signal is made a wiring prohibited area or shield wiring is performed. Furthermore, if the net wiring existing on the propagation path of the critical signal is short, the trouble is unlikely to occur, and there is no problem even if the setting of the constraint condition in the timing verification is omitted. Therefore, according to the present invention, a highly reliable semiconductor integrated circuit device can be provided in a short period of time.
(2)本発明の半導体集積回路装置の設計支援プログラムにおいて、
前記ネット配線手段は、
前記所定のネットの配線長が前記規格値以下となるように前記所定のネットの配線を行うことを特徴とする。
(2) In the semiconductor integrated circuit device design support program of the present invention,
The net wiring means is
The wiring of the predetermined net is performed so that the wiring length of the predetermined net is equal to or less than the standard value.
本発明によれば、所定のネットについて配線長が規格値以下となるように優先配線するので、所定のネットの配線をより適切に短くすることができる。 According to the present invention, since priority wiring is performed so that the wiring length of the predetermined net is equal to or less than the standard value, the wiring of the predetermined net can be shortened more appropriately.
(3)本発明の半導体集積回路装置の設計支援プログラムにおいて、
前記セル配置手段は、
前記所定のネットが接続されているセルの配置を他のセルの配置よりも優先して行うことを特徴とする。
(3) In the design support program for the semiconductor integrated circuit device of the present invention,
The cell placement means includes:
The cell arrangement to which the predetermined net is connected is prioritized over the arrangement of other cells.
本発明によれば、所定のネットが接続されているセルを優先配置するのでこれらのセルは近くに配置されやすく、所定のネットの配線をより適切に短くすることができる。 According to the present invention, since cells to which a predetermined net is connected are preferentially arranged, these cells are easily arranged nearby, and the wiring of the predetermined net can be shortened more appropriately.
(4)本発明の半導体集積回路装置の設計支援プログラムは、
複数の前記所定のネットに優先順位を設定するネット優先順位設定手段としてコンピュータを機能させ、
前記ネット配線手段は、
前記優先順位に従い、一の前記所定のネットを配線した後、他の前記所定のネットを配線する処理を繰り返し行い、
前記配線レイアウト変更手段は、
前記優先順位に従い、一の前記所定のネットの配線レイアウトを変更した後、他の前記所定のネットの配線レイアウトを変更する処理を繰り返し行うことを特徴とする。
(4) A design support program for a semiconductor integrated circuit device according to the present invention includes:
Causing the computer to function as a net priority setting means for setting a priority to a plurality of the predetermined nets;
The net wiring means is
In accordance with the priority order, after wiring one predetermined net, repeatedly performing the process of wiring another predetermined net,
The wiring layout changing means is
According to the priority, after changing the wiring layout of one predetermined net, the process of changing the wiring layout of another predetermined net is repeatedly performed.
複数のネットに同じ優先順位を設定してもよい。例えば、一の信号(例えば、第1のクロック信号)の伝搬経路上に存在するすべてのネットに同じ優先順位(第1の優先順位)を設定し、他の信号(例えば、第2のクロック信号)の伝搬経路上に存在するすべてのネットに同じ優先順位(第2の優先順位)を設定するようにしてもよい。また、規格値が小さいネットほど優先順位を高く設定してもよい。 The same priority may be set for a plurality of nets. For example, the same priority (first priority) is set for all nets existing on the propagation path of one signal (for example, the first clock signal), and another signal (for example, the second clock signal) is set. ) May be set to the same priority (second priority) for all nets existing on the propagation path. Further, the priority may be set higher for a net having a smaller standard value.
前記ネット配線手段は、前記優先順位が高い前記所定のネットから順に、一の前記所定のネットを配線した後、他の前記所定のネットを配線する処理を繰り返し行い、前記配線レイアウト変更手段は、前記優先順位が高い前記所定のネットから順に、一の前記所定のネットの配線レイアウトを変更した後、他の前記所定のネットの配線レイアウトを変更する処理を繰り返し行うようにしてもよい。 The net wiring means repeatedly performs a process of wiring one predetermined net after wiring the predetermined net in order from the high-priority predetermined net, and the wiring layout changing means includes: After changing the wiring layout of one predetermined net in order from the predetermined net having the highest priority, the process of changing the wiring layout of another predetermined net may be repeatedly performed.
また、前記ネット配線手段は、前記優先順位に従い、一の前記所定のネットを配線し、前記配線レイアウト変更手段が当該一の前記所定のネットの配線レイアウトを変更した後に、他の前記所定のネットを配線する処理を繰り返し行い、前記配線レイアウト変更手段は、前記優先順位に従い、一の前記所定のネットの配線レイアウトを変更し、前記ネット配線手段が他の前記所定のネットを配線した後に、当該他の前記所定のネットの配線レイアウトを変更する処理を繰り返し行うようにしてもよい。 In addition, the net wiring unit routes one predetermined net according to the priority order, and after the wiring layout changing unit changes the wiring layout of the one predetermined net, the other predetermined net The wiring layout changing means changes the wiring layout of one of the predetermined nets according to the priority order, and after the net wiring means routes the other predetermined net, the wiring layout changing means The process of changing the wiring layout of the other predetermined net may be repeated.
本発明によれば、優先順位に従って所定のネットの配線及び配線レイアウト変更を行うので、優先順位がより高いネットの配線ほどより適切に短くすることができる。例えば、クリティカルな信号が複数ある場合には、他の信号の影響をより受けやすい信号の伝搬経路上に存在するネットほど優先順位を高く設定し、配線及び配線レイアウト変更を優先的に行うことができる。また、クリティカルな信号の伝搬経路上に存在するネットの中でも、小さい規格値が設定されているネットやファンアウト数が多いネット(分岐の数が多いネット)ほど高い優先順位を設定しておくことにより、これらのネットの配線及び配線レイアウト変更を優先的に行うことができる。 According to the present invention, the wiring of a predetermined net and the wiring layout are changed according to the priority order, so that the net wiring with a higher priority order can be shortened more appropriately. For example, when there are a plurality of critical signals, a higher priority is set for a net existing on a signal propagation path that is more easily influenced by other signals, and wiring and wiring layout change can be performed with priority. it can. Also, among the nets that exist on the propagation path of critical signals, set a higher priority for nets with a small standard value or with a large number of fanouts (nets with a large number of branches). Thus, the wiring and wiring layout of these nets can be preferentially changed.
(5)本発明の半導体集積回路装置の設計支援プログラムにおいて、
前記セル配置手段は、
前記優先順位に従い、一の前記所定のネットに接続されているセルを配置した後、他の前記所定のネットに接続されているセルを配置する処理を繰り返し行うことを特徴とする。
(5) In the semiconductor integrated circuit device design support program of the present invention,
The cell placement means includes:
According to the priority order, after a cell connected to one of the predetermined nets is arranged, a process of arranging a cell connected to the other predetermined net is repeatedly performed.
前記セル配置手段は、前記優先順位が高い前記所定のネットから順に、一の前記所定のネットに接続されているセルを配置した後、他の前記所定のネットに接続されているセルを配置する処理を繰り返し行うようにしてもよい。 The cell arrangement means arranges cells connected to one of the predetermined nets in order from the predetermined net having the highest priority, and then arranges cells connected to the other predetermined nets. The process may be repeated.
本発明によれば、所定のネットの各々に設定された優先順位に従って各ネットに接続されているセルの配置を行う。すなわち、優先順位がより高いネットに接続されているセルをより優先的に配置するので、優先順位の高いネットほどより適切に短くすることができる。 According to the present invention, cells connected to each net are arranged according to the priority set for each of the predetermined nets. That is, since the cells connected to the net with higher priority are arranged with higher priority, the net with higher priority can be shortened more appropriately.
(6)本発明の半導体集積回路装置の設計支援プログラムは、
前記セル配置手段は、
前記所定のネットに接続されているセルを配置し、前記配線レイアウト変更手段が前記所定のネットの配線レイアウトを変更した後に、他のセルの配置を行い、
前記ネット配線手段は、
前記所定のネットを配線し、前記配線レイアウト変更手段が前記所定のネットの配線レイアウトを変更した後に、他のネットの配線を行うことを特徴とする。
(6) A semiconductor integrated circuit device design support program of the present invention includes:
The cell placement means includes:
Arranging cells connected to the predetermined net, after the wiring layout changing means has changed the wiring layout of the predetermined net, to arrange other cells,
The net wiring means is
The predetermined net is wired, and after the wiring layout changing unit changes the wiring layout of the predetermined net, wiring of another net is performed.
本発明によれば、所定のネットに接続されているセルの配置、当該所定のネットの配線及び配線レイアウトの変更を行った後に、他のネットに接続されているセルの配置及び当該他のネットの配線を行う。すなわち、所定のネットの配線レイアウトを変更する際に他のネットに接続されているセルが配置されていないので、配線レイアウト変更の自由度が向上する。従って、所定のネットの配線をより適切に短くすることができる。 According to the present invention, after the arrangement of cells connected to a predetermined net, the wiring of the predetermined net, and the wiring layout are changed, the arrangement of cells connected to another net and the other net Perform wiring. That is, since the cells connected to other nets are not arranged when changing the wiring layout of a predetermined net, the degree of freedom in changing the wiring layout is improved. Therefore, the wiring of a predetermined net can be shortened more appropriately.
(7)本発明の半導体集積回路装置の設計支援プログラムは、
配置配線の対象となる回路に含まれるセルを複数のグループに分割し、当該グループに優先順位を設定するセルグループ優先順位設定手段としてコンピュータを機能させ、
前記セル配置手段は、
前記各グループに設定された優先順位に従い、一のグループに属するセルを配置し、前記ネット配線手段が当該グループに属するセルに接続されているネットを配線した後に、他のグループに属するセルを配置する処理を繰り返し行い、
前記ネット配線手段は、
前記各グループに設定された優先順位に従い、一のグループに属するセルに接続されているネットを配線し、前記セル配置手段が他のグループに属するセルを配置した後に、当該他のグループに属するセルに接続されているネットを配線する処理を繰り返し行うことを特徴とする。
(7) A design support program for a semiconductor integrated circuit device according to the present invention includes:
Dividing the cells included in the circuit to be placed and routed into a plurality of groups, and causing the computer to function as a cell group priority setting means for setting priorities for the groups,
The cell placement means includes:
According to the priority set for each group, cells belonging to one group are arranged, and after the net wiring means has wired nets connected to cells belonging to the group, cells belonging to other groups are arranged. Repeat the process to
The net wiring means is
In accordance with the priority order set for each group, a net connected to a cell belonging to one group is wired, and after the cell placement unit places a cell belonging to another group, the cell belonging to the other group The process of wiring the net connected to is repeatedly performed.
例えば、第1のクロック信号で動作する同期回路に含まれるセルを第1のグループとして第1の優先順位を設定し、第1のクロック信号よりも低い周波数の第2のクロック信号で動作する同期回路に含まれるセルを第2のグループとして第2の優先順位を設定するようにしてもよい。 For example, the first priority is set for the cells included in the synchronization circuit operating with the first clock signal as the first group, and the synchronization is performed with the second clock signal having a frequency lower than that of the first clock signal. The second priority may be set with the cells included in the circuit as the second group.
前記セル配置手段は、前記各グループに設定された優先順位の高いグループから順に、一のグループに属するセルを配置し、前記ネット配線手段が当該グループに属するセルに接続されているネットを配線した後に、他のグループに属するセルを配置する処理を繰り返し行うようにしてもよい。 The cell placement means places cells belonging to one group in descending order of priority set for each group, and the net wiring means wires nets connected to the cells belonging to the group. Later, the process of arranging cells belonging to other groups may be repeated.
前記ネット配線手段は、前記各グループに設定された優先順位の高いグループから順に、一のグループに属するセルに接続されているネットを配線し、前記セル配置手段が他のグループに属するセルを配置した後に、当該他のグループに属するセルに接続されているネットを配線する処理を繰り返し行うようにしてもよい。 The net routing means routes nets connected to cells belonging to one group in order from the group with the highest priority set for each group, and the cell placement means places cells belonging to other groups. After that, the process of wiring the net connected to the cell belonging to the other group may be repeatedly performed.
本発明によれば、セルを複数のグループに分割して優先順位を設定し、優先順位に従ってグループ単位で配置配線を行う。さらに、1つのグループに含まれるセルのうち、所定のネットに接続されているセルの配置及び所定のネットの配線を優先的に行う。従って、優先順位がより高いグループに属するセルに接続された所定のネットの配線ほどより適切に短くすることができる。例えば、動作周波数の高いセルほど優先順位の高いグループに属するように分割すれば、タイミングの制約が厳しく、かつ、クリティカルな信号の伝搬経路上に存在するネットほど適切に短くすることができる。 According to the present invention, cells are divided into a plurality of groups, priorities are set, and placement and routing are performed in units of groups according to the priorities. Further, among the cells included in one group, the arrangement of cells connected to a predetermined net and the wiring of the predetermined net are preferentially performed. Accordingly, the wiring of a predetermined net connected to a cell belonging to a higher priority group can be shortened more appropriately. For example, if a cell having a higher operating frequency is divided so as to belong to a higher priority group, timing constraints are severe, and a net existing on a critical signal propagation path can be appropriately shortened.
(8)本発明の半導体集積回路装置の設計支援プログラムにおいて、
前記配線レイアウト変更手段は、
配線長が所定の規格値よりも大きい前記所定のネットが所与の信号の伝搬経路における終端のセルに接続されている場合には、当該終端のセルの配置を変更することを特徴とする。
(8) In the semiconductor integrated circuit device design support program of the present invention,
The wiring layout changing means is
When the predetermined net whose wiring length is larger than a predetermined standard value is connected to a terminal cell in a given signal propagation path, the arrangement of the terminal cell is changed.
所与の信号の伝搬経路における終端のセルは、例えば、フリップフロップやラッチであってもよい。 The terminal cell in the propagation path of a given signal may be, for example, a flip-flop or a latch.
本発明によれば、所定のネットの配線レイアウトを変更する際に、終端のセルの配置を変更する。すなわち、終端のセルの配置を変更することにより所定のネットの配線を短くする。従って、バッファ等を挿入することなく所定のネットの配線長を規格値以下にすることができるので、チップサイズの増大を抑制することができる。 According to the present invention, when the wiring layout of a predetermined net is changed, the arrangement of the terminal cell is changed. That is, the wiring of a predetermined net is shortened by changing the arrangement of the terminal cells. Accordingly, the wiring length of a predetermined net can be made to be equal to or less than the standard value without inserting a buffer or the like, and an increase in chip size can be suppressed.
(9)本発明の半導体集積回路装置の設計支援プログラムは、
指定した信号の伝搬経路上に存在するネットを前記所定のネットとして抽出するネット抽出手段としてコンピュータを機能させることを特徴とする。
(9) A semiconductor integrated circuit device design support program of the present invention includes:
The computer is caused to function as net extracting means for extracting a net existing on a designated signal propagation path as the predetermined net.
本発明によれば、所定のネットとして、指定した信号の伝搬経路上に存在するネットを自動的に抽出する。従って、指定した信号の伝搬経路上に存在するネットを優先配線することにより、より適切に短くすることができる。 According to the present invention, a net existing on a designated signal propagation path is automatically extracted as a predetermined net. Therefore, it is possible to shorten the net more appropriately by preferentially wiring the net existing on the designated signal propagation path.
(10)本発明は、
半導体集積回路装置の設計を支援する設計支援システムであって、
配置配線の対象となる回路に含まれるセルを配置するセル配置手段と、
前記配置配線の対象となる回路に含まれるネットを配線するネット配線手段と、
配置配線後のレイアウトに基づいて、前記ネットの配線レイアウトを変更する配線レイアウト変更手段と、を含み、
前記ネット配線手段は、
所定のネットの配線を他のネットの配線よりも優先して行い、
前記配線レイアウト変更手段は、
前記所定のネットの配線長を計算し、配線長が所定の規格値よりも大きい場合には、前記所定のネットの配線レイアウトを変更することを特徴とする。
(10) The present invention
A design support system for supporting the design of a semiconductor integrated circuit device,
Cell placement means for placing cells included in a circuit to be placed and routed;
Net wiring means for wiring a net included in the circuit to be placed and routed;
Wiring layout changing means for changing the wiring layout of the net based on the layout after placement and routing,
The net wiring means is
Prioritize the wiring of a given net over the wiring of other nets,
The wiring layout changing means is
The wiring length of the predetermined net is calculated, and when the wiring length is larger than a predetermined standard value, the wiring layout of the predetermined net is changed.
(11)本発明は、
配置配線の対象となる回路に含まれるセルを配置するセル配置ステップと、
前記配置配線の対象となる回路に含まれるネットを配線するネット配線ステップと、
配置配線後のレイアウトに基づいて、前記ネットの配線レイアウトを変更する配線レイアウト変更ステップと、を含み、
前記ネット配線ステップにおいて、
所定のネットの配線を他のネットの配線よりも優先して行い、
前記配線レイアウト変更ステップにおいて、
前記所定のネットの配線長を計算し、配線長が所定の規格値よりも大きい場合には、前記所定のネットの配線レイアウトを変更することを特徴とする半導体集積回路装置の設計方法である。
(11) The present invention
A cell placement step for placing cells included in a circuit to be placed and routed;
A net wiring step of wiring a net included in the circuit to be placed and routed;
A wiring layout change step for changing the wiring layout of the net based on the layout after placement and routing, and
In the net wiring step,
Prioritize the wiring of a given net over the wiring of other nets,
In the wiring layout change step,
A method for designing a semiconductor integrated circuit device, comprising: calculating a wiring length of the predetermined net and changing the wiring layout of the predetermined net when the wiring length is larger than a predetermined standard value.
(12)本発明は、
上記のいずれかに記載された半導体集積回路装置の設計支援プログラム、上記に記載された半導体集積回路装置の設計支援システム又は上記に記載された半導体集積回路装置の設計方法を用いて設計製造されたことを特徴とする半導体集積回路装置である。
(12) The present invention
Designed and manufactured using the semiconductor integrated circuit device design support program described above, the semiconductor integrated circuit device design support system described above, or the semiconductor integrated circuit device design method described above. This is a semiconductor integrated circuit device.
(13)本発明は、
上記に記載された半導体集積回路装置と、
前記半導体集積回路装置の処理対象となるデータの入力手段と、
前記半導体集積回路装置により処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
(13) The present invention provides:
A semiconductor integrated circuit device described above;
Data input means to be processed by the semiconductor integrated circuit device;
An electronic device comprising: output means for outputting data processed by the semiconductor integrated circuit device.
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。 DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not unduly limit the contents of the present invention described in the claims. Moreover, not all of the configurations described below are essential constituent requirements of the present invention.
1.半導体集積回路装置の設計支援システム、半導体集積回路装置の設計支援プログラム
図1は、本実施形態の半導体集積回路装置の設計支援システム及び設計プログラムについて説明するための図である。本実施形態の半導体集積回路装置の設計支援システム1は、当該構成要素(各部)の一部を省略した構成としてもよい。
1. Semiconductor Integrated Circuit Device Design Support System, Semiconductor Integrated Circuit Device Design Support Program FIG. 1 is a diagram for explaining a semiconductor integrated circuit device design support system and a design program of the present embodiment. The design support system 1 for a semiconductor integrated circuit device according to this embodiment may have a configuration in which some of the components (each unit) are omitted.
操作部30は、ユーザーの操作等をデータとして入力するためのものであり、その機能は、例えばキーボードやマウス等のハードウェアにより実現できる。
The
記憶部40は、処理部10や通信部80などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
The
記憶部40は、ライブラリ情報記憶部42を含む。
The
ライブラリ情報記憶部42は、設計データにより得られたライブラリ情報(論理回路情報、レイアウト情報、接続情報)や、生成されたネットリストの情報等が記憶されている。
The library
情報記憶媒体50(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD等)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。 The information storage medium 50 (a computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD, etc.), magneto-optical disk (MO), magnetic disk, hard disk, magnetic It can be realized by hardware such as a tape or a memory (ROM).
また情報記憶媒体50には、本実施形態の各手段としてコンピュータを機能させるプログラムや補助データ(付加データ)が記憶される。
Further, the
処理部10は、この情報記憶媒体50に格納されるプログラム(設計支援プログラム)や情報記憶媒体50から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体50には、本実施形態の各手段としてコンピュータを機能させるためのプログラム(各手段の処理をコンピュータに実行させるためのプログラム)が記憶される。
The
表示部60は、本実施形態により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイなどのハードウェアにより実現できる。
The
音出力部70は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
The
通信部80は、外部(例えばサーバ装置や他の端末機)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
The
処理部10(プロセッサ)は、操作部30からの操作データやプログラムなどに基づいて、各種処理などを行う。この処理部10は記憶部40をワーク領域として各種処理を行う。処理部10の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、アプリケーションプログラム、OS(例えば汎用OS等)により実現できる。
The processing unit 10 (processor) performs various processes based on operation data and programs from the
処理部10は、セル配置手段12、ネット配線手段14、配線レイアウト変更手段16を含む。処理部10は、さらに、ネット抽出手段18、ネット優先順位設定手段20、セルグループ優先順位設定手段22を含んでもよい。
The
セル配置手段12は、配置配線の対象となる回路に含まれるセルを配置する処理を行う。
The
また、セル配置手段12は、所定のネットが接続されているセルの配置を他のセルの配置よりも優先して行うようにしてもよい。
The
また、セル配置手段12は、ネット優先順位設定手段20が設定した優先順位に従い、一の所定のネットに接続されているセルを配置した後、他の所定のネットに接続されているセルを配置する処理を繰り返し行うようにしてもよい。
Further, the
また、セル配置手段12は、所定のネットに接続されているセルを配置し、配線レイアウト変更手段16が所定のネットの配線レイアウトを変更した後に、他のセルの配置を行うようにしてもよい。
Further, the
また、セル配置手段12は、セルグループ優先順位設定手段22によって各グループに設定された優先順位に従い、一のグループに属するセルを配置し、ネット配線手段14が当該グループに属するセルに接続されているネットを配線した後に、他のグループに属するセルを配置する処理を繰り返し行うようにしてもよい。
The
ネット配線手段14は、配置配線の対象となる回路に含まれるネットを配線する処理を行う。ここで、ネット配線手段14は、所定のネットの配線を他のネットの配線よりも優先して行う。
The
また、ネット配線手段14は、所定のネットの配線長が規格値以下となるように所定のネットの配線を行うようにしてもよい。
Further, the
また、ネット配線手段14は、ネット優先順位設定手段20が設定した優先順位に従い、一の所定のネットを配線した後、他の所定のネットを配線する処理を繰り返し行うようにしてもよい。
Further, the
また、ネット配線手段14は、所定のネットを配線し、配線レイアウト変更手段16が所定のネットの配線レイアウトを変更した後に、他のネットの配線を行うようにしてもよい。
Further, the
また、ネット配線手段14は、セルグループ優先順位設定手段22によって各グループに設定された優先順位に従い、一のグループに属するセルに接続されているネットを配線し、セル配置手段12が他のグループに属するセルを配置した後に、当該他のグループに属するセルに接続されているネットを配線する処理を繰り返し行うようにしてもよい。 The net wiring means 14 routes nets connected to cells belonging to one group according to the priority set for each group by the cell group priority setting means 22, and the cell placement means 12 After arranging the cells belonging to, the processing for wiring the nets connected to the cells belonging to the other group may be repeated.
配線レイアウト変更手段16は、配線した前記ネットの配線レイアウトを変更する処理を行う。ここで、配線レイアウト変更手段16は、ネット配線手段14が優先配線した所定のネットの配線長を計算し、配線長が所定の規格値よりも大きい場合には、当該所定のネットの配線レイアウトを変更する処理を行う。
The wiring layout changing means 16 performs processing for changing the wiring layout of the wired net. Here, the wiring
また、配線レイアウト変更手段16は、ネット優先順位設定手段20が設定した優先順位に従い、一の所定のネットの配線レイアウトを変更した後、他の所定のネットの配線レイアウトを変更する処理を繰り返し行うようにしてもよい。
Further, the wiring
また、配線レイアウト変更手段16は、配線長が所定の規格値よりも大きい所定のネットが所与の信号の伝搬経路における終端のセルに接続されている場合には、当該終端のセルの配置を変更するようにしてもよい。 In addition, the wiring layout changing means 16 changes the arrangement of the terminal cell when a predetermined net whose wiring length is larger than a predetermined standard value is connected to the terminal cell in the propagation path of a given signal. It may be changed.
ネット抽出手段18は、指定した信号の伝搬経路上に存在するネットを所定のネットとして抽出する処理を行う。
The net extracting
ネット優先順位設定手段20は、複数の所定のネットに優先順位を設定する処理を行う。 The net priority order setting means 20 performs processing for setting priority orders for a plurality of predetermined nets.
セルグループ優先順位設定手段22は、配置配線の対象となる回路に含まれるセルを複数のグループに分割し、当該グループに優先順位を設定する処理を行う。
The cell group priority
本実施形態の半導体集積回路装置の設計支援システム又は設計支援プログラムによれば、優先配線された所定のネットの配線長に着目し、複雑な遅延計算を行うことなく、配線長が所定の規格値よりも大きいネットの配線レイアウトを変更する。従って、すべてのセル及びネットの配置配線が終了する前に、所定のネットについては優先的に短い配線にすることができる。その結果、クロック信号や非同期リセット信号等のクリティカルな信号の伝搬経路上に存在するネットを所定のネットとして指定しておけば、クリティカルな信号が他の信号の影響を受けにくくすることができる。また、クリティカルな信号の伝搬経路上に存在するネットの配線が優先的に行われるので、配線長が規格値よりも大きい場合でも配線レイアウトの変更が比較的容易である。また、クリティカルな信号の伝搬経路上に存在するネットの配線が短くなるので、クリティカルな信号の周辺を配線禁止領域にしたりシールド配線を行っても配線領域の増加が少なくて済む。さらに、クリティカルな信号の伝搬経路上に存在するネットの配線が短ければ不具合が起こりにくく、仮にタイミング検証における制約条件の設定漏れがあっても問題ない。従って、本実施形態の半導体集積回路装置の設計支援システム又は設計支援プログラムによれば、信頼性の高い半導体集積回路装置を短期間で提供することができる。 According to the design support system or the design support program for the semiconductor integrated circuit device of this embodiment, paying attention to the wiring length of a predetermined net that is preferentially wired, the wiring length is a predetermined standard value without performing complicated delay calculation. Change the wiring layout for larger nets. Therefore, before all the cells and nets are placed and routed, a predetermined net can be preferentially shortened. As a result, if a net existing on the propagation path of a critical signal such as a clock signal or an asynchronous reset signal is designated as a predetermined net, the critical signal can be made less susceptible to the influence of other signals. Further, since the net wiring existing on the propagation path of the critical signal is preferentially performed, it is relatively easy to change the wiring layout even when the wiring length is larger than the standard value. In addition, since the net wiring existing on the critical signal propagation path is shortened, the increase in the wiring area can be reduced even if the periphery of the critical signal is made a wiring prohibited area or shield wiring is performed. Further, if the net wiring existing on the propagation path of the critical signal is short, the trouble is unlikely to occur, and there is no problem even if the constraint condition in the timing verification is omitted. Therefore, according to the design support system or the design support program for the semiconductor integrated circuit device of this embodiment, a highly reliable semiconductor integrated circuit device can be provided in a short period of time.
なお、本実施形態の各手段としてコンピュータを機能させるためのプログラム(設計支援プログラム)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部80を介して情報記憶媒体50(記憶部40)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
Note that a program (design support program) for causing a computer to function as each unit of the present embodiment is transmitted from an information storage medium included in a host device (server) to an information storage medium 50 (storage unit 40) via a network and
2.半導体集積回路装置の設計方法、半導体集積回路装置の設計支援プログラムの処理手順
2.1 第1の実施例
図2は、本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例を説明するためのフローチャートである。以下、図2のフローチャートについて説明する。
2. 2. Semiconductor integrated circuit device design method, semiconductor integrated circuit device design support program processing procedure 2.1 First Example FIG. 2 shows a semiconductor integrated circuit device design method (design support program processing procedure) according to the present embodiment. 2 is a flowchart for explaining a first embodiment of FIG. Hereinafter, the flowchart of FIG. 2 will be described.
まず、所定の信号を指定する(ステップS10)。ここで、その伝搬経路上に存在するすべてのネットの配線長を短くしたい信号を所定の信号として指定する。例えば、他の信号とのクロストークを避けたいクロック信号や非同期リセット信号等のクリティカルな信号を所定の信号として指定してもよい。所定の信号は複数指定するようにしてもよい。また、所定の信号は、ユーザが直接指定してもよいし、所定の規則に従って所定の信号をネットリストから自動的に抽出して指定するようにしてもよい。例えば、リセット信号及びクロック信号の信号名はそれぞれその一部に必ず“RST”及び“CLK”の文字列を含むという命名規則が存在する場合には、“RST”又は“CLK”の文字列を一部に含む信号を自動抽出することにより、すべてのリセット信号及びクロック信号を指定するようにしてもよい。 First, a predetermined signal is designated (step S10). Here, a signal for shortening the wiring length of all nets existing on the propagation path is designated as a predetermined signal. For example, a critical signal such as a clock signal or an asynchronous reset signal that is desired to avoid crosstalk with other signals may be designated as the predetermined signal. A plurality of predetermined signals may be designated. The predetermined signal may be designated directly by the user, or the predetermined signal may be automatically extracted from the net list and designated according to a predetermined rule. For example, if there is a naming rule that the signal names of the reset signal and the clock signal always include the character strings of “RST” and “CLK” respectively, the character string of “RST” or “CLK” is used. All the reset signals and clock signals may be designated by automatically extracting a signal included in a part.
次に、ステップS10で指定した所定の信号の伝搬経路上に存在するセル及びネットを抽出する(ステップS12)。 Next, cells and nets existing on the predetermined signal propagation path specified in step S10 are extracted (step S12).
次に、ステップS12で抽出した各セルを配置する(ステップS14)。すなわち、ステップS12で抽出した各セルを他のセル(ステップS10で指定した所定の信号の伝搬経路上に存在しないセル)よりも優先して配置する。 Next, each cell extracted in step S12 is arranged (step S14). That is, each cell extracted in step S12 is arranged with priority over other cells (cells not existing on the predetermined signal propagation path specified in step S10).
次に、他のセル(ステップS10で指定した所定の信号の伝搬経路上に存在しないセル)を配置する(ステップS16)。 Next, another cell (a cell that does not exist on the propagation path of the predetermined signal designated in step S10) is placed (step S16).
次に、ステップS12で抽出した各ネットを配線する(ステップS18)。すなわち、ステップS12で抽出した各ネットを他のネット(ステップS10で指定した所定の信号の伝搬経路上に存在しないネット)よりも優先して配線する。 Next, each net extracted in step S12 is wired (step S18). That is, each net extracted in step S12 is wired with priority over other nets (nets not existing on the predetermined signal propagation path specified in step S10).
次に、ステップS12で抽出した各ネット(すなわち、ステップS18で優先配線した各ネット)の配線長を計算する(ステップS20)。 Next, the wiring length of each net extracted in step S12 (that is, each net preferentially wired in step S18) is calculated (step S20).
次に、ステップS12で抽出した各ネット(すなわち、ステップS18で優先配線した各ネット)のうち、ステップS20で計算した配線長についてあらかじめ設定された規格値よりも大きいネットが存在するか否かを判断する(ステップS22)。例えば、20μmの規格値が設定されている場合、20μmよりも大きい配線長を有するネットが存在するか否かが判断される。ここで、すべてのネットに対して同一の規格値が設定されていてもよいし、ネット毎に異なる規格値が設定されていてもよい。 Next, among the nets extracted in step S12 (that is, each net preferentially wired in step S18), it is determined whether or not there is a net larger than the standard value set in advance for the wiring length calculated in step S20. Judgment is made (step S22). For example, when the standard value of 20 μm is set, it is determined whether or not there is a net having a wiring length larger than 20 μm. Here, the same standard value may be set for all nets, or a different standard value may be set for each net.
ステップS22で規格値よりも大きい配線長のネットが存在すると判断した場合(ステップS22でYesの場合)、規格値よりも大きい配線長のネットの配線レイアウトを変更し(ステップS24)、変更後の配線レイアウトに対して再び規格値よりも大きい配線長のネットが存在するか否かを判断する(ステップS22)。ステップS24の処理において、規格値よりも大きい配線長のネットの配線をやり直してもよいし、当該ネットに接続されているセルの配置を変更するようにしてもよい。また、当該ネットに1つ以上のバッファやインバータを挿入することにより当該ネットを2つ以上に分割するようにしてもよい。また、当該ネットの配線に平行なシールド配線(電源電位やグランド電位が供給される配線)を当該ネット配線の両側又は片側に挿入するようにしてもよい。また、当該ネット配線の両側又は片側にシールド配線分の隙間を用意して配線禁止領域に設定するようにしてもよい。さらに、配線のやり直し、セルの配置変更、バッファ等の挿入、シールド配線の挿入、配線禁止領域の設定等のレイアウト変更処理からユーザが指定した処理を選択可能に構成してもよい。 If it is determined in step S22 that a net having a wiring length larger than the standard value exists (Yes in step S22), the wiring layout of the net having a wiring length larger than the standard value is changed (step S24). It is determined again whether there is a net having a wiring length larger than the standard value for the wiring layout (step S22). In the process of step S24, the wiring of the net having a wiring length larger than the standard value may be redone, or the arrangement of the cells connected to the net may be changed. Further, the net may be divided into two or more by inserting one or more buffers or inverters into the net. Further, shield wiring (wiring to which a power supply potential or ground potential is supplied) parallel to the wiring of the net may be inserted on both sides or one side of the net wiring. Further, a clearance corresponding to the shield wiring may be prepared on both sides or one side of the net wiring and set in the wiring prohibited area. Furthermore, a process designated by the user may be selected from layout change processes such as re-routing, cell layout change, buffer insertion, shield wiring insertion, wiring prohibited area setting, and the like.
最後に、ステップS22で規格値よりも大きい配線長のネットが存在しないと判断した場合(ステップS22でNoの場合)は、他のネット(ステップS10で指定した所定の信号の伝搬経路上に存在しないネット)を配線する(ステップS26)。 Finally, if it is determined in step S22 that there is no net having a wiring length larger than the standard value (No in step S22), another net (exists on the predetermined signal propagation path specified in step S10). (Not net) is wired (step S26).
図3〜図10は、本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例における処理をより具体的に説明するための図である。 3 to 10 are diagrams for more specifically explaining the processing in the first example of the semiconductor integrated circuit device design method (processing procedure of the design support program) of the present embodiment.
図3は、第1の実施例を適用して配置配線を行う対象となる回路(半導体集積回路装置の一部の回路)の一例を示す図である。 FIG. 3 is a diagram showing an example of a circuit (a part of a semiconductor integrated circuit device) that is a target for placement and routing by applying the first embodiment.
配置配線の対象となる回路(配置配線対象回路)100は、4つのバッファセル(102、106、114、124)、4つのインバータセル(116、118、120、132)、3つのANDセル(104、110、122)、1つのORセル(128)、4つのフリップフロップ(FF)セル(108、112、126、130)を含んで構成されている。バッファ102の入力にはクロック信号CLK1が供給され、バッファ114の入力には非同期リセット信号RST1が供給されている。ここで、クロック信号CLK1及びリセット信号RST1の伝搬経路上のネットにノイズが重畳すると配置配線対象回路100が誤動作する可能性がある。そのため、他の信号とのクロストークを低減するためにクロック信号CLK1及びリセット信号RST1の伝搬経路上の各ネットの配線はできるだけ短い方が望ましい。
A circuit to be placed and routed (placed and routed circuit) 100 includes four buffer cells (102, 106, 114, 124), four inverter cells (116, 118, 120, 132), and three AND cells (104). 110, 122), one OR cell (128), and four flip-flop (FF) cells (108, 112, 126, 130). A clock signal CLK1 is supplied to the input of the
そこで、まず、図2のステップS10において、クロック信号CLK1及び非同期リセット信号RST1を指定する。そうすると、図2のステップS12の処理において、配置配線対象回路100をトレースし、クロック信号CLK1の伝搬経路上に存在するセルとしてバッファセル102、ANDセル104、バッファセル106、FFセル108、FFセル112、ANDセル122、バッファセル124、FFセル126、FFセル130が抽出される。また、配置配線対象回路100をトレースし、クロック信号CLK1の伝搬経路上に存在するネットとしてネット202、204、206、222、224が抽出される。同様に、配置配線対象回路100をトレースし、非同期リセット信号RST1の伝搬経路上に存在するセルとしてバッファセル114、インバータセル116、FFセル108、FFセル112、インバータセル132、FFセル126、FFセル130が抽出される。また、配置配線対象回路100をトレースし、非同期リセット信号RST1の伝搬経路上に存在するネットとしてネット214、216、232が抽出される。
Therefore, first, in step S10 in FIG. 2, the clock signal CLK1 and the asynchronous reset signal RST1 are designated. Then, in the process of step S12 in FIG. 2, the placement and
図4は、図3で説明した配置配線対象回路100の配置配線前のレイアウトの一例を示す図である。例えば、ゲートアレイ設計では、配置配線対象回路100の配置配線前は、縦方向にM行、横方向にN列のベーシックセルBC11〜BCMNがバルク上に敷き詰められている。
FIG. 4 is a diagram showing an example of a layout before placement and routing of the placement and
図5は、図2のステップS14の処理が終了した後のレイアウトの一例を示す図である。図2のステップS12において抽出されたセル、すなわち、クロック信号CLK1又は非同期リセット信号RST1のいずれかの伝搬経路上に存在するバッファセル102、ANDセル104、バッファセル106、FFセル108、FFセル112、バッファセル114、インバータセル116、ANDセル122、バッファセル124、FFセル126、FFセル130、インバータセル132が優先配置されている。
FIG. 5 is a diagram showing an example of the layout after the process of step S14 in FIG. 2 is completed. The cells extracted in step S12 of FIG. 2, that is, the
図6は、図2のステップS16の処理が終了した後のレイアウトの一例を示す図である。図2のステップS12において抽出されなかったセル、すなわち、クロック信号CLK1及び非同期リセット信号RST1のいずれの伝搬経路上にも存在しないANDセル110、インバータセル118、インバータセル120、ORセル128が配置されている。
FIG. 6 is a diagram showing an example of the layout after the process of step S16 in FIG. 2 is completed. The cells that are not extracted in step S12 of FIG. 2, that is, the AND
図7は、図2のステップS18の処理が終了した後のレイアウトの一例を示す図である。図2のステップS12において抽出されたネット、すなわち、クロック信号CLK1又は非同期リセット信号RST1のいずれかの伝搬経路上に存在するネット202、204、206、214、216、222、224、232が優先配線されている。そして、図2のステップS20において、ネット202、204、206、214、216、222、224、232の配線長が計算される。例えば、ANDセル104の出力端子とバッファセル106の入力端子を接続するネット204の配線長は、配線方向に沿った長さ(a+b)として計算される。また、バッファセル106の出力端子、FFセル108のクロック入力端子及びFFセル112のクロック入力端子を接続するネット206のように分岐しているネットについては、例えば、バッファセル106の出力端子からFFセル108のクロック入力端子までの配線の配線長としてc+d、バッファセル106の出力端子からFFセル112のクロック入力端子までの配線の配線長としてc+e+fのように分岐の数に対応して複数の計算が行われる。
FIG. 7 is a diagram showing an example of the layout after the process of step S18 in FIG. 2 is completed. The nets extracted in step S12 of FIG. 2, that is, the
次に、図2のステップS22において、ネット206(バッファセル106の出力端子からFFセル112のクロック入力端子までの配線)の配線長及びネット224(バッファセル124の出力端子からFFセル130のクロック入力端子までの配線)の配線長が規格値よりも大きいと判断されたとする。この場合、図2のステップS24において、ネット206及びネット224の配線レイアウトが変更される。例えば、ネット206及びネット224にバッファセルを挿入してもよい。図8に、ネット206及びネット224にバッファセルが挿入された後の回路を示す。バッファセル106の出力端子とFFセル112のクロック入力端子の間にバッファセル134が挿入され、ネット206とネット234に分割されている。また、バッファセル124の出力端子とFFセル130のクロック入力端子の間にバッファセル136が挿入され、ネット224とネット236に分割されている。
Next, in step S22 of FIG. 2, the wiring length of the net 206 (the wiring from the output terminal of the
図9は、図2のステップS24の処理が終了した後のレイアウトの一例を示す図である。すなわち、図8で説明したようにバッファセル134及び136が挿入され、それぞれFFセル112及び130の左側に隣接して配置されている。また、バッファセル134及び136の各出力端子とFFセル112のクロック入力端子及び130のクロック入力端子をそれぞれ接続するネット234及び236の配線が行われている。さらに、ネット206はバッファセル106の出力端子、バッファセル134の入力端子及びFFセル108のクロック入力端子を接続するように配線が変更されている。同様に、ネット224はバッファセル124の出力端子、バッファセル136の入力端子及びFFセル126のクロック入力端子を接続するように配線が変更されている。その結果、ネット206及び224の配線長は規格値以下となっている。また、新たに挿入されたネット234及び236の配線長も規格値以下となっている。すなわち、図9のレイアウトでは優先配線したすべてのネットの配線長が規格値以下となっている。
FIG. 9 is a diagram showing an example of the layout after the process of step S24 of FIG. 2 is completed. That is, as described in FIG. 8, the
図10は、図2のステップS26の処理が終了した後(すべての処理が終了した後)のレイアウトの一例を示す図である。図2のステップS12において抽出されなかったネット、すなわち、クロック信号CLK1及び非同期リセット信号RST1のいずれの伝搬経路上にも存在しないネット208、210、212、218、220、226、228、230が配線されている。
FIG. 10 is a diagram illustrating an example of the layout after the process of step S26 of FIG. 2 is completed (after all processes are completed). The nets not extracted in step S12 in FIG. 2, that is, the
本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、優先配線された所定のネットの配線長に着目し、複雑な遅延計算を行うことなく、配線長が所定の規格値よりも大きいネットの配線レイアウトを変更する。従って、すべてのセル及びネットの配置配線が終了する前に、所定のネットについては優先的に短い配線にすることができる。その結果、クロック信号や非同期リセット信号等のクリティカルな信号の伝搬経路上に存在するネットを所定のネットとして指定しておけば、クリティカルな信号が他の信号の影響を受けにくくすることができる。また、クリティカルな信号の伝搬経路上に存在するネットの配線が優先的に行われるので、配線長が規格値よりも大きい場合でも配線レイアウトの変更が比較的容易である。また、クリティカルな信号の伝搬経路上に存在するネットの配線が短くなるので、クリティカルな信号の周辺を配線禁止領域にしたりシールド配線を行っても配線領域の増加が少なくて済む。さらに、クリティカルな信号の伝搬経路上に存在するネットの配線が短ければ不具合が起こりにくく、仮にタイミング検証における制約条件の設定漏れがあっても問題ない。従って、本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、信頼性の高い半導体集積回路装置を短期間で提供することができる。 According to the design method (design support program) of the semiconductor integrated circuit device of this embodiment, paying attention to the wiring length of a predetermined net that is preferentially wired, the wiring length is a predetermined standard value without performing complicated delay calculation. Change the wiring layout for larger nets. Therefore, before all the cells and nets are placed and routed, a predetermined net can be preferentially shortened. As a result, if a net existing on the propagation path of a critical signal such as a clock signal or an asynchronous reset signal is designated as a predetermined net, the critical signal can be made less susceptible to the influence of other signals. Further, since the net wiring existing on the propagation path of the critical signal is preferentially performed, it is relatively easy to change the wiring layout even when the wiring length is larger than the standard value. In addition, since the net wiring existing on the critical signal propagation path is shortened, the increase in the wiring area can be reduced even if the periphery of the critical signal is made a wiring prohibited area or shield wiring is performed. Further, if the net wiring existing on the propagation path of the critical signal is short, the trouble is unlikely to occur, and there is no problem even if the constraint condition in the timing verification is omitted. Therefore, according to the semiconductor integrated circuit device design method (design support program) of this embodiment, a highly reliable semiconductor integrated circuit device can be provided in a short period of time.
また、本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、指定した信号の伝搬経路上に存在するセル及びネットを自動的に抽出し、当該ネットが接続されているセルを優先配置するのでこれらのセルは近くに配置されやすく、当該ネットについて配線長が規格値以下となるように優先配線するので、当該ネットの配線をより適切に短くすることができる。 Also, according to the semiconductor integrated circuit device design method (design support program) of the present embodiment, cells and nets existing on the designated signal propagation path are automatically extracted and the cells connected to the net are connected. Since these cells are easily placed close to each other and are preferentially wired so that the wiring length of the net is equal to or less than the standard value, the wiring of the net can be shortened more appropriately.
2.2 第2の実施例
図11は、本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例を説明するためのフローチャートである。以下、図11のフローチャートについて説明する。
2.2 Second Example FIG. 11 is a flowchart for explaining a second example of the design method (processing procedure of the design support program) of the semiconductor integrated circuit device according to the present embodiment. Hereinafter, the flowchart of FIG. 11 will be described.
まず、所定の信号を指定する(ステップS30)。 First, a predetermined signal is designated (step S30).
次に、ステップS30で指定した所定の信号の伝搬経路上に存在するセル及びネットを抽出する(ステップS32)。 Next, cells and nets existing on the predetermined signal propagation path specified in step S30 are extracted (step S32).
次に、ステップS32で抽出したN個のネットに優先順位を設定する(ステップS33)。すなわち、N個のネットの各々に対して、ステップS34及びステップS38〜S44の処理を行う順番を規定する優先順位を設定する。ここで、N個のネットの各々に対してそれぞれ1番目からN番目の優先順位を設定してもよいし、複数のネットに同じ優先順位を設定してもよい。 Next, priorities are set for the N nets extracted in step S32 (step S33). That is, for each of the N nets, a priority order that defines the order in which the processes of steps S34 and S38 to S44 are performed is set. Here, the first to Nth priorities may be set for each of the N nets, or the same priority may be set for a plurality of nets.
次に、ステップS33で設定した優先順位に従い、k番目(1≦k≦N)の優先順位が設定されたネットに接続されたセル(ステップS32で抽出したセルに含まれる)を配置する(ステップS34)。すなわち、k番目の優先順位が設定されたネットに接続されたセルをk+1番目以降の優先順位が設定されたネットに接続されたセル及びその他のセル(ステップS30で指定した信号の伝搬経路上に存在しないセル)よりも優先して配置する。最初は、1番目の優先順位(最も高い優先順位)が設定されたネットに接続されたセルを配置する。 Next, according to the priority set in step S33, cells connected to the net with the kth (1 ≦ k ≦ N) priority set (included in the cell extracted in step S32) are arranged (step S32). S34). That is, a cell connected to a net set with the kth priority is set as a cell connected to a net set with a priority after k + 1 and other cells (on the signal propagation path specified in step S30). Arrange them with higher priority than non-existing cells. First, a cell connected to the net in which the first priority (the highest priority) is set is arranged.
次に、ステップS32で抽出したN個のネットに接続されたすべてのセル(ステップS30で指定した信号の伝搬経路上に存在するすべてのセル)についてステップS34の処理が終了したか否かを判断する(ステップS35)。 Next, it is determined whether or not the processing in step S34 has been completed for all cells connected to the N nets extracted in step S32 (all cells existing on the signal propagation path specified in step S30). (Step S35).
ステップS32で抽出したN個のネットに接続されたいずれかのセルについてステップS34の処理が終了していない場合(ステップS35でNoの場合)は、優先順位が次に高いネット(k+1番目の優先順位が設定されたネット)に接続されたセルについてステップS34の処理を行う。 If the process of step S34 has not been completed for any cell connected to the N nets extracted in step S32 (No in step S35), the next highest priority net (k + 1) The process of step S34 is performed for the cells connected to the nets for which the order is set.
次に、ステップS32で抽出したN個のネットに接続されたすべてのセル(ステップS30で指定した信号の伝搬経路上に存在するすべてのセル)についてステップS34の処理が終了した場合(ステップS35でYesの場合)は、他のセル(ステップS30で指定した信号の伝搬経路上に存在しないセル)を配置する(ステップS36)。 Next, when the processing in step S34 is completed for all cells connected to the N nets extracted in step S32 (all cells existing on the signal propagation path specified in step S30) (in step S35). In the case of Yes, other cells (cells that do not exist on the signal propagation path specified in step S30) are arranged (step S36).
次に、ステップS33で設定した優先順位に従い、k番目の優先順位が設定されたネットを配線する(ステップS38)。すなわち、k番目の優先順位が設定されたネットをk+1番目以降の優先順位が設定されたネット及びその他のネット(ステップS30で指定した信号の伝搬経路上に存在しないネット)よりも優先して配線する。最初は、1番目の優先順位(最も高い優先順位)が設定されたネットを配線する。 Next, according to the priority order set in step S33, the net having the kth priority order set is wired (step S38). That is, the kth priority order net is prioritized over the k + 1st and subsequent priority nets and other nets (nets that do not exist on the signal propagation path specified in step S30). To do. First, a net having the first priority (the highest priority) is wired.
次に、ステップS38で配線したネット(すなわち、k番目の優先順位が設定されたネット)の配線長を計算する(ステップS40)。 Next, the wiring length of the net wired in step S38 (that is, the net with the kth priority set) is calculated (step S40).
次に、ステップS38で配線したネット(すなわち、k番目の優先順位が設定されたネット)について、ステップS40で計算した配線長についてあらかじめ設定された規格値よりも大きいか否かを判断する(ステップS42)。ここで、ステップS32で抽出したN個のネットに対して同一の規格値が設定されていてもよいし、信号毎に異なる規格値が設定されていてもよい。 Next, it is determined whether or not the net wired in step S38 (that is, the net for which the kth priority order is set) is larger than the preset standard value for the wiring length calculated in step S40 (step S40). S42). Here, the same standard value may be set for the N nets extracted in step S32, or a different standard value may be set for each signal.
k番目の優先順位が設定されたネットの配線長が規格値よりも大きいと判断した場合(ステップS42でYesの場合)、配線長が規格値よりも大きいネットの配線レイアウトを変更し(ステップS44)、変更後の配線レイアウトに対して再び配線長が規格値よりも大きいか否かを判断する(ステップS42)。 When it is determined that the wiring length of the net for which the k-th priority is set is larger than the standard value (Yes in step S42), the wiring layout of the net whose wiring length is larger than the standard value is changed (step S44). Then, it is determined again whether or not the wiring length is larger than the standard value with respect to the changed wiring layout (step S42).
k番目の優先順位が設定されたネットの配線長が規格値以下であると判断した場合(ステップS42でNoの場合)は、ステップS32で抽出したN個のネット(ステップS30で指定した信号の伝搬経路上に存在するすべてのネット)についてステップS38〜S44の処理が終了したか否かを判断する(ステップS45)。 If it is determined that the wiring length of the net with the kth priority set is equal to or less than the standard value (No in step S42), the N nets extracted in step S32 (the signal specified in step S30). It is determined whether or not the processing of steps S38 to S44 has been completed for all nets present on the propagation path (step S45).
ステップS32で抽出したN個の信号のいずれかについてステップS38〜S44の処理が終了していない場合(ステップS45でNoの場合)は、優先順位が次に高いネット(k+1番目の優先順位が設定されたネット)についてステップS38〜S44の処理を行う。 If the process of steps S38 to S44 has not been completed for any of the N signals extracted in step S32 (No in step S45), the net with the next highest priority (k + 1st priority is set). Steps S38 to S44 are performed on the net).
最後に、ステップS32で抽出したN個の信号のすべてについてステップS38〜S44の処理が終了した場合(ステップS45でYesの場合)は、他のネット(ステップS30で指定した信号のいずれの伝搬経路上にも存在しないネット)を配線する(ステップS46)。 Finally, when the processing of steps S38 to S44 is completed for all the N signals extracted in step S32 (Yes in step S45), any propagation path of the signal specified in step S30 is selected. A net that does not exist also is wired (step S46).
図12〜図17は、本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例における処理をより具体的に説明するための図である。以下では、図3で説明した配置配線対象回路100に対して第2の実施例を適用して配置配線を行う場合を例にとり説明する。
FIGS. 12 to 17 are diagrams for more specifically explaining the processing in the second example of the semiconductor integrated circuit device design method (processing procedure of the design support program) of the present embodiment. In the following, a description will be given by taking as an example a case where placement and routing is performed by applying the second embodiment to the placement and
まず、図11のステップS30において、クロック信号CLK1及び非同期リセット信号RST1を指定する。そうすると、図11のステップS32の処理において、クロック信号CLK1又は非同期リセット信号RST1の伝搬経路上に存在するセルとしてバッファセル102、ANDセル104、バッファセル106、FFセル108、FFセル112、バッファセル114、インバータセル116、ANDセル122、バッファセル124、FFセル126、FFセル130、インバータセル132が抽出される。また、クロック信号CLK1又は非同期リセット信号RST1の伝搬経路上に存在するネットとしてネット202、204、206、214、216、222、224、232が抽出される。そして、図11のステップS33において、ステップS32で抽出した8個のネット202、204、206、214、216、222、224、232に優先順位が設定される。ここで、8個のネットに1番目から8番目までの優先順位をそれぞれ設定してもよいし、いくつかのネットについて同じ優先順位を設定してもよい。例えば、クロック信号CLK1又は非同期リセット信号RST1のそれぞれの信号伝播経路上のネット間では配線順序を問わないが、クロック信号CLK1の信号伝播経路上のネット202、204、206、222、224を非同期リセット信号RST1の伝搬経路上のネット214、216、232よりも先に配線したい場合には、ネット202、204、206、222、224に第1の優先順位を設定し、ネット214、216、232に第2の優先順位を設定を設定するようにしてもよい。
First, in step S30 in FIG. 11, the clock signal CLK1 and the asynchronous reset signal RST1 are designated. Then, in the process of step S32 in FIG. 11, the
図12は、第1の優先順位が設定されたネットについて図11のステップS34の処理が終了した後のレイアウトの一例を示す図である。図11のステップS33において第1の優先順位が設定されたネット、すなわち、クロック信号CLK1の伝搬経路上に存在するネット202、204、206、222、224に接続されたバッファセル102、ANDセル104、バッファセル106、FFセル108、FFセル112、ANDセル122、バッファセル124、FFセル126、FFセル130が優先配置されている。
FIG. 12 is a diagram showing an example of the layout after the process of step S34 in FIG. 11 is completed for the net for which the first priority is set. The
図13は、第2の優先順位が設定されたネットについて図11のステップS34の処理が終了した後のレイアウトの一例を示す図である。図11のステップS33において第2の優先順位が設定されたネット、すなわち、非同期リセット信号RST1の伝搬経路上に存在するネット214、216、232に接続されたバッファセル114、インバータセル116、インバータセル132が配置されている。なお、FFセル108、112、126、130もネット216、232に接続されているが、図12で説明したように第1の優先順位が設定されたネットについての図11のステップS34の処理においてFFセル108、112、126、130はすでに配置されているので配置し直す必要はない。
FIG. 13 is a diagram showing an example of the layout after the process of step S34 of FIG. 11 is completed for the net for which the second priority order is set. The net set with the second priority in step S33 of FIG. 11, that is, the
図14は、第1の優先順位が設定されたネットについて図11のステップS38の処理が終了した後のレイアウトの一例を示す図である。まず、図11のステップS36において、他のセル、すなわち、クロック信号CLK1及び非同期リセット信号RST1のいずれの伝搬経路上にも存在しないANDセル110、インバータセル118、インバータセル120、ORセル128が配置された後、図11のステップS38において、第1の優先順位が設定されたネット202、204、206、222、224が優先配線されている。そして、図11のステップS40において、ネット202、204、206、222、224の配線長が計算される。
FIG. 14 is a diagram showing an example of the layout after the process of step S38 in FIG. 11 is completed for the net with the first priority set. First, in step S36 of FIG. 11, the other cells, that is, the AND
次に、図11のステップS42において、ネット206(バッファセル106の出力端子からFFセル112のクロック入力端子までの配線)の配線長及びネット224(バッファセル124の出力端子からFFセル130のクロック入力端子までの配線)の配線長が規格値よりも大きいと判断されたとする。この場合、図11のステップS44において、ネット206及びネット224の配線レイアウトが変更される。例えば、バッファセル106の出力端子とFFセル112のクロック入力端子の距離が短くなるようにFFセル112を移動(配置を変更)した後にネット206を再配線させてもよい。同様に、バッファセル124の出力端子とFFセル130のクロック入力端子の距離が短くなるようにFFセル130を移動(配置を変更)した後にネット224を再配線させてもよい。
Next, in step S42 of FIG. 11, the wiring length of the net 206 (wiring from the output terminal of the
図15は、第1の優先順位が設定されたネットについて図11のステップS44の処理が終了した後のレイアウトの一例を示す図である。バッファセル106の出力端子とFFセル112のクロック入力端子の距離が短くなるようにFFセル112の配置が変更されている。また、バッファセル106の出力端子とFFセル112のクロック入力端子を接続するネット206が再配線されている。同様に、バッファセル124の出力端子とFFセル130のクロック入力端子の距離が短くなるようにFFセル130の配置が変更され、バッファセル124の出力端子とFFセル130のクロック入力端子を接続するネット224が再配線されている。その結果、ネット206及び224の配線長は規格値以下となり、図15のレイアウトでは第1の優先順位が設定されたすべてのネットの配線長が規格値以下となっている。このように、クロック信号CLK1の伝搬経路における終端のセルであるFFセル112及び130の配置を変更すれば、バッファ等を挿入することなくネット206及び224の配線長を規格値以下にすることができるので、チップサイズの増大を抑制することができる。
FIG. 15 is a diagram showing an example of the layout after the process of step S44 of FIG. 11 is completed for the net for which the first priority is set. The arrangement of the
図16は、第2の優先順位が設定されたネットについて図11のステップS44の処理が終了した後のレイアウトの一例を示す図である。まず、図11のステップS38において第2の優先順位が設定されたネット214、216、232が優先配線され、図11のステップS40においてネット214、216、232の配線長が計算される。次に、図11のステップS42において、例えば、ネット214、216、232の配線長が規格値以下であると判断されると、ネット214、216、232については配線レイアウトを変更する必要はないので、図11のステップS44の処理は行われない。
FIG. 16 is a diagram showing an example of the layout after the process of step S44 of FIG. 11 is completed for the net for which the second priority is set. First, the
図17は、図11のステップS46の処理が終了した後(すべての処理が終了した後)のレイアウトの一例を示す図である。図11のステップS32において抽出されなかったネット、すなわち、クロック信号CLK1及び非同期リセット信号RST1のいずれの伝搬経路上にも存在しないネット208、210、212、218、220、226、228、230が配線されている。
FIG. 17 is a diagram illustrating an example of a layout after the process of step S46 of FIG. 11 is completed (after all processes are completed). The nets not extracted in step S32 in FIG. 11, that is, the
本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、指定した信号の伝搬経路上に存在するネットのうち、優先順位がより高いネットに接続されているセルをより優先的に配置し、優先順位に従って当該ネットの配線及び配線レイアウト変更を行うので、優先順位がより高いネットの配線ほどより適切に短くすることができる。例えば、クリティカルな信号が複数ある場合には、他の信号の影響をより受けやすい信号の伝搬経路上に存在するネットほど優先順位を高く設定し、配線及び配線レイアウト変更を優先的に行うことができる。また、クリティカルな信号の伝搬経路上に存在するネットの中でも、小さい規格値が設定されているネットやファンアウト数が多いネット(分岐の数が多いネット)ほど高い優先順位を設定しておくことにより、これらのネットの配線及び配線レイアウト変更を優先的に行うことができる。 According to the semiconductor integrated circuit device design method (design support program) of the present embodiment, among the nets existing on the designated signal propagation path, the cells connected to the higher priority net are more preferential. Since the net wiring and the wiring layout are changed according to the priority order, the net wiring having a higher priority order can be shortened more appropriately. For example, when there are a plurality of critical signals, a higher priority is set for a net existing on a signal propagation path that is more easily influenced by other signals, and wiring and wiring layout change can be performed with priority. it can. Also, among the nets that exist on the propagation path of critical signals, set a higher priority for nets with a small standard value or with a large number of fanouts (nets with a large number of branches). Thus, the wiring and wiring layout of these nets can be preferentially changed.
2.3 第3の実施例
図18は、本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第3の実施例を説明するためのフローチャートである。以下、図18のフローチャートについて説明する。
2.3 Third Example FIG. 18 is a flowchart for explaining a third example of the semiconductor integrated circuit device design method (processing procedure of the design support program) according to the present embodiment. Hereinafter, the flowchart of FIG. 18 will be described.
まず、所定の信号を指定する(ステップS50)。 First, a predetermined signal is designated (step S50).
次に、ステップS50で指定した所定の信号の伝搬経路上に存在するセル及びネットを抽出する(ステップS52)。 Next, the cells and nets existing on the predetermined signal propagation path designated in step S50 are extracted (step S52).
次に、ステップS52で抽出した各セルを配置する(ステップS54)。すなわち、ステップS52で抽出した各セルを他のセル(ステップS50で指定した所定の信号の伝搬経路上に存在しないセル)よりも優先して配置する。 Next, each cell extracted in step S52 is arranged (step S54). That is, each cell extracted in step S52 is arranged with priority over other cells (cells not existing on the predetermined signal propagation path specified in step S50).
次に、ステップS52で抽出した各ネットを配線する(ステップS58)。すなわち、ステップS52で抽出した各ネットを他のネット(ステップS50で指定した所定の信号の伝搬経路上に存在しないネット)よりも優先して配線する。 Next, each net extracted in step S52 is wired (step S58). That is, each net extracted in step S52 is wired with priority over other nets (nets not existing on the predetermined signal propagation path specified in step S50).
次に、ステップS52で抽出した各ネット(すなわち、ステップS58で優先配線した各ネット)の配線長を計算する(ステップS60)。 Next, the wiring length of each net extracted in step S52 (that is, each net preferentially wired in step S58) is calculated (step S60).
次に、ステップS52で抽出した各ネット(すなわち、ステップS58で優先配線した各ネット)のうち、ステップS60で計算した配線長についてあらかじめ設定された規格値よりも大きいネットが存在するか否かを判断する(ステップS62)。 Next, among the nets extracted in step S52 (that is, the nets preferentially wired in step S58), it is determined whether or not there is a net larger than the standard value preset for the wiring length calculated in step S60. Judgment is made (step S62).
ステップS62で規格値よりも大きい配線長のネットが存在すると判断した場合(ステップS62でYesの場合)、規格値よりも大きい配線長のネットの配線レイアウトを変更し(ステップS64)、変更後の配線レイアウトに対して再び規格値よりも大きい配線長のネットが存在するか否かを判断する(ステップS62)。 If it is determined in step S62 that there is a net having a wiring length larger than the standard value (Yes in step S62), the wiring layout of the net having a wiring length larger than the standard value is changed (step S64). It is determined again whether a net having a wiring length larger than the standard value exists for the wiring layout (step S62).
次に、ステップS62で規格値よりも大きい配線長のネットが存在しないと判断した場合(ステップS62でNoの場合)は、他のセル(ステップS50で指定した所定の信号の伝搬経路上に存在しないセル)を配置する(ステップS65)。 Next, when it is determined in step S62 that there is no net having a wiring length larger than the standard value (No in step S62), it exists on the propagation path of the predetermined signal designated in step S50. Cells not to be arranged) (step S65).
最後に、他のネット(ステップS50で指定した所定の信号の伝搬経路上に存在しないネット)を配線する(ステップS66)。 Finally, another net (net that does not exist on the propagation path of the predetermined signal designated in step S50) is wired (step S66).
なお、図2で説明した第1の実施例ではステップS16において他のセルを配置した後に(すなわち、すべてのセルの配置が終了した後に)ステップS18において優先配線を行うのに対し、第3の実施例ではステップS50〜S64の処理において所定のネットに対して優先的に配置配線を行った後に、他のセルの配置配線を行う点において相違するのみである。すなわち、図3で説明した配置配線対象回路100に対して図4〜図10で具体的に説明した第1の実施例によるレイアウトについても、ANDセル110、インバータセル118、インバータセル120、ORセル128を配置するタイミングを除いて第1の実施例と同様であり、第3の実施例の具体的な説明については省略する。
In the first embodiment described with reference to FIG. 2, priority wiring is performed in step S18 after other cells are arranged in step S16 (that is, after arrangement of all cells is completed), whereas In the embodiment, the only difference is that the placement and routing of other cells is performed after the placement and routing is preferentially performed on a predetermined net in the processing of steps S50 to S64. That is, the AND
本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、指定した信号の伝搬経路上に存在するネットに接続されているセルの配置、当該ネットの配線及び配線レイアウトの変更を行った後に、他のネットに接続されているセルの配置及び当該他のネットの配線を行う。すなわち、指定した信号の伝搬経路上に存在するネットの配線レイアウトを変更する際に他のネットに接続されているセルが配置されていないので、配線レイアウト変更の自由度が向上する。従って、指定した信号の伝搬経路上に存在するネットの配線をより適切に短くすることができる。 According to the design method (design support program) of the semiconductor integrated circuit device of this embodiment, the arrangement of cells connected to the net existing on the designated signal propagation path, the wiring of the net, and the change of the wiring layout are changed. After performing, the arrangement of cells connected to other nets and the wiring of the other nets are performed. That is, when the wiring layout of the net existing on the designated signal propagation path is changed, the cells connected to other nets are not arranged, so that the degree of freedom in changing the wiring layout is improved. Accordingly, the wiring of the net existing on the designated signal propagation path can be shortened more appropriately.
2.4 第4の実施例
図19は、本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第4の実施例を説明するためのフローチャートである。以下、図19のフローチャートについて説明する。
2.4 Fourth Example FIG. 19 is a flowchart for explaining a fourth example of the semiconductor integrated circuit device design method (processing procedure of the design support program) of this embodiment. Hereinafter, the flowchart of FIG. 19 will be described.
まず、所定の信号を指定する(ステップS70)。 First, a predetermined signal is designated (step S70).
次に、配置配線の対象となる回路に含まれるセルをM個(M≧2)のグループ(セルグループ)に分割し、M個のセルグループに優先順位を設定する。すなわち、M個のセルグループの各々に対して、ステップS72〜S86の処理を行う順番を規定する優先順位を設定する(ステップS71)。ここで、M個のセルグループの各々に対して、それぞれ1番目からM番目の優先順位を設定してもよいし、複数のセルグループに同じ優先順位を設定してもよい。 Next, the cells included in the circuit to be placed and routed are divided into M (M ≧ 2) groups (cell groups), and priorities are set for the M cell groups. That is, a priority order that defines the order in which the processes of steps S72 to S86 are performed is set for each of the M cell groups (step S71). Here, the first to Mth priorities may be set for each of the M cell groups, or the same priority may be set for a plurality of cell groups.
次に、ステップS71で設定した優先順位に従い、j番目(1≦j≦M)の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在するセル及び当該セルに接続されているネットを抽出する(ステップS72)。 Next, according to the priority set in step S71, it belongs to the cell group in which the j-th (1 ≦ j ≦ M) priority is set, and exists on the propagation path of the predetermined signal specified in step S70. A cell and a net connected to the cell are extracted (step S72).
次に、ステップS72で抽出した各セル(j番目の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在するセル)を配置する(ステップS74)。すなわち、j番目の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在するセルを、j番目の優先順位が設定されたセルグループに属する他のセル、j+1番目以降の優先順位が設定されたセルグループに属するセルよりも優先して配置する。 Next, each cell extracted in step S72 (a cell belonging to the cell group to which the j-th priority is set and existing on the predetermined signal propagation path specified in step S70) is arranged (step S74). ). That is, a cell that belongs to the cell group to which the jth priority is set and that is on the propagation path of the predetermined signal specified in step S70 is included in the cell group to which the jth priority is set. The cells are arranged with priority over the cells belonging to the cell group in which the priority order of j + 1 and subsequent cells is set.
次に、j番目の優先順位が設定されたセルグループに属する他のセル(j番目の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在しないセル)を配置する(ステップS76)。 Next, other cells belonging to the cell group to which the j-th priority is set (belonging to the cell group to which the j-th priority is set and exist on the propagation path of the predetermined signal specified in step S70 Cells not to be arranged) (step S76).
次に、ステップS71で設定した優先順位に従い、ステップS72で抽出した各ネット(j番目の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在するセルに接続されるネット)を配線する(ステップS78)。すなわち、j番目の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在するセルに接続されるネットを、j番目の優先順位が設定されたセルグループに属する他のセルに接続されるネット、j+1番目以降の優先順位が設定されたセルグループに属するセルに接続されるネットよりも優先して配線する。 Next, according to the priority set in step S71, each net extracted in step S72 (belongs to the cell group in which the jth priority is set and exists on the predetermined signal propagation path specified in step S70) The net connected to the cell to be connected is wired (step S78). In other words, a net connected to a cell that belongs to the cell group to which the j th priority is set and that is on the propagation path of the predetermined signal specified in step S70 is set to the j th priority. Wiring is prioritized over nets connected to other cells belonging to the cell group and nets connected to cells belonging to the cell group to which the priority order after j + 1 is set.
次に、ステップS72で抽出した各ネット(すなわち、ステップS78で優先配線したj番目の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在するセルに接続されるネット)の配線長を計算する(ステップS80)。 Next, each net extracted in step S72 (that is, belongs to the cell group in which the j-th priority order preferentially wired in step S78 is set) and exists on the predetermined signal propagation path designated in step S70. The wiring length of the net connected to the cell is calculated (step S80).
次に、ステップS72で抽出した各ネット(すなわち、ステップS78で優先配線したj番目の優先順位が設定されたセルグループに属し、かつ、ステップS70で指定した所定の信号の伝搬経路上に存在するセルに接続されるネット)のうち、ステップS80で計算した配線長についてあらかじめ設定された規格値よりも大きいネットが存在するか否かを判断する(ステップS82)。 Next, each net extracted in step S72 (that is, belongs to the cell group in which the j-th priority order preferentially wired in step S78 is set) and exists on the predetermined signal propagation path designated in step S70. It is determined whether or not there is a net larger than the preset standard value for the wiring length calculated in step S80 among the nets connected to the cell (step S82).
ステップS82で規格値よりも大きい配線長のネットが存在すると判断した場合(ステップS82でYesの場合)、規格値よりも大きい配線長のネットの配線レイアウトを変更し(ステップS84)、変更後の配線レイアウトに対して再び規格値よりも大きい配線長のネットが存在するか否かを判断する(ステップS82)。 If it is determined in step S82 that a net having a wiring length larger than the standard value exists (Yes in step S82), the wiring layout of the net having a wiring length larger than the standard value is changed (step S84). It is determined again whether or not there is a net having a wiring length larger than the standard value for the wiring layout (step S82).
次に、ステップS82で規格値よりも大きい配線長のネットが存在しないと判断した場合(ステップS82でNoの場合)は、j番目の優先順位が設定されたセルグループに属する他のセルに接続されるネットを配線する(ステップS86)。 Next, when it is determined in step S82 that there is no net having a wiring length larger than the standard value (No in step S82), connection is made to another cell belonging to the cell group to which the j-th priority is set. The net to be connected is wired (step S86).
最後に、ステップS71で優先順位を設定したM個のセルグループのすべてについてステップS72〜S86の処理が終了したか否かを判断する(ステップS88)。 Finally, it is determined whether or not the processing in steps S72 to S86 has been completed for all of the M cell groups for which priority has been set in step S71 (step S88).
ステップS71で優先順位を設定したM個のセルグループのいずれかについてステップS72〜S86の処理が終了していない場合(ステップS88でNoの場合)は、優先順位が次に高いセルグループ(j+1番目の優先順位が設定されたセルグループ)についてステップS72〜S86の処理を行う。 If the process of steps S72 to S86 has not been completed for any of the M cell groups for which priority is set in step S71 (No in step S88), the cell group with the next highest priority (j + 1) The processing of steps S72 to S86 is performed for the cell group in which the priority order is set.
ステップS71で優先順位を設定したM個のセルグループのすべてについてステップS72〜S86の処理が終了した場合(ステップS88でYesの場合)は、処理を終了する。 When the processes in steps S72 to S86 have been completed for all of the M cell groups for which priority has been set in step S71 (Yes in step S88), the process ends.
なお、図3で説明した配置配線対象回路100に含まれるセルを第1のセルグループとし、配置配線の対象となるその他の回路(図示しない)に含まれるセルを第2のセルグループとすれば、図19のステップS71において第1のセルグループに第1の優先順位が設定された場合における第1のセルグループについてのレイアウトは図3〜図10で第1の実施例について説明したレイアウトと全く同様であるので、第4の実施例の具体的な説明については省略する。
Note that the cells included in the placement and
本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、セルを複数のグループに分割して優先順位を設定し、優先順位に従ってグループ単位で配置配線を行う。さらに、1つのグループに含まれるセルのうち、指定した信号の伝搬経路上のネットに接続されているセルの配置及び当該ネットの配線を優先的に行う。従って、優先順位がより高いグループに属するセルに接続され、かつ、指定した信号の伝搬経路上に存在するネットほど適切に短くすることができる。 According to the semiconductor integrated circuit device design method (design support program) of this embodiment, cells are divided into a plurality of groups, priorities are set, and placement and routing are performed in units of groups according to the priorities. Further, among the cells included in one group, the arrangement of the cells connected to the net on the designated signal propagation path and the wiring of the net are preferentially performed. Therefore, a net connected to a cell belonging to a higher priority group and existing on a designated signal propagation path can be appropriately shortened.
3.半導体集積回路装置
図20は、本実施の形態の半導体集積回路装置のブロック図の一例である。
3. Semiconductor Integrated Circuit Device FIG. 20 is an example of a block diagram of the semiconductor integrated circuit device of this embodiment.
マイクロコンピュータ(半導体集積回路装置)700は、CPU510、キャッシュメモリ520、ROM710、RAM720、MMU730、LCDコントローラ530、リセット回路540、プログラマブルタイマ550、リアルタイムクロック(RTC)560、DMAコントローラ570、割り込みコントローラ580、通信制御回路590、バスコントローラ600、A/D変換器610、D/A変換器620、入力ポート630、出力ポート640、I/Oポート650、クロック発生装置660、プリスケーラ670、クロック停止制御回路740及びそれらを接続する汎用バス680、専用バス750等、各種ピン690等を含む。
A microcomputer (semiconductor integrated circuit device) 700 includes a
マイクロコンピュータ700は、本実施の形態の設計支援プログラム、設計支援システム又は設計方法を用いて設計製造された半導体集積回路装置である。 The microcomputer 700 is a semiconductor integrated circuit device designed and manufactured using the design support program, the design support system, or the design method of this embodiment.
4.電子機器
図21に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器800は、マイクロコンピュータ(半導体集積回路装置)810、入力部820、メモリ830、電源生成部840、LCD850、音出力部860を含む。
4). Electronic Device FIG. 21 shows an example of a block diagram of the electronic device of this embodiment. The electronic apparatus 800 includes a microcomputer (semiconductor integrated circuit device) 810, an
ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。
Here, the
音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
The
図22(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。
FIG. 22A illustrates an example of an external view of a
図22(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。
FIG. 22B illustrates an example of an external view of a
図22(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。
FIG. 22C illustrates an example of an external view of a
本実施の形態の半導体集積回路装置を図22(A)〜図22(C)の電子機器に組み込むことにより、信頼性の高い電子機器を短期間で提供することができる。 By incorporating the semiconductor integrated circuit device of this embodiment into the electronic devices in FIGS. 22A to 22C, a highly reliable electronic device can be provided in a short period of time.
なお、本実施形態を利用できる電子機器としては、図22(A)〜図22(C)に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等の種々の電子機器を考えることができる。 Note that electronic devices that can use this embodiment include, in addition to those shown in FIGS. 22A to 22C, portable information terminals, pagers, electronic desk calculators, devices equipped with touch panels, projectors, Various electronic devices such as a word processor, a viewfinder type or a monitor direct-view type video tape recorder, and a car navigation device can be considered.
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。 In addition, this invention is not limited to this embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention.
例えば、図11のフローチャートにおいて、ステップS36の処理(他のセルの配置処理)をステップS45でYesの場合(優先順位を設定した全てのネットの配線処理が終了した後)に行うようにしてもよい。 For example, in the flowchart of FIG. 11, the process of step S36 (an arrangement process of other cells) may be performed in the case of Yes in step S45 (after the wiring process of all nets for which priority is set has been completed). Good.
また、例えば、図4〜図7、図9、図10、図12〜図17においてゲートアレイ設計におけるレイアウトの例を示したが、スタンダードセル設計やエンベディッドアレイ設計においても、本発明を同様に適用することができる。 Further, for example, FIGS. 4 to 7, 9, 10, and 12 to 17 show examples of layouts in the gate array design. However, the present invention is similarly applied to the standard cell design and the embedded array design. can do.
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。 The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations that have the same functions, methods, and results, or configurations that have the same objects and effects). In addition, the invention includes a configuration in which a non-essential part of the configuration described in the embodiment is replaced. In addition, the present invention includes a configuration that exhibits the same operational effects as the configuration described in the embodiment or a configuration that can achieve the same object. Further, the invention includes a configuration in which a known technique is added to the configuration described in the embodiment.
1 設計支援システム、10 処理部、12 セル配置手段、14 ネット配線手段、16 配線レイアウト変更手段、18 ネット抽出手段、20 ネット優先順位設定手段、22 セルグループ優先順位設定手段、30 操作部、40 記憶部、42 ライブラリ情報記憶部、50 情報記憶媒体、60 表示部、70 音出力部、80 通信部、100 配置配線対象回路、102 バッファセル、104 ANDセル、106 バッファセル、108 フリップフロップ(FF)セル、110 ANDセル、112 フリップフロップ(FF)セル、114 バッファセル、116 インバータセル、118 インバータセル、120 インバータセル、122 ANDセル、124 バッファセル、126 フリップフロップ(FF)セル、128 ORセル、130 フリップフロップ(FF)セル、132 インバータセル、134 バッファセル、136 バッファセル、202〜236 ネット、510 CPU、520 キャッシュメモリ、530 LCDコントローラ、540 リセット回路、550 プログラマブルタイマ、560 リアルタイムクロック(RTC)、570 DMAコントローラ、580 割り込みコントローラ、590 通信制御回路、600 バスコントローラ、610 A/D変換器、620 D/A変換器、630 入力ポート、640 出力ポート、650 I/Oポート、660 クロック発生装置、670 プリスケーラ、680 汎用バス、690 各種ピン、700 マイクロコンピュータ(半導体集積回路装置)、710 ROM、720 RAM、730 MMU、740 クロック停止制御回路、750 専用バス、800 電子機器、810 マイクロコンピュータ(半導体集積回路装置)、820 入力部、830 メモリ、840 電源生成部、850 LCD、860 音出力部、950 携帯電話、952 ダイヤルボタン、954 LCD、956 スピーカ、960 携帯型ゲーム装置、962 操作ボタン、964 十字キー、966 LCD、968 スピーカ、970 パーソナルコンピュータ、972 キーボード、974 LCD、976 音出力部 DESCRIPTION OF SYMBOLS 1 Design support system 10 Processing part 12 Cell arrangement | positioning means 14 Net wiring means 16 Wiring layout change means 18 Net extraction means 20 Net priority setting means 22 Cell group priority setting means 30 Operation part 40 Storage unit, 42 Library information storage unit, 50 Information storage medium, 60 Display unit, 70 Sound output unit, 80 Communication unit, 100 Place and route target circuit, 102 Buffer cell, 104 AND cell, 106 Buffer cell, 108 Flip-flop (FF) ) Cell, 110 AND cell, 112 flip-flop (FF) cell, 114 buffer cell, 116 inverter cell, 118 inverter cell, 120 inverter cell, 122 AND cell, 124 buffer cell, 126 flip-flop (FF) cell, 128 O Cell, 130 flip-flop (FF) cell, 132 inverter cell, 134 buffer cell, 136 buffer cell, 202-236 net, 510 CPU, 520 cache memory, 530 LCD controller, 540 reset circuit, 550 programmable timer, 560 real time clock ( RTC), 570 DMA controller, 580 interrupt controller, 590 communication control circuit, 600 bus controller, 610 A / D converter, 620 D / A converter, 630 input port, 640 output port, 650 I / O port, 660 clock Generator, 670 prescaler, 680 general-purpose bus, 690 pins, 700 microcomputer (semiconductor integrated circuit device), 710 ROM, 720 RAM, 73 MMU, 740 clock stop control circuit, 750 dedicated bus, 800 electronic device, 810 microcomputer (semiconductor integrated circuit device), 820 input unit, 830 memory, 840 power generation unit, 850 LCD, 860 sound output unit, 950 mobile phone, 952 Dial button, 954 LCD, 956 speaker, 960 portable game device, 962 operation button, 964 cross key, 966 LCD, 968 speaker, 970 personal computer, 972 keyboard, 974 LCD, 976 sound output unit
Claims (13)
配置配線の対象となる回路に含まれるセルを配置するセル配置手段と、
前記配置配線の対象となる回路に含まれるネットを配線するネット配線手段と、
配線した前記ネットの配線レイアウトを変更する配線レイアウト変更手段としてコンピュータを機能させ、
前記ネット配線手段は、
所定のネットの配線を他のネットの配線よりも優先して行い、
前記配線レイアウト変更手段は、
前記所定のネットの配線長を計算し、配線長が所定の規格値よりも大きい場合には、前記所定のネットの配線レイアウトを変更することを特徴とする半導体集積回路装置の設計支援プログラム。 A design support program for supporting the design of a semiconductor integrated circuit device,
Cell placement means for placing cells included in a circuit to be placed and routed;
Net wiring means for wiring a net included in the circuit to be placed and routed;
The computer functions as a wiring layout changing means for changing the wiring layout of the wired net,
The net wiring means is
Prioritize the wiring of a given net over the wiring of other nets,
The wiring layout changing means is
A design support program for a semiconductor integrated circuit device, wherein the wiring length of the predetermined net is calculated, and when the wiring length is larger than a predetermined standard value, the wiring layout of the predetermined net is changed.
前記ネット配線手段は、
前記所定のネットの配線長が前記規格値以下となるように前記所定のネットの配線を行うことを特徴とする半導体集積回路装置の設計支援プログラム。 In claim 1,
The net wiring means is
A design support program for a semiconductor integrated circuit device, wherein wiring of the predetermined net is performed so that a wiring length of the predetermined net is equal to or less than the standard value.
前記セル配置手段は、
前記所定のネットが接続されているセルの配置を他のセルの配置よりも優先して行うことを特徴とする半導体集積回路装置の設計支援プログラム。 In claim 1 or 2,
The cell placement means includes:
A design support program for a semiconductor integrated circuit device, wherein the arrangement of cells connected to the predetermined net is prioritized over the arrangement of other cells.
複数の前記所定のネットに優先順位を設定するネット優先順位設定手段としてコンピュータを機能させ、
前記ネット配線手段は、
前記優先順位に従い、一の前記所定のネットを配線した後、他の前記所定のネットを配線する処理を繰り返し行い、
前記配線レイアウト変更手段は、
前記優先順位に従い、一の前記所定のネットの配線レイアウトを変更した後、他の前記所定のネットの配線レイアウトを変更する処理を繰り返し行うことを特徴とする半導体集積回路装置の設計支援プログラム。 In any one of Claims 1 thru | or 3,
Causing the computer to function as a net priority setting means for setting a priority to a plurality of the predetermined nets;
The net wiring means is
In accordance with the priority order, after wiring one predetermined net, repeatedly performing the process of wiring another predetermined net,
The wiring layout changing means is
A design support program for a semiconductor integrated circuit device, wherein a process for changing a wiring layout of another predetermined net is repeatedly performed after changing the wiring layout of one predetermined net according to the priority.
前記セル配置手段は、
前記優先順位に従い、一の前記所定のネットに接続されているセルを配置した後、他の前記所定のネットに接続されているセルを配置する処理を繰り返し行うことを特徴とする半導体集積回路装置の設計支援プログラム。 In claim 4,
The cell placement means includes:
A semiconductor integrated circuit device comprising: repeatedly arranging a cell connected to one of the predetermined nets after arranging a cell connected to the one predetermined net according to the priority order Design support program.
前記セル配置手段は、
前記所定のネットに接続されているセルを配置し、前記配線レイアウト変更手段が前記所定のネットの配線レイアウトを変更した後に、他のセルの配置を行い、
前記ネット配線手段は、
前記所定のネットを配線し、前記配線レイアウト変更手段が前記所定のネットの配線レイアウトを変更した後に、他のネットの配線を行うことを特徴とする半導体集積回路装置の設計支援プログラム。 In any one of Claims 1 thru | or 5,
The cell placement means includes:
Arranging cells connected to the predetermined net, after the wiring layout changing means has changed the wiring layout of the predetermined net, to arrange other cells,
The net wiring means is
A design support program for a semiconductor integrated circuit device, wherein the predetermined net is wired, and the wiring layout changing unit performs wiring of another net after the wiring layout of the predetermined net is changed.
配置配線の対象となる回路に含まれるセルを複数のグループに分割し、当該グループに優先順位を設定するセルグループ優先順位設定手段としてコンピュータを機能させ、
前記セル配置手段は、
前記各グループに設定された優先順位に従い、一のグループに属するセルを配置し、前記ネット配線手段が当該グループに属するセルに接続されているネットを配線した後に、他のグループに属するセルを配置する処理を繰り返し行い、
前記ネット配線手段は、
前記各グループに設定された優先順位に従い、一のグループに属するセルに接続されているネットを配線し、前記セル配置手段が他のグループに属するセルを配置した後に、当該他のグループに属するセルに接続されているネットを配線する処理を繰り返し行うことを特徴とする半導体集積回路装置の設計支援プログラム。 In any one of Claims 1 thru | or 6.
Dividing the cells included in the circuit to be placed and routed into a plurality of groups, and causing the computer to function as a cell group priority setting means for setting priorities for the groups,
The cell placement means includes:
According to the priority set for each group, cells belonging to one group are arranged, and after the net wiring means has wired nets connected to cells belonging to the group, cells belonging to other groups are arranged. Repeat the process to
The net wiring means is
In accordance with the priority order set for each group, a net connected to a cell belonging to one group is wired, and after the cell placement unit places a cell belonging to another group, the cell belonging to the other group A design support program for a semiconductor integrated circuit device, characterized by repeatedly performing a process of wiring a net connected to the semiconductor integrated circuit.
前記配線レイアウト変更手段は、
配線長が所定の規格値よりも大きい前記所定のネットが所与の信号の伝搬経路における終端のセルに接続されている場合には、当該終端のセルの配置を変更することを特徴とする半導体集積回路装置の設計支援プログラム。 In any one of Claims 1 thru | or 7,
The wiring layout changing means is
When the predetermined net whose wiring length is larger than a predetermined standard value is connected to a terminal cell in a propagation path of a given signal, the arrangement of the terminal cell is changed. Integrated circuit device design support program.
指定した信号の伝搬経路上に存在するネットを前記所定のネットとして抽出するネット抽出手段としてコンピュータを機能させることを特徴とする半導体集積回路装置の設計支援プログラム。 In any one of Claims 1 thru | or 8.
A design support program for a semiconductor integrated circuit device, which causes a computer to function as a net extracting means for extracting a net existing on a designated signal propagation path as the predetermined net.
配置配線の対象となる回路に含まれるセルを配置するセル配置手段と、
前記配置配線の対象となる回路に含まれるネットを配線するネット配線手段と、
配置配線後のレイアウトに基づいて、前記ネットの配線レイアウトを変更する配線レイアウト変更手段と、を含み、
前記ネット配線手段は、
所定のネットの配線を他のネットの配線よりも優先して行い、
前記配線レイアウト変更手段は、
前記所定のネットの配線長を計算し、配線長が所定の規格値よりも大きい場合には、前記所定のネットの配線レイアウトを変更することを特徴とする半導体集積回路装置の設計支援システム。 A design support system for supporting the design of a semiconductor integrated circuit device,
Cell placement means for placing cells included in a circuit to be placed and routed;
Net wiring means for wiring a net included in the circuit to be placed and routed;
Wiring layout changing means for changing the wiring layout of the net based on the layout after placement and routing,
The net wiring means is
Prioritize the wiring of a given net over the wiring of other nets,
The wiring layout changing means is
A design support system for a semiconductor integrated circuit device, wherein the wiring length of the predetermined net is calculated, and when the wiring length is larger than a predetermined standard value, the wiring layout of the predetermined net is changed.
前記配置配線の対象となる回路に含まれるネットを配線するネット配線ステップと、
配置配線後のレイアウトに基づいて、前記ネットの配線レイアウトを変更する配線レイアウト変更ステップと、を含み、
前記ネット配線ステップにおいて、
所定のネットの配線を他のネットの配線よりも優先して行い、
前記配線レイアウト変更ステップにおいて、
前記所定のネットの配線長を計算し、配線長が所定の規格値よりも大きい場合には、前記所定のネットの配線レイアウトを変更することを特徴とする半導体集積回路装置の設計方法。 A cell placement step for placing cells included in a circuit to be placed and routed;
A net wiring step of wiring a net included in the circuit to be placed and routed;
A wiring layout change step for changing the wiring layout of the net based on the layout after placement and routing, and
In the net wiring step,
Prioritize the wiring of a given net over the wiring of other nets,
In the wiring layout change step,
A method for designing a semiconductor integrated circuit device, comprising: calculating a wiring length of the predetermined net, and changing the wiring layout of the predetermined net when the wiring length is larger than a predetermined standard value.
前記半導体集積回路装置の処理対象となるデータの入力手段と、
前記半導体集積回路装置により処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。 A semiconductor integrated circuit device according to claim 12;
Data input means to be processed by the semiconductor integrated circuit device;
And an output means for outputting data processed by the semiconductor integrated circuit device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262413A JP2009093365A (en) | 2007-10-05 | 2007-10-05 | Program for designing semiconductor integrated circuit device, system for supporting design of semiconductor integrated circuit device, method for designing semiconductor integrated circuit device, semiconductor integrated circuit device, and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262413A JP2009093365A (en) | 2007-10-05 | 2007-10-05 | Program for designing semiconductor integrated circuit device, system for supporting design of semiconductor integrated circuit device, method for designing semiconductor integrated circuit device, semiconductor integrated circuit device, and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009093365A true JP2009093365A (en) | 2009-04-30 |
Family
ID=40665305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007262413A Withdrawn JP2009093365A (en) | 2007-10-05 | 2007-10-05 | Program for designing semiconductor integrated circuit device, system for supporting design of semiconductor integrated circuit device, method for designing semiconductor integrated circuit device, semiconductor integrated circuit device, and electronic equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009093365A (en) |
-
2007
- 2007-10-05 JP JP2007262413A patent/JP2009093365A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162925B2 (en) | Cell layout of semiconductor device | |
JP2006196627A (en) | Semiconductor device and its design program | |
US10713410B2 (en) | Method for legalizing mixed-cell height standard cells of IC | |
JP2004172373A (en) | Crosstalk correction method | |
US11030383B2 (en) | Integrated device and method of forming the same | |
US20120136633A1 (en) | Optimization-based simulated annealing for integrated circuit placement | |
US10031996B2 (en) | Timing based net constraints tagging with zero wire load validation | |
Lin et al. | qGDR: A via-minimization-oriented routing tool for large-scale superconductive single-flux-quantum circuits | |
US9760669B2 (en) | Congestion mitigation by wire ordering | |
US10977415B2 (en) | Integrated device and method of forming the same | |
US8074198B2 (en) | Apparatus and method for circuit layout using longest path and shortest path search elements | |
US20050251776A1 (en) | Integrated circuit design system | |
US8006208B2 (en) | Reducing coupling between wires of an electronic circuit | |
JP2009093365A (en) | Program for designing semiconductor integrated circuit device, system for supporting design of semiconductor integrated circuit device, method for designing semiconductor integrated circuit device, semiconductor integrated circuit device, and electronic equipment | |
JP2009116627A (en) | Design method of integrated circuit device, design support system for the integrated circuit device, design support program of the integrated circuit device, integrated circuit device, and electronic apparatus | |
US10831969B2 (en) | Predicting routability of interconnects | |
US10169511B2 (en) | Method to synthesize a cross bar switch in a highly congested environment | |
KR20210107285A (en) | Method of designing semiconductor device and design system performing the same | |
Xiong et al. | Extended global routing with RLC crosstalk constraints | |
US6728944B2 (en) | Method, system, and computer program product for improving wireability near dense clock nets | |
US11092885B2 (en) | Manufacturing methods of semiconductor devices | |
JP4778339B2 (en) | Automatic placement method, apparatus, and program | |
JP2008152550A (en) | Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment | |
JPH09232436A (en) | Method and apparatus for logic synthesis, and method for designing semiconductor integrated circuit | |
US20200210545A1 (en) | Construction of staging trees on fully hierarchical vlsi circuit designs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101207 |