JP2004139201A - Method and system for delay optimization of semiconductor integrated circuit - Google Patents
Method and system for delay optimization of semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2004139201A JP2004139201A JP2002301241A JP2002301241A JP2004139201A JP 2004139201 A JP2004139201 A JP 2004139201A JP 2002301241 A JP2002301241 A JP 2002301241A JP 2002301241 A JP2002301241 A JP 2002301241A JP 2004139201 A JP2004139201 A JP 2004139201A
- Authority
- JP
- Japan
- Prior art keywords
- operation mode
- delay
- hold
- flip
- path
- 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)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、スキャンパス方式で設計した半導体集積回路内のフリップフロップ間のパスが通常動作モードおよびテスト動作モードの両モードにおいてホールド違反とならないようにフリップフロップ間のパスの遅延を最適化する半導体集積回路の遅延最適化方法および装置に関する。
【0002】
【従来の技術】
半導体集積回路をテスト容易化設計手法の1つであるスキャンパス方式で設計する場合、テスト動作モード時におけるフリップフロップへのテストクロックの供給は、クロック制御の容易性や、全フリップフロップを同一タイミングで動作させる必要性などから、クロック入力ピンを介してチップ外部から行い、かつ、通常動作モード時に使用するクロックパス上に存在するPLL回路や分周回路などのようにクロックの周期を変更する回路をバイパスする経路を設けて行うように設計されることが多い(例えば、特許文献1参照)。
【0003】
このようにして設計された半導体集積回路では、テスト(スキャンテスト)は、▲1▼スキャンモードにしてフリップフロップへのテストデータの設定、▲2▼スキャンモードを解除してフリップフロップへの1サイクル分のクロックの印加、▲3▼スキャンモードにしてフリップフロップの値をチップ外部にスキャンアウトして観測という手順で実行されるが、▲2▼の工程では、テストクロックによってフリップフロップ間の組合せ回路が動作することになるため、通常動作モードおよびテスト動作モードの2つの動作モードにおいて、フリップフロップ間のパスのセットアップ条件とホールド条件を満たすように回路を設計する必要がある。
【0004】
ところで、回路設計時に論理合成ツールなどの遅延最適化ツールで回路の遅延最適化を行う場合、現在一般的に使用されている主要な遅延最適化ツールでは、遅延最適化実行時には各フリップフロップへのクロックパスを一意に定めておく必要がある。すなわち、通常動作モード時のクロックパスか、又は、テスト動作モード時のクロックパスに定めておく必要がある。このため、遅延最適化処理を1回実行するだけでは、テスト動作モードでのセットアップ条件およびホールド条件と通常動作モードでのセットアップ条件およびホールド条件とを同時に満足させるような遅延最適化を行うことができない。
【0005】
ここで、セットアップ条件については、チップ外部からテストクロックを与える場合は、テストクロックの周波数は、通常動作モード時に使用するクロックの周波数より十分に低い場合がかなり多く、そのような場合には、通常動作モードでのセットアップ条件を満足させるような遅延最適化を実行すれば、テスト動作モードでのセットアップ条件を満足させるような遅延最適化は不要になる。
【0006】
しかし、ホールド条件については、通常動作モード時とテスト動作モード時とでは、クロックパス上のPLL回路や分周回路などをバイパスしない場合とバイパスした場合の遅延差だけクロックの遅延が異なることになるため、どちらか一方の動作モードで遅延最適化を行なっただけでは、もう一方の動作モードでのホールド条件を満たせるとは限らない。
【0007】
したがって、また、どちらか一方の動作モードで遅延最適化を行なった後、クロックの遅延制約を切り替えて、もう一方の動作モードで遅延最適化を行なうという方法を採用したとしても、後から実行する遅延最適化で行なわれる回路変更(遅延回路の挿入など)によって、先に遅延最適化を実行した方の動作モードで再びホールド違反が発生するという場合が起こり得る。
【0008】
そこで、従来では、スキャンパス方式で設計した半導体集積回路の遅延最適化を行う場合において、複数の動作モードに対応する遅延制約を同時に扱うことができない遅延最適化ツールを使用する場合には、動作モードを切り替えて遅延最適化を交互に何度か実行するといった自動遅延最適化の繰り返しによって、ある程度のホールド違反を解消し、それでも取り切れないホールド違反部分については、個別に人手で対処するという方法により行っていた。
【0009】
【特許文献1】
特開平9−5397号公報
【0010】
【発明が解決しようとする課題】
このように、従来の半導体集積回路の遅延最適化方法では、自動遅延最適化処理を何度か実行する必要があり、また、それでも遅延最適化が収束するとは限らないため、遅延最適化に多大の時間を要する場合があるという問題点があった。
【0011】
本発明は、かかる点に鑑み、スキャンパス方式で設計した半導体集積回路内のフリップフロップ間のパスが通常動作モードおよびテスト動作モードの両モードにおいてホールド違反とならないようにフリップフロップ間のパスの遅延を最適化する半導体集積回路の遅延最適化方法および装置であって、遅延最適化処理時間の大幅な短縮化を図ることができるようにした半導体集積回路の遅延最適化方法および装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明は、スキャンパス方式で設計した半導体集積回路内のフリップフロップ間のパスが通常動作モードおよびテスト動作モードの両モードにおいてホールド違反とならないようにフリップフロップ間のパスの遅延を最適化する場合、テスト動作モードでのホールド違反値が通常動作モードでのホールド違反値よりも大きい場合、テスト動作モードでのホールド違反値と通常動作モードでのホールド違反値との差分をホールドマージン制約としてフリップフロップ間のパスの遅延を最適化するというものである。
【0013】
本発明によれば、スキャンパス方式で設計した半導体集積回路について、遅延最適化処理を1回実行するだけで、通常動作モードおよびテスト動作モードの両モードにおいてホールド条件を満たすことができるフリップフロップ間のパスの遅延最適化を図ることができる。
【0014】
【発明の実施の形態】
図1は本発明の半導体集積回路の遅延最適化装置の一実施形態の概念図である。図1中、1はスキャンパス方式で設計した半導体集積回路の回路データを格納する回路データ格納手段、2は通常動作モード時の遅延制約を格納する通常動作モード遅延制約格納手段、3はテスト動作モード時の遅延制約を格納するテスト動作モード遅延制約格納手段である。
【0015】
4は回路データ格納手段1に格納されている回路データと、通常動作モード遅延制約格納手段2に格納されている通常動作モード時の遅延制約と、テスト動作モード遅延制約格納手段3に格納されているテスト動作モード時の遅延制約に基づいて、フリップフロップ間のパスが通常動作モードおよびテスト動作モードの両モードにおいてホールド違反とならないようにフリップフロップ間のパスの遅延を最適化する場合の基準となるホールドマージン制約を追加制約として作成する追加制約作成手段である。
【0016】
5は回路データ格納手段1に格納されている回路データと通常動作モード遅延制約格納手段2に格納されている通常動作モード時の遅延制約に基づいて、通常動作モードでのフリップフロップ間のパスのホールド違反情報(ホールド違反値、パスの両端のフリップフロップのインスタンス名)を取得する通常動作モード・ホールド違反情報取得手段である。
【0017】
なお、本発明の半導体集積回路の遅延最適化装置の一実施形態では、フリップフロップ間のパスは、始点となるフリップフロップに供給されるクロックと終点となるフリップフロップに供給されるクロックとの間のパスと把握される。この結果、始点となるフリップフロップに供給されるクロックと終点となるフリップフロップに供給されるクロックを決定すれば、2つの動作モードでのホールド違反値の差は、その2つのクロック間のどのパスについても同一となる。
【0018】
6は回路データ格納手段1に格納されている回路データとテスト動作モード遅延制約格納手段3に格納されているテスト動作モード時の遅延制約に基づいて、通常動作モード・ホールド違反情報取得手段5によって有効なホールド違反情報を取得することができた全パスについて、パスの両端のフリップフロップのインスタンス名を使ってテスト動作モードでのホールド違反値を取得するテスト動作モード・ホールド違反値取得手段である。
【0019】
7は有効なホールド違反情報を取得することができた全パスについて、通常動作モードでのホールド違反値(通常動作モード・ホールド違反情報取得手段5により取得したホールド違反値)とテスト動作モードでのホールド違反値(テスト動作モード・ホールド違反値取得手段6により取得したホールド違反値)を比較し、テスト動作モードでのホールド違反値が通常動作モードでのホールド違反値よりも大きい場合、テスト動作モードでのホールド違反値と通常動作モードでのホールド違反値との差分をマージン値としたホールドマージン制約を追加制約として算出するホールドマージン制約算出手段である。
【0020】
8は追加制約作成手段4が作成した追加制約(ホールドマージン制約)を格納する追加制約格納手段、9は回路データ格納手段1に格納されている回路データと、通常動作モード遅延制約格納手段2に格納されている通常動作モード遅延制約と、追加制約格納手段8に格納されている追加制約に基づいて、遅延最適化済み回路データを自動作成する自動遅延最適化手段、10は自動遅延最適化手段9が作成した遅延最適化済み回路データを格納する遅延最適化済み回路データ格納手段である。
【0021】
図2は本発明の半導体集積回路の遅延最適化装置の一実施形態で行われる遅延最適化処理手順(本発明の半導体集積回路の遅延最適化方法の一実施形態)を示す流れ図、図3〜図6は本発明の半導体集積回路の遅延最適化装置の一実施形態で行われる遅延最適化処理手順の具体例を示す回路図であり、図3は回路データ格納手段1に格納されている回路データに基づく半導体集積回路の回路図である。
【0022】
図3中、11はクロック入力ピン、12はクロック入力ピン11から入力するクロックを逓倍するPLL回路、13はクロック入力ピン11から入力するクロック又はPLL回路12が出力するクロックを選択するセレクタである。セレクタ13は、テストモード信号=“0”の時は、PLL回路12が出力するクロックを選択し、テストモード信号=“1”の時は、クロック入力ピン11から入力するクロックを選択する。
【0023】
14はセレクタ13が出力するクロックを分周する分周回路、15はセレクタ13が出力するクロック又は分周回路14が出力するクロックを選択するセレクタである。セレクタ15は、テストモード信号=“0”の時は、分周回路14が出力するクロックを選択し、テストモード信号=“1”の時は、セレクタ13が出力するクロックを選択する。
【0024】
16はセレクタ15が出力するクロックを分周する分周回路、17はセレクタ15が出力するクロック又は分周回路16が出力するクロックを選択するセレクタである。セレクタ17は、テストモード信号=“0”の時は、分周回路16が出力するクロックを選択し、テストモード信号=“1”の時は、セレクタ15が出力するクロックを選択する。
【0025】
18A、18B、18Cはフリップフロップ(スキャン・フリップフロップ)、19A、19B、19Cはセレクタ17、15、13が出力するクロックCLK_A、CLK_B、CLK_Cをそれぞれフリップフロップ18A、18B、18Cに供給するクロックバッファである。
【0026】
ここで、テストモード信号は、通常動作モード時には“0”とされ、テスト動作モード時には“1”とされる。したがって、図3に示す半導体集積回路は、通常動作モード時には図4に示す回路と等価となり、テスト動作モード時には図5に示す回路と等価となる。なお、フリップフロップ18A、18B間、フリップフロップ18B、18C間、フリップフロップ18C、18A間にそれぞれ存在する組合せ回路は、図示を省略している。
【0027】
また、クロックバッファ19A、19B、19Cは、それぞれ、ツリー構造とされた複数のクロックバッファを説明の都合上、まとめて記載したものであり、クロックバッファ19A、19B、19Cが出力するクロックCLK_A、CLK_B、CLK_Cは、それぞれ、フリップフロップ18A、18B、18Cのほか、図示しないフリップフロップに供給されるように構成されている。
【0028】
また、本例では、PLL回路12および分周回路14、16の遅延時間を共に1ns、クロックバッファ19A、19B、19Cの遅延時間をそれぞれ0.5ns、1ns、1.5nsとし、それ以外のパスの遅延はないものとする。また、フリップフロップ18A、18B、18Cのホールド時間(クロックの立ち上がりエッジが到着してから直前のフリップフロップによってD入力が変化するまでの許容最小時間)は0nsとする。
【0029】
本発明の半導体集積回路の遅延最適化装置の一実施形態によって遅延最適化が行われる場合には、まず、回路データ格納手段1に格納されている回路データおよび通常動作モード遅延制約格納手段2に格納されている通常動作モード時の遅延制約が追加制約作成手段4に読み込まれ、設計された半導体集積回路に対して、通常動作モードの遅延制約が設定される(ステップS1)。
【0030】
なお、通常動作モード時の遅延制約の設定は、クロック定義(クロック波形の指定、クロックを印加するピンの指定、クロックのマージンの指定)やクロック経路の指定などによって行われる。図3に示す半導体集積回路では、例えば、PLL回路12が2000ps周期のクロックを出力し、分周回路14がPLL回路12の出力を1/2に分周して4000ps周期のクロックを出力し、分周回路16が分周回路14の出力を1/2に分周して8000ps周期のクロックを出力するものである場合には、PLL回路12の出力ピンに、2000ps周期のクロック(0psで立ち上がり、1000psで立ち下り、2000psで再び立ち上がるクロック)が定義される。
【0031】
また、分周回路14の出力ピンに、PLL回路12の出力ピンに定義されたクロックの1番目、3番目、5番目の信号遷移を使って新たに4000ps周期のクロック(0psで立ち上がり、2000psで立ち下り、4000psで再び立ち上がるクロック)が定義される。
【0032】
また、分周回路16の出力ピンに、PLL回路12の出力ピンに定義されたクロックの1番目、5番目、9番目の信号遷移を使って新たに8000ps周期のクロック(0psで立ち上がり、4000psで立ち下り、8000psで立ち上がるクロック)が定義される。
【0033】
また、セレクタ13、15、17の選択信号入力ピンにそれぞれ“0”が設定される(テストモード信号=“0”とされる)。このようにして、図3に示す半導体集積回路は、通常動作モードに設定され、図4に示す回路と等価とされる。この場合、クロック入力ピン11からフリップフロップ19A、19B、19Cまでのクロックパスの遅延時間はそれぞれ3.5ns、3.0ns、2.5nsとなる。
【0034】
次に、通常動作モード時にフリップフロップに供給される全クロックのうちの2つのクロックの全ての組合せについて、それら2つのクロックを始点、終点とするパスのホールド違反情報(ホールド違反値、両端のフリップフロップのインスタンス名)を取得する(ステップS2)。
【0035】
図3に示す半導体集積回路では、フリップフロップ18A、18B、18Cのホールド時間は0nsとされているので、各クロック対におけるホールド違反値は、クロック入力ピン11とパスの終点のフリップフロップとの間のクロック遅延時間をTt、クロック入力ピン11とパスの始点のフリップフロップとの間のクロック遅延時間をTsとすると、Tt−Tsで求めることができる。
【0036】
したがって、図3に示す半導体集積回路では、フリップフロップ18X(但し、X=A、B、C)からフリップフロップ18Y(但し、Y=A、B、C)へのパスを(CLK_X → CLK_Y)と表示すると、各クロック対におけるホールド違反値は、数1に示すようになる。
【0037】
【数1】
【0038】
すなわち、通常動作モードでのホールド違反値は、図4に示すように、フリップフロップ18Aからフリップフロップ18Bへのパス20Aでは−0.5nsとなり(0.5ns緩い)、フリップフロップ18Bからフリップフロップ18Cへのパス20Bでは−0.5nsとなり(0.5ns緩い)、フリップフロップ18Cからフリップフロップ18Aへのパス20Cでは1nsとなる(1ns厳しい)。
【0039】
次に、テスト動作モード遅延制約格納手段3に格納されているテスト動作モード時のホールド遅延制約が追加制約作成手段4に読み込まれ、設計された半導体集積回路に対してテスト動作モード時の遅延制約が設定され、ステップS2の処理で有効なホールド違反情報を取得したパスのテスト動作モードでのホールド違反値が取得される(ステップS3)。
【0040】
図3に示す半導体集積回路の場合、テスト動作モード時の遅延制約の設定は、クロック入力ピン11に、例えば、20ns周期のクロック(0nsで立ち上がり、10nsで立ち下り、20nsで再び立ち上がるクロック)が定義され、また、セレクタ13、15、17の選択制御信号入力ピンにそれぞれ“1”が設定される(テストモード信号=“1”とされる)。
【0041】
この場合、クロック入力ピン11からフリップフロップ18A、18B、18Cまでのクロックパスの遅延時間は、図5に示すように、それぞれ、0.5ns、1ns、1.5nsとなる。この結果、各クロック対におけるホールド違反値は、数2に示すようになる。
【0042】
【数2】
【0043】
次に、パスを有する各クロック対について、ステップS2で取得したホールド違反値(通常動作モードでのホールド違反値)とステップS3で取得したホールド違反値(テスト動作モードでのホールド違反値)を比較し、ステップS3で取得したホールド違反値がステップS2で取得したホールド違反値よりも大きい場合、ステップS3で取得したホールド違反値とステップS2で取得したホールド違反値との差分をマージン値としたホールドマージン制約が追加制約として算出される(ステップS4)。
【0044】
図3に示す半導体集積回路では、テスト動作モードでのホールド違反値が通常動作モードでのホールド違反値よりも大きいのは、フリップフロップ18Aからフリップフロップ18Bへのパス20A(CLK_A → CLK_B)と、フリップフロップ18Bからフリップフロップ18Cへのパス20B(CLK_B → CLK_C)の2つであり、ホールド違反値の差分は、数3に示すようになる。
【0045】
【数3】
【0046】
ここに、フリップフロップ18Aからフリップフロップ18Bへのパス20A(CLK_A → CLK_B)に対する1nsのホールドマージンと、フリップフロップ18Bからフリップフロップ18Cへのパス20B(CLK_B → CLK_C)に対する1nsのホールドマージンが追加制約となり、これら追加制約は追加制約格納手段8に格納される。
【0047】
次に、回路データ格納手段1に格納されている回路データと、通常動作モード遅延制約格納手段2に格納されている通常動作モードでの遅延制約と、追加制約格納手段8に格納されている追加制約(ホールドマージン制約)に基づいて、自動遅延最適化手段9において、設計した半導体集積回路について自動遅延最適化が行われる(ステップS5)。
【0048】
図3に示す半導体集積回路の場合、パス20Aでは、通常動作モードでのホールド違反値(−0.5ns)<テスト動作モードでのホールド違反値(0.5ns)であるから、[追加のホールドマージン制約(1ns)−テスト動作モードでのホールド違反値(0.5ns)]=0.5nsとなり、パス20Aには、図6に示すように、遅延時間を0.5nsとする遅延回路21Aが挿入されることになる。
【0049】
また、パス20Bにおいても、通常動作モードでのホールド違反値(−0.5ns)<テスト動作モードでのホールド違反値(0.5ns)=0.5nsであるから、[追加のホールドマージン制約(1ns)−テスト動作モードでのホールド違反値(0.5ns)]=0.5nsとなり、パス20Bには、遅延時間を0.5nsとする遅延回路21Bが挿入されることになる。
【0050】
これに対して、パス20Cでは、通常動作モードでのホールド違反値(1ns)>テスト動作モードでのホールド違反値(−1ns)であるから、パス20Cには、遅延時間を通常動作モードでのホールド違反値である1nsとする遅延回路21Cが挿入されることになる。
【0051】
この結果、パス20A、20B、20Cの通常動作モードでのホールド違反値は、数4に示すようになり、通常動作モードでのホールド条件を満足する遅延最適化が行われていることになる。
【0052】
【数4】
【0053】
また、パス20A、20B、20Cのテスト動作モードでのホールド違反値は、数5に示すようになり、テスト動作モードでのホールド条件を満足する遅延最適化が行われていることになる。
【0054】
【数5】
【0055】
このように、本発明の半導体集積回路の遅延最適化装置の一実施形態によれば、追加制約作成手段4を設け、スキャンパス方式で設計した半導体集積回路について、フリップフロップ間のパスの通常動作モードでのホールド違反値とテスト動作モードでのホールド違反値を算出し、これらを比較して、テスト動作モードでのホールド違反値が通常動作モードでのホールド違反値よりも大きい場合には、テスト動作モードでのホールド違反値と通常動作モードでのホールド違反値との差分をマージン値とするホールドマージン制約を追加制約として算出するとしている。
【0056】
したがって、スキャンパス方式で設計した半導体集積回路について、自動遅延最適化手段9で遅延最適化処理を1回実行するだけで、通常動作モードおよびテスト動作モードの両モードにおいてホールド違反とならないようにフリップフロップ間のパスの遅延を最適化することができ、遅延最適化処理時間の大幅な短縮化を図ることができる。
【0057】
なお、追加制約作成手段4および自動遅延最適化手段9はソフトウエアで構成することができ、すなわち、図2に示すステップS1〜S5の遅延最適化処理手順はコンピュータを各手順を実行するための手段として機能させるプログラムを使用することによってコンピュータに実行させることができ、このようにする場合には、本発明の半導体集積回路の遅延最適化方法の一実施形態は、複数の動作モードに対応する遅延制約を同時に扱うことができない従来の遅延最適化ツールを利用して実行することができる。
【0058】
【発明の効果】
以上のように、本発明によれば、スキャンパス方式で設計した半導体集積回路について、遅延最適化処理を1回実行するだけで、通常動作モードおよびテスト動作モードの両モードにおいてホールド違反とならないようにフリップフロップ間のパスの遅延を最適化することができ、遅延最適化処理時間の大幅な短縮化を図ることができる。
【図面の簡単な説明】
【図1】本発明の半導体集積回路の遅延最適化装置の一実施形態の概念図である。
【図2】本発明の半導体集積回路の遅延最適化装置の一実施形態で行われる遅延最適化処理手順(本発明の半導体集積回路の遅延最適化方法の一実施形態)を示す流れ図である。
【図3】本発明の半導体集積回路の遅延最適化装置の一実施形態で行われる遅延最適化処理手順(本発明の半導体集積回路の遅延最適化方法の一実施形態)の具体例を示す回路図である。
【図4】本発明の半導体集積回路の遅延最適化装置の一実施形態で行われる遅延最適化処理手順(本発明の半導体集積回路の遅延最適化方法の一実施形態)の具体例を示す回路図である。
【図5】本発明の半導体集積回路の遅延最適化装置の一実施形態で行われる遅延最適化処理手順(本発明の半導体集積回路の遅延最適化方法の一実施形態)の具体例を示す回路図である。
【図6】本発明の半導体集積回路の遅延最適化装置の一実施形態で行われる遅延最適化処理手順(本発明の半導体集積回路の遅延最適化方法の一実施形態)の具体例を示す回路図である。
【符号の説明】
1…回路データ格納手段
2…通常動作モード遅延制約格納手段
3…テスト動作モード遅延制約格納手段
4…追加制約作成手段
5…通常動作モード・ホールド違反情報取得手段
6…テスト動作モード・ホールド違反値取得手段
7…ホールドマージン制約算出手段
8…追加制約格納手段
9…自動遅延最適化手段
10…遅延最適化済み回路データ格納手段
11…クロック入力ピン
12…PLL回路
13…セレクタ
14…分周回路
15…セレクタ
16…分周回路
17…セレクタ
18A、18B、18C…フリップフロップ
19A、19B、19C…クロックバッファ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a semiconductor device that optimizes a delay of a path between flip-flops so that a path between flip-flops in a semiconductor integrated circuit designed by a scan path method does not cause a hold violation in both a normal operation mode and a test operation mode. The present invention relates to an integrated circuit delay optimization method and apparatus.
[0002]
[Prior art]
When designing a semiconductor integrated circuit by the scan path method, which is one of the design methods for testability, the supply of a test clock to the flip-flops in the test operation mode requires the ease of clock control and the same timing for all flip-flops. Because of the necessity of operating on a clock circuit, a circuit that changes the clock cycle, such as a PLL circuit or a frequency divider, which is provided from outside the chip via a clock input pin and exists on a clock path used in the normal operation mode It is often designed to provide a path that bypasses (for example, see Patent Document 1).
[0003]
In the semiconductor integrated circuit designed in this way, the test (scan test) consists of (1) setting the test data to the flip-flop in the scan mode, and (2) releasing the scan mode to perform one cycle to the flip-flop. The clock is applied, (3) the scan mode is set, the flip-flop value is scanned out of the chip, and the observation is performed. In the step (2), the combinational circuit between the flip-flops is operated by the test clock. Therefore, it is necessary to design a circuit so as to satisfy a setup condition and a hold condition of a path between flip-flops in two operation modes of a normal operation mode and a test operation mode.
[0004]
By the way, when performing circuit delay optimization with a delay optimization tool such as a logic synthesis tool at the time of circuit design, the main delay optimization tools that are currently generally used require that each flip-flop be used when performing delay optimization. It is necessary to uniquely define a clock path. That is, it is necessary to set the clock path in the normal operation mode or the clock path in the test operation mode. For this reason, by executing the delay optimization processing only once, it is possible to perform delay optimization that simultaneously satisfies the setup condition and the hold condition in the test operation mode and the setup condition and the hold condition in the normal operation mode. Can not.
[0005]
Here, with regard to the setup conditions, when a test clock is supplied from outside the chip, the frequency of the test clock is often sufficiently lower than the frequency of the clock used in the normal operation mode. If the delay optimization that satisfies the setup condition in the operation mode is executed, the delay optimization that satisfies the setup condition in the test operation mode becomes unnecessary.
[0006]
However, regarding the hold condition, the clock delay differs between the normal operation mode and the test operation mode by the delay difference between when the PLL circuit and the frequency divider circuit on the clock path are not bypassed and when the clock circuit is bypassed. Therefore, simply performing the delay optimization in one of the operation modes does not necessarily satisfy the hold condition in the other operation mode.
[0007]
Therefore, even if the delay optimization is performed in one of the operation modes, the delay constraint of the clock is switched, and the delay optimization is performed in the other operation mode, the method is executed later. Due to a circuit change performed by the delay optimization (such as insertion of a delay circuit), a case may occur in which the hold violation occurs again in the operation mode in which the delay optimization is performed first.
[0008]
Therefore, conventionally, when delay optimization of a semiconductor integrated circuit designed by the scan path method is performed, if a delay optimization tool that cannot simultaneously handle delay constraints corresponding to a plurality of operation modes is used, the A method of eliminating some hold violations by repeating automatic delay optimization, such as switching modes and performing delay optimization alternately several times, and manually handling hold violations that cannot be removed even individually Was going by.
[0009]
[Patent Document 1]
JP-A-9-5397
[Problems to be solved by the invention]
As described above, in the conventional delay optimization method for a semiconductor integrated circuit, it is necessary to execute the automatic delay optimization processing several times, and even though the delay optimization does not always converge, the delay optimization is very difficult. There is a problem that time may be required.
[0011]
In view of the above, the present invention provides a delay between paths between flip-flops so that a path between flip-flops in a semiconductor integrated circuit designed by a scan path method does not cause a hold violation in both the normal operation mode and the test operation mode. To provide a method and an apparatus for optimizing delay of a semiconductor integrated circuit, wherein the method and apparatus for optimizing the delay can significantly reduce the delay optimizing processing time. With the goal.
[0012]
[Means for Solving the Problems]
The present invention is directed to a case where a delay between paths between flip-flops is optimized so that a path between flip-flops in a semiconductor integrated circuit designed by a scan path method does not cause a hold violation in both a normal operation mode and a test operation mode. If the hold violation value in the test operation mode is larger than the hold violation value in the normal operation mode, the difference between the hold violation value in the test operation mode and the hold violation value in the normal operation mode is used as a flip-flop as a hold margin constraint. This is to optimize the delay of the path between them.
[0013]
According to the present invention, a semiconductor integrated circuit designed by the scan path method can satisfy the hold condition in both the normal operation mode and the test operation mode by executing the delay optimization process only once. Of the path can be optimized.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a conceptual diagram of an embodiment of a delay optimizing device for a semiconductor integrated circuit according to the present invention. In FIG. 1,
[0015]
[0016]
[0017]
In one embodiment of the delay optimizing device for a semiconductor integrated circuit of the present invention, a path between flip-flops is set between a clock supplied to a flip-flop serving as a start point and a clock supplied to a flip-flop serving as an end point. Is understood as a path. As a result, if the clock supplied to the flip-flop serving as the start point and the clock supplied to the flip-flop serving as the end point are determined, the difference between the hold violation values in the two operation modes is determined by the path between the two clocks. Is also the same.
[0018]
Reference numeral 6 denotes a normal operation mode / hold violation
[0019]
[0020]
[0021]
FIG. 2 is a flowchart showing a delay optimization processing procedure (an embodiment of the semiconductor integrated circuit delay optimization method of the present invention) performed by one embodiment of the semiconductor integrated circuit delay optimizing apparatus of the present invention, and FIGS. FIG. 6 is a circuit diagram showing a specific example of a delay optimization processing procedure performed in one embodiment of the delay optimization device for a semiconductor integrated circuit according to the present invention, and FIG. FIG. 3 is a circuit diagram of a semiconductor integrated circuit based on data.
[0022]
3,
[0023]
[0024]
[0025]
18A, 18B, and 18C are flip-flops (scan flip-flops), and 19A, 19B, and 19C are clock buffers that supply the clocks CLK_A, CLK_B, and CLK_C output from the
[0026]
Here, the test mode signal is set to “0” in the normal operation mode, and is set to “1” in the test operation mode. Therefore, the semiconductor integrated circuit shown in FIG. 3 is equivalent to the circuit shown in FIG. 4 in the normal operation mode, and is equivalent to the circuit shown in FIG. 5 in the test operation mode. It should be noted that the combination circuits existing between the flip-
[0027]
The clock buffers 19A, 19B, and 19C collectively describe a plurality of clock buffers having a tree structure for convenience of description, and the clocks CLK_A and CLK_B output from the clock buffers 19A, 19B, and 19C, respectively. , CLK_C are supplied to flip-flops (not shown) in addition to the flip-flops 18A, 18B, and 18C, respectively.
[0028]
In this example, the delay times of the
[0029]
When delay optimization is performed by one embodiment of the delay optimization device for a semiconductor integrated circuit of the present invention, first, the circuit data stored in the circuit data storage means 1 and the normal operation mode delay constraint storage means 2 are stored in the circuit data storage means 1. The stored delay constraint in the normal operation mode is read by the additional
[0030]
The setting of the delay constraint in the normal operation mode is performed by clock definition (designation of a clock waveform, designation of a pin to which a clock is applied, designation of a clock margin), designation of a clock path, and the like. In the semiconductor integrated circuit shown in FIG. 3, for example, the
[0031]
Further, a clock having a period of 4000 ps is newly added to the output pin of the
[0032]
Also, a new 8000 ps clock (rising at 0 ps, rising at 4000 ps, using the first, fifth, and ninth signal transitions of the clock defined at the output pin of the PLL circuit 12) is output to the output pin of the
[0033]
Further, “0” is set to the selection signal input pins of the
[0034]
Next, for all combinations of two clocks among all the clocks supplied to the flip-flop in the normal operation mode, hold violation information (hold violation value, flip-flops at both ends) of the path starting and ending with the two clocks (Step S2).
[0035]
In the semiconductor integrated circuit shown in FIG. 3, the hold time of the flip-flops 18A, 18B, and 18C is 0 ns, so that the hold violation value of each clock pair is between the
[0036]
Therefore, in the semiconductor integrated circuit shown in FIG. 3, the path from the flip-flop 18X (where X = A, B, C) to the flip-flop 18Y (where Y = A, B, C) is (CLK_X → CLK_Y). When displayed, the hold violation value for each clock pair is as shown in
[0037]
(Equation 1)
[0038]
That is, as shown in FIG. 4, the hold violation value in the normal operation mode is -0.5 ns (0.5 ns less) on the
[0039]
Next, the hold delay constraint in the test operation mode stored in the test operation mode delay constraint storage means 3 is read into the additional constraint creation means 4, and the delay constraint in the test operation mode is applied to the designed semiconductor integrated circuit. Is set, and the hold violation value in the test operation mode of the path for which the valid hold violation information has been acquired in the processing of step S2 is acquired (step S3).
[0040]
In the case of the semiconductor integrated circuit shown in FIG. 3, the delay constraint in the test operation mode is set by, for example, applying a clock having a cycle of 20 ns (a clock rising at 0 ns, falling at 10 ns, and rising again at 20 ns) to the
[0041]
In this case, the delay times of the clock paths from the
[0042]
(Equation 2)
[0043]
Next, the hold violation value (hold violation value in the normal operation mode) acquired in step S2 and the hold violation value (hold violation value in the test operation mode) acquired in step S3 are compared for each clock pair having a path. If the hold violation value obtained in step S3 is larger than the hold violation value obtained in step S2, the hold using the difference between the hold violation value obtained in step S3 and the hold violation value obtained in step S2 as a margin value. A margin constraint is calculated as an additional constraint (step S4).
[0044]
In the semiconductor integrated circuit shown in FIG. 3, the hold violation value in the test operation mode is larger than the hold violation value in the normal operation mode because of the
[0045]
[Equation 3]
[0046]
Here, a 1 ns hold margin for the
[0047]
Next, the circuit data stored in the
[0048]
In the case of the semiconductor integrated circuit shown in FIG. 3, in
[0049]
Also in the
[0050]
On the other hand, in the
[0051]
As a result, the hold violation values in the normal operation mode of the
[0052]
(Equation 4)
[0053]
The hold violation value in the test operation mode for the
[0054]
(Equation 5)
[0055]
As described above, according to the embodiment of the delay optimizing apparatus for a semiconductor integrated circuit according to the present invention, the additional
[0056]
Therefore, for the semiconductor integrated circuit designed by the scan path method, the automatic
[0057]
Note that the additional
[0058]
【The invention's effect】
As described above, according to the present invention, with respect to a semiconductor integrated circuit designed by the scan path method, the delay optimization processing is performed only once so that the hold violation is not caused in both the normal operation mode and the test operation mode. In addition, the delay of the path between flip-flops can be optimized, and the delay optimization processing time can be significantly reduced.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram of one embodiment of a delay optimization device for a semiconductor integrated circuit according to the present invention.
FIG. 2 is a flowchart showing a delay optimization processing procedure (one embodiment of a semiconductor integrated circuit delay optimization method of the present invention) performed by one embodiment of the semiconductor integrated circuit delay optimizing apparatus of the present invention.
FIG. 3 is a circuit showing a specific example of a delay optimization processing procedure (an embodiment of a semiconductor integrated circuit delay optimization method of the present invention) performed by an embodiment of the semiconductor integrated circuit delay optimizing apparatus of the present invention; FIG.
FIG. 4 is a circuit showing a specific example of a delay optimization processing procedure (an embodiment of a semiconductor integrated circuit delay optimization method of the present invention) performed by an embodiment of the semiconductor integrated circuit delay optimizing apparatus of the present invention; FIG.
FIG. 5 is a circuit showing a specific example of a delay optimization processing procedure (one embodiment of a delay optimization method for a semiconductor integrated circuit according to the present invention) performed by an embodiment of the delay optimization device for a semiconductor integrated circuit of the present invention; FIG.
FIG. 6 is a circuit showing a specific example of a delay optimization processing procedure (an embodiment of a semiconductor integrated circuit delay optimization method of the present invention) performed by an embodiment of the semiconductor integrated circuit delay optimizing apparatus of the present invention; FIG.
[Explanation of symbols]
DESCRIPTION OF
Claims (3)
前記テスト動作モードでのホールド違反値が前記通常動作モードでのホールド違反値よりも大きい場合、前記テスト動作モードでのホールド違反値と前記通常動作モードでのホールド違反値との差分をホールドマージン制約として前記フリップフロップ間のパスの遅延を最適化する工程を有することを特徴とする半導体集積回路の遅延最適化方法。A semiconductor integrated circuit for optimizing a delay of a path between flip-flops in a semiconductor integrated circuit designed by a scan path method so that a path between flip-flops does not cause a hold violation in both a normal operation mode and a test operation mode. A delay optimization method,
When the hold violation value in the test operation mode is larger than the hold violation value in the normal operation mode, the difference between the hold violation value in the test operation mode and the hold violation value in the normal operation mode is defined as a hold margin constraint. A step of optimizing a delay of a path between the flip-flops.
前記テスト動作モードでのホールド違反値が前記通常動作モードでのホールド違反値よりも大きい場合、前記テスト動作モードでのホールド違反値と前記通常動作モードでのホールド違反値との差分をホールドマージン制約として前記フリップフロップ間のパスの遅延を最適化する工程を有することを特徴とする半導体集積回路の遅延最適化装置。A semiconductor integrated circuit for optimizing a delay of a path between flip-flops in a semiconductor integrated circuit designed by a scan path method so that a path between flip-flops does not cause a hold violation in both a normal operation mode and a test operation mode. A delay optimizer,
When the hold violation value in the test operation mode is larger than the hold violation value in the normal operation mode, the difference between the hold violation value in the test operation mode and the hold violation value in the normal operation mode is defined as a hold margin constraint. A step of optimizing a delay of a path between the flip-flops.
前記コンピュータを、前記テスト動作モードでのホールド違反値が前記通常動作モードでのホールド違反値よりも大きい場合、前記テスト動作モードでのホールド違反値と前記通常動作モードでのホールド違反値との差分を前記フリップフロップ間のパスのホールドマージン制約として作成する手段として機能させることを特徴とするプログラム。A criterion for optimizing the delay of the path between flip-flops so that the path between flip-flops in the semiconductor integrated circuit designed by the scan path method does not cause a hold violation in both the normal operation mode and the test operation mode. A program for causing a computer to create a hold margin constraint of a path between the flip-flops,
When the hold violation value in the test operation mode is larger than the hold violation value in the normal operation mode, the computer determines a difference between the hold violation value in the test operation mode and the hold violation value in the normal operation mode. As a means for creating a hold margin constraint of a path between the flip-flops.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002301241A JP2004139201A (en) | 2002-10-16 | 2002-10-16 | Method and system for delay optimization of semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002301241A JP2004139201A (en) | 2002-10-16 | 2002-10-16 | Method and system for delay optimization of semiconductor integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004139201A true JP2004139201A (en) | 2004-05-13 |
Family
ID=32449635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002301241A Withdrawn JP2004139201A (en) | 2002-10-16 | 2002-10-16 | Method and system for delay optimization of semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004139201A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134100A (en) * | 2006-11-27 | 2008-06-12 | Nec Electronics Corp | Scan clock distribution system and semiconductor integrated circuit device |
JP2008216220A (en) * | 2007-03-08 | 2008-09-18 | Sanyo Electric Co Ltd | Semiconductor integrated circuit and scanning test method |
JP2011034243A (en) * | 2009-07-30 | 2011-02-17 | Fujitsu Semiconductor Ltd | Generation method for semiconductor integrated circuit, and recording medium |
-
2002
- 2002-10-16 JP JP2002301241A patent/JP2004139201A/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134100A (en) * | 2006-11-27 | 2008-06-12 | Nec Electronics Corp | Scan clock distribution system and semiconductor integrated circuit device |
JP2008216220A (en) * | 2007-03-08 | 2008-09-18 | Sanyo Electric Co Ltd | Semiconductor integrated circuit and scanning test method |
JP2011034243A (en) * | 2009-07-30 | 2011-02-17 | Fujitsu Semiconductor Ltd | Generation method for semiconductor integrated circuit, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7240266B2 (en) | Clock control circuit for test that facilitates an at speed structural test | |
JP4874963B2 (en) | Synchronization between low and high frequency digital signals | |
JP2009222644A (en) | Semiconductor integrated circuit, and design automating system | |
WO2002063313A2 (en) | Method for scan testing of digital circuit, digital circuit and program product | |
JP2008122159A (en) | Semiconductor integrated circuit | |
US10157250B1 (en) | Speculative circuit design component graphical user interface | |
US6826731B2 (en) | Method of designing semiconductor integrated circuit device | |
US7299392B2 (en) | Semiconductor integrated circuit device and method of design of semiconductor integrated circuit device | |
US8042074B2 (en) | Circuit design device, circuit design program, and circuit design method | |
US7062736B2 (en) | Timing constraint generator | |
US8145963B2 (en) | Semiconductor integrated circuit device and delay fault testing method thereof | |
US7331028B2 (en) | Engineering change order scenario manager | |
TWI279698B (en) | Preprocessor, IC design system and IC design method | |
JP2004139201A (en) | Method and system for delay optimization of semiconductor integrated circuit | |
US20100146349A1 (en) | Semiconductor integrated circuit including logic circuit having scan path and test circuit for conducting scan path test | |
US6654939B2 (en) | Method of designing logic circuit, and computer product | |
JP2003523520A (en) | LSSD interface | |
JP4275636B2 (en) | Verification support device, verification support method, verification support program, and recording medium | |
KR100984049B1 (en) | System for application business managementing and method therefor | |
JP2679622B2 (en) | Clock phase control circuit | |
US10977404B1 (en) | Dynamic scan chain and method | |
JP2006085595A (en) | Clock synthesizing method, semiconductor device and program | |
JP2015028424A (en) | Semiconductor integrated circuit, design program for semiconductor integrated circuit, and design method for semiconductor integrated circuit | |
JP3852335B2 (en) | Scan path processing system, scan path processing method, and scan path processing program | |
JP2012189451A (en) | Method for designing scan test circuit for semiconductor integrated circuit, scan test circuit and scan test method |
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: 20060110 |