JP2003058273A - ホールドタイム測定回路 - Google Patents

ホールドタイム測定回路

Info

Publication number
JP2003058273A
JP2003058273A JP2001245697A JP2001245697A JP2003058273A JP 2003058273 A JP2003058273 A JP 2003058273A JP 2001245697 A JP2001245697 A JP 2001245697A JP 2001245697 A JP2001245697 A JP 2001245697A JP 2003058273 A JP2003058273 A JP 2003058273A
Authority
JP
Japan
Prior art keywords
flip
flop
scan
delay
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001245697A
Other languages
English (en)
Inventor
Takehiro Suzuki
武大 鈴木
Takeharu Yui
丈晴 湯井
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 JP2001245697A priority Critical patent/JP2003058273A/ja
Publication of JP2003058273A publication Critical patent/JP2003058273A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【課題】 LSIのクロックツリー間のスキュー値(必
要なホールドタイム)を測定する。 【解決手段】 系統の異なるクロックclk・a とクロック
clk・b において、clk・aで動作するスキャン機能付きF
F40−11〜40−14と、clk・b で動作するスキャ
ン機能付きFF40−21〜40−24とを、スキャン
シフト動作(シフトレジスタ動作)ができるようにスキ
ャンチェーンで接続し、系統の異なるclk・a 、clk・b で
動作するFF40−14とFF40−21との間のスキ
ャンチェーンは、ラッチ回路等のタイミング調整回路4
5で、十分なホールドタイムを確保し動作を保証する。
各FF40−11,…の値をFF40−24からスキャ
ンアウトさせ、この出力値より、FF40−11〜40
−14からなる第1スキャン列と、FF40−21〜4
0−24からなる第2スキャン列同士のホールドタイム
保証に必要な遅延の値を、遅延素子50−11,…の段
数で測定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路
(Integrated Circuit、Large Scale IntegratedCircui
t、Very Large Scale Integrated Circuit 等、以下
「LSI」という。)におけるクロックスキュー(cloc
k skew、クロック間の位相ずれ)によるホールドタイム
エラーを解析するためのホールドタイム測定回路に関す
るものである。
【0002】
【従来の技術】LSIでは、様々な原因で動作不良が起
こることが多くなっている。特に、システムLSIのよ
うに規模が大きく多機能なLSIにおいては、複数のク
ロックツリーを有することが多く、これらの異なるクロ
ックツリー間のクロックスキューでホールドタイムエラ
ーとなる危険性が高い。
【0003】図2は、LSIにおける例えば2つのクロ
ックツリーのクロックスキューを示す概念図である。
【0004】図2において、横方向の位置関係はクロッ
ク伝搬の遅延時間を示し、クロック用ドライバ1の出力
端子には、系統の異なる2つの同期用のクロックa(以
下「clk・a 」という。)及びクロックb(以下「clk・b
」という。)で動作する2つのクロックツリー10,
20が接続されている。一方のクロックツリー10は、
ドライバ1の出力端子に接続されたクロック用ドライバ
11を有し、この出力端子には、clk・a によって動作す
る複数個(N個)のフリップフロップ(以下「FF」と
いう。)12−1〜12−Nが接続されている。他方の
クロックツリー20は、ドライバ1の出力端子に接続さ
れたクロック用ドライバ21を有し、この出力端子に
は、clk・b によって動作する複数個(N個)のFF22
−1〜22−Nが接続されている。
【0005】クロックツリー10において、ドライバ1
1からのクロック伝搬の遅延値が最小のFF12−1ま
での遅延値(即ち、クロックツリー10へ到達するまで
の遅延値)13があり、遅延値が最小のFF12−1と
遅延値が最大のFF12−2との間には、クロックスキ
ュー14がある。クロックツリー20において、ドライ
バ21からのクロック伝搬の遅延値が最小のFF22−
1までの遅延値(即ち、クロックツリー20へ到達する
までの遅延値)23があり、遅延値が最小のFF22−
1と遅延値が最大のFF22−3との間には、クロック
スキュー24がある。異なるクロックツリー10,20
間にはクロックスキュー31があり、クロックツリー1
0内の遅延値が最小のFF12−1とクロックツリー2
0内の遅延値が最小のFF22−1との間には、クロッ
クスキュー32がある。
【0006】LSIの設計では、例えば、CAD(Comp
uter aided design)用のレイアウト設計ツールを用い
て、クロックツリー10,20の配置の設計が行われ
る。クロックスキュー14や24は、レイアウト設計ツ
ールにより小さく抑えられ、ある程度の精度の値を得る
ことができる。しかし、クロックツリー10,20間の
クロックスキュー31については、クロックツリー10
と20の配置を優先して設計するので、レイアウト設計
ツールでは遅延値13,23の操作ができないために小
さく抑えることができず、また、クロックスキュー31
の値が大きいために、レイアウト設計ツールによって得
られる遅延値データもあまり精度が良くない。
【0007】このような複数のクロックツリー10,2
0(系統の異なる同期用clk・a ,clk・b )を有するLS
Iを設計する場合、レイアウト設計ツールにより得られ
た遅延値データよりも十分に大きな遅延値、または、該
遅延値データよりある程度大きな遅延値をこの系統の異
なる同期用clk・a ,clk・b で動作するFF間のデータ信
号がもつように適当な遅延回路を挿入していた。
【0008】
【発明が解決しようとする課題】しかしながら、従来の
LSIの設計方法では、レイアウト設計ツールにより得
られた遅延値データと実際の値との差が不安定であるた
め、出来上がったLSIが必要以上に大きくなってしま
ったり、FF12−X〜FF22−X間のデータ転送
で、ホールドタイムエラーで動作不良を起こしてしまう
可能性が大きい。また、動作不良があった場合、この原
因をLSIテスタの通常のテストログ解析によって、こ
のホールドタイムエラーであると特定することも困難で
あり、再作時の処理を決定することも困難であった。
【0009】本発明は、前記従来技術が持っていた課題
を解決するために、クロックスキューによるホールドタ
イムエラーを解析するためのホールドタイム測定回路を
提供することを目的とする。
【0010】
【課題を解決するための手段】例えば、図2において、
クロックツリー10内の遅延値が最小のFF12−1と
クロックツリー20内の遅延値が最小のFF22−1と
の間のクロックスキュー32を知ることができれば、ク
ロックツリー10,20間のクロックスキュー31を以
下の計算により求められる。
【0011】2つのクロックツリー10,20間には、
次の(1)、(2)のいずれかの場合が考えられる。 (1) ケース1 例えば、図2のように、クロックツリー10へ到達する
までの遅延値13が、クロックツリー20へ到達するま
での遅延値23より小さい場合では、 (測定対象となるクロックスキュー32)+(レイアウ
ト設計ツールより得られるクロックツリー20内のクロ
ックスキュー24)=(クロックツリー10からクロッ
クツリー20へのクロックスキュー31)
【0012】(2) ケース2 図2と異なり、クロックツリー20へ到達するまでの遅
延値23が、クロックツリー10へ到達するまでの遅延
値13より小さい場合では、 (測定対象となるクロックスキュー32)+(レイアウ
ト設計ツールより得られるクロックツリー10内のクロ
ックスキュー)=(クロックツリー20からクロックツ
リー10へのクロックスキュー31)
【0013】このようなケース1、2において、測定対
象となるクロックスキュー32を測定できれば、出来上
がったLSIのクロックツリー10,20間のクロック
スキュー31の値(即ち、必要なホールドタイム)が決
定できることになる。
【0014】そこで、本発明では、測定対象となるクロ
ックスキュー32を測定できるホールドタイム測定回路
を提供するものである。
【0015】本発明の内の第1の発明では、2つの系統
の異なる同期用の第1クロック及び第2クロックを有す
るLSIにおけるクロックスキューによるホールドタイ
ムエラーを解析するためのホールドタイム測定回路にお
いて、前記第1クロックにより動作する(N+1)個
(但し、Nは1以上の正の整数)の第1〜第N+1の第
1FFを有し、これらの第1〜第N+1の第1FFが直
列に接続された第1スキャン列と、前記第2クロックに
より動作する(N+1)個の第1〜第N+1の第2FF
を有し、これらの第1〜第N+1の第2FFが直列に接
続され、かつ該第1の第2FFが前記第N+1の第1F
Fの出力側に1本のスキャン列となるように接続された
第2スキャン列と、前記第1の第2FFの出力端子及び
前記第2の第1FFのデータ入力端子と前記第N+1の
第1FFのデータ入力端子との間に直列に接続された
(N−1)段の第1〜第N−1の第1遅延素子を有し、
これらの第1〜第N−1の第1遅延素子の出力端子が前
記第3〜第N+1の第1FFのデータ入力端子に順次接
続された第1遅延素子群と、前記第1の第1FFの出力
端子及び前記第2の第2FFのデータ入力端子と前記第
N+1の第2FFのデータ入力端子との間に直列に接続
された(N−1)段の第1〜第N−1の第2遅延素子を
有し、これらの第1〜第N−1の第2遅延素子の出力端
子が前記第3〜第N+1の第2FFのデータ入力端子に
順次接続された第2遅延素子群とを備えている。
【0016】そして、前記第1〜第N+1の第1FFの
値及び前記第1〜第N+1の第2FFの値を該第N+1
の第2FFの出力端子からスキャンアウトさせ、この出
力値より、前記第1スキャン列と前記第2スキャン列同
士のホールドタイム保証に必要な遅延の値を前記遅延素
子の段数で測定している。
【0017】第2の発明では、2つの系統の異なる同期
用の第1クロック及び第2クロックを有するLSIにお
けるクロックスキューによるホ−ルドタイムエラーを解
析するためのホールドタイム測定回路において、前記第
1クロックにより動作する(N+1)個(但し、Nは1
以上の正の整数)の第1〜第N+1の第1FFを有し、
これらの第1〜第N+1の第1FFが直列に接続された
第1スキャン列と、前記第2クロックにより動作する
(N+1)個の第1〜第N+1の第2FFを有し、これ
らの第1〜第N+1の第2FFが直列に接続され、かつ
該第1の第2FFが前記第N+1の第1FFの出力側に
1本のスキャン列となるように接続された第2スキャン
列と、前記第1の第2FFの出力端子及び前記第2の第
1FFのデータ入力端子に対して、並列に接続された異
なる遅延値を持つ(N−1)個の第1〜第N−1の第1
遅延素子を有し、これらの第1〜第N−1の第1遅延素
子の出力端子が前記第3〜第N+1の第1FFのデータ
入力端子に順次接続された第1遅延素子群と、前記第1
の第1FFの出力端子及び前記第2の第2FFのデータ
入力端子に対して、並列に接続された異なる(N−1)
個の第1〜第N−1の第2遅延素子を有し、これらの第
1〜第N−1の第2遅延素子の出力端子が前記第3〜第
N+1の第2FFのデータ入力端子に順次接続された第
2遅延素子群とを備えている。
【0018】そして、前記第1〜第N+1の第1FFの
値及び前記第1〜第N+1の第2FFの値を該第N+1
の第2FFの出力端子からスキャンアウトさせ、この出
力値より、前記第1スキャン列と前記第2スキャン列同
士のホールドタイム保証に必要な遅延の値を前記遅延素
子の種類で測定している。
【0019】第3の発明では、2つの系統の異なる同期
用の第1クロック及び第2クロックを有するLSIにお
けるクロックスキューによるホ−ルドタイムエラーを解
析するためのホ−ルドタイム測定回路において、前記第
1クロックにより動作する(N+1)個(但し、Nは1
以上の正の整数)の第1〜第N+1の第1FFを有し、
これらの第1〜第N+1の第1FFが直列に接続された
第1スキャン列と、前記第2クロックにより動作する
(N+1)個の第1〜第N+1の第2FFを有し、これ
らの第1〜第N+1の第2FFが直列に接続され、かつ
該第1の第2FFが前記第N+1の第1FFの出力側に
1本のスキャン列となるように接続された第2スキャン
列と、前記第1の第1FFの出力端子及び前記第1の第
2FFの出力端子に接続された2つの入力端子と、前記
第2の第1FFのデータ入力端子及び前記第2の第2F
Fのデータ入力端子に接続された1つの出力端子とを有
する2入力1出力の論理回路と、前記論理回路の出力端
子に直列に接続され、同一の遅延値または異なる遅延値
を持つ(N−1)個の第1〜第N−1の遅延素子を有
し、これらの第1〜第N−1の遅延素子の出力端子が前
記第3〜第N+1の第1FFのデータ入力端子及び前記
第3〜第N+1の第2FFのデータ入力端子に順次接続
された遅延素子群とを備えている。
【0020】そして、前記第1〜第N+1の第1FFの
値及び前記第1〜第N+1の第2FFの値を該第N+1
の第2FFの出力端子からスキャンアウトさせ、この出
力値より、前記第1スキャン列と前記第2スキャン列同
士のホールドタイム保証に必要な遅延の値を前記遅延素
子の段数または種類で測定している。
【0021】第4の発明では、M個(但し、Mは2以上
の正の整数)の系統の異なる同期用の第1〜第Mクロッ
クを有するLSIにおけるクロックスキューによるホー
ルドタイムエラーを解析するためのホールドタイム測定
回路において、前記第1〜第Mクロックによりそれぞれ
動作する第1〜第Mスキャン列であって、これらの各ス
キャン列が第1FF及び第2FFの直列回路で構成さ
れ、かつこれらの各スキャン列が1本のスキャン列とな
るように直列に接続された第1〜第Mスキャン列と、前
記第1〜第Mスキャン列におけるM個の第1FFの出力
端子に接続されたM個の入力端子と、1つの出力端子と
を有するM入力1出力の論理回路と、前記論理回路の出
力端子に並列に接続され、異なる遅延値を持つN段(但
し、Nは正の整数)の遅延手段と、選択信号に基づき、
前記論理回路の出力及び前記N段の遅延手段の出力の内
のいずれか1つの出力を選択して、前記第1〜第Mスキ
ャン列におけるM個の第2FFの入力端子に入力するセ
レクタとを備えている。
【0022】そして、前記第1〜第Mスキャン列の値を
該第Mスキャン列における第2FFの出力端子からスキ
ャンアウトさせ、この出力値より、前記各スキャン列同
士の全てのホールドタイム保証に必要な遅延の値を前記
遅延手段の段数または種類で測定している。
【0023】第5の発明では、第1〜第3のいずれか1
つの発明のホールドタイム測定回路において、第N+1
の第1FFの出力を第1の第1FFに入力し、第N+1
の第2FFの出力を第1の第2FFに入力している。
【0024】第6の発明では、第4の発明のホールドタ
イム測定回路において、各スキャン列における第2FF
の出力を第1FFに入力している。
【0025】
【発明の実施の形態】(第1の実施形態) (1)構成 図1は、本発明の第1の実施形態を示すLSIにおける
ホールドタイム測定回路の構成図である。
【0026】このホールドタイム測定回路は、例えば、
図2のような系統の異なる同期用の第1クロック(例え
ば、clk・a )と第2クロック(例えば、clk・b )との間
のホールドタイムを遅延素子の段数で測定する回路であ
る。この回路は、clk・a により動作する(N+1)個
(例えば、4個)の第1〜第4の第1FF(例えば、ス
キャン機能付きFF)40−11〜40−14と、clk・
b により動作する(N+1)個(例えば、4個)の第1
〜第4の第2FF(例えば、スキャン機能付きFF)4
0−21〜40−24とを有している。第1〜第4のF
F40−11〜40−14は、直列に接続されて第1ス
キャン列を構成を構成している。第1〜第4のFF40
−21〜40−24は、直列に接続されて第2スキャン
列を構成している。
【0027】各FF40−11〜40−14,40−2
1〜40−24は、入力信号(以下「din・a 」とい
う。)または入力信号(以下「din・b 」という。)を入
力するデータ入力端子(以下「D」という。)と、スキ
ャン入力信号(以下「scan・in 」という。)を入力する
スキャンデータ入力端子(以下「SD」という。)と、
DまたはSDのいずれか一方の入力信号(以下「Din 」
という。)を選択するためのスキャンセレクト信号(以
下「scan・select 」という。)を入力するスキャンセレ
クト端子(以下「SS」という。)と、リセット信号
(以下「reset 」という。)を入力するリセット端子R
STと、clk・a またはclk・b を入力するクロック端子
(以下「CLK」という。)と、出力端子(以下「Q」
という。)とを有している。
【0028】第1スキャン列のFF40−11〜40−
14は、スキャンシフト動作ができるように、FF40
−11のQがFF40−12のSDに、FF40−12
のQがFF40−13のSDに、FF40−13のQが
FF40−14のSDに、それぞれ接続されている。同
様に、第2スキャン列において、スキャンシフト動作が
できるように、FF40−21のQがFF40−22の
SDに、FF40−22のQがFF40−23のSD
に、FF40−23のQがFF40−24のSDに、そ
れぞれ接続されている。
【0029】FF40−11〜40−14,40−21
〜40−24は、シフトレジスタを構成してスキャンシ
フト動作ができるように、スキャンチェーンで接続され
ている。系統の異なるclk・a で動作するFF40−14
のQと、clk・b で動作するFF40−21のSDとの間
のスキャンチェーンは、十分なホールドタイムを確保し
動作を保証するために、ラッチ回路等のタイミング調整
回路45を介して接続されている。
【0030】FF40−21のQは、FF40−12の
Dに接続されると共に、直列に接続された(N−1)段
(例えば、2段)の第1及び第2の第1遅延素子50−
11,50−12を介して、FF40−13,40−1
4のDに接続されている。FF50−11及び50−1
2により、第1遅延素子群が構成されている。FF40
−11のQは、FF40−22のDに接続されると共
に、直列に接続された(N−1)段(例えば、2段)の
第1及び第2の第2遅延素子50−21,50−22を
介して、FF40−23,40−24のDに接続されて
いる。遅延素子50−21及び50−22により、第2
遅延素子群が構成されている。各遅延素子50−11,
50−12,50−21,50−22は、例えば、同一
の遅延時間を有し、インバータ等で構成されている。
【0031】入力されるdin・a 、din・b 、scan・in 、sc
an・select 、reset と、FF40−24のQから出力さ
れるスキャン出力信号(以下「scan・out」という。)と
は、LSI外部から操作または観測できる。
【0032】図3は、図1の各スキャン機能付きFF4
0(40−11〜40−14,40−21〜40−2
4)の構成図である。
【0033】このスキャン機能付きFF40は、例え
ば、セレクタ41と遅延型FF(以下「D−FF」とい
う。)42とで構成されている。セレクタ41は、入力
端子がD及びSDに接続され、出力端子がD−FF42
のDに接続され、SSから入力されたscan・select が
“0”の時には、Dから入力されるdin・a またはdin・b
を選択してD−FF42のDへ出力し、scan・select が
“1”の時には、SDから入力されるscan・in を選択し
てD−FF42のDへ出力する回路である。D−FF4
2は、CLKから入力されるclk・a またはclk・b の立上
りによってDの入力信号を取込んでQから出力する回路
である。D−FF40は、RSTからresetが入力され
ると、リセットされてQの信号が“0”になる。
【0034】図4は、図3のスキャン機能付きFF40
の構成を説明するための信号波形図である。
【0035】このスキャン機能付きFF40では、CL
Kから入力されるclk・a またはclk・b の時刻t1におけ
る立上り時において、SSから入力されるscan・select
が“0”であるため、D−FF42にはDの入力信号D
1が保持され、clk・a またはclk・b の立上り時の時刻t
2,t3,t4では、SSから入力されるscan・select
が“1”に変わったため、SDの入力信号SD2,SD
3,SD4がそれぞれD−FF42に保持される。clk・
a またはclk・b の立上がり時の時刻t5,t6では、S
Sに入力されるscan・select が再び“0”に変わったた
め、Dの入力信号D5,D6はそれぞれD−FF42に
保持されるようになっている。
【0036】(2)動作図5は、図1のホールドタイム
測定回路の動作波形図である。図5の40−11QはF
F40−11のQ、40−11Din はFF40−11の
SSで選択されたDまたはSDの入力信号である。その
他の40−12Q,40−12Din ,…,40−24
Q,40−24Din も同様である。図5は、例えば、図
2に示すようにclk・a よりclk・b の遅延値が大きい場合
を示している。
【0037】clk・a 、clk・b の立上がりエッジ(a1,
b1)、(a2,b2)、(a3,b3)、…、(a1
0,b10)は、それぞれ同じサイクルの立上がりエッ
ジである。T1はFF40−21のQからFF40−1
2のDin までの遅延値、T2はFF40−21のQから
FF40−13のDin までの遅延値、T3はFF40−
21のQからFF40−14のDin までの遅延値、T4
はFF40−11のQからFF40−22のDin までの
遅延値、T5はFF40−11のQからFF40−23
のDin までの遅延値、T6はFF40−11のQからF
F40−24のDin までの遅延値である。
【0038】以下、図5を参照しつつ、図1のホールド
タイム測定回路を用いて、例えば、図2のclk・a 、clk・
b のFF間のクロックスキュー32を測定するための手
順1〜6を説明する。
【0039】〈手順1〉スキャンシフト動作(即ち、レ
フトレジスタ動作)、あるいはreset “0”を入力する
等して、FF40−11と40−21に“0”をセット
する。このセット後の状態が、図5に示されている。
【0040】〈手順2〉FF40−11及びFF40−
21にセットした値“0”を変化させるために、この値
と逆の値“1”のdin・a 及びdin・b を入力する。
【0041】〈手順3〉scan・select をネゲートして
(例えば、“0”にして)、clk・a とclk・b の1パルス
を印加(入力)すると、FF40−11及び40−21
のQはそれぞれclk・a 、clk・b の立上がりエッジa1,
b1で“1”に変化する。scan・select が“0”なの
で、FF40−12,40−13,40−14の有効デ
ータ入力端子はDで、FF40−21のQからそれぞ
れ、直接入力(T1)、遅延素子50−11を介した遅
延値T2の入力、遅延素子50−11,50−12を介
した遅延値T3の入力が行われる。FF40−22,4
0−23,40−24も同様である。
【0042】この時、clk・b の立上がりエッジb1でF
F40−22に入力されているデータは、clk・a とclk・
b の遅延差があるため、ホールドタイムエラーを起こし
てしまい、FF40−11のデータが正しく遷移されな
い。本来は“0”が入力されるが、ホールドタイムエラ
ーのために“1”が入力されてしまう。また、FF40
−23も、FF40−22ほどのエラー時間ではない
が、ホールドタイムエラーを起こしてしまっている。こ
れに対し、FF40−24は、遅延値T2がclk・a とcl
k・b の遅延差を埋めるのに十分であるため、ホールドタ
イムエラーが起こらない。FF40−12〜40−14
は、clk・a がclk・b より遅延が小さいために、ホールド
タイムエラーが起こらない。
【0043】〈手順4〉手順3の内部の動作の完了後、
図5のタイミングSSオンでscan・select を“1”にす
ると、FF40−11〜FF40−12〜FF40−1
3〜FF40−14〜FF40−21〜FF40−22
〜FF40−23〜FF40−24というシフトレジス
タになり、clk・a 及びclk・b を入力していくと、スキャ
ンシフト動作が行われ、clk・a 、clk・b の立上がりエッ
ジa1,b1でFF40−11,FF40−12,…,
FF40−24に保持された値がFF40−24,FF
40−23,FF40−22,…の順に、clk・b の立上
がりエッジb2,b3,b4,…,b9でscan・outが出
力される(なお、FF40−11,40−21の値は測
定には使用しない)。このscan・outの値を確認すること
により、ホールドタイムエラーを回避するために必要な
遅延値(図2のクロックスキュー32)を測定すること
ができる。
【0044】即ち、FF40−11〜40−24を遷移
するデータが“0”の場合のclk・a、clk・b のFF間の
クロックスキュー32は、この時の(FF40−12,
FF40−13,FF40−14,FF40−22,F
F40−23,FF40−24)の値が、(0,0,
0,0,0,0)のときは、全て“0”の正常であるか
ら不要、(1,0,0,0,0,0)のときは、“1”
のホールドタイムエラーを起こしているので、clk・b の
FF40−21からclk・a のFF40−12へは遅延素
子50−11の遅延値が必要、(1,1,0,0,0,
0)のときは、clk・b のFF40−21からclk・a のF
F40−13へは遅延素子50−11及び50−12の
遅延値が必要、(0,0,0,1,0,0)のときは、
clk・a のFF40−11からclk・b のFF40−22へ
は遅延素子50−21の遅延値が必要、(0,0,0,
1,1,0)のときは、clk・a のFF40−11からcl
k・b のFF40−23へは遅延素子50−21及び50
−22の遅延値が必要、であることが分かる。
【0045】つまり、図5の動作波形図の場合は、FF
40−22及びFF40−23の値が“1”で、FF4
0−24の値が“0”であったので、clk・a のFF40
−11からclk・b のFF40−22へのパスの“0”→
“1”の変化には、遅延値T2に相当する遅延素子を挿
入しなくてはならないことが分かる。
【0046】〈手順5〉図5の動作波形図には示されて
いないが、“1”→“0”の変化に必要な遅延値(素
子)を測定するため、手順1〜3と同様にFF40−1
1とFF40−21に“1”をセットし、“0”のdin・
a 、din・b を入力してclk・a とclk・b の1パルスを印加
する。
【0047】〈手順6〉スキャンシフト動作により、各
FF40−11〜40−24に入っている値を確認す
る。遷移するデータが“1”の場合のclk・a 、clk・b の
FF間のクロックスキュー32は、このときのFF40
−12,FF40−13,FF40−14,FF40−
22,FF40−23,FF40−24)の値が、
(1,1,1,1,1,1)のときは、不要、(0,
1,1,1,1,1)のときは、clk・b のFF40−2
1からclk・a のFF40−12へは遅延素子50−11
の遅延値が必要、(0,0,1,1,1,1)のとき
は、clk・b のFF40−21からclk・a のFF40−1
3へは遅延素子50−11及び50−12の遅延値が必
要、(1,1,1,0,1,1)のときは、clk・a のF
F40−11からclk・b のFF40−22へは遅延素子
50−21の遅延値が必要、(1,1,1,0,0,
1)のときは、clk・a のFF40−11からclk・b のF
F40−23へは遅延素子50−21及び50−22の
遅延値が必要、であることが分かる。
【0048】(3)効果 (i)FF40−12,40−13,40−14,40
−22,40−23,40−24に入っていたデータを
観測することにより、clk・a 、clk・b のFF間でホール
ドタイムエラーを起こさないために必要なホールドタイ
ムを、実際の遅延素子50−11,50−12,50−
21,50−22の段数で測定することができる。
【0049】(ii)遅延素子50−11,50−12と
遅延素子50−21,50−22をそれぞれ直列に接続
しているので、各FF40−13,40−14,40−
23,40−24のDに接続される遅延素子をそれぞれ
別個に設ける場合よりも、遅延素子の数を減少できる。
これにより、回路面積の増加を最小限に抑えることがで
きる。
【0050】(iii)第1スキャン列は4個のFF40
−11〜40−14で構成すると共に、第2スキャン列
は4個のFF40−21〜40−24で構成したが、こ
れらのFFの数を増やし、遅延素子50−11,50−
12,50−21,50−22の段数も増やすことによ
り、回路規模を拡張することができる。これにより、測
定精度をより向上できる。
【0051】(第2の実施形態) (1)構成 図6は、本発明の第2の実施形態を示すホールドタイム
測定回路の構成図であり、第1の実施形態を示す図1中
の要素と共通の要素には共通の符号が付されている。
【0052】このホールドタイム測定回路は、例えば、
図2のような系統の異なる同期用clk・a 、clk・b 間のホ
ールドタイムを遅延素子の種類で測定する回路であり、
図1と同様に、第1スキャン列と第2スキャン列を有し
ている。
【0053】第1スキャン列は、第1クロック(例え
ば、clk・a )により動作する(N+1)個(例えば、4
個)の第1〜第4の第1FF(例えば、スキャン機能付
きFF)40−11〜40−14を有し、これらの第1
〜第4のFF40−11〜40−14が直列に接続され
ている。第2スキャン列は、第2クロック(例えば、cl
k・b )により動作する(N+1)個(例えば、4個)の
第1〜第4の第2FF(例えば、スキャン機能付きF
F)40−21〜40−24を有し、これらの第1〜第
4のFF40−21〜40−24が直列に接続されてい
る。
【0054】FF40−11〜40−14,40−21
〜40−24は、スキャンシフト動作ができるようにス
キャンチェーンで接続され、これらの系統の異なるclk・
a 、clk・b で動作するFF40−14,40−21の間
のスキャンチェーンは、ラッチ回路等のタイミング調整
回路45で十分なホールドタイムを確保し動作を保証す
るようにしている。
【0055】FF40−21のQは、FF40−12の
Dに接続されると共に、遅延素子50−31を介してF
F40−13のDに、遅延素子50−32を介してFF
40−14のDに、それぞれ接続されている。これらの
遅延素子50−31及び50−32により、第1遅延素
子群が構成されている。FF40−11のQは、FF4
0−22のDに接続されると共に、遅延素子50−41
を介してFF40−23のDに、遅延素子50−42を
介してFF40−24のDに、それぞれ接続されてい
る。これらの遅延素子50−41及び50−42によ
り、第2遅延素子群が構成されている。各遅延素子50
−31,50−32,50−41,50−42は、種類
(即ち、遅延値)が異なり、インバータ等で構成されて
いる。その他の構成は、図1と同様である。
【0056】(2)動作 本実施形態のホールドタイム測定回路は、第1の実施形
態と同様に、FF40−11〜40−14,40−21
〜40−24の値を該FF40−24のQからスキャン
アウトさせ、この出力値より、第1スキャン列と第2ス
キャン列同士のホールドタイム保証に必要な遅延の値を
遅延素子50−31,50−32,50−41,50−
42の種類で測定している。
【0057】(3)効果 (i)本実施形態では、遅延値の異なる遅延素子50−
31,50−32,50−41,50−42を並列に接
続しているので、ホールドタイムを確保するために必要
な遅延値を実際の遅延素子50−31,50−32,5
0−41,50−42の種類で測定することができる。
【0058】(ii)第1スキャン列と第2スキャン列
は、それぞれ4個のFF40−11〜40−14,40
−21〜40−24で構成したが、更に、別の種類の遅
延素子を通ったデータが入力されるFFを接続して、回
路規模を拡張することができる。これにより、測定精度
を向上できる。
【0059】(第3の実施形態) (1)構成 図7は、本発明の第3の実施形態を示すホールドタイム
測定回路の構成図であり、第1の実施形態を示す図1中
の要素と共通の要素には共通の符号が付されている。
【0060】このホールドタイム測定回路は、論理回路
を使用して遅延素子の段数を減らすようにした回路であ
る。図1と同様に、clk・a で動作するシフト機能付きF
F40−11〜40−14と、clk・b で動作するシフト
機能付きFF40−21〜40−24とを有している。
FF40−11〜40−14,40−21〜40−24
は、スキャンシフト動作ができるようにスキャンチェー
ンで接続され、系統の異なるclk・a 、clk・b で動作する
FF40−14,40−21の間のスキャンチェーン
が、ラッチ回路等のタイミング調整回路45で、十分な
ホールドタイムを確保し動作を保証するようになってい
る。
【0061】このホールドタイム測定回路では、図1と
異なり、FF40−11,40−21のQが2入力1出
力の論理回路(例えば、2入力ORゲート)60の入力
端子に接続されている。ORゲート60の出力端子は、
FF40−12,40−22のDに接続されると共に、
遅延素子50−51を介してFF40−13,40−2
3のDに接続されている。更に、遅延素子50−51の
出力端子は、遅延素子50−52を介してFF40−1
4,40−24のDに接続されている。これらの遅延素
子50−51及び50−52は、遅延素子群を構成して
いる。各遅延素子50−51,50−52は、同一の遅
延値を有し、インバータ等で構成されている。その他の
構成は、図1と同様である。
【0062】(2)動作 図8は、図7のホールドタイム測定回路の動作波形図で
あり、図5の動作波形図中の要素と共通の要素には共通
の符号が付されている。
【0063】図8は、図7のホールドタイム測定回路を
使用し、clk・a で動作するFF40−11〜40−14
からclk・b で動作するFF40−21〜40−24まで
の間のホールドタイムエラー回避のために必要な遅延値
を測定した場合の動作波形図である。この動作波形図
は、例えば、図2に示すようにclk・a よりclk・b の遅延
値が大きい場合を示している。
【0064】図8中のT11はFF40−11のQから
ORゲート60を通ったFF40−12,40−22の
Din への遅延値、T12はFF40−11のQからOR
ゲート60及び遅延素子50−51を通ったFF40−
13,40−23のDin までの遅延値、T13はFF4
0−11のQからORゲート60及び遅延素子50−5
1,50−52を通ったFF40−14,40−24の
Din までの遅延値である。
【0065】以下、図8を参照しつつ、図7のホールド
タイム測定回路を用いて、clk・a のFF40−11〜4
0−14からclk・b のFF40−21〜40−24へ
の、例えば図2のクロックスキュー32を測定するため
の手順1〜6を説明する。
【0066】〈手順1〉スキャンシフト動作等により、
FF40−11,40−21を“0”にセットする。こ
のセット後の動作波形図が図8に示されている。
【0067】〈手順2〉FF40−11の値のみを変化
させるために、FF40−11にセットした値と逆の値
“1”のdin・a を入力すると共に、“0”のdin・b を入
力する。
【0068】〈手順3〉scan・select をネゲート
(“0”)して、clk・a 、clk・b を1パルス印加する。
すると、遅延値T11とT12では、clk・a とclk・b の
遅延差をカバーすることができないため、FF40−2
2,40−23には正常な値が入らない(即ち、期待値
は“0”であるが、ホールドタイムエラーのために
“1”が入ってしまう)。これに対し、FF40−24
には、遅延値T13がclk・a とclk・b の遅延差をカバー
しているため、正常な値“0”が入る。
【0069】〈手順4〉スキャンシフト動作により、F
F40−24,40−23,…,40−11の値を読み
取る。この場合、測定しようとするデータは、FF40
−24,40−23,40−22のデータのみである。
【0070】遷移するデータが“0”の場合のclk・a の
FF40−12〜40−14からclk・b のFF40−2
2〜40−24へのクロックスキューは、このときの
(FF40−12,FF40−13,FF40−14,
FF40−22,FF40−23,FF40−24)の
値が、(0,0,0,0,0,0)のときは、ORゲー
ト60の遅延値(以下)で良く、(0,0,0,1,
0,0)のときは、ORゲート60及び遅延素子50−
51の遅延値が必要、(0,0,0,1,1,0)のと
きは、ORゲート60及び遅延素子50−51,50−
52の遅延値が必要、であることが分かる。
【0071】〈手順5〉図8には示されていないが、手
順1〜3と同様に、FF40−11に“1”、FF40
−21に“0”をセットし、“0”のdin・a 及び“0”
のdin・b を入力してclk・a とclk・b を1パルス印加す
る。
【0072】〈手順6〉スキャンシフト動作により、各
FF40−12〜40−14,40−22〜40−24
に入っている値を読出して確認する。遷移するデータが
“1”の場合のclk・a のFF40−12〜40−14か
らclk・b のFF40−22〜40−24へのクロックス
キューは、このときの(FF40−12,FF40−1
3,FF40−14,FF40−22,FF40−2
3,FF40−24)の値が、(1,1,1,1,1,
1)のときは、ORゲート60の遅延値以下で良く、
(1,1,1,0,1,1)のときは、ORゲート60
及び遅延素子50−51の遅延値が必要、(1,1,
1,0,0,1)のときは、ORゲート60及び遅延素
子50−51,50−52の遅延値が必要、であること
が分かる。
【0073】“1”→“0”の変化に必要な遅延値を測
定するため、同様にして、手順2でdin・a に“0”、di
n・b に“1”(FF40−21と逆の値)を入力するこ
とにより、clk・b のFF40−22〜40−24からcl
k・a のFF40−12〜40−14へのクロックスキュ
ーを測定することができる。
【0074】(3)効果 (i)2入力ORゲート60を用いて遅延素子50−5
1,50−52を共用しているので、遅延素子数を半減
することができる。
【0075】(ii)図7では、2段の遅延素子50−5
1,50−52を用いているが、更に多くの段数の遅延
素子を通ったデータが入力されるシフト機能付きFFを
接続して拡張することができる。また、各遅延素子50
−51,50−52等は、同一の遅延値を持つが、これ
らに異なる遅延値を持たせてもよい。このように、測定
に使用する遅延素子50−51,50−52の段数や種
類(遅延値の異なるもの)が多いほど、共用する遅延素
子数をより減少できると共に、測定精度をより向上でき
る。
【0076】(第4の実施形態) (1)構成 図9は、本発明の第4の実施形態を示すセレクタを使用
したホールドタイム測定回路の構成図であり、第1の実
施形態を示す図1及び第3の実施形態を示す図7中の要
素と共通の要素には共通の符号が付されている。
【0077】このホールドタイム測定回路は、M個(例
えば、2個)の系統の異なる同期用の第1及び第2クロ
ック(例えば、clk・a 、clk・b )によりそれぞれ動作す
る第1及び第2スキャン列を有している。
【0078】clk・a で動作する第1スキャン列は、第1
FF(例えば、スキャン機能付きFF)40−11及び
第2FF(例えば、スキャン機能付きFF)40−12
の直列回路で構成されている。第2スキャン列は、第1
FF(例えば、スキャン機能付きFF)40−21及び
第2FF(例えば、スキャン機能付きFF)40−22
の直列回路で構成されている。FF40−11〜FF4
0−22は、スキャンシフト動作ができるようにスキャ
ンチェーンで接続され、系統の異なるclk・a 、clk・b で
動作するFF40−12,40−21の間のスキャンチ
ェーンは、ラッチ回路等のタイミング調整回路45−1
で、十分なホールドタイムを確保し動作を保証するよう
になっている。
【0079】FF40−11,40−21のQはM入力
1出力の論理回路(例えば、2入力のORゲート)60
の入力端子に接続され、この出力端子に、異なる遅延値
を持つN段(例えば、3段)の遅延手段(例えば、イン
バータ等で構成された遅延素子)50−61〜50−6
3の入力端子が接続されている。遅延素子50−61〜
50−63の遅延値は、遅延素子50−61から50−
63へ順に大きくなっている。ORゲート60の出力端
子及び遅延素子50−61〜50−63の出力端子に
は、遅延選択信号(以下「delay・select」という。)に
基づき、そのいずれか1つの出力端子を選択して出力す
るセレクタ70が接続されている。
【0080】セレクタ70の出力端子は、FF40−1
2,40−22のDに接続されている。このFF40−
12,40−22のDには、FF40−11のQの出力
とFF40−21のQの出力からORゲート60を通
り、セレクタ70によって選択された1つ(即ち、セレ
クタ70のみ、あるいは遅延素子50−61及びセレク
タ70、遅延素子50−62及びセレクタ70、遅延素
子50−63及びセレクタ70の内の1つ)を通ってデ
ータ入力されるようになっている。
【0081】図1あるいは図7と同様に、din・a 、din・
b 、clk・a 、clk・b 、scan・in 、reset 、scan・select
、及びdelay・selectが入力され、FF40−22のQ
からscan・outが出力される。この内、scan・in 、reset
、scan・select 、delay・select、及びscan・outは、L
SI外部から操作または観察できるようになっている。
その他の構成は、図1あるいは図7と同様である。
【0082】(2)動作 図10は、図9のホールドタイム測定回路の動作波形図
であり、図5の動作波形図中の要素と共通の要素には共
通の符号が付されている。
【0083】図10は、例えば、図2に示すようなclk・
a よりclk・b の遅延値が大きい場合を示している。図9
のホールドタイム測定回路では、FF40−11のQか
らFF40−22のDin までの遅延値T21を、セレク
タ70で選択できるようにしている。
【0084】以下、図10を参照しつつ、図9のホール
ドタイム測定回路を用いて、clk・aのFF40−11,
40−12からclk・b のFF40−21,40−22へ
の、例えば図2のクロックスキュー32を測定するため
の手順1〜6を説明する。
【0085】〈手順1〉スキャンシフト動作等により、
FF40−11,40−21に“0”をセットする。
【0086】〈手順2〉FF40−11にセットした値
と逆の値“1”のdin・a を入力すると共に、“0”のdi
n・b を入力する。
【0087】〈手順3〉delay・selectでセレクタ70の
遅延を選択し、scan・select をネゲート(“0”)し
て、clk・a 、clk・b を1パルス印加する。
【0088】〈手順4〉スキャンシフト動作により、各
FF40−11,40−12,40−21,40−22
に入っている値を読出して確認する。
【0089】〈手順5〉遷移するデータが“0”の場合
のclk・a のFF40−11からclk・b のFF40−2
1,40−22へのクロックスキューは、各遅延値選択
で手順1〜3を行い、手順4でFF40−22の値が
“0”となるときの選択した遅延値の最も小さなもの
(以上)が必要であることが分かる。
【0090】即ち、図10において、立上がりエッジb
2でのscan・outの値により、ホールドタイムエラーを回
避するための遅延が遅延値T21で十分であったかを判
定することができる。なお、立上がりエッジb3,b
4,b5で出力されるFF40−21,40−12,4
0−11の値は、この場合は測定に使用しない。
【0091】〈手順6〉図10には示されていないが、
“1”→“0”の変化に必要な遅延値を測定するため、
遷移するデータが“1”の場合の手順1〜5と同様に、
clk・a のFF40−11からclk・b のFF40−21,
40−22へのクロックスキューを測定する。
【0092】同様にして、手順2でdin・a に“0”、di
n・b に“1”を入力することにより、clk・b のFF40
−21からclk・a のFF40−11,40−12へのク
ロックスキューを測定することができる。
【0093】(3)効果 (i)セレクタ70を使用しているので、必要なスキャ
ン列のFF40−11,40−12,40−21,40
−22の個数を減らすことができる。
【0094】(ii)図9では、異なる遅延値を持つ3段
の遅延素子50−61〜50−63を用いているが、更
に多くの段数や種類(遅延値の異なるもの)の遅延素子
を通るデータ入力を選択できるようにセレクタ70への
入力数を増やして拡張することができる。これにより、
より測定精度を向上できる。このように、多くの段数や
種類の遅延値を有する遅延素子50−61〜50−63
を用いて測定する場合には、FF40−11,40−1
2,40−21,40−22の数を増やすことなく拡張
できる。
【0095】(第5の実施形態) (1)構成 図11は、本発明の第5の実施形態を示すM個(例え
ば、4個)の異なる系統の同期用clk・a 、clk・b 、clk・
c 、clk・d 間のホールドタイム測定回路の構成図であ
り、第4の実施形態を示す図9中の要素と共通の要素に
は共通の符号が付されている。
【0096】このホールドタイム測定回路は、M個(例
えば、4個)の系統の異なる同期用の第1〜第Mクロッ
ク(例えば、clk・a 、clk・b 、clk・c 、clk・d )により
それぞれ動作する第1〜第Mスキャン列(例えば、第1
〜第4スキャン列)を有している。
【0097】第1スキャン列は第1FF(例えば、スキ
ャン機能付きFF)40−11及び第2FF(例えば、
スキャン機能付きFF)40−12の直列回路で構成さ
れている。第2スキャン列は、第1FF(例えば、スキ
ャン機能付きFF)40−21及び第2FF(例えば、
スキャン機能付きFF)40−22の直列回路で構成さ
れている。第3スキャン列は、第1FF(例えば、スキ
ャン機能付きFF)40−31及び第2FF(例えば、
スキャン機能付きFF)40−32の直列回路で構成さ
れている。第4スキャン列は、第1FF(例えば、スキ
ャン機能付きFF)40−41及び第2FF(例えば、
スキャン機能付きFF)40−42の直列回路で構成さ
れている。
【0098】FF40−11〜FF40−42は、スキ
ャンシフト動作ができるようにスキャンチェーンで接続
され、系統の異なるclk・a 、clk・b 、clk・c 、clk・d で
動作するFF40−12→FF40−21、FF40−
22→FF40−31、FF40−32→FF40−4
1間のスキャンチェーンは、ラッチ回路等のタイミング
調整回路45−1〜45−3で、十分なホールドタイム
を確保し動作を保証するようになっている。
【0099】FF41−11,40−21,40−3
1,40−41のQは、M入力1出力の論理回路(例え
ば、4入力ORゲート)61の入力端子に接続されてい
る。ORゲート61の出力端子には、異なる遅延値を持
つN段(例えば、3段)の遅延手段(例えば、インバー
タ等で構成された遅延素子)50−61〜50−63の
入力端子が接続されている。各遅延素子50−61から
50−63は、遅延値が順に大きくなっている。ORゲ
ート61の出力端子及び遅延素子50−61〜50−6
3の出力端子には、delay・selectに基づきその出力端子
のいずれか1つを選択して出力するセレクタ70の入力
端子が接続されている。
【0100】セレクタ70の出力端子は、FF40−1
2,40−22,40−32,40−42のDに接続さ
れている。このFF40−12,40−22,40−3
2,40−42のDには、FF40−11,40−2
1,40−31,40−41のQからORゲート61を
通り、セレクタ70によって選択された回路のみ(即
ち、セレクタ70のみ、あるいは遅延素子50−61及
びセレクタ70、遅延素子50−62及びセレクタ7
0、遅延素子50−63及びセレクタ70のいずれか1
つ)を通ったデータのみ入力されるようになっている。
【0101】din・a 、din・b 、din・c 、din・d 、clk・a
、clk・b 、clk・c 、clk・d 、scan・in 、reset 、scan・
select 、及びdelay・selectが入力され、FF40−4
2のQからscan・outが出力される。この内、scan・in 、
reset 、scan・select 、delay・select、及びscan・out
は、LSI外部から操作または観測できる。clk・a 、cl
k・b 、clk・c 、clk・d は、例えば、図2のような各クロ
ックツリーのドライバ11,21,…から出力される系
統の異なるクロックである。その他の構成は、図1ある
いは図9と同様である。
【0102】(2)動作 図12は、図11のホールドタイム測定回路の動作波形
図であり、図5中の要素と共通の要素には共通の符号が
付されている。
【0103】図12は、各クロックの遅延値を小さい方
からclk・a 、clk・c 、clk・d 、clk・b の順の場合を示し
ており、clk・a で動作するFF40−11,40−12
とそれ以外のFF40−21,40−22,40−3
1,40−32,40−41,40−42間のホールド
タイムエラー回避に必要な遅延値を測定しようとする場
合を示している。また、セレクタ70で選択した遅延素
子50−61〜50−63の遅延値がT31であった場
合とする。
【0104】以下、図12を参照しつつ、図11のホー
ルドタイム測定回路を用いて、clk・a のFF40−1
1,40−12からclk・b 、clk・c 、clk・d のFF40
−21〜40−42へのクロックスキューを測定するた
めの手順1〜6を説明する。
【0105】〈手順1〉スキャンシフト動作等により、
FF40−11,40−21,40−31,40−41
に“0”をセットする。
【0106】〈手順2〉FF40−11にセットした値
と逆の値“1”のdin・a を入力すると共に、“0”のdi
n・a 、din・c 、din・d を入力する。
【0107】〈手順3〉delay・selectによりセレクタ7
0で遅延を選択し、scan・select をネゲート(“0”)
して、clk・a 、clk・b 、clk・c 、clk・d を1パルス印加
する。clk・a の立上がりエッジa1でFF40−11の
Qが“0”→“1”となり、これが遅延時間T31の
後、FF40−12,40−22,40−32,40−
42にデータとして入力される。各clk・a 、clk・b 、cl
k・c 、clk・d の遅延差により、図12に示すように、F
F40−22,40−42でホールドタイムエラーを起
こしており、FF40−12,40−32では正常にデ
ータが遷移している。
【0108】〈手順4〉scan・select を“1”にしてス
キャンシフト動作を行わせ、各FF40−42,40−
41,…に保持されているデータをclk・d の立上がりエ
ッジd2でFF40−42、立上がりエッジd3でFF
40−41、立上がりエッジd4でFF40−32、…
というようにFF40−42のQからscan・outを出力
し、各FF40−42,…に入っている値を確認する。
【0109】〈手順5〉遷移するデータが“0”の場合
のclk・a のFF40−11,40−12からclk・b 、cl
k・c 、clk・d のFF40−21〜40−42へのクロッ
クスキューは、各遅延値選択で手順1〜3を行い、手順
4でFF40−22,40−32,40−41の値が
“0”となるときに選択した遅延値の最も小さなもの
(以上)が必要であることが分かる。
【0110】〈手順6〉手順1〜5と同様に、遷移する
データが“1”の場合のclk・a のFF40−11,40
−12からclk・b 、clk・c 、clk・d のFF40−21〜
40−42へのクロックスキューを測定する。
【0111】同様にして、clk・a 以外のclk・b 、clk・c
、clk・d のFFからのクロックスキューを測定するこ
とができる。
【0112】(3)効果 (i)複数の系統の異なる同期用clk・a 、clk・b 、clk・
c 、clk・d がLSIに存在する場合、ORゲート61及
びセレクタ70を設けることにより、1つのクロックに
つきFFを2つ増加するだけでクロックスキューを測定
することができる。本実施形態では、4つであるが、同
様に3つ、または5つ以上の形態の異なる同期用のクロ
ック(クロックツリー)があっても、簡単に拡張でき
る。
【0113】(ii)各遅延素子50−61〜50−63
は、同一の遅延値を持つ複数段の遅延素子で、それぞれ
構成してもよい。
【0114】(第6の実施形態) (1)構成 図13は、本発明の第6の実施形態を示す端子数を削減
したホールドタイム測定回路の構成図であり、第5の実
施形態を示す図11中の要素と共通の要素には共通の符
号が付されている。
【0115】このホールドタイム測定回路では、図11
のdin・a 、din・b 、din・c 、din・d端子への入力を、L
SI外部から直接操作する代わりに、図13の右側の各
FF40−12,40−22,40−32,40−42
のQと接続し、端子数を削減した構成になっている。
【0116】(2)動作 第5の実施形態の手順1〜6とほぼ同様の手順を行う。
ただし、手順2でdin・a 、din・b 、din・c 、din・d への
設定を行う代わりに、手順1のスキャンシフト動作での
設定でFF40−12,40−22,40−32,40
−42へ値を設定する。
【0117】(3)効果 本実施形態では、ホールドタイム測定回路の全体の端子
の数を減らすことができる。これにより、実際のLSI
の機能部分への関わりを減らし、回路構成を簡単化でき
る。
【0118】(利用形態)本発明は、上記実施形態に限
定されず、種々の変形や利用形態が可能である。この変
形や利用形態としては、例えば、次の(i)〜(iii)
のようなものがある。
【0119】(i)第1の実施形態の遅延素子50−1
1,50−12,50−21,50−22の段数と、第
2の実施形態の遅延素子50−31,50−32,50
−41,50−42の種類(遅延値の異なるもの)でク
ロックスキューを測定する方法は、これらの両方を組合
せて行うことができる。これは、他の実施形態でも同様
に適用可能である。
【0120】(ii)図3のスキャン機能付きFF40
は、セレクタ41及びD−FF42で構成したが、この
D−FF42に代えて他のFFを用いたり、あるいはこ
のスキャン機能付きFF40をクロックの立下りで動作
するような構成に変えてもよい。
【0121】(iii)図7、図9、図11、図13のO
Rゲート60,61は、ANDゲート等の他の論理回路
に変え、これに対応して該論理回路の入出力側の回路構
成を変更してもよい。
【0122】
【発明の効果】以上詳細に説明したように、本発明の内
の第1の発明によれば、第1スキャン列及び第2スキャ
ン列のFFに入っていたデータを観測することにより、
第1クロックで動作するFFと第2クロックで動作する
FFとの間でホールドタイムエラーを起こさないために
必要なホールドタイムを、実際の遅延素子の段数で測定
することができる。しかも、遅延素子群の遅延素子を直
列に接続しているので、回路面積の増加を最低限に抑え
ることができる。
【0123】第2の発明によれば、遅延値の異なる遅延
素子を並列に接続したので、ホールドタイムを確保する
ために必要な遅延値を、実際の遅延素子の種類(遅延値
の異なるもの)で測定することができる。
【0124】第3の発明によれば、論理回路を用いて遅
延素子を共用するようにしたので、遅延素子数を半減す
ることができる。これは、測定に使用する遅延素子の段
数や種類(遅延値の異なるもの)が多いほど遅延素子数
を低減でき、しかも測定精度をより向上できる。
【0125】第4の発明によれば、セレクタを使用した
ので、各スキャン列を構成するFFの数を減らすことが
できる。しかも、多くの段数や種類の遅延値を持つ遅延
手段を用いて測定する場合にも、各スキャン列のFFの
数を増やすことなく、拡張できる。
【0126】第5及び第6の発明によれば、後段のFF
の出力を前段のFFに入力する構成にしたので、ホール
ドタイム測定回路の全体の端子数を減らすことができ
る。これにより、実際のLSIの機能部分への関わりを
減らし、回路構成を簡単化できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示すホールドタイム
測定回路の構成図である。
【図2】2つのクロックツリーのクロックスキューを示
す概念図である。
【図3】図1のスキャン機能付きFFの構成図である。
【図4】図3のスキャン機能付きFFの信号波形図であ
る。
【図5】図1の動作波形図である。
【図6】本発明の第2の実施形態を示すホールドタイム
測定回路の構成図である。
【図7】本発明の第3の実施形態を示すホールドタイム
測定回路の構成図である。
【図8】図7の動作波形図である。
【図9】本発明の第4の実施形態を示すホールドタイム
測定回路の構成図である。
【図10】図9の動作波形図である。
【図11】本発明の第5の実施形態を示すホールドタイ
ム測定回路の構成図である。
【図12】図11の動作波形図である。
【図13】本発明の第6の実施形態を示すホールドタイ
ム測定回路の構成図である。
【符号の説明】
10,20 クロックツリー 12−1〜12−N,22−1〜22−N FF 13,23 遅延値 14,24,31、32 クロックスキュー 40,40−11〜40−14,40−21〜40−2
4,40−31,40−32,40−41,40−42
スキャン機能付きFF 45,45−1〜45−3 タイミング調整回路 50−11,50−12,50−21,50−22,5
0−31,50−32,50−41,50−42,50
−51,50−52,50−61〜50−63遅延素子 60 ORゲート 70 セレクタ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2G132 AA01 AB01 AC14 AD07 AG01 AH04 AK14 AK18 AK21 AK23 AK27 AL00 5B079 AA10 BA20 BC02 CC02 CC16 DD06 DD13

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 2つの系統の異なる同期用の第1クロッ
    ク及び第2クロックを有する半導体集積回路におけるク
    ロックスキューによるホールドタイムエラーを解析する
    ためのホールドタイム測定回路において、 前記第1クロックにより動作する(N+1)個(但し、
    Nは1以上の正の整数)の第1〜第N+1の第1フリッ
    プフロップを有し、これらの第1〜第N+1の第1フリ
    ップフロップが直列に接続された第1スキャン列と、 前記第2クロックにより動作する(N+1)個の第1〜
    第N+1の第2フリップフロップを有し、これらの第1
    〜第N+1の第2フリップフロップが直列に接続され、
    かつ該第1の第2フリップフロップが前記第N+1の第
    1フリップフロップの出力側に1本のスキャン列となる
    ように接続された第2スキャン列と、 前記第1の第2フリップフロップの出力端子及び前記第
    2の第1フリップフロップのデータ入力端子と前記第N
    +1の第1フリップフロップのデータ入力端子との間に
    直列に接続された(N−1)段の第1〜第N−1の第1
    遅延素子を有し、これらの第1〜第N−1の第1遅延素
    子の出力端子が前記第3〜第N+1の第1フリップフロ
    ップのデータ入力端子に順次接続された第1遅延素子群
    と、 前記第1の第1フリップフロップの出力端子及び前記第
    2の第2フリップフロップのデータ入力端子と前記第N
    +1の第2フリップフロップのデータ入力端子との間に
    直列に接続された(N−1)段の第1〜第N−1の第2
    遅延素子を有し、これらの第1〜第N−1の第2遅延素
    子の出力端子が前記第3〜第N+1の第2フリップフロ
    ップのデータ入力端子に順次接続された第2遅延素子群
    とを備え、 前記第1〜第N+1の第1フリップフロップの値及び前
    記第1〜第N+1の第2フリップフロップの値を該第N
    +1の第2フリップフロップの出力端子からスキャンア
    ウトさせ、この出力値より、前記第1スキャン列と前記
    第2スキャン列同士のホールドタイム保証に必要な遅延
    の値を前記遅延素子の段数で測定する構成にしたことを
    特徴とするホールドタイム測定回路。
  2. 【請求項2】 2つの系統の異なる同期用の第1クロッ
    ク及び第2クロックを有する半導体集積回路におけるク
    ロックスキューによるホ−ルドタイムエラーを解析する
    ためのホールドタイム測定回路において、 前記第1クロックにより動作する(N+1)個(但し、
    Nは1以上の正の整数)の第1〜第N+1の第1フリッ
    プフロップを有し、これらの第1〜第N+1の第1フリ
    ップフロップが直列に接続された第1スキャン列と、 前記第2クロックにより動作する(N+1)個の第1〜
    第N+1の第2フリップフロップを有し、これらの第1
    〜第N+1の第2フリップフロップが直列に接続され、
    かつ該第1の第2フリップフロップが前記第N+1の第
    1フリップフロップの出力側に1本のスキャン列となる
    ように接続された第2スキャン列と、 前記第1の第2フリップフロップの出力端子及び前記第
    2の第1フリップフロップのデータ入力端子に対して、
    並列に接続された異なる遅延値を持つ(N−1)個の第
    1〜第N−1の第1遅延素子を有し、これらの第1〜第
    N−1の第1遅延素子の出力端子が前記第3〜第N+1
    の第1フリップフロップのデータ入力端子に順次接続さ
    れた第1遅延素子群と、 前記第1の第1フリップフロップの出力端子及び前記第
    2の第2フリップフロップのデータ入力端子に対して、
    並列に接続された異なる(N−1)個の第1〜第N−1
    の第2遅延素子を有し、これらの第1〜第N−1の第2
    遅延素子の出力端子が前記第3〜第N+1の第2フリッ
    プフロップのデータ入力端子に順次接続された第2遅延
    素子群とを備え、 前記第1〜第N+1の第1フリップフロップの値及び前
    記第1〜第N+1の第2フリップフロップの値を該第N
    +1の第2フリップフロップの出力端子からスキャンア
    ウトさせ、この出力値より、前記第1スキャン列と前記
    第2スキャン列同士のホールドタイム保証に必要な遅延
    の値を前記遅延素子の種類で測定する構成にしたことを
    特徴とするホールドタイム測定回路。
  3. 【請求項3】 2つの系統の異なる同期用の第1クロッ
    ク及び第2クロックを有する半導体集積回路におけるク
    ロックスキューによるホ−ルドタイムエラーを解析する
    ためのホ−ルドタイム測定回路において、 前記第1クロックにより動作する(N+1)個(但し、
    Nは1以上の正の整数)の第1〜第N+1の第1フリッ
    プフロップを有し、これらの第1〜第N+1の第1フリ
    ップフロップが直列に接続された第1スキャン列と、 前記第2クロックにより動作する(N+1)個の第1〜
    第N+1の第2フリップフロップを有し、これらの第1
    〜第N+1の第2フリップフロップが直列に接続され、
    かつ該第1の第2フリップフロップが前記第N+1の第
    1フリップフロップの出力側に1本のスキャン列となる
    ように接続された第2スキャン列と、 前記第1の第1フリップフロップの出力端子及び前記第
    1の第2フリップフロップの出力端子に接続された2つ
    の入力端子と、前記第2の第1フリップフロップのデー
    タ入力端子及び前記第2の第2フリップフロップのデー
    タ入力端子に接続された1つの出力端子とを有する2入
    力1出力の論理回路と、 前記論理回路の出力端子に直列に接続され、同一の遅延
    値または異なる遅延値を持つ(N−1)個の第1〜第N
    −1の遅延素子を有し、これらの第1〜第N−1の遅延
    素子の出力端子が前記第3〜第N+1の第1フリップフ
    ロップのデータ入力端子及び前記第3〜第N+1の第2
    フリップフロップのデータ入力端子に順次接続された遅
    延素子群とを備え、 前記第1〜第N+1の第1フリップフロップの値及び前
    記第1〜第N+1の第2フリップフロップの値を該第N
    +1の第2フリップフロップの出力端子からスキャンア
    ウトさせ、この出力値より、前記第1スキャン列と前記
    第2スキャン列同士のホールドタイム保証に必要な遅延
    の値を前記遅延素子の段数または種類で測定する構成に
    したことを特徴とするホールドタイム測定回路。
  4. 【請求項4】 M個(但し、Mは2以上の正の整数)の
    系統の異なる同期用の第1〜第Mクロックを有する半導
    体集積回路におけるクロックスキューによるホールドタ
    イムエラーを解析するためのホールドタイム測定回路に
    おいて、 前記第1〜第Mクロックによりそれぞれ動作する第1〜
    第Mスキャン列であって、これらの各スキャン列が第1
    フリップフロップ及び第2フリップフロップの直列回路
    で構成され、かつこれらの各スキャン列が1本のスキャ
    ン列となるように直列に接続された第1〜第Mスキャン
    列と、 前記第1〜第Mスキャン列におけるM個の第1フリップ
    フロップの出力端子に接続されたM個の入力端子と、1
    つの出力端子とを有するM入力1出力の論理回路と、 前記論理回路の出力端子に並列に接続され、異なる遅延
    値を持つN段(但し、Nは正の整数)の遅延手段と、 選択信号に基づき、前記論理回路の出力及び前記N段の
    遅延手段の出力の内のいずれか1つの出力を選択して、
    前記第1〜第Mスキャン列におけるM個の第2フリップ
    フロップの入力端子に入力するセレクタとを備え、 前記第1〜第Mスキャン列の値を該第Mスキャン列にお
    ける第2フリップフロップの出力端子からスキャンアウ
    トさせ、この出力値より、前記各スキャン列同士の全て
    のホールドタイム保証に必要な遅延の値を前記遅延手段
    の段数または種類で測定する構成にしたことを特徴とす
    るホールドタイム測定回路。
  5. 【請求項5】 第N+1の第1フリップフロップの出力
    を第1の第1フリップフロップに入力し、第N+1の第
    2フリップフロップの出力を第1の第2フリップフロッ
    プに入力する構成にしたことを特徴とする請求項1〜3
    のいずれか1項に記載のホールドタイム測定回路。
  6. 【請求項6】 各スキャン列における第2フリップフロ
    ップの出力を第1フリップフロップに入力する構成にし
    たことを特徴とする請求項4記載のホールドタイム測定
    回路。
JP2001245697A 2001-08-13 2001-08-13 ホールドタイム測定回路 Withdrawn JP2003058273A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001245697A JP2003058273A (ja) 2001-08-13 2001-08-13 ホールドタイム測定回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001245697A JP2003058273A (ja) 2001-08-13 2001-08-13 ホールドタイム測定回路

Publications (1)

Publication Number Publication Date
JP2003058273A true JP2003058273A (ja) 2003-02-28

Family

ID=19075396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001245697A Withdrawn JP2003058273A (ja) 2001-08-13 2001-08-13 ホールドタイム測定回路

Country Status (1)

Country Link
JP (1) JP2003058273A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070311A (ja) * 2007-09-18 2009-04-02 Hitachi Ltd 半導体装置
JP2009216619A (ja) * 2008-03-12 2009-09-24 Texas Instr Japan Ltd 半導体集積回路装置
JP2013092517A (ja) * 2011-10-25 2013-05-16 Lsi Corp スキャン・チェーン用動的クロック領域バイパス
CN104333357A (zh) * 2014-06-17 2015-02-04 上海兆芯集成电路有限公司 维持时间最佳化电路
WO2021238838A1 (zh) * 2020-05-29 2021-12-02 中兴通讯股份有限公司 时序单元的保持时间的测量方法和测量电路

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070311A (ja) * 2007-09-18 2009-04-02 Hitachi Ltd 半導体装置
JP2009216619A (ja) * 2008-03-12 2009-09-24 Texas Instr Japan Ltd 半導体集積回路装置
JP2013092517A (ja) * 2011-10-25 2013-05-16 Lsi Corp スキャン・チェーン用動的クロック領域バイパス
CN104333357A (zh) * 2014-06-17 2015-02-04 上海兆芯集成电路有限公司 维持时间最佳化电路
CN104363008A (zh) * 2014-06-17 2015-02-18 上海兆芯集成电路有限公司 接收器
CN104333357B (zh) * 2014-06-17 2017-04-05 上海兆芯集成电路有限公司 维持时间最佳化电路
CN104363008B (zh) * 2014-06-17 2017-06-13 上海兆芯集成电路有限公司 接收器
WO2021238838A1 (zh) * 2020-05-29 2021-12-02 中兴通讯股份有限公司 时序单元的保持时间的测量方法和测量电路

Similar Documents

Publication Publication Date Title
CN103378826B (zh) 高精度单沿捕获以及延迟测量电路
JP2735034B2 (ja) クロック信号分配回路
US8065549B2 (en) Scan-based integrated circuit having clock frequency divider
JP2522140B2 (ja) 論理回路
JP2871291B2 (ja) 論理集積回路
JP3981281B2 (ja) 半導体集積回路の設計方法及びテスト方法
JPH05273311A (ja) 論理集積回路
JPS6134174B2 (ja)
US20070129923A1 (en) Dynamic synchronizer simulation
JP2003058273A (ja) ホールドタイム測定回路
JPH10267994A (ja) 集積回路
JP4264436B2 (ja) フリップフロップ機能素子、半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計装置
US6275081B1 (en) Gated clock flip-flops
US6060924A (en) Semiconductor integrated circuit which contains scan circuits of different types
Wu et al. Using a periodic square wave test signal to detect crosstalk faults
JP2953435B2 (ja) 遅延テスト方法および該遅延テスト方法に使用するフリップフロップ
Yoneda et al. Design for consecutive testability of system-on-a-chip with built-in self testable cores
JPH10133768A (ja) クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置
JPH09243705A (ja) 半導体論理集積回路
Sato et al. A delay measurement mechanism for asynchronous circuits of bundled-data model
JPH0295283A (ja) 半導体集積回路装置
JP2000266818A (ja) スキャン・テスト回路
JP3275952B2 (ja) ディジタル論理回路のテスト回路
JP3159269B2 (ja) 特定用途向け集積回路
JP4186559B2 (ja) スキャンフリップフロップ

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: 20081104