JP7334580B2 - Automatic placement and routing device, automatic placement and routing method, automatic placement and routing program, storage medium storing automatic placement and routing program, and semiconductor integrated circuit - Google Patents
Automatic placement and routing device, automatic placement and routing method, automatic placement and routing program, storage medium storing automatic placement and routing program, and semiconductor integrated circuit Download PDFInfo
- Publication number
- JP7334580B2 JP7334580B2 JP2019202119A JP2019202119A JP7334580B2 JP 7334580 B2 JP7334580 B2 JP 7334580B2 JP 2019202119 A JP2019202119 A JP 2019202119A JP 2019202119 A JP2019202119 A JP 2019202119A JP 7334580 B2 JP7334580 B2 JP 7334580B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- routing
- circuit
- wiring
- priority
- 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.)
- Active
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本発明は、半導体集積回路における回路素子の配置および配線を行う自動配置配線装置、自動配置配線プログラム、自動配置配線プログラムを格納した記憶媒体および半導体集積回路に関する。 The present invention relates to an automatic placement and routing apparatus for placing and routing circuit elements in a semiconductor integrated circuit, an automatic placement and routing program, a storage medium storing the automatic placement and routing program, and a semiconductor integrated circuit.
近年、半導体集積回路では大規模化が進むとともに高故障検出率の確保が求められている。そこで半導体集積回路設計では広くテスト容易化設計を行い、故障検出率を高めるようにしている。 2. Description of the Related Art In recent years, as semiconductor integrated circuits have become larger in scale, there has been a demand for ensuring a high fault coverage. Therefore, in the design of semiconductor integrated circuits, design for testability is widely used to improve the fault detection rate.
テスト容易化設計としては、故障検出回路を挿入することで故障検出率を向上させる方法がある。例えば、特許文献1には、故障検出回路としてBIST(Built-In Self Test)を用いた例が記載されている。また、特許文献2には、故障検出回路としてスキャン回路(スキャンパス)を用いた例が記載されている。
As a design for testability, there is a method of improving the fault coverage by inserting a fault detection circuit. For example,
しかしながら、テスト容易化設計で故障検出回路を挿入しても制御や観測できない部分が発生してしまい、故障検出できない回路素子(以下、未検出故障素子という)が発生してしまうことがある。 However, even if a fault detection circuit is inserted in the design for testability, a part that cannot be controlled or observed may occur, and a circuit element whose fault cannot be detected (hereinafter referred to as an undetected fault element) may occur.
このような未検出故障素子は、同一配線上の未検出故障素子が遠くに配置配線されることがある。その際、要求タイミングや各製造テクノロジで決められているデザインルールなどの設計上の制約を満足できずに、自動配置配線装置が未検出故障部分に回路素子を挿入し要求を満足させることがある。その場合、挿入された回路素子も未検出故障素子となってしまい、未検出故障素子が増加してしまうため半導体集積回路の故障検出率が低下するという問題があった。 Such undetected faulty elements may be arranged and routed far from undetected faulty elements on the same wiring. At that time, the automatic placement and routing equipment may satisfy the requirements by inserting circuit elements into the undetected failure part without satisfying the design constraints such as the required timing and the design rules determined by each manufacturing technology. . In this case, the inserted circuit element becomes an undetected faulty element, and the number of undetected faulty elements increases.
そこで、特許文献3では、配置部が、取得した配置配線に必要な情報と、未検出故障情報と、に基づいて、複数の故障検出できない回路素子間の配線が設計制約を満たす配線長となるように近づけて配置することで、未検出故障素子が検出された際に、当該未検出故障素子を考慮して故障検出率を低下させないようにしている。 Therefore, in Japanese Patent Laid-Open No. 2002-100001, the placement unit determines the length of the wiring between a plurality of circuit elements whose faults cannot be detected to satisfy the design constraints, based on the acquired information necessary for placement and routing and the undetected fault information. By arranging them as close to each other as possible, when an undetected faulty element is detected, the undetected faulty element is taken into consideration so as not to lower the fault coverage.
しかしながら、故障検出できない回路素子を近傍に配置配線するため、他の設計制約を満足できなくなることや過剰にバッファ回路が挿入されるなどによりゲート数が増加する場合があった。 However, since circuit elements whose faults cannot be detected are placed and routed nearby, other design restrictions may not be satisfied, and the number of gates may increase due to excessive insertion of buffer circuits.
近年の高速化が進む設計ではタイミング設計はより重要になってきている。タイミング設計を満足できないと設計仕様を満足できず、製品としての価値を損ねてしまう。従来は、故障検出率の向上のみに注力すれば問題がなかったが、高速化によりタイミング的に満足できないという問題を解決しつつ、故障検出率の向上を目指すことが望まれている。 Timing design is becoming more and more important in recent high-speed designs. If the timing design cannot be satisfied, the design specifications cannot be satisfied, and the value of the product is lost. In the past, there was no problem if only the improvement of the fault detection rate was focused, but it is desired to improve the fault detection rate while solving the problem of unsatisfactory timing due to speeding up.
本発明は、タイミング的に満足できないという問題を解決しつつ、故障検出率の向上を図ることを目的としている。 SUMMARY OF THE INVENTION It is an object of the present invention to solve the problem of unsatisfactory timing and improve the fault detection rate.
上記に記載された課題を解決するために本発明は、半導体集積回路における回路素子情報および配線情報を取得する回路情報取得手段と、回路素子の配置および配線を行う配置配線手段と、を備えた自動配置配線装置において、前記回路素子のうち故障検出できない回路素子の情報である未検出故障素子情報を取得する未検出故障素子情報取得手段と、タイミングに関する設計制約を優先するか否かが設定される優先情報を取得する優先情報取得手段と、を備え、前記配置配線手段が、前記優先情報に前記タイミングに関する設計制約を優先しないと設定されている場合は、回路情報取得手段が取得した前記回路素子情報および配線情報と、前記未検出故障素子情報と、に基づいて、同一の配線で接続された複数の前記故障検出できない回路素子間の配線を予め定められている配線に関する設計制約を満たす配線長となるように近づけて配置をし、前記優先情報に前記タイミングに関する設計制約を優先すると設定されている場合は、前記タイミングに関する設計制約を優先して前記故障検出できない回路素子を配置および配線する、ことを特徴とする。 In order to solve the above-described problems, the present invention includes circuit information acquisition means for acquiring circuit element information and wiring information in a semiconductor integrated circuit, and placement and routing means for placing and wiring circuit elements. In the automatic placement and routing apparatus, undetected fault element information obtaining means for obtaining undetected fault element information, which is information of circuit elements whose faults cannot be detected among the circuit elements, and whether or not to give priority to design constraints relating to timing are set. and priority information obtaining means for obtaining priority information, wherein the circuit obtained by the circuit information obtaining means, when the placement and routing means is set in the priority information so as not to give priority to the design constraints related to the timing. Wiring that satisfies a design constraint on wiring in which wiring between a plurality of said fault-undetectable circuit elements connected by the same wiring is predetermined based on element information and wiring information and said undetected faulty element information. If the priority information is set to give priority to the design constraints on timing, the circuit elements that cannot be detected as faults are placed and routed with priority given to the design constraints on timing. , characterized in that
本発明によれば、タイミングに関する設計制約を優先するように設定する優先設定手段を備えているので、タイミング的に満足できないという問題を解決しつつ、故障検出率の向上を図ることができる。 According to the present invention, since the priority setting means is provided for setting the design constraints related to timing so as to give priority, it is possible to improve the fault detection rate while solving the problem of unsatisfactory timing.
(第1実施形態)
以下、本発明の第1の実施形態を、図1~図9を参照して説明する。図1は、本発明の第1の実施形態にかかる自動配置配線装置の構成図である。
(First embodiment)
A first embodiment of the present invention will be described below with reference to FIGS. 1 to 9. FIG. FIG. 1 is a configuration diagram of an automatic placement and routing apparatus according to the first embodiment of the present invention.
図1に示した自動配置配線装置10は、半導体集積回路に含まれる回路素子の配置配線を行う処理装置1と、処理装置1に対して種々の情報や種々の命令を入力するキーボード2及びマウス3等の入力手段と、データやプログラムを記憶する記憶装置4と、及び、入力画面(例えばGUI:グラフィカルユーザインタフェース)の表示や処理結果の表示等を行う表示装置5と、を備える。図1から明らかなように、自動配置配線装置10は、通常のコンピュータ及びその周辺装置で構成される。なお、マウス3の代りに、タブレットやトラックボール等のポインティングデバイスが用いられてもよい。また、記憶装置4には、半導体メモリや、ハードディスク等が任意に用いられ、表示装置5には、例えばCRTや液晶ディスプレイ等が任意に用いられる。
The automatic layout and
図2に自動配置配線装置10の機能的な構成を示す。自動配置配線装置10は、配置部20と、配置後の最適化部21と、クロックツリー合成部22と、クロックツリー後の最適化部23と、配線部24と、配線後の最適化部25と、優先順位判断部26と、を備えている。これら配置部20、配置後の最適化部21、クロックツリー合成部22、クロックツリー後の最適化部23、配線部24、配線後の最適化部25、優先順位判断部26は、図1の処理装置1が機能する。
FIG. 2 shows the functional configuration of the automatic placement and
配置部20は、セルライブラリ、ネットリスト、デザインルール、タイミング制約等の配置配線に必要な情報30、即ち回路素子情報および配線情報と、故障検出できない回路素子の情報である未検出故障情報31と、を読み込み、フロアプランを実施し、チップサイズ、I/O配置位置、ハードマクロの配置位置などを決定し、セルの配置を行う。なお、配置配線に必要な情報30と、未検出故障情報31は、例えば記憶装置4に予め格納されている。即ち、記憶装置4が第1の記憶装置、第2の記憶装置として機能し、配置部20が、回路情報取得手段、未検出故障素子情報取得手段、配置配線手段として機能している。なお、配置配線に必要な情報30と、未検出故障情報31は、それぞれ別の記憶装置に記憶させてもよい。
The
デザインルールとは、素子の最小寸法や素子間の距離、配線幅や配線間の距離、など回路素子を配置配線設計する上での制約事項を含むものであり、配線に関する設計制約が含まれる。タイミング制約とは、当該回路のフリップフロップ間のデータ転送の遅延時間(動作周波数)など許容される遅延時間の制約事項であり、タイミングに関する設計制約に相当する。 The design rule includes restrictions on layout and wiring design of circuit elements, such as the minimum dimension of elements, distance between elements, wiring width and distance between wirings, and includes design restrictions related to wiring. A timing constraint is a constraint on a permissible delay time such as a delay time (operating frequency) of data transfer between flip-flops of the circuit, and corresponds to a design constraint on timing.
未検出故障情報31は、未検出故障素子となっている回路素子の種類(セル名)やインスタンス名および結線情報等(未検出故障素子情報)が含まれており、この情報は、例えば図示しない他の装置で故障シミュレーションを行った結果等を用いればよい。勿論本自動配置配線装置10に故障シミュレーション機能を持たせてネットリスト等を読み込ませて故障シミュレーションを行いその結果から未検出故障情報31を生成するようにしてもよい。
The
配置後の最適化部21は、配置部20で行われたセルの配置の最適化を行う。また、配置後の最適化部21は、後述する優先順位判断部26の制御により、タイミング優先として配置の最適化をするか、未検出故障素子を近づけて配置ように最適化するか、が切り替えられる。
The
クロックツリー合成部22は、クロック信号と、ネットリスト内のフリップフロップを認識し、クロック信号と各フリップフロップとを接続するためのクロックツリーを合成する。
The
クロックツリー後の最適化部23は、クロックツリー合成部22で合成されたクロックツリーに基づいて、クロックドライバなどの配置の最適化を行う。
The post-clock
配線部24は、配置後の最適化部21やクロックツリー後の最適化部23で最適化された各回路素子を配線で接続する。即ち、配線部24が、配置配線手段として機能している。
The
配線後の最適化部は、配線部24で行われた配線について、デザインルールやタイミング制約の設計制約に基づいて、それらを満たすように最適化する。
The post-routing optimization unit optimizes the wiring performed by the
優先順位判断部26は、優先設定情報33に基づいてタイミング優先として配置の最適化をするか、未検出故障素子を近づけて配置するように最適化するか、を配置後の最適化部21へ指示する。優先設定情報33は、タイミング優先として配置の最適化をするか、未検出故障素子を近づけて配置するように最適化するか(未検出ノード手当)を設定する情報を示している。即ち、優先設定情報33は、タイミングに関する設計制約を優先するか否かが設定される優先情報となる。そして、優先順位判断部26は、優先情報を取得する優先情報取得手段として機能する。
Based on the
この優先設定情報33の例としては、
set_dft_placemethod_timing_priority=on:タイミング優先
set_dft_placemethod_timing_priority=off:未検出ノード手当優先
といったコマンドが記載されたファイルとすることができる。そして、優先順位判断部26は当該ファイルを読み込む。あるいは、キーボード2から直接コマンドを入力してもよい。
As an example of this
set_dft_placemethod_timing_priority = on: Timing priority
set_dft_placemethod_timing_priority=off: It can be a file in which commands such as undetected node allowance priority are described. Then, the
配置部20から配線後の最適化部25まで順次実行することで、最終的にレイアウトデータ32が出力される。レイアウトデータ32は、例えば記憶装置4に出力される。したがって、図2は機能的な構成を示すと同時に処理の流れ(フローチャート)も示している。したがって、各ブロックは自動配置配線装置で実行される自動配置配線方法の回路情報取得ステップ、未検出故障素子情報取得ステップ、優先情報取得ステップ、配置配線ステップとしても機能する。
次に、上述した構成の自動配置配線装置10における未検出故障素子の配置配線について、図3~図7を参照して説明する。
Next, the placement and routing of undetected faulty elements in the automatic placement and routing
図3は、未検出故障素子となる論理回路の例を示した回路図である。図3の回路図は、ハードマクロH1~ハードマクロH2までの経路を示している。そして、ハードマクロH1~ハードマクロH2までの間には、NOT回路IV1、フリップフロップFF1、AND回路AD1、フリップフロップFF2、NOT回路IV2が順に接続されている。 FIG. 3 is a circuit diagram showing an example of a logic circuit serving as an undetected failure element. The circuit diagram of FIG. 3 shows the path from hard macro H1 to hard macro H2. A NOT circuit IV1, a flip-flop FF1, an AND circuit AD1, a flip-flop FF2, and a NOT circuit IV2 are connected in order between the hard macros H1 and H2.
このような回路において、ハードマクロH1とNOT回路IV1間の配線及びNOT回路IV1とフリップフロップFF1間の配線はそれぞれ未検出故障ノードUN1、UN1’となる。また、フリップフロップFF2とNOT回路IV2間の配線及びNOT回路IV2及びハードマクロH2間の配線はそれぞれ未検出故障ノードUN2、UN2’となる。つまり、未検出故障ノードUN1、UN1’、UN2、UN2’に接続されるNOT回路IV1、IV2およびフリップフロップFF1、FF2は未検出故障素子となる。 In such a circuit, the wiring between the hard macro H1 and the NOT circuit IV1 and the wiring between the NOT circuit IV1 and the flip-flop FF1 are undetected failure nodes UN1 and UN1', respectively. Also, the wiring between the flip-flop FF2 and the NOT circuit IV2 and the wiring between the NOT circuit IV2 and the hard macro H2 are undetected failure nodes UN2 and UN2', respectively. That is, the NOT circuits IV1 and IV2 and the flip-flops FF1 and FF2 connected to the undetected failure nodes UN1, UN1', UN2 and UN2' are undetected failure elements.
図4に図3の論理回路を配置配線した例を示す。図4は、特許文献3に示した方法により、未検出故障素子を近づけて配置配線したものである。図4において、フリップフロップFF1、AND回路AD1のドライブ能力が限界でデザインルールを満足できない場合、デザインルールを満足するためにフリップフロップFF1とAND回路AD1間及びAND回路AD1とフリップフロップFF2間でバッファ回路が挿入される。 FIG. 4 shows an example of layout and wiring of the logic circuit of FIG. In FIG. 4, undetected faulty elements are arranged and wired close to each other by the method disclosed in Patent Document 3. FIG. In FIG. 4, when the drive capability of the flip-flop FF1 and the AND circuit AD1 is limited and the design rule cannot be satisfied, buffers are provided between the flip-flop FF1 and the AND circuit AD1 and between the AND circuit AD1 and the flip-flop FF2 to satisfy the design rule. A circuit is inserted.
バッファ回路が挿入された状態を図5に示す。図5において、符号BF1で示されている回路がフリップフロップFF1とAND回路AD間に挿入されたバッファ回路であり、符号BF2で示されている回路がAND回路ADとフリップフロップFF2間に挿入されたバッファ回路である。また、図5に示された配置配線を論理回路で示すと図6のようになる。 FIG. 5 shows the state in which the buffer circuit is inserted. In FIG. 5, a circuit denoted by BF1 is a buffer circuit inserted between the flip-flop FF1 and the AND circuit AD, and a circuit denoted by BF2 is inserted between the AND circuit AD and the flip-flop FF2. buffer circuit. FIG. 6 shows the layout and wiring shown in FIG. 5 as a logic circuit.
図6の回路において、タイミング違反が発生する場合について説明する。図6の回路は2.0GHzで動作するとし、各回路素子の遅延時間を図7に示した値とする。この場合、2.0GMHzで動作するためには、フリップフロップFF1~フリップフロップFF2間を500ps(ピコ秒)で信号が到達しなければならない。フリップフロップFF1~フリップフロップFF2間の信号到達時間は、フリップフロップFF1の遅延時間+バッファ回路BF1の遅延時間+AND回路AD1の遅延時間+バッファ回路BF2の遅延時間+フリップフロップFF2のセットアップタイムとなる。即ち、図7に示したように、200ps+50ps+50ps+50ps+200ps=550psとなり、50psのタイミング違反が発生し、製品仕様を満足できないことになる。 A case where a timing violation occurs in the circuit of FIG. 6 will be described. It is assumed that the circuit in FIG. 6 operates at 2.0 GHz, and the delay time of each circuit element is the value shown in FIG. In this case, in order to operate at 2.0 GHz, the signal must reach between the flip-flops FF1 and FF2 at 500 ps (picoseconds). The signal arrival time between the flip-flops FF1 and FF2 is the delay time of the flip-flop FF1+the delay time of the buffer circuit BF1+the delay time of the AND circuit AD1+the delay time of the buffer circuit BF2+the setup time of the flip-flop FF2. That is, as shown in FIG. 7, 200 ps+50 ps+50 ps+50 ps+200 ps=550 ps, a timing violation of 50 ps occurs, and the product specification cannot be satisfied.
そこで、本実施形態では、優先順位判断部26が優先設定情報33の設定値を参照してタイミング優先となっている場合は、タイミングに関する設計制約を優先して配置後の最適化を行うようにする。図8にタイミング優先で配置配線の最適化を行った例を示す。図8に示したように、未検出ノードUN1、UN1’、UN2、UN2’に近づけて強制配置する制約よりもタイミングを重視した最適化が実施されることで均等に回路素子が配置されるため、デザインルールを満足するために必要なバッファ回路が挿入されない。したがって、タイミング制約を満たすことができるようになる。ここで、タイミング制約を優先する場合であっても、タイミング制約を満たす範囲であれば未故障検出素子を近づけてもよい。本実施形態は、タイミング制約を優先するのであって、タイミング制約のみを満たすのではない。
Therefore, in the present embodiment, when the
また、優先順位判断部26が優先設定情報33の設定値を参照してタイミング優先となっていない場合は、配置配線に必要な情報30と、未検出故障情報31と、に基づいて、同一の配線で接続された複数の未検出故障素子間(回路素子間)の配線を予め定められている配線に関する設計制約を満たす配線長となるように近づけて配置するよう最適化する。
In addition, when the
本実施形態によれば、優先順位判断部26が、優先設定情報33にタイミング優先とするように設定されていない場合は、配置後の最適化部21に取得した配置配線に必要な情報30と未検出故障情報31とに基づいて複数の未検出故障素子間の配線が配線に関する設計制約を満たす配線長となるように近づけて配置の最適化をさせている。一方、優先順位判断部26が、優先設定情報33にタイミング優先とするように設定されている場合は、配置後の最適化部21にタイミングに関する設計制約を優先して未検出故障素子を配置の最適化をさせている。このようにすることにより、タイミングを優先して未検出故障素子の配置および配線をすることが可能となり、タイミング制約を満足できなくなる危険性や過剰にゲート数が増加することを防止することができる。したがって、タイミング的に満足できないという問題を解決しつつ、故障検出率の向上を図ることができる。
According to the present embodiment, when the
なお、上述した説明では、配置後の最適化部21でタイミングを優先するように最適化していた。これは、配置部20における初期配置の段階では未検出故障ノードに対する強制配置が行われるため、タイミング優先の設定が有効に働かないことがあるためである。一般的に配置後の最適化は、初期配置を基にタイミング的に厳しい部分に対して最適化を実施していく。要するに初期配置を基に微修正を重ねていく。そのため初期配置は重要である。初期配置の段階で未検出故障ノード付近の強制配置が有効になっていると、本来タイミングを満足できる筈なのに以降の最適化でタイミング改善しきれない可能性がある。このような点を改善するためには、初期配置を行う前にタイミング情報を考慮して優先順位を付けることが望ましい。つまり、優先設定情報33にタイミング優先と設定されている場合は、タイミングに関する設計制約の実現性を判断して初期配置を行うのが望ましい。
In the above description, the
そこで、図2の変形例として、図9に示したように、優先順位判断部26がタイミング情報34を取得できるようにする。そして、優先順位判断部26は、未検出故障情報31及びタイミング情報34から、その未検出故障素子を通過するパスのタイミング収束難易度を判断し、配置部20で実行する初期配置の段階で未検出故障素子周辺の強制配置を実施させずに、タイミング優先の自動配置を配置部20で実行できるようする。即ち、優先順位判断部26は、タイミングに関する設計制約の実現性を判断する実現性判断手段として機能する。そして、配置部20は、優先情報にタイミングに関する設計制約を優先すると設定され、かつ、実現性判断手段が前記実現性がないと判断した場合は、タイミングに関する設計制約を優先して故障検出できない回路素子の初期配置をしている。
Therefore, as a modification of FIG. 2, the
タイミング情報34は、別ツールで実施したタイミング解析結果であってもよいし、自動配置配線装置10内でタイミング解析を実施してもよい。または、タイミング解析でボトルネックになるノードの情報を基にその部分だけタイミング情報を取得してもよい。
The timing
図9のように構成することにより、初期配置の段階からタイミング優先の自動配置が可能になり、初期配置起因のタイミング未達を予防し、最適化でタイミング改善しきれないという問題を解決することができる。 By configuring as shown in FIG. 9, it is possible to perform automatic placement prioritizing timing from the stage of initial placement, prevent timing failure due to initial placement, and solve the problem that timing cannot be fully improved by optimization. can be done.
(第2実施形態)
次に、本発明の第2の実施形態にかかる自動配置配線装置を、図10~図13を参照して説明する。なお、前述した第1の実施形態と同一部分には、同一符号を付して説明を省略する。
(Second embodiment)
Next, an automatic placement and routing apparatus according to a second embodiment of the present invention will be described with reference to FIGS. 10 to 13. FIG. In addition, the same reference numerals are given to the same parts as in the first embodiment described above, and the description thereof is omitted.
本実施形態は、例えば論理回路が多く未検出故障ノードが発生するケースにおいて有効な未検出故障ノード周辺の配置方法である。論理回路が多く多段になる回路例を図10に示す。図10は、フリップフロップFF3~フリップフロップFF4までの間の論理回路を示したものである。フリップフロップFF3~フリップフロップFF4までの間には、組み合わせ回路C1、バッファ回路BF3、AND回路AD2、マルチプレクサMX1、バッファ回路BF4、組み合わせ回路C2、が順に接続されている。このような論理回路において、AND回路AD2とマルチプレクサMX1との間の配線が未検出故障ノードUN3となるとする。 This embodiment is a layout method around undetected fault nodes that is effective, for example, in a case where there are many logic circuits and undetected fault nodes occur. FIG. 10 shows an example of a multistage circuit with many logic circuits. FIG. 10 shows a logic circuit between flip-flops FF3 and FF4. A combinational circuit C1, a buffer circuit BF3, an AND circuit AD2, a multiplexer MX1, a buffer circuit BF4, and a combinational circuit C2 are connected in order between the flip-flops FF3 and FF4. In such a logic circuit, it is assumed that the wire between the AND circuit AD2 and the multiplexer MX1 is the undetected failure node UN3.
図11に、図10に示した論理回路の配置配線例を示す。図11は、特許文献3に示した方法により、未検出故障素子を近づけて配置配線したものである。図11において、フリップフロップFF3とフリップフロップFF4間の距離が遠い場合で未検出故障ノードUN3周辺の素子が強制的に近づけて配置されると、バッファ回路BF3、BF4のドライブ能力が足りないということが発生する可能性がある。そのような場合、図12に示したように、バッファ回路BF3とAND回路AD2間、バッファ回路BF4と組み合わせ回路C2間にそれぞれバッファ回路BF3’、BF4’が挿入される。このようなバッファ回路BF3’、BF4’が挿入されると、第1の実施形態で説明したようにタイミング違反が発生する可能性がある。 FIG. 11 shows an example of layout and wiring of the logic circuit shown in FIG. In FIG. 11, undetected faulty elements are arranged and wired close to each other by the method disclosed in Patent Document 3. FIG. In FIG. 11, when the distance between the flip-flop FF3 and the flip-flop FF4 is long and the elements around the undetected failure node UN3 are forcibly arranged closer, the drive capability of the buffer circuits BF3 and BF4 is insufficient. may occur. In such a case, as shown in FIG. 12, buffer circuits BF3' and BF4' are inserted between the buffer circuit BF3 and the AND circuit AD2 and between the buffer circuit BF4 and the combinational circuit C2, respectively. When such buffer circuits BF3' and BF4' are inserted, timing violations may occur as described in the first embodiment.
そこで、本実施形態では、第1の実施形態で説明した優先設定情報33について、タイミング制約を厳しめにするように設定する。即ち、タイミングに関する設計制約を厳しくするように設定する。具体的には以下のようにコマンドを設定する。
set_dft_placemethod_timing_priority=pssimism
Therefore, in the present embodiment, the
set_dft_placemethod_timing_priority = pssimism
この設定により配置配線を行った例を図13に示す。図13に示したように、フリップフロップFF3~フリップフロップFF4間の距離が近くなることで、デザインルールを満足できない箇所が発生しなくなるため無駄なバッファ回路が挿入されない。 FIG. 13 shows an example of placement and wiring performed with this setting. As shown in FIG. 13, since the distances between the flip-flops FF3 and FF4 are shortened, there is no place where the design rule cannot be satisfied, and no useless buffer circuit is inserted.
本実施形態によれば、タイミング制約をデフォルト状態よりも厳しく設定することでフリップフロップ間の距離が近くなる様にレイアウトされる。したがって、論理回路が多く未検出故障ノードが発生するケースであっても、タイミングを満足しつつ故障検出率の低下を防ぐことができる。 According to this embodiment, by setting the timing constraint stricter than the default state, layout is performed so that the distance between the flip-flops is shortened. Therefore, even in the case where there are many logic circuits and undetected fault nodes occur, it is possible to prevent a drop in the fault coverage while satisfying the timing.
なお、本実施形態において、厳しめにする量は、あらかじめ自動配置配線装置10側で設定しておいてもよいし別のコマンドでユーザが与えてもよい。また、未検出故障情報31と周波数ベースのタイミング制約を基に自動配置配線装置10内で生成してもよい。
Incidentally, in the present embodiment, the amount of strictness may be set in advance on the automatic placement and
(第3実施形態)
次に、本発明の第3の実施形態にかかる自動配置配線装置を、図14を参照して説明する。なお、前述した第1の実施形態と同一部分には、同一符号を付して説明を省略する。
(Third Embodiment)
Next, an automatic placement and routing apparatus according to a third embodiment of the present invention will be described with reference to FIG. In addition, the same reference numerals are given to the same parts as in the first embodiment described above, and the description thereof is omitted.
本実施形態では半導体ベンダが作成したセルライブラリに規定されているパラメータの数値範囲を緩和する。半導体集積回路設計における一般的なバッファ回路やAND回路などのセル(回路素子)の遅延値は、半導体ベンダが作成した表1に示したようなテーブルで定義されている。それぞれの値は半導体ベンダが保証している。表1は、キャパシタンスとトランジションの値によってセル遅延の値(ps)が規定されている。
一方、セルに入力される信号のトランジションは、各セルのピン(端子)に対して規定されるのが一般的でセルライブラリ上では例えば、
time_unit : "1ps";
max_transition : 1200;
capacitive_load_unit(1, "pf");
max_capacitance : 0.31088;
などと設定されており、こちらの情報によりインプリメントで改善をしている。
On the other hand, the transition of the signal input to the cell is generally specified for each pin (terminal) of each cell.
time_unit : "1ps";
max_transition : 1200;
capacitive_load_unit(1, "pf");
max_capacitance : 0.31088;
And so on, and improvements are being made in the implementation based on this information.
ここで、例えばトランジションにおいては表1に示したように3.149ps~1321psの範囲で保障されているにも関わらず、実際のインプリメントでは、上記したように1200psまでに制限され、厳しめなインプリメントが実施されている。厳しめにインプリメントされているために、例えばトランジション制約が1321psであれば未検出故障ノードにはバッファ挿入されないが、トランジション制約が1200psとすると未検出故障ノードにバッファ挿入されてしまうといった事態が発生する場合がある。 Here, for example, in the transition, although the range of 3.149 ps to 1321 ps is guaranteed as shown in Table 1, the actual implementation is limited to 1200 ps as described above, which is a rather strict implementation. are being implemented. For example, if the transition constraint is 1321 ps, the buffer is not inserted into the undetected fault node, but if the transition constraint is 1200 ps, the buffer is inserted into the undetected fault node. Sometimes.
そこで、本実施形態では、図14に示したように緩和部27を設ける。緩和部27は、例えば所定のコマンド等の設定に応じてトランジション制約やキャパシタンス制約といったパラメータの制約を緩和する、つまり、表1に示した保障の範囲まで使用できるようにする。即ち、本実施形態においては、トランジション制約やキャパシタンス制約といったパラメータはタイミングに関する設計制約に含まれるものである。
Therefore, in the present embodiment, a
具体的には、所定のコマンドとして下記のようなコマンドによりトランジションやキャパシタンスの制約を緩和の有無を設定する。
set_dft_placemethod_active_transition=on:トランジション制約の緩和あり
set_dft_placemethod_active_transition=off:トランジション制約の緩和なし
set_dft_placemethod_active_capacitance=on:キャパシタンス制約の緩和あり
set_dft_placemethod_active_capacitance=off:キャパシタンス制約の緩和なし
Specifically, the following command is used as a predetermined command to set whether or not to relax the restrictions on transitions and capacitance.
set_dft_placemethod_active_transition = on: Relaxed transition restrictions
set_dft_placemethod_active_transition = off: no relaxation of transition constraints
set_dft_placemethod_active_capacitance = on: Relaxed capacitance constraint
set_dft_placemethod_active_capacitance = off: no relaxation of capacitance constraint
上記設定により、全セルに対してトランジション制約及びキャパシタンス制約の緩和が可能になる。そのため初期配置の段階から遅延計算の保証の範囲内でトランジション制約及びキャパシタンスの緩和が可能となり、未検出故障ノード周辺でバッファ回路挿入を抑制することができ故障検出率の低下を抑えることができる。 The above settings allow relaxation of transition and capacitance constraints for all cells. Therefore, transition restrictions and capacitance can be relaxed from the initial placement stage within the range of delay calculation guarantees, and the insertion of buffer circuits around undetected fault nodes can be suppressed, thereby suppressing a drop in fault coverage.
なお、上記説明した例では、全セルに対してトランジション制約及びキャパシタンス制約の緩和を行っていたが、その場合、全レイアウト設計においてマージンゼロで設計することになり、多少の電源の揺れ等の要因で仕様通りの動作ができなくなるリスクがある。したがって、必要な箇所に限定してトランジション制約及びキャパシタンス制約の緩和を行う方が好ましい。そこで、未検出故障ノード周辺に限定してトランジション制約及びキャパシタンス制約の緩和をようにしてもよい。 In the example described above, transition restrictions and capacitance restrictions were relaxed for all cells, but in that case, all layout designs would be designed with zero margins, and some factors such as fluctuations in the power supply would occur. There is a risk that it will not be able to operate as specified. Therefore, it is preferable to relax the transition constraint and the capacitance constraint only where necessary. Therefore, the relaxation of the transition constraint and the capacitance constraint may be limited to the vicinity of the undetected failure node.
具体的には、緩和部27において、未検出故障情報31に基づいて、未故障検出素子から回路情報をバック・トレースして当該未故障検出素子の前方のインスタンス名とセル名を特定し、さらにフォワード・トレースして当該未故障検出素子の後方のインスタンス名とセル名を特定する。そして、特定したセルについてのみトランジション制約及びキャパシタンス制約の緩和を可能とする。
Specifically, in the
本実施形態によれば、緩和部27は、セルライブラリに設定されているトランジションやキャパシタンス(パラメータ)における制約を緩和するように設定することができる。このようにすることにより、半導体ベンダの保証する範囲で制限を緩和することができるため、第1、第2の実施形態で示したコマンドのみでは解決が困難な状態であっても、未検出故障ノード周辺でバッファ回路挿入を抑制することができ故障検出率の低下を抑えることができる。
According to this embodiment, the relaxing
また、緩和部27は、セルライブラリに設定されているトランジションやキャパシタンス(パラメータ)における制約を緩和する設定を、未検出故障素子及びその素子の前後の素子にのみ適用するようにしてもよく、その場合は、全レイアウト設計においてマージンゼロで設計することがなくなり、未検出故障素子周辺部分のみで確実にバッファ回路挿入を抑制することができ故障検出率の低下を抑えることができる。
In addition, the
なお、上述した実施形態で説明した優先順位判断部26や緩和部27については、機能ブロックとして設けずに、配置部20や配置後の最適化部21がこれらのブロックの機能を有するようにしてもよい。
Note that the
また、例えば、他の回路素子の配置の都合上、上述したように未検出故障素子を近づけて配置することができない場合がある。この場合は、上述した未検出故障素子の挿入が起こり故障検出率が低下してしまう可能性がある。そこで、未検出故障素子を故障検出できるよう適切な素子の追加や変更(回路の変更)を行い配置配線を実施してもよい。即ち、自動配置配線装置10が回路変更手段を備えている。この回路変更手段は、単独の機能ブロックとして設けてもよいし、配置部20などが兼ねてもよい。回路変更した場合は、変更後のネットリストが生成される。
Further, for example, due to the arrangement of other circuit elements, it may not be possible to arrange the undetected failure elements close to each other as described above. In this case, there is a possibility that the insertion of the above-described undetected faulty elements will occur and the fault coverage will decrease. Therefore, placement and wiring may be implemented by adding or changing (changing the circuit) appropriate elements so that failures of undetected faulty elements can be detected. In other words, the automatic placement and routing
また、自動配置配線を行う際は、図2に示した配置部20から配線後の最適化部25までの処理を繰り返し行うことが多い。その際に、設計制約を考慮して自動配置配線すると配置配線の要求を満足できるよう論理素子の挿入が起こることがある。この素子の挿入により未検出故障情報31が当初取得したものと異なってくることがある。そこで、例えば、配線後の最適化部25の後に、未検出故障素子の再検出を行い、更新が必要な場合は未検出故障情報31の更新を行ってもよい。
Further, when performing automatic placement and routing, the processing from the
このようにすることにより、未検出故障素子情報を考慮して配置配線中の回路変更等に対応した処理を行うことができる。即ち、未検出故障素子検出手段、未検出故障素子情報更新手段を有する構成としてもよい。 By doing so, it is possible to perform processing corresponding to a circuit change or the like during placement and wiring in consideration of undetected faulty element information. That is, the configuration may include undetected fault element detection means and undetected fault element information update means.
また、自動配置配線装置10をコンピュータで読み込み動作可能な自動配置配線プログラムとして構成してもよい。この場合図2に示した、配置部20、配置後の最適化部21、クロックツリー合成部22、クロックツリー後の最適化部23、配線部24、配線後の最適化部25、優先順位判断部26、といった処理装置1が機能する部分がプログラムとして構成される。また、この自動配置配線プログラムをメモリーカード等のコンピュータ読み取り可能な記憶媒体に記憶してもよい。
Further, the automatic placement and routing
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。 It should be noted that the present invention is not limited to the above embodiments. That is, various modifications can be made without departing from the gist of the present invention.
1 処理装置
4 記憶装置
10 自動配置配線装置
20 配置部(回路情報取得手段、未検出故障素子情報取得手段、配置配線手段、回路変更手段)
21 配置後の最適化部
24 配線部(配置配線手段)
25 配線後の最適化部
26 優先順位判断部(優先情報取得手段、実現性判断手段)
27 緩和部
30 配置配線に必要な情報(回路素子情報および配線情報)
31 未検出故障情報(故障検出できない回路素子の情報)
32 レイアウトデータ
33 優先設定情報(優先情報)
REFERENCE SIGNS
21 Optimization unit after
25
27
31 undetected failure information (information on circuit elements for which failure detection is not possible)
32
Claims (10)
前記回路素子のうち故障検出できない回路素子の情報である未検出故障素子情報を取得する未検出故障素子情報取得手段と、
タイミングに関する設計制約を優先するか否かが設定される優先情報を取得する優先情報取得手段と、を備え、
前記配置配線手段が、
前記優先情報に前記タイミングに関する設計制約を優先しないと設定されている場合は、回路情報取得手段が取得した前記回路素子情報および配線情報と、前記未検出故障素子情報と、に基づいて、同一の配線で接続された複数の前記故障検出できない回路素子間の配線を予め定められている配線に関する設計制約を満たす配線長となるように近づけて配置をし、
前記優先情報に前記タイミングに関する設計制約を優先すると設定されている場合は、前記タイミングに関する設計制約を優先して前記故障検出できない回路素子を配置および配線する、
ことを特徴とする自動配置配線装置。 An automatic placement and routing apparatus comprising: circuit information acquiring means for acquiring circuit element information and routing information in a semiconductor integrated circuit; and placement and routing means for placing and routing circuit elements,
undetected fault element information obtaining means for obtaining undetected fault element information, which is information of a circuit element whose fault cannot be detected among the circuit elements;
priority information acquisition means for acquiring priority information indicating whether or not to give priority to design constraints related to timing;
The placement and routing means is
When the priority information is set not to give priority to the design constraint related to the timing, the same arranging the wiring between the plurality of circuit elements connected by wiring where the failure cannot be detected so as to be close to each other so that the wiring length satisfies predetermined design constraints on the wiring;
if the priority information is set to give priority to the design constraint regarding timing, placing and wiring the circuit element in which the fault cannot be detected with priority given to the design constraint regarding timing;
An automatic placement and routing device characterized by:
前記配置配線手段は、前記優先情報に前記タイミングに関する設計制約を優先すると設定され、かつ、前記実現性判断手段が前記実現性がないと判断した場合は、前記タイミングに関する設計制約を優先して前記故障検出できない回路素子の初期配置をする、
ことを特徴とする請求項1に記載の自動配置配線装置。 feasibility determination means for determining the feasibility of the design constraints related to the timing;
When the priority information is set to give priority to the design constraint on the timing and the feasibility determination means determines that the feasibility is not feasible, the placement and routing means gives priority to the design constraint on the timing. initial placement of circuit elements for which failure detection is not possible;
2. The automatic placement and routing apparatus according to claim 1, wherein:
半導体集積回路における回路素子情報および配線情報を取得する回路情報取得ステップと、
前記回路素子のうち故障検出できない回路素子の情報である未検出故障素子情報を取得する未検出故障素子情報取得ステップと、
タイミングに関する設計制約を優先するか否かが設定される優先情報を取得する優先情報取得ステップと
前記優先情報に前記タイミングに関する設計制約を優先しないと設定されている場合は、回路情報取得手段が取得した前記回路素子情報および配線情報と、前記未検出故障素子情報と、に基づいて、同一の配線で接続された複数の前記故障検出できない回路素子間の配線を予め定められている配線に関する設計制約を満たす配線長となるように近づけて配置をし、前記優先情報に前記タイミングに関する設計制約を優先すると設定されている場合は、前記タイミングに関する設計制約を優先して前記故障検出できない回路素子を配置および配線する配置配線ステップと、
を前記自動配置配線装置が順次実行することを特徴とする自動配置配線方法。 In an automatic placement and routing method for placing and routing circuit elements in a semiconductor integrated circuit by an automatic placement and routing device,
a circuit information acquisition step of acquiring circuit element information and wiring information in a semiconductor integrated circuit;
an undetected fault element information obtaining step of obtaining undetected fault element information, which is information of a circuit element whose fault cannot be detected among the circuit elements;
a priority information obtaining step of obtaining priority information for setting whether or not to give priority to design constraints related to timing; A design constraint on wiring in which wiring between a plurality of circuit elements whose faults cannot be detected and which are connected by the same wiring is determined in advance based on the circuit element information and wiring information and the undetected fault element information. If the priority information is set to give priority to the design constraint on the timing, the design constraint on the timing is given priority and the circuit element whose failure cannot be detected is arranged. and a place and route step that routes
are sequentially executed by the automatic placement and routing apparatus.
前記回路素子のうち故障検出できない回路素子の情報である未検出故障素子情報を取得する未検出故障素子情報取得手段と、
タイミングに関する設計制約を優先するか否かが設定される優先情報を取得する優先情報取得手段と、して前記コンピュータを機能させ、
前記配置配線手段が、
前記優先情報に前記タイミングに関する設計制約を優先しないと設定されている場合は、回路情報取得手段が取得した前記回路素子情報および配線情報と、前記未検出故障素子情報と、に基づいて、同一の配線で接続された複数の前記故障検出できない回路素子間の配線を予め定められている配線に関する設計制約を満たす配線長となるように近づけて配置をし、
前記優先情報に前記タイミングに関する設計制約を優先すると設定されている場合は、前記タイミングに関する設計制約を優先して前記故障検出できない回路素子を配置および配線する、
ことを特徴とする自動配置配線プログラム。 In an automatic placement and routing program that causes a computer to function as circuit information acquiring means for acquiring circuit element information and routing information in a semiconductor integrated circuit and placement and routing means for placing and routing circuit elements,
undetected fault element information obtaining means for obtaining undetected fault element information, which is information of a circuit element whose fault cannot be detected among the circuit elements;
causing the computer to function as priority information acquisition means for acquiring priority information for setting whether or not to give priority to design constraints related to timing;
The placement and routing means is
When the priority information is set not to give priority to the design constraint related to the timing, the same arranging the wiring between the plurality of circuit elements connected by wiring where the failure cannot be detected so as to be close to each other so that the wiring length satisfies predetermined design constraints on the wiring;
if the priority information is set to give priority to the design constraint regarding timing, placing and wiring the circuit element in which the fault cannot be detected with priority given to the design constraint regarding timing;
An automatic placement and routing program characterized by:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019202119A JP7334580B2 (en) | 2019-11-07 | 2019-11-07 | Automatic placement and routing device, automatic placement and routing method, automatic placement and routing program, storage medium storing automatic placement and routing program, and semiconductor integrated circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019202119A JP7334580B2 (en) | 2019-11-07 | 2019-11-07 | Automatic placement and routing device, automatic placement and routing method, automatic placement and routing program, storage medium storing automatic placement and routing program, and semiconductor integrated circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021077000A JP2021077000A (en) | 2021-05-20 |
| JP7334580B2 true JP7334580B2 (en) | 2023-08-29 |
Family
ID=75899673
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019202119A Active JP7334580B2 (en) | 2019-11-07 | 2019-11-07 | Automatic placement and routing device, automatic placement and routing method, automatic placement and routing program, storage medium storing automatic placement and routing program, and semiconductor integrated circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7334580B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000029919A (en) | 1998-07-13 | 2000-01-28 | Nec Corp | Logic circuit improvement method and logic circuit improvement method |
| JP2007304772A (en) | 2006-05-10 | 2007-11-22 | Kawasaki Microelectronics Kk | Design system and design method |
| JP2013191139A (en) | 2012-03-15 | 2013-09-26 | Ricoh Co Ltd | Automatic layout wiring device and automatic layout wiring method |
-
2019
- 2019-11-07 JP JP2019202119A patent/JP7334580B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000029919A (en) | 1998-07-13 | 2000-01-28 | Nec Corp | Logic circuit improvement method and logic circuit improvement method |
| JP2007304772A (en) | 2006-05-10 | 2007-11-22 | Kawasaki Microelectronics Kk | Design system and design method |
| JP2013191139A (en) | 2012-03-15 | 2013-09-26 | Ricoh Co Ltd | Automatic layout wiring device and automatic layout wiring method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021077000A (en) | 2021-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9846759B2 (en) | Global connection routing method and system for performing the same | |
| CN111950226A (en) | Chip back-end design and layout design methods, tools, chips and storage media | |
| JP4940013B2 (en) | Simultaneous operation signal noise estimation method and program for semiconductor device | |
| US9991249B2 (en) | Integrated circuit and computer-implemented method of manufacturing the same | |
| EP3239865A1 (en) | Method for analyzing ir drop and electromigration of ic | |
| JP2004342100A (en) | Tool flow process for physical design of integrated circuits | |
| KR20090077692A (en) | Method for manufacturing semiconductor device, program for manufacturing semiconductor device, and system for manufacturing semiconductor device | |
| JP2020149270A (en) | Circuit optimization device and circuit optimization method | |
| US20080127020A1 (en) | System and method for automatic elimination of voltage drop, also known as IR drop, violations of a mask layout block, maintaining the process design rules correctness | |
| US9940422B2 (en) | Methods for reducing congestion region in layout area of IC | |
| CN109992811B (en) | Circuit design method and related computer program product | |
| JP2010257164A (en) | Design method and program for semiconductor integrated circuit device | |
| TW202018508A (en) | Testing system and testing method | |
| KR102717096B1 (en) | Integrated circuit and computer-implemented method for manufacturing the same | |
| US8413102B2 (en) | Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop | |
| JP2009134439A (en) | Layout design method using soft macro, soft macro data structure and soft macro library creation method | |
| JP7334580B2 (en) | Automatic placement and routing device, automatic placement and routing method, automatic placement and routing program, storage medium storing automatic placement and routing program, and semiconductor integrated circuit | |
| US20140189629A1 (en) | Pattern-based power-and-ground (pg) routing and via creation | |
| WO2009002301A1 (en) | System and method for automatic elimination of voltage drop | |
| US9418192B1 (en) | Pass eco flow based on reduced timing scope timer | |
| JP2013239073A (en) | Layout method and design support program | |
| US8302066B2 (en) | Clock jitter suppression method and computer-readable storage medium | |
| US7962877B2 (en) | Port assignment in hierarchical designs by abstracting macro logic | |
| US7191416B2 (en) | System and method for modifying integrated circuit hold times | |
| US7418675B2 (en) | System and method for reducing the power consumption of clock systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220914 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230711 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230718 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230731 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7334580 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |