JP3403612B2 - スキャンパスネットの配線方法と半導体集積回路 - Google Patents

スキャンパスネットの配線方法と半導体集積回路

Info

Publication number
JP3403612B2
JP3403612B2 JP14797497A JP14797497A JP3403612B2 JP 3403612 B2 JP3403612 B2 JP 3403612B2 JP 14797497 A JP14797497 A JP 14797497A JP 14797497 A JP14797497 A JP 14797497A JP 3403612 B2 JP3403612 B2 JP 3403612B2
Authority
JP
Japan
Prior art keywords
clock
scan
flip
flops
scan 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.)
Expired - Fee Related
Application number
JP14797497A
Other languages
English (en)
Other versions
JPH10335471A (ja
Inventor
満 灘岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP14797497A priority Critical patent/JP3403612B2/ja
Priority to US09/090,170 priority patent/US6199183B1/en
Publication of JPH10335471A publication Critical patent/JPH10335471A/ja
Application granted granted Critical
Publication of JP3403612B2 publication Critical patent/JP3403612B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318577AC testing, e.g. current testing, burn-in
    • G01R31/31858Delay testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】LSI(大規模集積回路)等
の半導体集積回路における動作確認を容易化するスキャ
ンパス手法では、半導体集積回路中のフリップフロップ
間を接続してスキャンパスネットを構築しておく。本発
明は、このスキャンパスネットの配線設計を合理的に行
うスキャンパスネットの配線方法に関するものである。
【0002】
【従来の技術】従来、この種の分野の技術としては、例
えば、次のような文献に記載されるものがあった。 文献;情報処理学会第52回全国大会予稿集6(平
8)、中村 小林 他著 “スキャンパスの線長最適化とホールドタイム補償の一
手法”P.27- 28テスト容易化設計のため、LSI等の集
積回路では、回路中の遅延型のフリップフロップ(以
下、FFという)を直列に接続してシフトレジスタを構
成し、スキャンパスネットを張る。スキャンパス手法で
は、このスキャンパスネットで構成されたシフトレジス
タにテストデータを保持させた上で集積回路を通常モー
ドで動作させ、スキャンアウトパッドから出力されるデ
ータをモニタしてLSIの動作確認を行う。ところが、
このスキャンパスネットの配線のLSIに占める面積
は、無視できるものではない。図2は、従来のスキャン
パスネットの配線方法を示すフローチャートであり、図
3は、従来のスキャンパスネットの構築例を示す図であ
る。上記文献には、スキャンパスネットの配線量を削減
するために、図2の手順ST1〜ST4で、その線長を
最小化するようにスキャンパスとなるスキャンパス用F
Fの接続順序を決定している。以下に、手順ST1〜S
T4の処理を説明する。
【0003】手順ST1において、集積回路中のスタン
ダードセルやその他のモジュールの配置設計を行う。こ
の配置設計により、例えば図3のように、2つの物理ブ
ロック1,2が分離されてレイアウトされる。各物理ブ
ロック1,2内の回路には、クロックパッドPcから入
力されたクロックCKがクロックバッファ3を介して与
えられる。物理ブロック1に、クロックバッファ3を介
してクロックCKを入力する例えば3個のクロックバッ
ファ4,5,6が配置され、物理ブロック2に、2個の
クロックバッファ7,8が配置される。クロックバッフ
ァ4の出力端子に、各クロック端子が接続されるように
5個のFF11〜15が配置される。クロックバッファ
5の出力端子に各クロック端子が接続されるように、4
個のFF21〜24が配置される。クロックバッファ6
の出力端子に各クロック端子が接続されるように、5個
のFF31〜35が配置される。同様に、物理ブロック
2では、クロックバッファ7の出力端子にクロック端子
が接続されるように、4個のFF41〜44が配置され
る。クロックバッファ8の出力端子にクロック端子が接
続されるように、5個のFF51〜55が配置される。
スキャン用FFをこれらのFF11〜55とすると、手
順ST2では、次のような処理を行う。
【0004】手順ST2において、各FF11〜55の
任意の2つのFF間の相互距離Lmnを次の(1)式にて
算出する。 Lmn=|Xm −Xn |+|Ym −Yn | ・・・(1) 但し、Xm ;FFm の中心のX座標 Xn ;FFn の中心のX座標 Ym ;FFm の中心のY座標 Yn ;FFn の中心のY座標 手順ST2の後の手順ST3において、次の(2)式を
用いて各FF間の距離Lmnの総和Fが最小になるスキャ
ンパスネットの経路を求める。
【数1】 ここで求めた経路を接続すると、各FF11〜55が図
3の矢印で示す順序で直列に接続れてシフトレジスタに
なる。シフトレジスタの初段になるFF11には、スキ
ャンインパッドPsiからデータが入力され、最終段と
なるFF55からスキャンアウトパッドPsoへデータ
が出力される構成になる。最後の手順4において、スタ
ンダードセルやその他のモジュールの配線を行いスキャ
ンパスネットを構築する。このような手順ST1〜ST
4を経て設計されたスキャンパスネットでは、経路が最
短になるが、ホールドタイムエラーが発生する可能性が
ある。ホールドタイムエラーが発生すると、FF11〜
55におけるクロックCKのエッジに同期したシフト動
作で、適切なデータの移送が行われない。一般に、ホー
ルドタイムエラーは、次の(3)の不等式がなり立つ時
に発生する。 T(path-delay)<T(hold)+T(clock-skew)・・・(3) 但し、T(path-delay);スキャンパスを伝搬する信号
の遅延時間、 T(hold) ;FFにおけるホールドタイム T(clock-skew);FFにおけるクロックCKのスキュ
ー 図4は、ホールドタイムエラーの説明図である。
【0005】(3)式に示すように、パスの遅延時間T
(path-delay)が各FF11〜55におけるラッチに必
要な時間のホールドタイムT(hold)とスキューT(cl
ock-skew)との和よりも小さいときに、ホールドタイム
エラーが発生する。スキャンパスにおいては、図4のよ
うにFF間にゲート等が挿入されていないため、テスト
モード時のパス遅延T(path-delay)が小さい。一方、
クロックCKは、正規の集積回路のクロックパスを伝搬
して前後のFFに与えられる。よって、クロックCKの
スキューT(clock-skew)により、ホールドタイムエラ
ーが発生しやすい。例えば、図3において、クロックバ
ッファ4からクロックCKを入力するFF11〜15で
構成された群10におけるクロックCKの遅延Tiを
1.50ns、クロックバッファ5からクロックCKを
入力するFF21〜24で構成された群20のクロック
CKの遅延Tiを1.30ns、クロックバッファ6か
らクロックCKを入力するFF31〜35で構成された
群30のクロックCKの遅延Tiを1.50ns、クロ
ックバッファ7からクロックCKを入力するFF41〜
44で構成された群40のクロックCKの遅延Tiを
0.80.ns、及びクロックバッファ8からクロック
CKを入力するFF51〜55で構成された群50のク
ロックCKの遅延Tiを1.00nsとする。この場
合、FF21とFF31との間のスキャンパス、FF4
1とFF51との間のスキャンパスで、(3)式が成立
してホールドタイムエラーが発生する。図5は、ホール
ドタイムエラーの補償の説明図であり、図3中の要素と
共通する要素には共通の符号が付されている。前記文献
によれば、配線後にタイミング検証を行い、このタイミ
ング検証でホールドタイムエラーが検出された場合、図
5のように、発生箇所のスキャンパスにバッファ61,
62等を挿入し、遅延を発生させて補償する。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
スキャンパスネットの配線方法では、次のような課題が
あった。配線後にタイミング検証を行い、ホールドタイ
ムエラーが検出された場合にバッファ61,62等を挿
入してホールドタイムエラーを補償している。よって、
回路修正(バッファ挿入)と、再度の配置配線やタイミ
ング検証とを行う必要がある。つまり、回路修正と、再
度の配置配線およびタイミング検証とを行う分だけ、設
計期間が増加するという課題があった。
【0007】
【課題を解決するための手段】前記課題を解決するため
に、第1の発明は、クロック入力端子からクロックパス
を介して入力されたクロックに同期してデータをそれぞ
れ保持する複数のFFを有しこれらのFFを利用して入
力信号の加工或いは処理を行う半導体集積回路に対して
その動作チェックを行うために、複数のFFのうちから
選択した複数のスキャン用FFをテスト信号入力端子か
ら出力端子の間に直列に接続し、テストモードの時にク
ロックに同期してシフト動作するシフトレジスタを構築
するスキャンパスネットの配線方法において、次のよう
なレイアウト処理、クロック遅延計算処理、スキュー見
積り処理、距離計算処理及び経路選定処理を行って配線
処理を行うようにしている。即ち、レイアウト処理は、
半導体集積回路を構成する回路を配置する処理である。
クロック遅延計算処理は、レイアウト処理で配置された
各スキャン用FFに至るクロックパスでのクロック伝搬
の遅延時間をそれぞれ見積る処理である。スキュー見積
り処理は、それらの遅延時間に基づき、各スキャン用F
Fの相互間におけるクロックのスキュー値をそれぞれ見
積る処理である。距離計算処理は、各スキャン用FFの
相互間の距離をそれぞれ算出する処理である。経路選定
処理は、見積られたスキュー値と距離とを反映した計算
式を用い前記接続における各スキャン用FFの接続順序
を求める処理である。そして、配線処理は、その接続順
序に従ってスキャン用FF間を配線してスキャンパスネ
ットを構築する処理である。
【0008】第2の発明は、第1の発明において、経路
選定処理で用いる計算式は、見積られたスキュー値と距
離とに対して外部から指定可能な重み付け係数が組み込
まれた計算式にしている。第3の発明は、スキャンパス
ネットの配線方法において、次のようなレイアウト処
理、クロック遅延計算処理、スキュー見積り処理、距離
計算処理、経路選定処理、及び挿入処理とを行って配線
処理を行うようにしている。レイアウト処理は、半導体
集積回路を構成する各回路を配置する処理である。クロ
ック遅延計算処理は、レイアウト処理で配置された各ス
キャン用FFに至るクロックパスでのクロック伝搬の遅
延時間をそれぞれ見積る処理である。スキュー見積り処
理は、それらの各遅延時間に基づき、各スキャン用FF
の相互間におけるクロックのスキュー値をそれぞれ見積
る処理である。距離計算処理は、各スキャン用FFの相
互間の距離をそれぞれ算出する処理である。経路選定処
理は、その距離に基づいた計算式を用いて前記接続にお
ける各スキャン用FFの接続順序を求める処理である。
挿入処理は、見積られたスキュー値を参照し、接続順序
の設定されたスキャン用FFの間に必要に応じて遅延手
段を挿入する処理である。配線処理は、遅延手段を挿入
した状態で接続順序に従ってスキャン用FF間を配線し
てスキャンパスを構築する処理である。
【0009】第4の発明は、第1または第2の発明のレ
イアウト処理、クロック遅延計算処理、スキュー見積り
処理、距離計算処理及び経路選定処理と、第3の発明の
挿入処理と配線処理を行うようにしている。第5の発明
は、複数のスキャン用FFがクロックのポジティブエッ
ジで駆動される第1型のFF群とネガティブエッジで駆
動される第2型のフリップフロップ群とで構成された場
合、スキュー見積り処理及び経路選定処理を該第1型の
フリップフロップ群と第2型フリップフロップ群とで分
けて行うようにしている。第6の発明は、第1から第5
の発明で構築されたスキャンパスネットを持つ半導体集
積回路にしている。第1の発明によれば、以上のように
スキャンパスネットの配線方法を構成したので、スキュ
ー見積り処理によってスキャン用FF相互間のスキュー
値が見積られ、経路選定処理では、物理的な距離ばかり
でなく、クロックスキューも考慮した接続順序が求めら
れる。そして、配線処理によって、接続順序に従った配
線が行われる。第3の発明では、スキュー見積り処理に
よってスキャン用FF相互間のスキュー値が見積られ、
スキャン用FF相互間の距離に基づいた接続順序が求め
られる。そして、挿入処理により、見積られたスキュー
値によってスキャン用FFの間に、遅延手段が自動的に
挿入される。これにより、例えばホールドタイムエラー
が補償される。スキャンパス手法は、半導体集積回路の
開発段階あるいは随時行われる動作チェック等に行われ
るが、距離ばかりでなく、クロックスキューを考慮する
ことにより、ホールドタイムエラーの発生の原因となる
クロックスキューの問題が解消される。したがって、前
記課題を解決できのである。
【0010】
【発明の実施の形態】第1の実施形態 図1は、本発明の第1の実施形態を示すスキャンパスネ
ットの配線方法のフロチャートである。図6は、図1で
構成されるスキャンパスネット例(その1)を示す図で
ある。この第1の実施形態のスキャンパスネットの配線
方法では、図1に示す手順ST11〜ST16によっ
て、LSI中のFFを直列に接続してスキャンパスネッ
トを構築する。以下に、この手順ST11〜ST16を
説明する。手順ST11はレイアウト処理であり、LS
Iの回路情報に基づき、スタンダードセルやその他のモ
ジュールの配置設計を行う。例えば、図3と同様のLS
Iに、スキャンパス用FF11〜55を用いたスキャン
パスネットを考えると、この配置設計により、2つの物
理ブロック1,2が分離されてレイアウトされる。各物
理ブロック1,2内の回路には、クロック入力端子であ
るクロックパッドPcから入力されたクロックCKがク
ロックバッファ3を介して与えられる。物理ブロック1
に、クロックバッファ3を介してクロックCKを入力す
る例えば3個のクロックバッファ4,5,6を配置し、
物理ブロック2に、2個のクロックバッファ7,8を配
置する。
【0011】クロックバッファ4の出力端子に対して各
クロック端子が接続されるように、5個のFF11〜1
5を配置する。クロックバッファ5の出力端子に対して
各クロック端子が接続されるように、4個のFF21〜
24を配置する。クロックバッファ6の出力端子に対し
て各クロック端子が接続されるように、5個のFF31
〜35を配置する。同様に、物理ブロック2では、クロ
ックバッファ7の出力端子に対して各クロック端子が接
続されるように、4個のFF41〜44を配置する。ク
ロックバッファ8の出力端子に対して各クロック端子が
接続されるように、5個のFF51〜55を配置する。
手順11の後の手順ST12は、クロック遅延計算処理
であり、クロックパッドPcから、各FF11〜55の
クロック端子に至るクロックパスの遅延時間Tiをそれ
ぞれ見積る。つまり、クロックパッドPcから入力され
たクロックCKが、各FF11〜55に到達するまでの
時間をそれぞれ求める。手順ST13は、スキュー見積
り処理であり、手順ST12で求めた各遅延時間Tiに
基づき、次の(4)式をすべてFF11〜55に適用
し、該各FF11〜55相互間のクロックスキューSmn
をそれぞれ算出する。 Smn=Tn −Tm ・・・(4) 但し、Tn ;FF11〜55のうちの対象となるFFn
のTi Tm;FF11〜55のうちのFFn 以外のFFm のT
i 一方、手順ST12,ST13と平行的に行われる手順
ST14は、距離計算処理であり、各FF11〜55の
相互間の距離Lmnを、次の(5)式で算出する。
【0012】 Lmn=|Xm −Xn |+|Ym −Yn | ・・・(5) 但し、Xm ;FFm の中心のX座標 Xn ;FFn の中心のX座標 Ym ;FFm の中心のY座標 Yn ;FFn の中心のY座標 手順ST13,ST14の結果が得られた後の手順ST
15は、経路選定処理であり、FFの相互間のクロック
スキューSmnと距離Lmnの総和Fが最小のとなるスキャ
ンインパッドPsiからスキャンアウトパッドPsoま
での経路を、次の(6)式で求める。スキャンインパッ
ドPsiは、テストデータ入力端子であり、スキャンア
ウトパッドPsoは出力端子である。スキャンインパッ
ドPsiとスキャンアウトパッドPsoとの間に接続す
るFF11〜55の接続順序が決定される。ここで、ス
キャンインパッドPsiとスキャンアウトパッドPso
とに接続されるFFとこれらのパッドPsi,Psoと
の間のスキューは0とする。
【0013】
【数2】 手順ST15の後の手順ST16では配線処理を行い、
スタンダードセルや他のモジュールの配線を行う。手順
ST11〜ST16によって、各FF11〜55が図6
に示す順序で直列に接続れてシフトレジスタになる。シ
フトレジスタの初段になるFF11には、スキャンイン
パッドPsiからデータが入力され、最終段となるFF
55からスキャンアウトパッドPsoへデータが出力さ
れる構成になる。ここで、手順ST15の(6)式で、
クロックスキューSmnも考慮してスキャンパスの接続順
序を決定したので、接続されたFFの始点側のFFn の
遅延時間Tn と終点側のFFm の遅延時間Tm が次の
(7)式となるパスがなくなり、クロックの遅延時間T
i が大きいFFから小さいFFに順に接続される。
【0014】 Tm <Tn ・・・(7) 図7は、図1で構築されるスキャンパスネット例(その
2)を示す図である。このスキャンパスネットは、クロ
ックCKを直接入力する4個のFF71〜74と、AN
Dゲート75でゲーテッドされたクロックCKが入力さ
れる4個のFF76〜79を持つ集積回路に適用した例
である。(6)式における定数K1 〜K4 を指定を、配
線長を短くするよりもホールドタイムエラーの発生確率
を低く抑える方を優先させるように指定した場合、図7
のように、クロックパスの遅延がほぼ等しくなるFF7
1〜74の群がまず接続され、クロックパスの遅延がほ
ぼ等しくなるFF76〜79の群が接続され、最終的に
両方が接続される。以上のように、この第1の実施形態
では、手順ST15の(6)式で、距離Lmnばかりでな
く、クロックスキューSmnも考慮してスキャンパスの接
続順序を決定するので、ホールドタイムエラーの発生確
率を低くできる。そのうえ、定数K1 〜K4 を指定する
ことにより、スキャンパスネットの配線量及びクロック
スキューの重み付けを変更できる。例えば、定数K1 ,
K2 を大きくし、定数K3 ,K4 を小さくすれば、配線
量の低減を優先にしたスキャンパスネットを構築でき
る。逆に、定数K1 ,K2 を小さくし、定数K3 ,K4
を大きくすると、ホールドタイムエラーの発生確率の低
減を優先したスキャンパスネットを構築できる。よっ
て、集積回路の開発期間を短縮できる。
【0015】第2の実施形態 図8は、本発明の第2の実施形態を示すスキャンパスネ
ットの配線方法のフローチャートである。この第2の実
施形態のスキャンパスネットの配線方法では、図8に示
す手順ST21〜ST27によって、LSI中のFFを
直列に接続してスキャンパスネットを構築する。手順S
T21〜ST24は、第1の実施形態の手順ST11〜
ST14と同様であり、手順ST21において、LSI
の回路情報等に基づきスタンダードセルやその他のモジ
ュールの配置設計を行い、手順ST22において、各F
Fのクロックパスの遅延時間Tiをそれぞれ見積る。手
順ST23において、(4)式を用い、例えば図1の各
FF11〜55の相互間のクロックスキューSmnをそれ
ぞれ算出する。手順ST24において、各FF11〜5
5の相互間の距離Lmnを、(5)式で算出する。手順S
T21〜ST24が終了した後の手順ST25は、第1
の実施形態とは異なる経路選定処理であり、次の(8)
式で示すFF11〜55におけるFF相互間の距離Lmn
の総和Fを最小とするスキャンパスネットの経路を求め
る。
【0016】
【数3】 続く、手順ST26は挿入処理であり、手順ST23で
求めたFFペア間の各スキューSmnが、バッファ挿入基
準値以上か否かを判定し、基準値以上のFF間に遅延手
段であるバッファを挿入する処理を行う。手順ST21
〜ST26が終了した後の手順ST27において配線処
理を行い、スタンダードセルやその他のモジュールの配
線を行う。これにより、FF11〜55が直列に接続さ
れてシフトレジスタが構成されるととも、ホールドタイ
ムエラーの発生原因になるFF間のスキャンパスには遅
延手段であるバッファが挿入される。よって、例えば図
5と同様のスキャンパスネットが構築される。
【0017】以上のように、この第2の実施形態によれ
ば、手順ST26を行うようにしたので、スキューSmn
がバッファ挿入基準値を越える場合には、自動的にバッ
ファを挿入するので、ホールドタイムエラーの発生確率
を低くできる。さらに、バッファ挿入基準値をユーザー
が指定することで、レイアウト面積の低減を優先するか
ホールドタイムエラーの発生確率の低減を優先するかを
容易に調整できる。例えば、バッファ挿入基準値を小さ
くすれば、挿入するバッファ数が減少してレイアウト面
積の低減を優先することになる。逆に、バッファ挿入基
準値を高くすれば、ホールドタイムエラーの発生確率の
低減を優先したスキャンパスネットを構築できる。よっ
て、集積回路の開発期間を短縮できる。
【0018】第3の実施形態 図9は、本発明の第3の実施形態を示すスキャンパスネ
ットの配線方法のフローチャートである。この第3の実
施形態のスキャンパスネットの配線方法では、図9に示
す手順ST31〜ST37によって、LSI中のFFを
直列に接続してスキャンパスネットを構築する。手順S
T31〜ST35は、第1の実施形態の手順ST11〜
ST15と同様であり、手順ST31においてはLSI
の回路情報等に基づき、スタンダードセルやその他のモ
ジュールのの配置設計を行う。手順ST32において、
各FFのクロックパスの遅延時間Tiをそれぞれ見積
る。手順ST33において、(4)式を用いて、例えば
図1の各FF11〜55相互間のクロックスキューSmn
をそれぞれ算出する。手順ST34において、各FF1
1〜55の相互間の距離Lmnを、(5)式で算出する。
手順ST35において、(6)式を用いて、スキャンイ
ンパッドPsiとスキャンアウトパッドPsoとの間に
接続するFF11〜55の接続順序を決定する。
【0019】手順ST31〜ST35が終了した後の手
順ST36は、第2の実施形態の手順ST26の挿入処
理と同様の処理であり、手順ST33で求めたFF相互
間の各スキューSmnが、バッファ挿入基準値以上か否か
を判定し、基準値以上のFF間に遅延手段であるバッフ
ァを挿入する処理を行う。手順ST31〜ST36が終
了した後の手順ST37において配線処理を行い、スタ
ンダードセルやその他のモジュールの配線を行う。これ
により、FF11〜55が直列に接続されてシフトレジ
スタが構成されるととも、ホールドタイムエラーの発生
原因になるFF間のスキャンパスには遅延手段であるバ
ッファが挿入される。以上のように、この第3の実施形
態では、第1の実施形態の手順ST15と同様の手順S
T35を行うのでスキャンパスネットの配線量及びスキ
ューを同時に最小化するスキャンパスネットを構築でき
るとともに、さらに、第2の実施形態における手順ST
26と同様の手順ST36を行うので、スキュー値がバ
ッファ挿入基準値を越えるスキャンパスに自動的にバッ
ファが挿入され、より確実にホールドタイムエラーの発
生確率を低くできる。よって、集積回路の開発期間を短
縮できる。
【0020】第4の実施形態 図10は、本発明の第4の実施形態を示すスキャンパス
ネットの配線方法のフローチャートであり、図11は、
図10で構築されるスキャンパスネット例を示す図であ
る。集積回路には、クロックCKの同期をとるのにネガ
テイブエッジを用いる第1型のFFと、ポジティブエッ
ジを用いる第2型のFFとの両方のFFを内蔵するもの
がある。この場合には、ネガティブエッジを用いるFF
群と、ポジティブエッジを用いるFFとを分けてそれぞ
れスキャンパスネットを構築する。この第4の実施形態
では、図10の手順ST41〜ST47により、ネガテ
ィブエッジを用いるFF群からなるスキャンパスネット
と、ポジティブエッジを用いるFF群からなるスキャン
パスネットとをそれぞれ構築する。
【0021】対象となる集積回路が、クロックCKのポ
ジティブエッジで駆動されてデータをラッチする4個の
スキャン用FF81〜84を備え、インバータ85で反
転されたクロックCKを入力してネガティブエッジで駆
動されてデータをラッチする4個のスキャン用FF86
〜89を備えているものとする。これらFF81〜8
4,86〜89を用いたスキャンパスネットを構築する
場合、まず、図10の手順41と手順ST42で、第1
の実施形態における手順ST11,ST12と同様の、
レイアウト処理とクロック遅延計算処理とを行う。手順
ST42の後の手順43において、回路情報から各FF
81〜84,86〜89の解析を行い、各FF81〜8
4,86〜89がいずれのエッジでデータを取り込むか
をそれぞれ判定する。そして、手順44において、ポジ
ティブエッジで駆動されるFF81〜84のクロックの
スキュー値を算出し、FF86〜89のクロックのスキ
ュー値を算出する。これらのスキュー値の算出には、第
1の実施形態の(4)式が用いられるが、各FF81〜
84の群と、FF86〜89の群とを別に行う。手順S
T42〜ST44に平行的行われる手順ST44は、第
1の実施形態の手順14と同様の処理であり、各FF8
1〜84,86〜89の相互間の距離Lmnを計算する。
【0022】手順ST46では、各FF81〜84の群
に対して(6)式を用いてスキャンパスの接続順序を求
める。また、これと分けて、各FF86〜89の群に対
して(6)式を用いてスキャンパスの接続順序を求め
る。手順ST46の後の手順ST47において、第2の
実施形態の手順ST26と同様に、手順ST44で求め
たFF間の各スキューSmnが、バッファ挿入基準値以上
か否かを判定し、基準値以上のFF間に遅延手段である
バッファを挿入する処理を行う。最後の手順48で配線
を行い、FF81〜84からなるスキャンパスを構築す
ると共に、FF86〜89からなるスキャンパスを構築
する。以上のように、この第4の実施形態では、手順S
T43で各FFがクロックのポジティブエッジで駆動さ
れて動作するか、ネガティブエッジで動作するかを判断
し、手順ST44及び手順ST46でFF81〜84と
FF86〜89とを分けた処理を行うので、ポジティブ
エッジを使用するFFとネガティブエッジを使用するF
Fとが混在する半導体集積回路においても、第3の実施
形態と同様の利点を有するスキャンパスネットを構築で
きる。よって、集積回路の開発期間を短縮できる。
【0023】なお、本発明は、上記実施形態に限定され
ず種々の変形が可能である。その変形例としては、例え
ば次のようなものがある。 (1) 第1〜第4の実施形態では、(5)式で求まる
マンハッタン距離Lmn使用しているが、スキャンパスネ
ットを適用するプログラムに応じてFFm とFFn の座
標値を用いる他の計算式で求めた距離を使用してもよ
い。 (2) 第1〜第3の実施形態では、FFm とFFn の
座標をそれらの中心を示すXm ,Xn ,Ym ,Yn で説
明したが、FFm とFFn とが始点と終点の場合には、
FFm をパッドPsi、FFn をパッドPsoの座標と
しても上記実施形態と同様の効果が得られる。 (3) 第1、第3及び第4の実施形態では、FF相互
間のスキュー値Smnと距離Lmnとの総和Fを(6)式で
求めたが、該FF相互間のスキュー値Smnと距離Lmnと
を反映するの他の計算式で求めることも可能である。 (4) 第2の実施形態では、FF相互間のスキュー値
がバッファ挿入基準値以上の場合にバッファを挿入する
ようにしているが、このバッファ挿入基準値は、固定値
でも、回路規模等の任意のパラメータを変数とする式と
しても同様の効果が得られる。
【0024】(5) 第1〜第4の実施形態における距
離Lmnの算出は、例えば、手順ST12,ST22,S
T32,ST42の前に行ってもよい。 (6) 第4の実施形態における手順ST43は、手順
ST42の前に行ってもよい。 (7) 第2〜第4の実施形態では、バッファを遅延手
段として挿入したが、信号の極性を変えない他のゲート
や回路を遅延手段として挿入してもよい。 (8) 第1〜第3の実施形態では、チップに一つのス
キュンパスネットを構築する例を示したが、複数のスキ
ャンパスネットを構築する場合にも、同様の処理で構築
できる。 (9) 第1〜第4の実施形態では、すべて同一クロッ
クCKで駆動されるFFを用いてスキャンパスネットを
構築した例を説明したが、例えば、図7のANDゲート
75の一方の入力端子に適宜な周波数信号を入力するこ
とで、クロックCKとは異なる周期のクロックができ
る。このように、異なったクロックで動作するFFでス
キャンパスネットを構成する場合も、上記実施形態と同
様の効果が得られる。
【0025】(10) 第1〜第3の実施形態では、す
べてのFFが、クロックCKのネガティブエッジまたは
ポジティブエッジで駆動されるものとして説明している
が、第4の実施形態と同様に両者を分けることにより、
個別にスキャンパスネットを構成することができる。 (11) 第1〜第4の実施形態では、チップを想定し
たが、メガセルの設計に同手法を適用しても、上記実施
形態と同様の効果が得られる。 (12) 第1〜第4の実施形態では、スキャン用FF
のみでスキャンパスネットを構築したが、すでに設計の
完了したメガセルをスキャンパスネットに組み込む場合
でも同様であり、同様の効果が得られる。 (13) 第1〜第4の実施形態では、通常の論理回路
内のFFを処理の対象としたが、バウンダリスキャン用
レジスタをその処理対象とする場合も同様の効果が得ら
れる。 (14) 第1〜第4の実施形態では、通常の論理回路
内のFFを処理の対象としたが、シフトレジスタがFF
からなるソフトマクロとしてインプリメントされる場
合、そのシフトレジスタを処理対象としても、同様の効
果が得られる。
【0026】
【発明の効果】以上詳細に説明したように、第1、第
2、及び第4の発明によれば、スキャン用FF相互間の
スキュー値を見積るスキュー見積り処理と、物理的な距
離ばかりでなく、クロックスキューも考慮した接続順序
を求める経路選定処理を行うので、ホールドタイムエラ
ーの発生の原因となるクロックスキューの問題を解消し
た上で最適化された配線が得られる。よって、集積回路
の開発期間を短縮できる。第3及び第4の発明によれ
ば、スキャン用FF相互間のスキュー値を見積るスキュ
ー見積り処理とスキャン用FF相互間の距離に基づいた
接続順序を求める経路選定処理と、挿入処理とを行うの
で、見積られたスキュー値によってスキャン用FFの間
に、遅延手段が自動的に挿入され、ホールドタイムエラ
ーの発生の原因となるクロックスキューの問題を解消し
た上で最適化された配線が得られる。よって、集積回路
の開発期間を短縮できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示すスキャンパスネ
ットの配線方法のフローチャートである。
【図2】従来のスキャンパスネットの配線方法を示すフ
ローチャートである。
【図3】従来のスキャンパスネットの構築例を示す図で
ある。
【図4】ホールドタイムエラーの説明図である。
【図5】ホールドタイムエラーの補償の説明図である。
【図6】図1で構築されるスキャンパスネット例(その
1)を示す図である。
【図7】図1で構築されるスキャンパスネット例(その
2)を示す図である。
【図8】本発明の第2の実施形態を示すスキャンパスネ
ットの配線方法のフローチャートである。
【図9】本発明の第3の実施形態を示すスキャンパスネ
ットの配線方法のフローチャートである。
【図10】本発明の第4の実施形態を示すスキャンパス
ネットの配線方法のフローチャートである。
【図11】図10で構築されるスキャンパスネット例を
示す図である。
【符号の説明】
11〜55,71〜74,76〜79,81〜84,8
6〜89 FF 61,62 バッファ(遅延手段) ST11,ST21,ST31,ST41 手順(レイアウト処理) ST12,ST22,ST32,ST42 手順(クロック遅延計算処理) ST13,ST23,ST33,ST44 手順(スキュー見積り処理) ST14,ST24,ST34,ST45 手順(距離計算処理) ST15,ST25,ST35,ST46 手順(経路選定処理) ST26,ST36,ST47 手順(挿入処理) ST16,ST27,ST37,ST48 手順(配線処理)
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H01L 21/82 G01R 31/28 H01L 21/822 H01L 27/04 G06F 17/50

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 クロック入力端子からクロックパスを介
    して入力されたクロックに同期してデータをそれぞれ保
    持する複数のフリップフロップを有し該フリップフロッ
    プを利用して入力信号の加工或いは処理を行う半導体集
    積回路に対してその動作チェックを行うために、前記複
    数のフリップフロップのうちから選択した複数のスキャ
    ン用フリップフロップをテスト信号入力端子から出力端
    子の間に直列に接続し、テストモードの時に前記クロッ
    クに同期してシフト動作するシフトレジスタを構築する
    スキャンパスネットの配線方法において、 前記半導体集積回路を構成する各回路を配置するレイア
    ウト処理と、 前記レイアウト処理で配置された前記各スキャン用フリ
    ップフロップに至る前記クロックパスでのクロック伝搬
    の遅延時間をそれぞれ見積るクロック遅延計算処理と、 前記各遅延時間に基づき、前記各スキャン用フリップフ
    ロップの相互間における前記クロックのスキュー値をそ
    れぞれ見積るスキュー見積り処理と、 前記各スキャン用フリップフロップの相互間の距離をそ
    れぞれ算出する距離計算処理と、 前記見積られたスキュー値と前記距離とを反映した計算
    式を用い前記接続における前記各スキャン用フリップフ
    ロップの接続順序を求める経路選定処理とを行ってお
    き、 前記接続順序に従って前記スキャン用フリップフロップ
    間を配線して前記スキャンパスネットを構築する配線処
    理を行うことを特徴とするスキャンパスネットの配線方
    法。
  2. 【請求項2】 前記経路選定処理で用いる計算式は、前
    記見積られたスキュー値と前記距離とに対して外部から
    指定可能な重み付け係数が組み込まれた計算式としたこ
    とを特徴とする請求項1記載のスキャンパスネットの配
    線方法。
  3. 【請求項3】 クロック入力端子からクロックパスを介
    して入力されたクロックに同期してデータをそれぞれ保
    持する複数のフリップフロップを有し該フリップフロッ
    プを利用して入力信号の加工或いは処理を行う半導体集
    積回路に対してその動作チェックを行うために、前記複
    数のフリップフロップのうちから選択した複数のスキャ
    ン用フリップフロップをテスト信号入力端子から出力端
    子の間に直列に接続し、テストモードの時に前記クロッ
    クに同期してシフト動作するシフトレジスタを構築する
    スキャンパスネットの配線方法において、 前記半導体集積回路を構成する各回路を配置するレイア
    ウト処理と、 前記レイアウト処理で配置された前記各スキャン用フリ
    ップフロップに至る前記クロックパスでのクロック伝搬
    の遅延時間をそれぞれ見積るクロック遅延計算処理と、 前記各遅延時間に基づき、前記各スキャン用フリップフ
    ロップの相互間における前記クロックのスキュー値をそ
    れぞれ見積るスキュー見積り処理と、 前記各スキャン用フリップフロップの相互間の距離をそ
    れぞれ算出する距離計算処理と、 前記距離に基づいた計算式を用いて前記接続における前
    記各スキャン用フリップフロップの接続順序を求める経
    路選定処理と、 前記見積られたスキュー値を参照し、前記接続順序の設
    定されたスキャン用フリップフロップの間に必要に応じ
    て遅延手段を挿入する挿入処理とを行っておき、 前記遅延手段を挿入した状態で前記接続順序に従って前
    記スキャン用フリップフロップ間を配線して前記スキャ
    ンパスを構築する配線処理を行うことを特徴するスキャ
    ンパスネットの配線方法。
  4. 【請求項4】 請求項1または2記載のレイアウト処
    理、クロック遅延計算処理、スキュー見積り処理、距離
    計算処理及び経路選定処理と、 請求項3記載の挿入処理及び配線処理とを行うことを特
    徴とするスキャンパスネットの配線方法。
  5. 【請求項5】 前記複数のスキャン用フリップフロップ
    が前記クロックのポジティブエッジで駆動される第1型
    のフリップフロップ群とネガティブエッジで駆動される
    第2型のフリップフロップ群とで構成された場合、前記
    スキュー見積り処理及び経路選定処理を該第1型のフリ
    ップフロップ群と第2型フリップフロップ群とで分けて
    行うことを特徴とする請求項1、2、3または4記載の
    スキャンパスネットの配線方法。
  6. 【請求項6】 請求項1、2、3、4または5記載のス
    キャンパスネットの配線方法で構築されたスキャンパス
    ネットを持つことを特徴とする半導体集積回路。
JP14797497A 1997-06-05 1997-06-05 スキャンパスネットの配線方法と半導体集積回路 Expired - Fee Related JP3403612B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14797497A JP3403612B2 (ja) 1997-06-05 1997-06-05 スキャンパスネットの配線方法と半導体集積回路
US09/090,170 US6199183B1 (en) 1997-06-05 1998-06-04 Method of forming a scan path network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14797497A JP3403612B2 (ja) 1997-06-05 1997-06-05 スキャンパスネットの配線方法と半導体集積回路

Publications (2)

Publication Number Publication Date
JPH10335471A JPH10335471A (ja) 1998-12-18
JP3403612B2 true JP3403612B2 (ja) 2003-05-06

Family

ID=15442318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14797497A Expired - Fee Related JP3403612B2 (ja) 1997-06-05 1997-06-05 スキャンパスネットの配線方法と半導体集積回路

Country Status (2)

Country Link
US (1) US6199183B1 (ja)
JP (1) JP3403612B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2954192B1 (ja) * 1998-09-10 1999-09-27 日本電気アイシーマイコンシステム株式会社 テスト容易化半導体集積回路の設計方法
EP1020797B1 (en) * 1999-01-11 2004-05-06 Koken Co., Ltd. Fault tolerant computer system
JP4428489B2 (ja) * 1999-08-23 2010-03-10 パナソニック株式会社 集積回路装置及びそのテスト方法
US6502222B1 (en) * 2000-09-28 2002-12-31 Lsi Logic Corporation Method of clock buffer partitioning to minimize clock skew for an integrated circuit design
US6691293B2 (en) * 2000-11-01 2004-02-10 Fujitsu Limited Layout instrument for semiconductor integrated circuits, layout method for semiconductor integrated circuits and recording medium that stores a program for determining layout of semiconductor integrated circuits
WO2002071411A1 (en) * 2001-03-06 2002-09-12 Koninklijke Philips Electronics N.V. Clock-skew resistant chain of sequential cells
US6757856B2 (en) * 2001-06-29 2004-06-29 International Business Machines Corporation Apparatus and method for hardware-assisted diagnosis of broken logic-test shift-registers
JP2004185427A (ja) 2002-12-04 2004-07-02 Renesas Technology Corp スキャンパスタイミング最適化装置
JP2005032102A (ja) * 2003-07-09 2005-02-03 Matsushita Electric Ind Co Ltd スキャンテスト設計方法、スキャンテスト回路、スキャンフリップフロップ回路、スキャンテスト回路挿入用cadプログラム、大規模集積回路及び携帯デジタル機器
JP4473163B2 (ja) * 2005-03-18 2010-06-02 富士通マイクロエレクトロニクス株式会社 スキャンチェーンのホールドエラー解消方法
CN102054078B (zh) * 2009-10-30 2014-11-26 新思科技(上海)有限公司 物理设计中基于双向优先选择的扫描链重构方法与装置
US10436841B2 (en) * 2018-01-25 2019-10-08 Mellanox Technologies, Ltd. Use of wrapper cells to improve signal routing in integrated circuits
US11507721B2 (en) * 2020-09-25 2022-11-22 International Business Machines Corporation Scan chain wirelength optimization using Q-learning based reinforcement learning

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2746076B2 (ja) * 1993-09-02 1998-04-28 日本電気株式会社 半導体集積回路、その設計方法およびそのテスト方法
JP3210172B2 (ja) * 1994-05-13 2001-09-17 富士通株式会社 ディレイ・レーシング・エラーリスト出力装置
JP2658903B2 (ja) * 1994-10-05 1997-09-30 日本電気株式会社 スキャンパス回路、その設計装置及びその設計方法
JP3791859B2 (ja) * 1996-10-30 2006-06-28 富士通株式会社 ネットワークのスキャンパスを階層的に構成するスキャン装置および方法

Also Published As

Publication number Publication date
JPH10335471A (ja) 1998-12-18
US6199183B1 (en) 2001-03-06

Similar Documents

Publication Publication Date Title
JP3403612B2 (ja) スキャンパスネットの配線方法と半導体集積回路
US8448105B2 (en) Clustering and fanout optimizations of asynchronous circuits
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
JP3005538B1 (ja) 機能ブロックのモデル作成によるlsi設計システム及びそのlsi設計方法
US7888971B2 (en) Verification support system and method
US9449127B1 (en) System for verifying timing constraints of IC design
JPH09106407A (ja) 設計支援装置
US7975249B2 (en) Operation timing verifying apparatus and program
JP2002279012A (ja) 遅延分布計算方法、回路評価方法およびフォールスパス抽出方法
JP2007072995A (ja) レイアウト装置、自動配置配線方法および半導体集積回路製造方法
Hassoun et al. Optimal path routing in single-and multiple-clock domain systems
JP2005136286A (ja) 半導体集積回路の設計方法、及びその装置
JP2000286342A (ja) コンピュータ読み取り可能な記憶媒体、半導体集積回路の設計方法、ならびに半導体装置の設計方法
US20030034795A1 (en) Delayed flash clear scan flip-flop to be implemented in complex integrated circuit designs
Lin et al. Optimal wire retiming without binary search
JP4901702B2 (ja) 回路設計方法
JP2005285144A (ja) フォールスパス抽出方法
JP4139236B2 (ja) タイミング解析プログラム
Pudi A Configurable Multi Source Clock Tree Synthesis For High Frequency Network On Chips
JP2003256488A (ja) Lsiレイアウト方法、プログラムおよび記録媒体
JP4146668B2 (ja) 遅延調整方法
JP2005327308A (ja) 回路性能評価方法
Liu et al. Crosstalk-aware domino-logic synthesis
GOYAL Analysis of ASIC Design Flow by performing Design and Verification of ALU Block and Lint using Spyglass
Chao et al. An Automated Propagation Approach that Promotes and Demotes the Timing Exception Between Hierarchical Blocks and Flat Design

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090228

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090228

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100228

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100228

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees