JP2006268439A - 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム - Google Patents
半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム Download PDFInfo
- Publication number
- JP2006268439A JP2006268439A JP2005085706A JP2005085706A JP2006268439A JP 2006268439 A JP2006268439 A JP 2006268439A JP 2005085706 A JP2005085706 A JP 2005085706A JP 2005085706 A JP2005085706 A JP 2005085706A JP 2006268439 A JP2006268439 A JP 2006268439A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- scan
- flop
- semiconductor integrated
- scan flip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】 クロックツリーに数多くのバッファが追加されてしまうこと等を防止することができる半導体集積回路の設計方法等を提供する。
【解決手段】 ネットリストを記録するネットリスト記録部4と、セルライブラリを記録するためのセルライブラリ記録部5と、ネットリスト及びセルライブラリに基づいてレイアウト処理を行うレイアウト処理部6と、レイアウトされた回路に対してタイミングシミュレーションを行うタイミングシミュレーション処理部7と、タイミングシミュレーションにおいて一対のスキャンフリップフロップセル間にホールドエラーが生ずることが検出された場合に、いずれかのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルで置換するセル置換処理部8と、セルの置換によって影響を受けた配線の引き直しを行う配線引き直し処理部9とを具備する。
【選択図】 図1
【解決手段】 ネットリストを記録するネットリスト記録部4と、セルライブラリを記録するためのセルライブラリ記録部5と、ネットリスト及びセルライブラリに基づいてレイアウト処理を行うレイアウト処理部6と、レイアウトされた回路に対してタイミングシミュレーションを行うタイミングシミュレーション処理部7と、タイミングシミュレーションにおいて一対のスキャンフリップフロップセル間にホールドエラーが生ずることが検出された場合に、いずれかのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルで置換するセル置換処理部8と、セルの置換によって影響を受けた配線の引き直しを行う配線引き直し処理部9とを具備する。
【選択図】 図1
Description
本発明は、半導体集積回路の設計方法及びそのような半導体集積回路の設計方法によって設計された半導体集積回路に関する。さらに、本発明は、そのような半導体集積回路の設計方法を用いた半導体集積回路の設計装置及び半導体集積回路の設計を行うためのプログラムに関する。
近年の半導体集積回路の検証において、スキャンテストが行われるようになってきている。スキャンテストを行う場合、半導体集積回路の設計において、従来の一般的なフリップフロップに代えてスキャンフリップフロップと呼ばれるフリップフロップが用いられる。スキャンフリップフロップは、通常動作時に通常動作用のデータ信号を受け取るためのデータ入力端子とは別個に、スキャンテスト時にスキャンデータ信号を受け取るためのスキャンデータ入力端子を有する。
図4は、スキャンフリップフロップを用いた回路の一例を示す図である。図4に示すように、スキャンフリップフロップ21、22は、クロック入力端子CLK、リセット入力端子RESET、スキャンテストイネーブル入力端子SE、データ入力端子D、スキャンデータ入力端子SI、及び、データ出力端子Q、Qバーをそれぞれ有する。クロック入力端子CLK、リセット入力端子RESET、データ入力端子D、及び、データ出力端子Q、Qバーは、一般的なフリップフロップが有するものと同様である。スキャンフリップフロップ21、22が一般的なフリップフロップと異なる点は、スキャンテストイネーブル入力端子SE及びスキャンデータ入力端子SIを有する点である。
なお、通常動作用の信号を出力するための出力端子Q、Qバーとは別個に、スキャンテスト時にスキャンデータ信号を出力するためのスキャンデータ出力端子を有するスキャンフリップフロップもある。
なお、通常動作用の信号を出力するための出力端子Q、Qバーとは別個に、スキャンテスト時にスキャンデータ信号を出力するためのスキャンデータ出力端子を有するスキャンフリップフロップもある。
スキャンフリップフロップ21、22は、スキャンテストイネーブル信号がインアクティブの場合、一般的なフリップフロップと同様の動作を行う。すなわち、スキャンフリップフロップ21、22は、クロック信号に同期して、データ入力信号を保持し、出力する。一方、スキャンフリップフロップ21、22は、スキャンテストイネーブル信号がアクティブの場合、クロック信号に同期して、スキャンデータ入力信号を保持し、出力する。
図4において、通常動作時(スキャンテストイネーブル信号がインアクティブの時)には、データ信号は、スキャンフリップフロップ21〜論理回路23〜スキャンフリップフロップ22という経路で伝達される。この場合、論理回路23によりデータ信号が遅延されるため、ホールドエラーが生じることは少ない。一方、スキャンテスト時(スキャンテストイネーブル信号がアクティブの時)には、スキャンデータ信号は、スキャンフリップフロップ21〜スキャンフリップフロップ22という経路で伝達される。この場合、論理回路23のように遅延を生じさせる回路を経由しないため、ホールドエラーが生ずることが多い。
クロックスキューが無ければホールドエラーが生ずることはないため、CTS(Clock Tree Synthesis)においてクロックスキューを出来うる限り小さく抑えることが考えられる。
しかしながら、この場合、クロックスキューを抑えるためにクロックツリーに数多くのバッファが追加されてしまうという問題があった。
しかしながら、この場合、クロックスキューを抑えるためにクロックツリーに数多くのバッファが追加されてしまうという問題があった。
また、レイアウトが行われた後のタイミングシミュレーション(STA:Static Timing Analysis)によりホールドエラーが検出された場合、ホールドエラーが生じるスキャンデータ伝送用の配線上に遅延回路(ディレイセル)を挿入することが行われることがある。
しかしながら、この場合、挿入する遅延回路の種類(遅延量の違い)や数は、設計者の経験から推測して決定しており、推測が誤っている場合、遅延回路の挿入後もホールドエラーが残ってしまうという問題があった。
しかしながら、この場合、挿入する遅延回路の種類(遅延量の違い)や数は、設計者の経験から推測して決定しており、推測が誤っている場合、遅延回路の挿入後もホールドエラーが残ってしまうという問題があった。
また、レイアウト及びタイミングシミュレーションの前に、ホールドエラーが生じそうであると思われる箇所を設計者の経験から推測し、ホールドエラーが生じそうであると思われるスキャンデータ伝送用の配線上に予めラッチ(ルックアップラッチ)を挿入することが行われることもある。
しかしながら、この場合、ラッチを挿入するか否かは、設計者の経験から推測して決定しており、推測が誤っている場合、本来は不要なラッチを挿入することとなってしまうという問題があった。
しかしながら、この場合、ラッチを挿入するか否かは、設計者の経験から推測して決定しており、推測が誤っている場合、本来は不要なラッチを挿入することとなってしまうという問題があった。
クロックスキューを完全に無くすことができればホールドエラーが生ずることはないが、現実には、クロックスキューを完全に無くすことは不可能である。このような事情に鑑み、下記特許文献1には、複数のスキャンフリップフロップ回路を備え、スキャンフリップフロップ回路を所定の動作態様で選択的に動作させるようにしたことを特徴とするスキャンフリップフロップ回路装置が掲載されている。
そこで、上記の点に鑑み、本発明は、スキャンフリップフロップ回路を選択的に動作させることなく、上記した問題点を防止することができる半導体集積回路の設計方法を提供することを第1の目的とする。また、本発明はそのような半導体集積回路の設計方法によって設計された半導体集積回路を提供することを第2の目的とする。また、本発明は、そのような半導体集積回路の設計方法を用いた半導体集積回路の設計装置を提供することを第3の目的とする。また、本発明は、半導体集積回路の設計を行うためのプログラムを提供することを第4の目的とする。
以上の課題を解決するため、本発明に係る半導体集積回路の設計方法は、半導体集積回路の設計を行うためにコンピュータが実行する方法であって、スキャンフリップフロップセルを含む複数のセル及び配線のレイアウトを行うステップ(a)と、ステップ(a)にて得られた回路に対してタイミングシミュレーションを行うステップ(b)と、ステップ(b)にて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、1つのスキャンフリップフロップセル又は他の1つのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルで置換するステップ(c)と、ステップ(c)にて置換されたスキャンテスト機能及びホールドエラー防止機能を有するセルに接続される配線及び/又はステップ(c)にて行われたセルの置換によって影響を受けた配線を含む配線の引き直しを行うステップ(d)とを具備する。
この半導体集積回路の設計方法において、ステップ(c)が、他の1つのスキャンフリップフロップセルをスキャン入力信号を遅延させる遅延回路及び当該遅延回路の出力端子にスキャン入力端子が接続されたスキャンフリップフロップを含む第1のタイプのセルで置換し、又は、1つのスキャンフリップフロップセルをスキャンフリップフロップ及び当該スキャンフリップフロップのスキャン出力信号をラッチするためのラッチ回路を含む第2のタイプのセルで置換するステップであることとしても良い。
また、ステップ(b)が、1つのスキャンフリップフロップセルと他の1つのスキャンフリップフロップセルとの間のホールドエラー時間を算出するステップを含み、ステップ(c)が、他の1つのスキャンフリップフロップセルを、第1のタイプのセルであって、ホールドエラー時間に相当する遅延時間を有する遅延回路を含む第1のタイプのセルで置換するステップであることとしても良い。
また、本発明に係る半導体集積回路は、本発明に係る半導体集積回路の設計方法によって設計されたことを特徴とする。
また、本発明に係る半導体集積回路の設計装置は、半導体集積回路の設計を行うための装置であって、設計対象である半導体集積回路のネットリスト及びセルライブラリを記録する記録手段と、ネットリスト及びセルライブラリを用いて、スキャンフリップフロップセルを含む複数のセルの配置及び配線のレイアウトを行う第1の手段と、第1の手段によって得られた回路に対してタイミングシミュレーションを行う第2の手段と、第2の手段によって行われたタイミングシミュレーションにおいて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、1つのスキャンフリップフロップセル又は他の1つのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルに置換する第3の手段と、第3の手段によって置換されたスキャンテスト機能及びホールドエラー防止機能を有するセルに接続される配線及び/又は第3の手段によって行われたセルの置換によって影響を受けた配線を含む配線の引き直しを行う第4の手段とを具備する。
また、本発明に係る半導体集積回路の設計プログラムは、半導体集積回路の設計を行うためのプログラムであって、スキャンフリップフロップセルを含む複数のセル及び配線のレイアウトを行う手順(a)と、手順(a)にて得られた回路に対してタイミングシミュレーションを行う手順(b)と、手順(b)にて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、1つのスキャンフリップフロップセル又は他の1つのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルに置換する手順(c)と、手順(c)にて置換されたスキャンテスト機能及びホールドエラー防止機能を有するセルに接続される配線及び/又は手順(c)にて行われたセルの置換によって影響を受けた配線を含む配線の引き直しを行う手順(d)とをCPUに実行させる。
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については、同一の参照番号で示している。
図1は、本発明の一実施形態に係る半導体集積回路の設計装置の概要を示す図である。
図1は、本発明の一実施形態に係る半導体集積回路の設計装置の概要を示す図である。
図1に示すように、この半導体集積回路の設計装置1は、入力部2と、表示部3と、ネットリスト記録部4と、セルライブラリ記録部5と、レイアウト処理部6と、タイミングシミュレーション処理部7と、セル置換処理部8と、配線引き直し処理部9とを具備する。
入力部2は、ユーザ(半導体集積回路の設計技術者)が入力を行うためのキーボード等であり、表示部3は、半導体集積回路の設計結果等を表示するためのCRT、LCD等である。
入力部2は、ユーザ(半導体集積回路の設計技術者)が入力を行うためのキーボード等であり、表示部3は、半導体集積回路の設計結果等を表示するためのCRT、LCD等である。
ネットリスト記録部4は、設計対象である半導体集積回路の回路設計情報であるネットリストを記録する。
セルライブラリ記録部5は、設計に用いられるセル(スキャンフリップフロップ、ANDゲート回路、ORゲート回路、バッファ回路等を含む)を含むセルライブラリを記録する。
セルライブラリ記録部5は、設計に用いられるセル(スキャンフリップフロップ、ANDゲート回路、ORゲート回路、バッファ回路等を含む)を含むセルライブラリを記録する。
図2は、セルライブラリ記録部5のセルライブラリに含まれているセルの例を示す図である。図2(a)は、スキャンフリップフロップセルを示す図であり、図2(b)は、スキャンテスト機能及びホールドエラー防止機能を有する第1のタイプのセルの例を示す図であり、図2(c)は、スキャンテスト機能及びホールドエラー防止機能を有する第2のタイプのセルの例を示す図である。
図2(a)に示すスキャンフリップフロップ11は、従来より用いられているスキャンフリップフロップと同様のものであり、クロック入力端子CLK、リセット入力端子RESET、スキャンテストイネーブル入力端子SE、データ入力端子D、スキャンデータ入力端子SI、及び、データ出力端子Q、Qバーを有する。
図2(a)に示すスキャンフリップフロップ11は、従来より用いられているスキャンフリップフロップと同様のものであり、クロック入力端子CLK、リセット入力端子RESET、スキャンテストイネーブル入力端子SE、データ入力端子D、スキャンデータ入力端子SI、及び、データ出力端子Q、Qバーを有する。
図2(b)に示す第1のタイプのセル12は、スキャン入力信号を遅延させる遅延回路12aと、遅延回路12aの出力端子にスキャン入力端子が接続されたスキャンフリップフロップ12bとを含む。なお、セルライブラリ記録部5のセルライブラリには、図2(b)に示す回路構成をそれぞれ有し、遅延回路の遅延時間がそれぞれ異なる複数の第1のタイプのセルが記録されている。
図2(c)に示すスキャンテスト機能及びホールドエラー防止機能を有する第2のタイプのセル13は、スキャンフリップフロップ13aと、スキャンフリップフロップ13aのスキャン出力信号をラッチするためのラッチ回路13bとを含む。なお、第2のタイプのセル13が、外部からクロック信号を受け取ってスキャンフリップフロップ13a及びラッチ回路13bに出力するためのバッファ回路を更に含むこととしても良い。
再び図1を参照すると、レイアウト処理部6は、ネットリスト記録部4に記録されているネットリスト及びセルライブラリ記録部5に記録されているセルライブラリに基づいて、レイアウト処理を行う。
タイミングシミュレーション処理部7は、レイアウト処理部6によってレイアウトされた回路に対してタイミングシミュレーションを行う。
セル置換処理部8は、タイミングシミュレーション処理部7によって行われたタイミングシミュレーションにおいて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、他の1つのスキャンフリップフロップセルを第1のタイプのセル(図2(b)参照)で置換し、又は1つのスキャンフリップフロップセルを第2のタイプのセル(図2(c)参照)で置換する。
セル置換処理部8は、タイミングシミュレーション処理部7によって行われたタイミングシミュレーションにおいて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、他の1つのスキャンフリップフロップセルを第1のタイプのセル(図2(b)参照)で置換し、又は1つのスキャンフリップフロップセルを第2のタイプのセル(図2(c)参照)で置換する。
配線引き直し処理部9は、セル置換処理部8によってセルの置換が行われた場合に、置換配置されたセルに接続される配線及びセルの置換によって影響を受けた配線を含む周囲の配線の引き直し(ECO:Engineering Change Order)を行う。
図1に示すレイアウト処理部6、タイミングシミュレーション処理部7、セル置換処理部8、及び、配線引き直し処理部9は、CPUとソフトウェア(プログラム)で構成することができる。このプログラムと、ネットリスト及びセルライブラリは、ハードディスク、フレキシブルディスク、MO、MT、RAM、CD−ROM、又は、DVD−ROM等の記録媒体に記録することができる。
図3は、半導体集積回路の設計装置1の半導体集積回路の設計処理を示すフローチャートである。以下、図3を参照しながら、半導体集積回路の設計装置1の半導体集積回路設計処理について説明する。
まず、ユーザ(半導体集積回路の設計技術者)が、半導体集積回路の設計処理の開始指示を入力部2から入力すると、レイアウト処理部6が、ネットリスト及びセルライブラリを参照してレイアウトを行う(ステップS1)。
次に、タイミングシミュレーション処理部7が、レイアウト処理部6によってレイアウトされた回路に対してタイミングシミュレーションを行う(ステップS2)。このとき、タイミングシミュレーション処理部7は、設計対象である半導体集積回路のスキャンテスト動作時にホールドエラーが生ずるか否かを検出するとともに、ホールドエラーが生ずる場合には、ホールドエラーの大きさ(ホールドエラー時間)を定量的に算出する。
タイミングシミュレーション処理部7によって行われたタイミングシミュレーションにおいて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合(ステップS3)、セル置換処理部8が、他の1つのスキャンフリップフロップセルを第1のタイプのセル(図2(b)参照)で置換し、又は、1つのスキャンフリップフロップセルを第2のタイプのセル(図2(c)参照)で置換する(ステップS4)。
例えば、図4に示す回路において、スキャンフリップフロップセル21のスキャン出力端子(ここでは、出力端子Q)とスキャンフリップフロップセル22のスキャン入力端子(ここでは、スキャン入力端子SI)との間にホールドエラーが生ずることが検出された場合、セル置換処理部8は、スキャンフリップフロップセル22を第1のタイプのセル(図2(b)参照)で置換し、又は、スキャンフリップフロップセル21を第2のタイプのセル(図2(c)参照)で置換する。これにより、スキャンテスト動作時にホールドエラーが生ずることを防止することができる。
なお、先に説明したように、セルライブラリ記録部5のセルライブラリには、図2(b)に示す回路構成をそれぞれ有し、遅延回路の遅延時間がそれぞれ異なる複数の第1のタイプのセルが記録されている。そこで、セル置換処理部8が、スキャンフリップフロップセル22を、複数の第1のタイプのセルの中のタイミングシミュレーション処理部7によって定量的に算出されたホールドエラー時間に相当する遅延時間を有するセルで置換することとしても良い。
再び図3を参照すると、配線引き直し処理部9が、セル置換処理部8によって置換配置されたセルに接続される配線及びセルの置換によって影響を受けた配線を含む周囲の配線の引き直し(ECO)を行う(ステップS5)。
これにより、スキャンテスト動作時にホールドエラーが生ずることがない半導体集積回路を設計することができる。
以上説明したように、半導体集積回路の設計装置1によれば、従来のように、クロックスキューを抑えるためにクロックツリーに数多くのバッファが追加されてしまうという問題が生じることがない。
また、先に説明したように、従来は、タイミングシミュレーションによりホールドエラーが検出された場合、ホールドエラーが生じるスキャンデータ伝送用の配線上に遅延回路を挿入することが行われることがある。この場合、挿入する遅延回路の種類(遅延量の違い)や数は、設計者の経験から推測して決定しており、推測が誤っている場合、遅延回路の挿入後もホールドエラーが残ってしまうという問題があった。
一方、半導体集積回路の設計装置1によれば、タイミングシミュレーションにより1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、遅延回路を挿入するのではなく、他の1つのスキャンフリップフロップセルを第1のタイプのセル(図2(b)参照)で置換する点で、従来技術と異なる。また、1つのスキャンフリップフロップセルと他の1つのスキャンフリップフロップセルとの間のホールドエラー時間を定量的に算出し、他の1つのスキャンフリップフロップセルを、第2のタイプのセルであって、ホールドエラー時間に相当する遅延時間を有する遅延回路を含む第2のタイプのセルで置換することとすることができる。第1のタイプのセル(図2(b)参照)は、遅延回路とスキャンフリップフロップセルを一体としたセルであり、遅延回路を挿入する場合よりも遅延量を一定にすることができるため、最適なセルを選択することができる。これにより、遅延回路(ディレイセル)の挿入後もホールドエラーが残ってしまうという問題が生ずることがない。
一方、半導体集積回路の設計装置1によれば、タイミングシミュレーションにより1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、遅延回路を挿入するのではなく、他の1つのスキャンフリップフロップセルを第1のタイプのセル(図2(b)参照)で置換する点で、従来技術と異なる。また、1つのスキャンフリップフロップセルと他の1つのスキャンフリップフロップセルとの間のホールドエラー時間を定量的に算出し、他の1つのスキャンフリップフロップセルを、第2のタイプのセルであって、ホールドエラー時間に相当する遅延時間を有する遅延回路を含む第2のタイプのセルで置換することとすることができる。第1のタイプのセル(図2(b)参照)は、遅延回路とスキャンフリップフロップセルを一体としたセルであり、遅延回路を挿入する場合よりも遅延量を一定にすることができるため、最適なセルを選択することができる。これにより、遅延回路(ディレイセル)の挿入後もホールドエラーが残ってしまうという問題が生ずることがない。
また、先に説明したように、従来は、レイアウト及びタイミングシミュレーションの前に、ホールドエラーが生じそうな箇所を設計者の経験から推測し、ホールドエラーが生じそうなスキャンデータ伝送用の配線上に予めラッチを挿入することが行われることがある。この場合、ラッチを挿入するか否かは、設計者の経験から推測して決定しており、推測が誤っている場合、本来は不要なラッチを挿入することとなってしまうという問題があった。
一方、半導体集積回路の設計装置1によれば、タイミングシミュレーションにより1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、1つのスキャンフリップフロップセルを第2のタイプのセル(図2(c)参照)で置換する点で、従来技術と異なる。これにより、本来は不要なラッチを挿入することとなってしまうという問題が生ずることがない。
一方、半導体集積回路の設計装置1によれば、タイミングシミュレーションにより1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、1つのスキャンフリップフロップセルを第2のタイプのセル(図2(c)参照)で置換する点で、従来技術と異なる。これにより、本来は不要なラッチを挿入することとなってしまうという問題が生ずることがない。
本発明は、半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラムにおいて利用可能である。
1 半導体集積回路の設計装置、 2 入力部、 3 表示部、 4 ネットリスト記録部、 5 セルライブラリ記録部、 6 レイアウト処理部、 7 タイミングシミュレーション処理部、 8 セル置換処理部、 9 配線引き直し処理部、 11、12b、13a、21、22 スキャンフリップフロップセル、 12、13 セル、 12a 遅延回路、 13b ラッチ回路、 23 論理回路
Claims (6)
- 半導体集積回路の設計を行うためにコンピュータが実行する方法であって、
スキャンフリップフロップセルを含む複数のセル及び配線のレイアウトを行うステップ(a)と、
ステップ(a)にて得られた回路に対してタイミングシミュレーションを行うステップ(b)と、
ステップ(b)にて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、前記1つのスキャンフリップフロップセル又は前記他の1つのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルで置換するステップ(c)と、
ステップ(c)にて置換された前記スキャンテスト機能及びホールドエラー防止機能を有するセルに接続される配線及び/又はステップ(c)にて行われたセルの置換によって影響を受けた配線を含む配線の引き直しを行うステップ(d)と、
を具備する半導体集積回路の設計方法。 - ステップ(c)が、前記他の1つのスキャンフリップフロップセルをスキャン入力信号を遅延させる遅延回路及び当該遅延回路の出力端子にスキャン入力端子が接続されたスキャンフリップフロップを含む第1のタイプのセルで置換し、又は、前記1つのスキャンフリップフロップセルをスキャンフリップフロップ及び当該スキャンフリップフロップのスキャン出力信号をラッチするためのラッチ回路を含む第2のタイプのセルで置換するステップである、請求項1記載の半導体集積回路の設計方法。
- ステップ(b)が、前記1つのスキャンフリップフロップセルと前記他の1つのスキャンフリップフロップセルとの間のホールドエラー時間を算出するステップを含み、
ステップ(c)が、前記他の1つのスキャンフリップフロップセルを、前記第1のタイプのセルであって、前記ホールドエラー時間に相当する遅延時間を有する前記遅延回路を含む前記第1のタイプのセルで置換するステップである、請求項2記載の半導体集積回路の設計方法。 - 請求項1〜3のいずれか1項に記載の半導体集積回路の設計方法によって設計されたことを特徴とする半導体集積回路。
- 半導体集積回路の設計を行うための装置であって、
設計対象である半導体集積回路のネットリスト及びセルライブラリを記録する記録手段と、
前記ネットリスト及び前記セルライブラリを用いて、スキャンフリップフロップセルを含む複数のセルの配置及び配線のレイアウトを行う第1の手段と、
前記第1の手段によって得られた回路に対してタイミングシミュレーションを行う第2の手段と、
前記第2の手段によって行われたタイミングシミュレーションにおいて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、前記1つのスキャンフリップフロップセル又は前記他の1つのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルに置換する第3の手段と、
前記第3の手段によって置換された前記スキャンテスト機能及びホールドエラー防止機能を有するセルに接続される配線及び/又は前記第3の手段によって行われたセルの置換によって影響を受けた配線を含む配線の引き直しを行う第4の手段と、
を具備する半導体集積回路の設計装置。 - 半導体集積回路の設計を行うためのプログラムであって、
スキャンフリップフロップセルを含む複数のセル及び配線のレイアウトを行う手順(a)と、
手順(a)にて得られた回路に対してタイミングシミュレーションを行う手順(b)と、
手順(b)にて1つのスキャンフリップフロップセルのスキャン出力端子と他の1つのスキャンフリップフロップセルのスキャン入力端子との間にホールドエラーが生ずることが検出された場合に、前記1つのスキャンフリップフロップセル又は前記他の1つのスキャンフリップフロップセルをスキャンテスト機能及びホールドエラー防止機能を有するセルに置換する手順(c)と、
手順(c)にて置換された前記スキャンテスト機能及びホールドエラー防止機能を有するセルに接続される配線及び/又は手順(c)にて行われたセルの置換によって影響を受けた配線を含む配線の引き直しを行う手順(d)と、
をCPUに実行させるための半導体集積回路の設計プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005085706A JP2006268439A (ja) | 2005-03-24 | 2005-03-24 | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005085706A JP2006268439A (ja) | 2005-03-24 | 2005-03-24 | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268439A true JP2006268439A (ja) | 2006-10-05 |
Family
ID=37204344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005085706A Withdrawn JP2006268439A (ja) | 2005-03-24 | 2005-03-24 | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006268439A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480844B2 (en) * | 2005-03-18 | 2009-01-20 | Fujitsu Limited | Method for eliminating hold error in scan chain |
US20240103066A1 (en) * | 2022-09-27 | 2024-03-28 | Infineon Technologies Ag | Circuit and method for testing a circuit |
-
2005
- 2005-03-24 JP JP2005085706A patent/JP2006268439A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480844B2 (en) * | 2005-03-18 | 2009-01-20 | Fujitsu Limited | Method for eliminating hold error in scan chain |
US20240103066A1 (en) * | 2022-09-27 | 2024-03-28 | Infineon Technologies Ag | Circuit and method for testing a circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090293033A1 (en) | System and method for layout design of integrated circuit | |
US7469393B2 (en) | Method and device for supporting verification, and computer product | |
JP2006146601A (ja) | 半導体集積回路のレイアウト設計方法 | |
JP2010033493A (ja) | レイアウト配線混雑予測装置およびその方法、並びにプログラム | |
JP2010170180A (ja) | 回路検証装置およびプログラム | |
US20050251776A1 (en) | Integrated circuit design system | |
JP2006268439A (ja) | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム | |
KR101117397B1 (ko) | Lsi 시험 장치, lsi 시험 방법, 및 lsi 시험 프로그램을 기록한 기록 매체 | |
US20080069277A1 (en) | Method and apparatus for modeling signal delays in a metastability protection circuit | |
JP5278271B2 (ja) | 設計支援プログラム、設計支援装置および設計支援方法 | |
JP4946655B2 (ja) | 設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法 | |
US7895553B2 (en) | Verification support method and apparatus, and computer product | |
US8392778B2 (en) | Clock domain check method, clock domain check program, and recording medium | |
JPH11219385A (ja) | 集積回路の遅延故障検出方法 | |
JP2019046087A (ja) | 半導体設計支援装置、半導体設計支援方法及びプログラム | |
JP2008204152A (ja) | クロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置 | |
JP2006114799A (ja) | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム | |
JP2009128977A (ja) | 再収斂パス検出方法、プログラム、及びシステム | |
JP2008152329A (ja) | 回路解析方法、及び回路解析プログラム、回路シミュレーション装置 | |
JP2008152550A (ja) | 集積回路装置の設計方法、クロック構築ツール、集積回路装置、マイクロコンピュータ及び電子機器 | |
JP2005128633A (ja) | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム | |
JP2001290863A (ja) | 半導体回路の遅延解析方法及び設計支援装置 | |
JP3132655B2 (ja) | 半導体集積回路におけるクロックネットのレイアウト方法およびレイアウト装置 | |
US8782579B2 (en) | Connection verification method, recording medium thereof, and connection verification apparatus | |
JP2020047060A (ja) | スキャンテスト回路の設計方法、スキャンテスト回路の設計プログラム、及び、半導体集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070404 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |