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 PDF

Info

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
Application number
JP2007262413A
Other languages
Japanese (ja)
Inventor
Shigemi Kobayashi
慈美 小林
Kensuke Torii
賢輔 鳥居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007262413A priority Critical patent/JP2009093365A/en
Publication of JP2009093365A publication Critical patent/JP2009093365A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a design support program that designs a reliable semiconductor integrated circuit device in a short period by modifying routing layouts in an early stage in terms of the routing length of predetermined signals such as critical signals. <P>SOLUTION: The semiconductor integrated circuit device design support program causes a computer to function as a cell placement means 12 for placing cells included in a circuit subject to placement and routing, a net routing means 14 for routing nets included in the circuit subject to placement and routing, and a routing layout modification means 16 for modifying the routing layout of the nets according to the layout after placement and routing. The net routing means 14 routes predetermined nets preferentially over the other nets. The routing layout modification means 16 calculates the routing length of the predetermined nets, and modifies the routing layout of the predetermined nets if the routing length is larger than a predetermined standard value. <P>COPYRIGHT: (C)2009,JPO&INPIT

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のプロセス微細化に伴い集積度が飛躍的に向上した結果、配線密度がますます高くなる傾向がある。配線密度が高くなると配線が隣接する信号間における干渉が大きくなる。そして、論理セルの入力信号の電圧レベルが論理しきい値付近にある時に、隣の信号配線の影響を受けて入力信号の電圧レベルが瞬時的に変化すると論理セルの出力信号に短いパルスが発生する。このような短いパルスがフリップフロップに入力されるクロック信号や非同期リセット信号に発生すると回路が誤動作する可能性がある。そこで、クロック信号や非同期リセット信号等のクリティカルな信号をドライブするセルには駆動能力の比較的大きいセルが使用されるように制約条件を設定して論理合成が行われている。また、配置配線後に、クリティカルな信号に関しては、遷移時間(スルーレート)の許容値を小さく設定してタイミング検証が行われている。
特開2003−186930号公報
In recent years, as the degree of integration has dramatically improved with the miniaturization of LSI processes, the wiring density tends to become higher and higher. As the wiring density increases, interference between signals adjacent to the wiring increases. When the voltage level of the input signal of the logic cell is near the logic threshold value, if the voltage level of the input signal changes instantaneously due to the influence of the adjacent signal wiring, a short pulse is generated in the output signal of the logic cell. To do. When such a short pulse is generated in a clock signal or an asynchronous reset signal input to the flip-flop, the circuit may malfunction. Therefore, logic synthesis is performed by setting a constraint condition so that a cell having a relatively large driving capability is used for a cell that drives a critical signal such as a clock signal or an asynchronous reset signal. Further, after the placement and routing, timing verification is performed for critical signals by setting a small allowable transition time (slew rate).
JP 2003-186930 A

しかし、タイミング検証はすべてのセルの配置配線が終わった後に行われるため、クリティカルな信号のスルーレートにエラーがあるとクリティカルな信号の配線が短くなるように配置配線をやり直す作業に時間を要する場合もある。また、タイミング検証の制約に抜けがあるとクリティカルな信号に関する不具合を見逃し、結果として実機での動作確認ではじめてその不具合を発見するに至る場合もある。一方、クリティカルな信号の両側を配線禁止領域にしたり、クリティカルな信号を電源ラインでガードしたりすることも考えられるが、配線可能領域が減少するため他の配線が困難になり配線作業に時間を要したり、他の配線ができない場合にはチップサイズの増大を招く場合もある。いずれの場合でも、結果としてチップコストが増大する原因となっていた。   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 operation unit 30 is for inputting user operations and the like as data, and the function can be realized by hardware such as a keyboard and a mouse.

記憶部40は、処理部10や通信部80などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。   The storage unit 40 is a work area such as the processing unit 10 or the communication unit 80, and its function can be realized by hardware such as a RAM.

記憶部40は、ライブラリ情報記憶部42を含む。   The storage unit 40 includes a library information storage unit 42.

ライブラリ情報記憶部42は、設計データにより得られたライブラリ情報(論理回路情報、レイアウト情報、接続情報)や、生成されたネットリストの情報等が記憶されている。   The library information storage unit 42 stores library information (logic circuit information, layout information, connection information) obtained from design data, information on the generated netlist, and the like.

情報記憶媒体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 information storage medium 50 stores programs and auxiliary data (additional data) that cause the computer to function as each unit of the present embodiment.

処理部10は、この情報記憶媒体50に格納されるプログラム(設計支援プログラム)や情報記憶媒体50から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体50には、本実施形態の各手段としてコンピュータを機能させるためのプログラム(各手段の処理をコンピュータに実行させるためのプログラム)が記憶される。   The processing unit 10 performs various processes of the present embodiment based on a program (design support program) stored in the information storage medium 50, data read from the information storage medium 50, and the like. That is, the information storage medium 50 stores a program for causing a computer to function as each unit of the present embodiment (a program for causing a computer to execute the process of each unit).

表示部60は、本実施形態により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイなどのハードウェアにより実現できる。   The display unit 60 outputs an image generated according to the present embodiment, and functions thereof are a CRT display, LCD (liquid crystal display), OELD (organic EL display), PDP (plasma display panel), touch panel display. It can be realized by hardware such as.

音出力部70は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。   The sound output unit 70 outputs the sound generated by the present embodiment, and its function can be realized by hardware such as a speaker or headphones.

通信部80は、外部(例えばサーバ装置や他の端末機)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 80 performs various controls for communicating with the outside (for example, a server device or another terminal), and functions thereof include hardware such as various processors or communication ASICs, It can be realized by a program.

処理部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 operation unit 30. The processing unit 10 performs various processes using the storage unit 40 as a work area. The functions of the processing unit 10 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), application programs, and OS (for example, general-purpose OS).

処理部10は、セル配置手段12、ネット配線手段14、配線レイアウト変更手段16を含む。処理部10は、さらに、ネット抽出手段18、ネット優先順位設定手段20、セルグループ優先順位設定手段22を含んでもよい。   The processing unit 10 includes cell placement means 12, net wiring means 14, and wiring layout change means 16. The processing unit 10 may further include a net extraction unit 18, a net priority order setting unit 20, and a cell group priority order setting unit 22.

セル配置手段12は、配置配線の対象となる回路に含まれるセルを配置する処理を行う。   The cell placement unit 12 performs a process of placing cells included in a circuit to be placed and routed.

また、セル配置手段12は、所定のネットが接続されているセルの配置を他のセルの配置よりも優先して行うようにしてもよい。   The cell placement unit 12 may prioritize the placement of cells connected to a predetermined net over the placement of other cells.

また、セル配置手段12は、ネット優先順位設定手段20が設定した優先順位に従い、一の所定のネットに接続されているセルを配置した後、他の所定のネットに接続されているセルを配置する処理を繰り返し行うようにしてもよい。   Further, the cell placement unit 12 places cells connected to one predetermined net according to the priority set by the net priority setting unit 20, and then places cells connected to another predetermined net. You may make it perform the process to repeat.

また、セル配置手段12は、所定のネットに接続されているセルを配置し、配線レイアウト変更手段16が所定のネットの配線レイアウトを変更した後に、他のセルの配置を行うようにしてもよい。   Further, the cell placement unit 12 may place cells connected to a predetermined net, and after the wiring layout changing unit 16 changes the wiring layout of the predetermined net, another cell may be placed. .

また、セル配置手段12は、セルグループ優先順位設定手段22によって各グループに設定された優先順位に従い、一のグループに属するセルを配置し、ネット配線手段14が当該グループに属するセルに接続されているネットを配線した後に、他のグループに属するセルを配置する処理を繰り返し行うようにしてもよい。   The cell placement unit 12 places cells belonging to one group according to the priority set for each group by the cell group priority order setting unit 22, and the net wiring unit 14 is connected to the cells belonging to the group. After wiring a certain net, the process of arranging cells belonging to other groups may be repeated.

ネット配線手段14は、配置配線の対象となる回路に含まれるネットを配線する処理を行う。ここで、ネット配線手段14は、所定のネットの配線を他のネットの配線よりも優先して行う。   The net wiring unit 14 performs processing for wiring a net included in a circuit to be placed and routed. Here, the net wiring means 14 performs wiring of a predetermined net with priority over wiring of other nets.

また、ネット配線手段14は、所定のネットの配線長が規格値以下となるように所定のネットの配線を行うようにしてもよい。   Further, the net wiring unit 14 may perform the wiring of the predetermined net so that the wiring length of the predetermined net is not more than the standard value.

また、ネット配線手段14は、ネット優先順位設定手段20が設定した優先順位に従い、一の所定のネットを配線した後、他の所定のネットを配線する処理を繰り返し行うようにしてもよい。   Further, the net wiring unit 14 may repeat the process of wiring one predetermined net and then wiring another predetermined net in accordance with the priority set by the net priority setting unit 20.

また、ネット配線手段14は、所定のネットを配線し、配線レイアウト変更手段16が所定のネットの配線レイアウトを変更した後に、他のネットの配線を行うようにしてもよい。   Further, the net wiring unit 14 may route a predetermined net, and after the wiring layout changing unit 16 changes the wiring layout of the predetermined net, wiring of another net may be performed.

また、ネット配線手段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 layout changing unit 16 calculates the wiring length of the predetermined net that is preferentially wired by the net wiring unit 14, and if the wiring length is larger than the predetermined standard value, the wiring layout of the predetermined net is calculated. Perform the change process.

また、配線レイアウト変更手段16は、ネット優先順位設定手段20が設定した優先順位に従い、一の所定のネットの配線レイアウトを変更した後、他の所定のネットの配線レイアウトを変更する処理を繰り返し行うようにしてもよい。   Further, the wiring layout changing unit 16 repeatedly performs the process of changing the wiring layout of another predetermined net after changing the wiring layout of one predetermined net according to the priority set by the net priority setting unit 20. You may do it.

また、配線レイアウト変更手段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 means 18 performs processing for extracting a net existing on the designated signal propagation path as a predetermined net.

ネット優先順位設定手段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 order setting unit 22 divides cells included in a circuit to be placed and routed into a plurality of groups, and performs a process of setting the priority order of the groups.

本実施形態の半導体集積回路装置の設計支援システム又は設計支援プログラムによれば、優先配線された所定のネットの配線長に着目し、複雑な遅延計算を行うことなく、配線長が所定の規格値よりも大きいネットの配線レイアウトを変更する。従って、すべてのセル及びネットの配置配線が終了する前に、所定のネットについては優先的に短い配線にすることができる。その結果、クロック信号や非同期リセット信号等のクリティカルな信号の伝搬経路上に存在するネットを所定のネットとして指定しておけば、クリティカルな信号が他の信号の影響を受けにくくすることができる。また、クリティカルな信号の伝搬経路上に存在するネットの配線が優先的に行われるので、配線長が規格値よりも大きい場合でも配線レイアウトの変更が比較的容易である。また、クリティカルな信号の伝搬経路上に存在するネットの配線が短くなるので、クリティカルな信号の周辺を配線禁止領域にしたりシールド配線を行っても配線領域の増加が少なくて済む。さらに、クリティカルな信号の伝搬経路上に存在するネットの配線が短ければ不具合が起こりにくく、仮にタイミング検証における制約条件の設定漏れがあっても問題ない。従って、本実施形態の半導体集積回路装置の設計支援システム又は設計支援プログラムによれば、信頼性の高い半導体集積回路装置を短期間で提供することができる。   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 communication unit 80. ). Use of the information storage medium of such a host device (server) can also be included in the scope of the present invention.

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 buffer 102, and an asynchronous reset signal RST1 is supplied to the input of the buffer 114. Here, if noise is superimposed on the net on the propagation path of the clock signal CLK1 and the reset signal RST1, the placement and routing target circuit 100 may malfunction. Therefore, in order to reduce crosstalk with other signals, it is desirable that the wiring of each net on the propagation path of the clock signal CLK1 and the reset signal RST1 be as short as possible.

そこで、まず、図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 routing target circuit 100 is traced, and the buffer cell 102, the AND cell 104, the buffer cell 106, the FF cell 108, and the FF cell are present as cells existing on the propagation path of the clock signal CLK1. 112, AND cell 122, buffer cell 124, FF cell 126, and FF cell 130 are extracted. Further, the placement and routing target circuit 100 is traced, and nets 202, 204, 206, 222, and 224 are extracted as nets existing on the propagation path of the clock signal CLK1. Similarly, the placement and routing target circuit 100 is traced, and the buffer cell 114, the inverter cell 116, the FF cell 108, the FF cell 112, the inverter cell 132, the FF cell 126, and FF are present on the propagation path of the asynchronous reset signal RST1. Cell 130 is extracted. Further, the placement and routing target circuit 100 is traced, and nets 214, 216, and 232 are extracted as nets existing on the propagation path of the asynchronous reset signal RST1.

図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 routing target circuit 100 described in FIG. For example, the gate array design, before placement and routing of the placement and routing target circuit 100, M row vertically, laterally basic cells BC 11 -BC MN N columns are laid on a bulk.

図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 buffer cell 102, the AND cell 104, the buffer cell 106, the FF cell 108, and the FF cell 112 existing on the propagation path of either the clock signal CLK1 or the asynchronous reset signal RST1. The buffer cell 114, the inverter cell 116, the AND cell 122, the buffer cell 124, the FF cell 126, the FF cell 130, and the inverter cell 132 are preferentially arranged.

図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 cell 110, the inverter cell 118, the inverter cell 120, and the OR cell 128 that are not present on any propagation path of the clock signal CLK1 and the asynchronous reset signal RST1 are arranged. ing.

図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 nets 202, 204, 206, 214, 216, 222, 224, and 232 existing on the propagation path of either the clock signal CLK1 or the asynchronous reset signal RST1 are priority wirings. Has been. In step S20 in FIG. 2, the wiring lengths of the nets 202, 204, 206, 214, 216, 222, 224, and 232 are calculated. For example, the wiring length of the net 204 that connects the output terminal of the AND cell 104 and the input terminal of the buffer cell 106 is calculated as a length (a + b) along the wiring direction. Further, for a net that branches off, such as the net 206 that connects the output terminal of the buffer cell 106, the clock input terminal of the FF cell 108, and the clock input terminal of the FF cell 112, for example, the output terminal of the buffer cell 106 is connected to the FF. A plurality of calculations corresponding to the number of branches such as c + d as the wiring length of the wiring to the clock input terminal of the cell 108 and c + e + f as the wiring length of the wiring from the output terminal of the buffer cell 106 to the clock input terminal of the FF cell 112 Is done.

次に、図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 buffer cell 106 to the clock input terminal of the FF cell 112) and the net 224 (the output terminal of the buffer cell 124 to the clock of the FF cell 130). Assume that the wiring length of the wiring to the input terminal is determined to be larger than the standard value. In this case, the wiring layout of the net 206 and the net 224 is changed in step S24 of FIG. For example, buffer cells may be inserted into the net 206 and the net 224. FIG. 8 shows a circuit after buffer cells are inserted into the net 206 and the net 224. A buffer cell 134 is inserted between the output terminal of the buffer cell 106 and the clock input terminal of the FF cell 112, and is divided into a net 206 and a net 234. Further, the buffer cell 136 is inserted between the output terminal of the buffer cell 124 and the clock input terminal of the FF cell 130, and divided into a net 224 and a net 236.

図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 buffer cells 134 and 136 are inserted and arranged adjacent to the left side of the FF cells 112 and 130, respectively. Also, the nets 234 and 236 are connected to connect the output terminals of the buffer cells 134 and 136 to the clock input terminal of the FF cell 112 and the clock input terminal 130, respectively. Further, the wiring of the net 206 is changed so as to connect the output terminal of the buffer cell 106, the input terminal of the buffer cell 134, and the clock input terminal of the FF cell 108. Similarly, the wiring of the net 224 is changed so as to connect the output terminal of the buffer cell 124, the input terminal of the buffer cell 136, and the clock input terminal of the FF cell 126. As a result, the wiring length of the nets 206 and 224 is less than the standard value. In addition, the wiring lengths of the newly inserted nets 234 and 236 are also below the standard value. That is, in the layout of FIG. 9, the wiring lengths of all nets that have been preferentially wired are below the standard value.

図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 nets 208, 210, 212, 218, 220, 226, 228, 230 that do not exist on any of the propagation paths of the clock signal CLK1 and the asynchronous reset signal RST1 are wired. Has been.

本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、優先配線された所定のネットの配線長に着目し、複雑な遅延計算を行うことなく、配線長が所定の規格値よりも大きいネットの配線レイアウトを変更する。従って、すべてのセル及びネットの配置配線が終了する前に、所定のネットについては優先的に短い配線にすることができる。その結果、クロック信号や非同期リセット信号等のクリティカルな信号の伝搬経路上に存在するネットを所定のネットとして指定しておけば、クリティカルな信号が他の信号の影響を受けにくくすることができる。また、クリティカルな信号の伝搬経路上に存在するネットの配線が優先的に行われるので、配線長が規格値よりも大きい場合でも配線レイアウトの変更が比較的容易である。また、クリティカルな信号の伝搬経路上に存在するネットの配線が短くなるので、クリティカルな信号の周辺を配線禁止領域にしたりシールド配線を行っても配線領域の増加が少なくて済む。さらに、クリティカルな信号の伝搬経路上に存在するネットの配線が短ければ不具合が起こりにくく、仮にタイミング検証における制約条件の設定漏れがあっても問題ない。従って、本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、信頼性の高い半導体集積回路装置を短期間で提供することができる。   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 routing target circuit 100 described in FIG.

まず、図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 buffer cell 102, the AND cell 104, the buffer cell 106, the FF cell 108, the FF cell 112, and the buffer cell as cells existing on the propagation path of the clock signal CLK1 or the asynchronous reset signal RST1. 114, the inverter cell 116, the AND cell 122, the buffer cell 124, the FF cell 126, the FF cell 130, and the inverter cell 132 are extracted. Further, nets 202, 204, 206, 214, 216, 222, 224, and 232 are extracted as nets existing on the propagation path of the clock signal CLK1 or the asynchronous reset signal RST1. In step S33 of FIG. 11, priorities are set for the eight nets 202, 204, 206, 214, 216, 222, 224, and 232 extracted in step S32. Here, the first to eighth priorities may be set for the eight nets, or the same priority may be set for several nets. For example, the wiring order does not matter between the nets on the signal propagation path of the clock signal CLK1 or the asynchronous reset signal RST1, but the nets 202, 204, 206, 222, 224 on the signal propagation path of the clock signal CLK1 are asynchronously reset. If it is desired to wire before the nets 214, 216, 232 on the propagation path of the signal RST1, the first priority is set for the nets 202, 204, 206, 222, 224, and the nets 214, 216, 232 are assigned to the nets 214, 216, 232. The second priority order may be set.

図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 buffer cell 102 and the AND cell 104 connected to the net set with the first priority in step S33 of FIG. 11, that is, the nets 202, 204, 206, 222, and 224 existing on the propagation path of the clock signal CLK1. The buffer cell 106, the FF cell 108, the FF cell 112, the AND cell 122, the buffer cell 124, the FF cell 126, and the FF cell 130 are preferentially arranged.

図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 buffer cell 114, inverter cell 116, and inverter cell connected to the nets 214, 216, and 232 existing on the propagation path of the asynchronous reset signal RST1. 132 is arranged. The FF cells 108, 112, 126, and 130 are also connected to the nets 216 and 232. However, as described with reference to FIG. 12, in the process of step S34 in FIG. 11 for the net with the first priority set. Since the FF cells 108, 112, 126, and 130 are already arranged, there is no need to rearrange them.

図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 cell 110, the inverter cell 118, the inverter cell 120, and the OR cell 128 that are not present on any propagation path of the clock signal CLK1 and the asynchronous reset signal RST1 are arranged. After that, in step S38 in FIG. 11, the nets 202, 204, 206, 222, and 224 to which the first priority is set are preferentially wired. In step S40 in FIG. 11, the wiring lengths of the nets 202, 204, 206, 222, and 224 are calculated.

次に、図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 buffer cell 106 to the clock input terminal of the FF cell 112) and the net 224 (the output terminal of the buffer cell 124 to the clock of the FF cell 130). Assume that the wiring length of the wiring to the input terminal is determined to be larger than the standard value. In this case, the wiring layout of the net 206 and the net 224 is changed in step S44 of FIG. For example, the net 206 may be rewired after the FF cell 112 is moved (changed in arrangement) so that the distance between the output terminal of the buffer cell 106 and the clock input terminal of the FF cell 112 is shortened. Similarly, the net 224 may be rewired after the FF cell 130 has been moved (arranged) so that the distance between the output terminal of the buffer cell 124 and the clock input terminal of the FF cell 130 is shortened.

図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 FF cells 112 is changed so that the distance between the output terminal of the buffer cell 106 and the clock input terminal of the FF cell 112 is shortened. Further, the net 206 that connects the output terminal of the buffer cell 106 and the clock input terminal of the FF cell 112 is rewired. Similarly, the arrangement of the FF cell 130 is changed so that the distance between the output terminal of the buffer cell 124 and the clock input terminal of the FF cell 130 is shortened, and the output terminal of the buffer cell 124 and the clock input terminal of the FF cell 130 are connected. Net 224 is rewired. As a result, the wiring lengths of the nets 206 and 224 are below the standard value, and in the layout of FIG. 15, the wiring lengths of all nets set with the first priority are below the standard value. As described above, if the arrangement of the FF cells 112 and 130 which are the terminal cells in the propagation path of the clock signal CLK1 is changed, the wiring lengths of the nets 206 and 224 can be made to be less than the standard value without inserting a buffer or the like. Therefore, an increase in chip size can be suppressed.

図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 nets 214, 216, and 232 for which the second priority is set in step S38 of FIG. 11 are preferentially wired, and the wiring lengths of the nets 214, 216, and 232 are calculated in step S40 of FIG. Next, in step S42 of FIG. 11, for example, if it is determined that the wiring length of the nets 214, 216, 232 is equal to or less than the standard value, there is no need to change the wiring layout for the nets 214, 216, 232. The process of step S44 in FIG. 11 is not performed.

図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 nets 208, 210, 212, 218, 220, 226, 228, 230 that do not exist on any of the propagation paths of the clock signal CLK1 and the asynchronous reset signal RST1 are wired. Has been.

本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、指定した信号の伝搬経路上に存在するネットのうち、優先順位がより高いネットに接続されているセルをより優先的に配置し、優先順位に従って当該ネットの配線及び配線レイアウト変更を行うので、優先順位がより高いネットの配線ほどより適切に短くすることができる。例えば、クリティカルな信号が複数ある場合には、他の信号の影響をより受けやすい信号の伝搬経路上に存在するネットほど優先順位を高く設定し、配線及び配線レイアウト変更を優先的に行うことができる。また、クリティカルな信号の伝搬経路上に存在するネットの中でも、小さい規格値が設定されているネットやファンアウト数が多いネット(分岐の数が多いネット)ほど高い優先順位を設定しておくことにより、これらのネットの配線及び配線レイアウト変更を優先的に行うことができる。   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 cell 110, the inverter cell 118, the inverter cell 120, and the OR cell are also used for the layout according to the first embodiment specifically described with reference to FIGS. Except for the timing at which 128 is arranged, the second embodiment is the same as the first embodiment, and a detailed description of the third embodiment is omitted.

本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、指定した信号の伝搬経路上に存在するネットに接続されているセルの配置、当該ネットの配線及び配線レイアウトの変更を行った後に、他のネットに接続されているセルの配置及び当該他のネットの配線を行う。すなわち、指定した信号の伝搬経路上に存在するネットの配線レイアウトを変更する際に他のネットに接続されているセルが配置されていないので、配線レイアウト変更の自由度が向上する。従って、指定した信号の伝搬経路上に存在するネットの配線をより適切に短くすることができる。   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 routing target circuit 100 described in FIG. 3 are defined as the first cell group, and the cells included in other circuits (not shown) that are subject to the placement and routing are defined as the second cell group. The layout for the first cell group when the first priority is set for the first cell group in step S71 of FIG. 19 is completely the same as the layout described for the first embodiment in FIGS. Since this is the same, a detailed description of the fourth embodiment is omitted.

本実施形態の半導体集積回路装置の設計方法(設計支援プログラム)によれば、セルを複数のグループに分割して優先順位を設定し、優先順位に従ってグループ単位で配置配線を行う。さらに、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 CPU 510, a cache memory 520, a ROM 710, a RAM 720, an MMU 730, an LCD controller 530, a reset circuit 540, a programmable timer 550, a real-time clock (RTC) 560, a DMA controller 570, an interrupt controller 580, Communication control circuit 590, bus controller 600, A / D converter 610, D / A converter 620, input port 630, output port 640, I / O port 650, clock generator 660, prescaler 670, clock stop control circuit 740 And a general-purpose bus 680 for connecting them, a dedicated bus 750, and the like, and various pins 690 and the like.

マイクロコンピュータ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 input unit 820, a memory 830, a power generation unit 840, an LCD 850, and a sound output unit 860.

ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。   Here, the input unit 820 is for inputting various data. The microcomputer 810 performs various processes based on the data input by the input unit 820. The memory 830 serves as a work area for the microcomputer 810 and the like. The power generation unit 840 is for generating various power sources used in the electronic device 800. The LCD 850 is for outputting various images (characters, icons, graphics, etc.) displayed by the electronic device.

音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。   The sound output unit 860 is for outputting various sounds (sound, game sound, etc.) output from the electronic device 800, and the function can be realized by hardware such as a speaker.

図22(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。   FIG. 22A illustrates an example of an external view of a mobile phone 950 that is one of electronic devices. The cellular phone 950 includes a dial button 952 that functions as an input unit, an LCD 954 that displays a telephone number, a name, an icon, and the like, and a speaker 956 that functions as a sound output unit and outputs sound.

図22(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。   FIG. 22B illustrates an example of an external view of a portable game device 960 that is one of electronic devices. The portable game device 960 includes an operation button 962 that functions as an input unit, a cross key 964, an LCD 966 that displays a game image, and a speaker 968 that functions as a sound output unit and outputs game sound.

図22(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。   FIG. 22C illustrates an example of an external view of a personal computer 970 that is one of electronic devices. The personal computer 970 includes a keyboard 972 that functions as an input unit, an LCD 974 that displays characters, numbers, graphics, and the like, and a sound output unit 976.

本実施の形態の半導体集積回路装置を図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 is a diagram for explaining a design support system and a design program for a semiconductor integrated circuit device according to an embodiment. FIG. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例を説明するためのフローチャート。The flowchart for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 配置配線を行う対象となる回路の一例を示す図である。It is a figure which shows an example of the circuit used as the object which performs placement and routing. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例について説明するための図。The figure for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例について説明するための図。The figure for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例について説明するための図。The figure for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例について説明するための図。The figure for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例について説明するための図。The figure for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例について説明するための図。The figure for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第1の実施例について説明するための図。The figure for demonstrating the 1st Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例を説明するためのフローチャート。9 is a flowchart for explaining a second example of the method for designing a semiconductor integrated circuit device according to the present embodiment (the processing procedure of the design support program). 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例について説明するための図。The figure for demonstrating the 2nd Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例について説明するための図。The figure for demonstrating the 2nd Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例について説明するための図。The figure for demonstrating the 2nd Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例について説明するための図。The figure for demonstrating the 2nd Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例について説明するための図。The figure for demonstrating the 2nd Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第2の実施例について説明するための図。The figure for demonstrating the 2nd Example of the design method (processing procedure of a design support program) of the semiconductor integrated circuit device of this Embodiment. 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第3の実施例を説明するためのフローチャート。12 is a flowchart for explaining a third example of the semiconductor integrated circuit device design method according to the present embodiment (processing procedure of the design support program). 本実施の形態の半導体集積回路装置の設計方法(設計支援プログラムの処理手順)の第4の実施例を説明するためのフローチャート。10 is a flowchart for explaining a fourth example of the method for designing a semiconductor integrated circuit device according to the present embodiment (the processing procedure of the design support program). 本実施の形態の半導体集積回路装置のブロック図の一例。1 is an example of a block diagram of a semiconductor integrated circuit device of an embodiment. 半導体集積回路装置を含む電子機器のブロック図の一例。1 is an example of a block diagram of an electronic device including a semiconductor integrated circuit device. 図22(A)〜図22(C)は、種々の電子機器の外観図の例。22A to 22C are examples of external views of various electronic devices.

符号の説明Explanation of symbols

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.
請求項1において、
前記ネット配線手段は、
前記所定のネットの配線長が前記規格値以下となるように前記所定のネットの配線を行うことを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項1又は2において、
前記セル配置手段は、
前記所定のネットが接続されているセルの配置を他のセルの配置よりも優先して行うことを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項1乃至3のいずれかにおいて、
複数の前記所定のネットに優先順位を設定するネット優先順位設定手段としてコンピュータを機能させ、
前記ネット配線手段は、
前記優先順位に従い、一の前記所定のネットを配線した後、他の前記所定のネットを配線する処理を繰り返し行い、
前記配線レイアウト変更手段は、
前記優先順位に従い、一の前記所定のネットの配線レイアウトを変更した後、他の前記所定のネットの配線レイアウトを変更する処理を繰り返し行うことを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項4において、
前記セル配置手段は、
前記優先順位に従い、一の前記所定のネットに接続されているセルを配置した後、他の前記所定のネットに接続されているセルを配置する処理を繰り返し行うことを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項1乃至5のいずれかにおいて、
前記セル配置手段は、
前記所定のネットに接続されているセルを配置し、前記配線レイアウト変更手段が前記所定のネットの配線レイアウトを変更した後に、他のセルの配置を行い、
前記ネット配線手段は、
前記所定のネットを配線し、前記配線レイアウト変更手段が前記所定のネットの配線レイアウトを変更した後に、他のネットの配線を行うことを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項1乃至6のいずれかにおいて、
配置配線の対象となる回路に含まれるセルを複数のグループに分割し、当該グループに優先順位を設定するセルグループ優先順位設定手段としてコンピュータを機能させ、
前記セル配置手段は、
前記各グループに設定された優先順位に従い、一のグループに属するセルを配置し、前記ネット配線手段が当該グループに属するセルに接続されているネットを配線した後に、他のグループに属するセルを配置する処理を繰り返し行い、
前記ネット配線手段は、
前記各グループに設定された優先順位に従い、一のグループに属するセルに接続されているネットを配線し、前記セル配置手段が他のグループに属するセルを配置した後に、当該他のグループに属するセルに接続されているネットを配線する処理を繰り返し行うことを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項1乃至7のいずれかにおいて、
前記配線レイアウト変更手段は、
配線長が所定の規格値よりも大きい前記所定のネットが所与の信号の伝搬経路における終端のセルに接続されている場合には、当該終端のセルの配置を変更することを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項1乃至8のいずれかにおいて、
指定した信号の伝搬経路上に存在するネットを前記所定のネットとして抽出するネット抽出手段としてコンピュータを機能させることを特徴とする半導体集積回路装置の設計支援プログラム。
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.
請求項1乃至9のいずれかに記載された半導体集積回路装置の設計支援プログラム、請求項10に記載された半導体集積回路装置の設計支援システム又は請求項11に記載された半導体集積回路装置の設計方法を用いて設計製造されたことを特徴とする半導体集積回路装置。   A design support program for a semiconductor integrated circuit device according to any one of claims 1 to 9, a design support system for a semiconductor integrated circuit device according to claim 10, or a design of a semiconductor integrated circuit device according to claim 11. A semiconductor integrated circuit device designed and manufactured using the method. 請求項12に記載された半導体集積回路装置と、
前記半導体集積回路装置の処理対象となるデータの入力手段と、
前記半導体集積回路装置により処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。
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.
JP2007262413A 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 Withdrawn JP2009093365A (en)

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)

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