JP2005303189A - 半導体集積回路およびその救済方法 - Google Patents

半導体集積回路およびその救済方法 Download PDF

Info

Publication number
JP2005303189A
JP2005303189A JP2004120294A JP2004120294A JP2005303189A JP 2005303189 A JP2005303189 A JP 2005303189A JP 2004120294 A JP2004120294 A JP 2004120294A JP 2004120294 A JP2004120294 A JP 2004120294A JP 2005303189 A JP2005303189 A JP 2005303189A
Authority
JP
Japan
Prior art keywords
flip
flop
error
integrated circuit
semiconductor integrated
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.)
Pending
Application number
JP2004120294A
Other languages
English (en)
Inventor
Takuya Yasui
卓也 安井
Sadami Takeoka
貞巳 竹岡
Takahiro Ichinomiya
敬弘 一宮
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004120294A priority Critical patent/JP2005303189A/ja
Publication of JP2005303189A publication Critical patent/JP2005303189A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Pulse Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】 半導体集積回路のクロック信号上に可変遅延器を設けることによって、製造後の半導体集積回路にタイミング不良が生じた場合の救済を可能とする。
【解決手段】 クロックツリーを構成する複数のクロックCT1〜CT4の信号線上にそれぞれ可変遅延器VD1〜VD4を設ける。可変遅延器VD1〜VD4は、それぞれ制御信号CR1〜CR4で遅延値を等間隔で変更することを可能とする。タイミングエラーが生じた任意のクロックの信号線上の可変遅延器VD1〜VD4の遅延値を変化させることで、製造後の半導体集積回路上に存在するセットアップエラーまたはホールドエラーを救済し、所期の動作を保証する。
【選択図】 図1

Description

本発明は、半導体集積回路の検査によって半導体集積回路の動作不良の存在が明らかになった場合に、動作不良箇所を特定し、さらには動作不良箇所を救済するための半導体集積回路の設計技術および検査技術に関するものである。
半導体集積回路では、製造工程におけるダストや製造バラツキによって回路を構成する素子の機能的な動作不良を回避するための手法として、主に記憶素子(DRAM,SRAMなど)等において、冗長救済手法というものがとられてきた。この手法は、あらかじめ予備のメモリ素子をLSI中に構成し、検査工程で動作不良のメモリ素子が検出された場合、動作不良のメモリ素子と予備のメモリ素子とを交換することを前提として設計する手法である。
しかしながら、近年の微細化ではシミュレーションで高精度に検証ができないSI(Signal Integrity)、IRドロップ、Xtalk(クロストーク)と製造バラツキの変動による遅延変動の影響で、性能劣化による動作不良が発生している。そのため、従来のような素子の置換ではなく、LSIの製造後に回路性能を改善することが必要とされている。
これらの動作不良を回避する手段としては、LSI製造後に素子の遅延を制御することが提案されている(例えば、特許文献1参照)。また、経時劣化を含めた設計方法としては、設計時にあらかじめ十分な余裕を持って、設計する方法が提案されている(例えば、特許文献2参照)。
特許文献1に記載の手法は、クロック回路上に遅延制御回路を挿入し、LSI製造後に製造ばらつきが発生した場合、制御信号で遅延制御回路を調整することで動作不良を回避する手法であった。
特開平11−289321号公報 特許第2967759号
上記のような遅延制御方法の場合、LSI毎に製造バラツキを測定し遅延制御回路を制御しなければならい。しかしながら、製造バラツキをLSI毎に測定する手法などは確立されておらず、量産されるLSIに上記手法を適用することは困難であった。しかも、近年の大規模なシステムLSIで動作不良を回避するためには、多数の遅延制御回路の挿入と制御が必要とされる。
また、経時劣化を含めた従来の設計方法においては、あらゆる組み合わせの変動に対応する必要があるため、過剰な仕様となり、LSI面積の増大、消費電力の増大を招く。
本発明の目的は、製造後にタイミング不良が生じた場合にも救済を行って正常な動作に戻すことができる半導体集積回路を提供することである。
本発明の他の目的は、製造後に半導体集積回路のタイミング不良が生じた場合に救済を行って正常な動作に戻すことができる半導体集積回路の救済方法を提供することである。
本発明のさらに他の目的は、性能をさらに向上させることができる半導体集積回路を提供することである。
本発明のさらに他の目的は、半導体集積回路の性能をさらに向上させることができる半導体集積回路の救済方法を提供することを目的とする。
本発明のさらに他の目的は、動作中のタイミングエラーを観測することが可能な半導体集積回路を提供することである。
本発明のさらに他の目的は、実際の回路のホールド値を計測することが可能である半導体集積回路を提供することである。
上記課題を解決するために、第1の発明の半導体集積回路は、外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えるための可変遅延器を備えている。
この構成によれば、可変遅延器を設けているので、外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えることができ、製造後にタイミング不良が生じた場合にも、救済を行って正常な動作に戻すことが可能である。
第1の発明の半導体集積回路においては、可変遅延器はクロックツリーの幹に設けられていることが好ましい。
この構成によれば、可変遅延器をクロックツリーの幹に設けているので、少ない可変遅延器で効率的にタイミング不良の救済を行うことができる。
第2の発明の半導体集積回路の救済方法は、外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えるための可変遅延器を備えた半導体集積回路を救済する方法であって、製造後にタイミング不良を生じた半導体集積回路に対して、半導体集積回路が設計時の動作速度で動作することを保証するために設定すべき可変遅延器の遅延値を求める遅延値測定処理と、遅延値測定処理に基づいて可変遅延器に対して遅延値を設定する遅延値設定処理とを含む。
この方法によれば、半導体集積回路が設計時の動作速度で動作することを保証するために設定すべき可変遅延器の遅延値を求め、求めた遅延値を可変遅延器に設定するので、セットアップエラーやホールドエラーなどのタイミング不良が生じた半導体集積回路のタイミングを救済し、正常な動作に戻すことが可能である。
第3の発明の半導体集積回路の救済方法は、外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えるための可変遅延器を備えた半導体集積回路を救済する方法であって、製造後の半導体集積回路に対して、半導体集積回路の動作速度を設計時の値よりも高くなるように設定すべき可変遅延器の遅延値を求める遅延値測定処理と、遅延値測定処理に基づいて可変遅延器に対して遅延値を設定する遅延値設定処理とを含む。
この方法によれば、製造後の半導体集積回路に対して、半導体集積回路の動作速度を設計時の値よりも高くなるように設定すべき可変遅延器の遅延値を求め、求めた遅延値を可変遅延器に設定するので、正常な半導体集積回路であっても、さらに動作性能を向上させることができる。
第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、セットアップエラー量を計測するために、テスタ上でクロック周期を変更しながらテストのパス/フェイルを判定し、パス判定された最小クロック周期と設計時のクロック周期との差をエラー量とするセットアップエラー量測定処理を含むことが好ましい。
この方法によれば、クロック周期を変更しながらテストを行ってセットアップエラー量を計測するので、セットアップエラーが生じた半導体集積回路のタイミングを救済し、正常な動作に戻すことが可能である。
また、第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、セットアップエラー量を計測するために、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするセットアップエラー量測定処理を含むことが好ましい。
この方法によれば、可変遅延器の遅延値を変更しながらテストを行ってセットアップエラー量を計測するので、セットアップエラーが生じた半導体集積回路のタイミングを救済し、正常な動作に戻すことが可能である。
第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、ホールドエラー量を計測するために、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするホールドエラー量測定処理を含むことが好ましい。
この方法によれば、可変遅延器の遅延値を変更しながらテストを行ってホールドエラー量を計測するので、ホールドエラーが生じた半導体集積回路のタイミングを救済し、正常な動作に戻すことが可能である。
また、第2の発明の半導体集積回路の救済方法においては、遅延値設定処理では、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、セットアップエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値になるように設定することが好ましい。
この方法によれば、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、セットアップエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値になるように設定するので、セットアップエラーが生じた半導体集積回路のタイミングを救済し、正常な動作に戻すこと、または性能をさらに向上させることが可能である。
また、第2の発明の半導体集積回路の救済方法においては、遅延値設定処理では、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、ホールドエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値になるように設定することが好ましい。
この方法によれば、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、ホールドエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値になるように設定するので、ホールドエラーが生じた半導体集積回路のタイミングを救済し、正常な動作に戻すこと、または性能をさらに向上させることが可能である。
また、第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、さらにタイミングマージン量を計測するために、ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、前段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第1のタイミングマージン量とする第1のタイミングマージン量測定処理と、
ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、後段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第2のタイミングマージン量とする第2のタイミングマージン量測定処理とを含み、
遅延値設定処理では、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、ホールドエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値で、かつ、第1のタイミングマージン量と第2のタイミングマージン量のいずれかの最小値に等しいか、またはそれ以下の値になるように設定することが好ましい。
この方法によれば、ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアにおける前段フリップフロップについて第1のタイミングマージン量を測定し、後段フリップフロップについて第2のタイミングマージン量を測定し、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、ホールドエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値で、かつ、第1のタイミングマージン量と第2のタイミングマージン量のいずれかの最小値に等しいか、またはそれ以下の値になるように設定するので、ホールドエラーを生じたフリップフロップペアのタイミングを救済するときに、ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアのエラーが生じるのを防止することができる。
また、第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、さらにタイミングマージン量を計測するために、セットアップエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、前段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第1のタイミングマージン量とする第1のタイミングマージン量測定処理と、
セットアップエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、後段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第2のタイミングマージン量とする第2のタイミングマージン量測定処理とを含み、
遅延値設定処理では、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、セットアップエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値で、かつ、第1のタイミングマージン量と第2のタイミングマージン量のいずれかの最小値に等しいか、またはそれ以下の値になるように設定することが好ましい。
この方法によれば、セットアップエラーを生じたフリップフロップペアを除く他のフリップフロップペアにおける前段フリップフロップについて第1のタイミングマージン量を測定し、後段フリップフロップについて第2のタイミングマージン量を測定し、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、セットアップエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値で、かつ、第1のタイミングマージン量と第2のタイミングマージン量のいずれかの最小値に等しいか、またはそれ以下の値になるように設定するので、セットアップエラーを生じたフリップフロップペアのタイミングを救済するときに、セットアップエラーを生じたフリップフロップペアを除く他のフリップフロップペアのエラーが生じるのを防止することができる。
第3の発明の半導体集積回路の救済方法においては、遅延値設定処理では、クリティカルパス終点フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が最大になるように設定することが好ましい。
この方法によれば、クリティカルパス終点フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が最大になるように設定するので、正常な半導体集積回路であっても、さらに動作性能を向上させることができる。
また、第3の発明の半導体集積回路の救済方法においては、遅延値設定処理では、タイミングマージン量を計測するために、ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、前段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第1のタイミングマージン量とする第1のタイミングマージン量測定処理と、
ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、後段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第2のタイミングマージン量とする第2のタイミングマージン量測定処理とを含み、
クリティカルパス終点フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、第1のタイミングマージン量と第2のタイミングマージン量のいずれかの最小値に等しくなるように設定することが好ましい。
この方法によれば、ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアにおける前段フリップフロップについて第1のタイミングマージン量を測定し、後段フリップフロップについて第2のタイミングマージン量を測定し、クリティカルパス終点フリップフロップのクロック経路上に設けられた可変遅延器に対して、可変遅延器の遅延値が、第1のタイミングマージン量と第2のタイミングマージン量のいずれかの最小値に等しくなるように設定するので、クリティカルパス終点フリップフロップのクロック経路上に設けられた可変遅延器に対して、遅延量を設定する際に、他のフリップフロップペアのホールドエラーを改善し、かつ新たにセットアップエラーが生じないように考慮しながらクリティカルパスのセットアップマージンを最大化するように制御することによって動作性能を向上させることができる。
第1の発明の半導体集積回路においては、開始信号の印加によって動作を開始し、可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定することによってエラー量を測定する組込み自己エラー量測定器を備えていることが好ましい。
この構成によれば、組込み自己エラー測定器を設けているので、製造後にタイミング不良が生じた場合にも、容易に救済を行うことが可能である。また、エラー測定手段を別に準備することなく、エラー測定を行うことができる。
第1の発明の半導体集積回路においては、組込み自己エラー量測定器は、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とすることが好ましい。
この構成によれば、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするので、製造後にセットアップエラーによるタイミング不良が生じた場合にも、容易に救済を行うことが可能である。
また、第1の発明の半導体集積回路においては、組込み自己エラー量測定器は、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とすることが好ましい。
この構成によれば、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするので、ホールドエラーによるタイミング不良が生じた場合にも、容易に救済を行うことが可能である。
第1の発明の半導体集積回路においては、開始信号の印加によって動作を開始し、各可変遅延器について、可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と最大遅延値とを測定する組込み自己タイミングマージン量測定器を備えていることが好ましい。
この構成によれば、組込み自己タイミングマージン量測定器を設けているので、製造後にタイミング不良が生じた場合にも、容易に救済を行うことが可能である。また、タイミングマージン測定手段を別に準備することなく、タイミングマージンを測定することができる。
また、第1の発明の半導体集積回路においては、組込み自己検査器を備え、テストを組込み自己検査器を用いて実行することが好ましい。
この構成によれば、組込み自己検査器を設け、テストを組込み自己検査器を用いて実行するので、テスト手段を別に準備することなく、テストを行うことができる。
第1の発明の半導体集積回路においては、開始信号の印加によって動作を開始し、組込み自己エラー量測定器が測定したエラー量に等しいか、またはそれ以上の遅延値を可変遅延器に設定する組込み自己救済器を備えていることが好ましい。
この構成によれば、組込み自己救済器を設けているので、別に救済手段を設けることなく、タイミング救済を行うことができる。
また、第1の発明の半導体集積回路においては、組込み自己検査器を備え、テストを組込み自己検査器を用いて実行することが好ましい。
この構成によれば、組込み自己検査器を設け、テストを組込み自己検査器を用いて実行するので、テスト手段を別に準備することなく、テストを行うことができる。
第1の発明の半導体集積回路においては、所定のクロック周期ごと、または所定の時刻ごとに、組込み自己エラー量測定器に対して開始信号を印加する機能を備えていることが好ましい。
この構成によれば、所定のクロック周期ごと、または所定の時刻ごとに、組込み自己エラー量測定器に対して開始信号を印加することができ、自動的にエラー量を測定することができる。
また、第1の発明の半導体集積回路においては、所定のクロック周期ごと、または所定の時刻ごとに、組込み自己エラー量測定器および組込み自己救済器に対して開始信号を印加する機能を備えていることが好ましい。
この構成によれば、所定のクロック周期ごと、または所定の時刻ごとに、組込み自己エラー量測定器および組込み自己救済器に対して開始信号を印加することができ、自動的にエラー量測定およびタイミング救済を行うことができる。
第2の発明の半導体集積回路の救済方法においては、半導体集積回路が開始信号の印加によって動作を開始し、可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定することによってエラー量を測定する組込み自己エラー量測定器を備え、
遅延値測定処理で組込み自己エラー量測定器によりエラー量を測定し、組込み自己エラー量測定器が測定したエラー量に基づいて、遅延値設定処理で可変遅延器の遅延値を設定することが好ましい。
この方法によれば、組込み自己エラー測定器を設けているので、製造後にタイミング不良が生じた場合にも、容易に救済を行うことが可能である。また、エラー測定器を別に準備することなく、エラー測定を行うことができる。
また、第2の発明の半導体集積回路の救済方法においては、半導体集積回路が、開始信号の印加によって動作を開始し、可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定することによってエラー量を測定する組込み自己エラー量測定器と、開始信号の印加によって動作を開始し、組込み自己エラー量測定器が測定したエラー量に等しいか、またはそれ以上の遅延値を可変遅延器に設定する組込み自己救済器とを備え、
半導体集積回路に製造後に動作不良が生じた場合に、組込み自己エラー量測定器および組込み自己救済器に対して開始信号を印加することにより、遅延値測定処理で組込み自己エラー量測定器によりエラー量を測定し、組込み自己エラー量測定器が測定したエラー量に基づいて、遅延値設定処理で組込み自己救済器により可変遅延器の遅延値を設定することが好ましい。
この方法によれば、組込み自己エラー測定器および組込み自己救済器を設けているので、製造後にタイミング不良が生じた場合にも、容易に救済を行うことが可能である。また、エラー測定手段およびタイミング救済手段を別に準備することなく、エラー測定およびタイミング救済を行うことができる。
また、第2の発明の半導体集積回路の救済方法においては、遅延値設定処理で可変遅延器の値を設定する前に、あらかじめ可変遅延器の精度を測定することが好ましい。
この方法によれば、あらかじめ可変遅延器の精度を測定するので、タイミングエラーの補正を精度よく行うことができる。
また、第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、セットアップエラー量を計測するために、テスタ上でクロック周期を変更しながらテストのパス/フェイルを判定し、パス判定された最小クロック周期と設計時のクロック周期との差をエラー量とするセットアップエラー量測定処理を含み、セットアップエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることで、可変遅延器の精度を測定することが好ましい。
この方法によれば、セットアップエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることによって、可変遅延器の精度を測定するので、タイミングエラーの補正を精度よく行うことができる。
また、第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、セットアップエラー量を計測するために、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするセットアップエラー量測定処理を含み、セットアップエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることで、可変遅延器の精度を測定することが好ましい。
この方法によれば、セットアップエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることによって、可変遅延器の精度を測定するので、タイミングエラーの補正を精度よく行うことができる。
また、第2の発明の半導体集積回路の救済方法においては、遅延値測定処理では、ホールドエラー量を計測するために、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするホールドエラー量測定処理を含み、ホールドエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることで、可変遅延器の精度を測定することが好ましい。
この方法によれば、ホールドエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることで、可変遅延器の精度を測定するので、タイミングエラーの補正を精度よく行うことができる。
第4の発明の半導体集積回路は、第1のクロックが供給され、動作マージンの測定対象となる第1の測定対象フリップフロップと、第2のクロックが供給され、動作マージンの測定対象となり、第1の測定対象フリップフロップとともに測定対象チェーンを構成してシフトモード時に第1の測定対象フリップフロップからデータが転送される第2の測定対象フリップフロップと、第1の測定対象フリップフロップと同一の第1のクロックが供給され、キャプチャモード時に第1の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に第1の測定対象フリップフロップにデータを供給する第1の制御観測フリップフロップと、第2の測定対象フリップフロップと同一の第2のクロックが供給され、第1の制御観測フリップフロップとともに制御観測チェーンを構成してシフトモード時に第1の制御観測フリップフロップからデータが転送され、キャプチャモード時に第2の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に第2の測定対象フリップフロップにデータを供給する第2の制御観測フリップフロップと、シフトモード時に第1の測定対象フリップフロップにデータを供給する第1の入力信号線と、シフトモード時に第1の制御観測フリップフロップにデータを供給する第2の入力信号線と、シフトモード時に第2の測定対象フリップフロップからデータを出力する第1の出力信号線と、シフトモード時に第2の制御観測フリップフロップからデータを出力する第2の出力信号線とを備え、第1および第2の制御観測フリップフロップ間のタイミングマージンを、第1および第2の測定対象フリップフロップ間のタイミングマージンに比べて大きくしている。
この構成によれば、測定対象チェーンを構成する第1および第2の測定対象フリップフロップを設け、制御観測チェーンを構成する第1および第2の制御観測フリップフロップを設け、測定対象チェーンおよび制御観測チェーンへのデータの入出力を行う第1および第2の入力信号線ならびに第1および第2の出力信号線を設け、測定対象チェーンおよび制御観測チェーンを相互に接続したので、測定対象チェーンおよび制御観測チェーン間でデータの受け渡しを行うことにより、動作中のLSIのタイミングエラーを観測することが可能である。
第5の発明の動作エラーの検出方法は、第4の発明の半導体集積回路の測定対象チェーンでの動作エラーを検出する方法であって、制御観測チェーンに異なる値のデータをシフトインする工程と、制御観測チェーンのデータを対応する測定対象チェーンへ転送する工程と、測定対象チェーンを1クロック分シフトする工程と、測定対象チェーンのデータを制御観測チェーンへ転送する工程と、制御観測チェーンのデータをシフトアウトする工程と、制御観測チェーンからシフトアウトされた値と期待値とを照合する工程とを含む。
この方法によれば、制御観測チェーンに異なる値のデータをシフトインし、制御観測チェーンのデータを対応する測定対象チェーンへ転送し、測定対象チェーンを1クロック分シフトし、測定対象チェーンのデータを制御観測チェーンへ転送し、制御観測チェーンのデータをシフトアウトし、制御観測チェーンからシフトアウトされた値と期待値とを照合することにより、動作中のLSIのタイミングエラーを観測することが可能である。
第4の発明の半導体集積回路においては、第1の測定対象フリップフロップと第1の制御観測フリップフロップとを互いに近接させて配置し、第2の測定対象フリップフロップと第2の制御観測フリップフロップとを互いに近接させて配置することが好ましい。
この構成によれば、第1の測定対象フリップフロップと第1の制御観測フリップフロップとの間のスキュー、および第2の測定対象フリップフロップと第2の制御観測フリップフロップとの間のスキューを削減することができる。
また、第4の発明の半導体集積回路においては、第1の測定対象フリップフロップと第1の制御観測フリップフロップへの第1のクロックの供給経路の配線長を等しくし、第2の測定対象フリップフロップと第2の制御観測フリップフロップへの第2のクロックの供給経路の配線長を等しくすることが好ましい。
この構成によれば、第1の測定対象フリップフロップと第1の制御観測フリップフロップとの間のスキュー、および第2の測定対象フリップフロップと第2の制御観測フリップフロップとの間のスキューを削減することができる。
第6の発明の半導体集積回路は、第1のクロックが供給され、動作マージンの測定対象となる第1の測定対象フリップフロップと、第2のクロックが供給され、動作マージンの測定対象となり、第1の測定対象フリップフロップとともに測定対象チェーンを構成してシフトモード時に第1の測定対象フリップフロップからデータが転送される第2の測定対象フリップフロップと、第1の測定対象フリップフロップと同一の第1のクロックが供給され、キャプチャモード時に第1の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に第1の測定対象フリップフロップにデータを供給する第1の制御観測フリップフロップと、第2の測定対象フリップフロップと同一の第2のクロックが供給され、第1の制御観測フリップフロップとともに制御観測チェーンを構成してシフトモード時に第1の制御観測フリップフロップからデータが転送され、キャプチャモード時に第2の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に第2の測定対象フリップフロップにデータを供給する第2の制御観測フリップフロップと、シフトモード時に第1の測定対象フリップフロップにデータを供給する第1の入力信号線と、シフトモード時に第1の制御観測フリップフロップにデータを供給する第2の入力信号線と、シフトモード時に第2の測定対象フリップフロップからデータを出力する第1の出力信号線と、シフトモード時に第2の制御観測フリップフロップからデータを出力する第2の出力信号線とを備え、第1および第2の制御観測フリップフロップ間のタイミングマージンを、第1および第2の測定対象フリップフロップ間のタイミングマージンに比べて大きくしている動作エラー観測手段と、第1および第2のクロックの遅延を制御可能なクロック遅延制御手段とを備えている。
この構成によれば、測定対象チェーンを構成する第1および第2の測定対象フリップフロップを設け、制御観測チェーンを構成する第1および第2の制御観測フリップフロップを設け、測定対象チェーンおよび制御観測チェーンへのデータの入出力を行う第1および第2の入力信号線および第1の第2の出力信号線を設け、測定対象チェーンおよび制御観測チェーンを相互に接続し、これを動作エラー観測手段とし、さらに、第1および第2のクロックの遅延を制御可能なクロック遅延制御手段を設けたので、測定対象チェーンおよび制御観測チェーン間でデータの受け渡しを行い、第1および第2のクロックの遅延を制御することにより、実際の回路のホールド値を計測することが可能である。
第6の発明の半導体集積回路においては、クロック遅延制御手段は可変容量セルの容量を変化させることにより第1および第2のクロックの遅延を制御することが好ましい。
この構成によれば、可変容量セルの容量を変化させることにより、第1および第2のクロックの遅延を容易に制御できる。
第7の発明のホールド値の観測方法は、第6の発明の半導体集積回路を用いて、可変容量セルの容量を変化させることにより、第1および第2の制御観測フリップフロップのホールド値を算出する。
この方法によれば、可変容量セルの容量を変化させることにより、第1および第2のクロックの遅延を容易に制御でき、実際の回路のホールド値を計測することが可能である。
第8の発明の半導体集積回路は、動作エラーもしくはその直前の状態を検出する動作エラー検出手段と、動作エラー検出手段の検出出力に応じて起動信号を発生する制御手段と、制御手段から発生する起動信号に応答して動作エラーを回避する動作エラー回避手段とを備えている。
この構成によれば、動作エラー検出手段、制御手段および動作エラー回避手段を設けたので、製造後にタイミング不良が生じた場合にも、容易に救済を行うことが可能である。
第8の発明の半導体集積回路においては、動作エラー検出手段が、第1のクロックが供給され、動作マージンの測定対象となる第1の測定対象フリップフロップと、第2のクロックが供給され、動作マージンの測定対象となり、第1の測定対象フリップフロップとともに測定対象チェーンを構成してシフトモード時に第1の測定対象フリップフロップからデータが転送される第2の測定対象フリップフロップと、第1の測定対象フリップフロップと同一の第1のクロックが供給され、キャプチャモード時に第1の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に第1の測定対象フリップフロップにデータを供給する第1の制御観測フリップフロップと、第2の測定対象フリップフロップと同一の第2のクロックが供給され、第1の制御観測フリップフロップとともに制御観測チェーンを構成してシフトモード時に第1の制御観測フリップフロップからデータが転送され、キャプチャモード時に第2の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に第2の測定対象フリップフロップにデータを供給する第2の制御観測フリップフロップと、シフトモード時に第1の測定対象フリップフロップにデータを供給する第1の入力信号線と、シフトモード時に第1の制御観測フリップフロップにデータを供給する第2の入力信号線と、シフトモード時に第2の測定対象フリップフロップからデータを出力する第1の出力信号線と、シフトモード時に第2の制御観測フリップフロップからデータを出力する第2の出力信号線とを備え、第1および第2の制御観測フリップフロップ間のタイミングマージンを、第1および第2の測定対象フリップフロップ間のタイミングマージンに比べて大きくしている構成を有していてもよい。
また、第8の発明の半導体集積回路においては、動作エラー回避手段が、例えばクロックの供給経路に設けた遅延制御回路である。
また、第8の発明の半導体集積回路においては、動作エラー回避手段が、電源電圧変更を可能とする回路であってもよい。
また、第8の発明の半導体集積回路においては、動作エラー回避手段が、劣化回生手段であってもよい。
第1の発明の半導体集積回路によれば、可変遅延器を設けているので、外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えることができ、製造後にタイミング不良が生じた場合にも、救済を行って正常な動作に戻すことが可能である。
第2の発明の半導体集積回路の救済方法によれば、半導体集積回路が設計時の動作速度で動作することを保証するために設定すべき可変遅延器の遅延値を求め、求めた遅延値を可変遅延器に設定するので、セットアップエラーやホールドエラーなどのタイミング不良が生じた半導体集積回路のタイミングを救済し、正常な動作に戻すことが可能である。
第3の発明の半導体集積回路の救済方法によれば、製造後の半導体集積回路に対して、半導体集積回路の動作速度を設計時の値よりも高くなるように設定すべき可変遅延器の遅延値を求め、求めた遅延値を可変遅延器に設定するので、正常な半導体集積回路であっても、さらに動作性能を向上させることができる。
第4の発明の半導体集積回路によれば、測定対象チェーンを構成する第1および第2の測定対象フリップフロップを設け、制御観測チェーンを構成する第1および第2の制御観測フリップフロップを設け、測定対象チェーンおよび制御観測チェーンへのデータの入出力を行う第1および第2の入力信号線および第1の第2の出力信号線を設け、測定対象チェーンおよび制御観測チェーンを相互に接続したので、測定対象チェーンおよび制御観測チェーン間でデータの受け渡しを行うことにより、動作中のLSIのタイミングエラーを観測することが可能である。
第5の発明の動作エラーの検出方法によれば、制御観測チェーンに異なる値のデータをシフトインし、制御観測チェーンのデータを対応する測定対象チェーンへ転送し、測定対象チェーンを1クロック分シフトし、測定対象チェーンのデータを制御観測チェーンへ転送し、制御観測チェーンのデータをシフトアウトし、制御観測チェーンからシフトアウトされた値と期待値とを照合することにより、動作中のLSIのタイミングエラーを観測することが可能である。
第6の発明の半導体集積回路によれば、測定対象チェーンを構成する第1および第2の測定対象フリップフロップを設け、制御観測チェーンを構成する第1および第2の制御観測フリップフロップを設け、測定対象チェーンおよび制御観測チェーンへのデータの入出力を行う第1および第2の入力信号線および第1の第2の出力信号線を設け、測定対象チェーンおよび制御観測チェーンを相互に接続し、これを動作エラー観測手段とし、さらに、第1および第2のクロックの遅延を制御可能なクロック遅延制御手段を設けたので、測定対象チェーンおよび制御観測チェーン間でデータの受け渡しを行い、第1および第2のクロックの遅延を制御することにより、実際の回路のホールド値を計測することが可能である。
第7の発明のホールド値の観測方法によれば、可変容量セルの容量を変化させることにより、第1および第2のクロックの遅延を容易に制御でき、実際の回路のホールド値を計測することが可能である。その他、請求項34と同様の効果を奏する。
第8の発明の半導体集積回路によれば、動作エラー検出手段、制御手段および動作エラー回避手段を設けたので、製造後にタイミング不良が生じた場合にも、容易に救済を行うことが可能である。
さらに、本発明によって、タイミング不良の救済が容易になるので、設計時のマージン削減によって高性能設計が容易となる。また、マージンを設計時に削減したときに、それによって出現したエラーは本発明によって救済が可能となる。
以下、本発明の実施の形態を、図面を参照しながら説明する。
(実施の形態1)
(実施の形態1);請求項1,2,3,4,5,6,8に対応
図1は、本発明の実施の形態1に係わる半導体集積回路を示す回路図である。図1において、1は半導体集積回路、VD1〜VD4は可変遅延器、CR1〜CR4はそれぞれ可変遅延器VD1〜可変遅延器VD4の遅延値を制御する4ビットの制御信号、CT1〜CT4は可変遅延器VD1〜VD4からそれぞれ出力されクロックツリーを形成しているクロック、FF1〜FF4はクロックCT1〜CT4がそれぞれ入力されることによってデータの転送、保持等を行うフリップフロップを示す。
可変遅延器VD1〜VD4はそれぞれ4ビットの制御信号CR1〜CR4によって0ns〜1.5nsの範囲で、クロックに対して、0.1nsずつ16段階の遅延値付加ができる。
図2は、本発明の実施の形態1に係わる半導体集積回路の救済方法を示すフローチャートである。図2において、21は操作の開始を示し、22は半導体集積回路を所期のタイミングで動作させるために必要な可変遅延器の遅延値測定処理を示し、23は可変遅延器に所望の遅延値を設定する遅延値設定処理を示し、24は操作の終了を示す。
図3は、図2における遅延値測定処理22の一実現例を示すフローチャートである。図3において、31はディレイテストパターンのキャプチャクロックレート(キャプチャクロックの周期)を初期値に設定する操作を示し、32はテストを実行しテストがフェイルしたか否かを判定する操作を示し、33はキャプチャクロックレートを0.1nsだけ増加させる操作を示し、34はテストがパスした時点でのキャプチャクロックレートの増加値をセットアップエラー救済可能最小値と決定する操作を示す。
上記のテストには、例えば、スキャンを使用してキャプチャ動作時に2クロックを使った一般的なディレイテストがある。このテストを実行するには、フリップフロップFF1〜FF4に図示していないが、スキャンチェーンが設けられていることが必要である。
別のテストの例としては、テスタを使ってテストパターンを適用するものも考えられる。
図4は、図2における遅延値測定処理22の別の一実現例を示すフローチャートである。図4において、41は例えば、制御信号CR3を初期値に設定する操作を示し、42はテストを実行し、テストがフェイルしたか否かを判定する操作を示し、43は制御信号CR3の値を1だけ増加させる操作を示し、44はテストがパスした時点での制御信号CR3の値をセットアップエラー救済可能最小値と決定する操作を示す。なお、操作43において、既に制御信号CR3の値が最大値である場合には、救済不能とみなしてすべての操作を終了する。
図5は、図3の遅延値測定処理で使用するディレイテストパターンの一例を示す波形図である。図中の符号は、図1において該当する符号と同じものを示す。
ここで、テスト方式について説明する。本実施の形態では、スキャンテスト方式を用いたディレイテストを行うものとして説明する。スキャンテスト方式においては、各フリップフロップの値の書き込みおよび読み出しの操作を行うシフト動作と、通常動作を行うキャプチャ動作の2種類の動作が行われる。縮退故障のテストを行う場合は、キャプチャ動作におけるクロック数は1であるが、ディレイテストの場合、一般にキャプチャ動作において2クロックを使用し、この2クロック間の周波数を早めることでディレイ故障の有無をテストすることが可能となる。この同じ方式を用いて、キャプチャ動作中の2クロック間の周波数を変化させながらテストの パス/フェイルを観測することによって、回路がどの周波数で動作可能かを測定することができる。また、ホールドエラーは周波数の値に依存せずテストすることができる。
なお、本実施の形態では、テスト方式の一例としてディレイテストを取り上げて説明するが、一般的な機能テストなど他のテスト方式であってもよい。
本実施の形態では、半導体集積回路1の製造検査時または出荷後に、フリップフロップFF2→フリップフロップFF3のパスにおいて、セットアップエラーによるタイミング不良の存在が判明した場合の救済方法を、以下、図1〜図5を用いて説明する。
なお、本実施の形態における半導体集積回路1の実際のセットアップエラー量は0.45nsであるとする。
フリップフロップFF2→フリップフロップFF3のパスにおいてセットアップエラーが存在している場合、それを救済するためには、
[1]後段フリップフロップであるフリップフロップFF3のクロックCT3をセットアップエラー量以上の値遅らせるか、
[2]前段フリップフロップであるフリップフロップFF2のクロックCT2をセットアップエラー量以上の値早めるか
のいずれかが考えられる。本実施の形態では、[1]を行う方法について説明する。
まず、図2に示すように、操作21で救済操作を開始し、つぎに遅延値測定処理22を実行する。
遅延値測定処理22では、フリップフロップFF2→フリップフロップFF3のパスのセットアップエラー救済可能最小値を測定するために、図5に示すような一般的なディレイテストパターンを用いて、テスタ上でキャプチャ動作の2クロックのクロックレート(クロックの間隔)を変化させながら、テストのパス/フェイルを判定する。
具体的には、図3に示すように、まず操作31において、キャプチャ動作の2クロックのクロックレートを、半導体集積回路1の本来の動作仕様で定められた値(初期値)に設定する。ここでは、その値を10nsとする。
つぎに操作32で、テストがフェイルしているか否かを調べる。ここではフェイルしていたとする。
つぎに操作33では、テスタ上でキャプチャ動作の2クロックのクロックレートを0.1ns増加させ、10.1nsとする。再び操作32を行い、まだテストはフェイルしていたとする。
さらに操作33で、テスタ上でキャプチャ動作の2クロックのクロックレートを0.1ns増加させ、10.2nsとして、再び操作32を行う。
この繰返しを行い、キャプチャ動作の2クロックのクロックレートが10.5nsのときにテストがパスしたとする。
引き続いて操作34では、セットアップエラー救済可能最小値をテストがパスしたときの10.5nsと初期値の10nsの差である0.5nsと決定する。
続いて、遅延値設定処理23では、セットアップエラー救済可能最小値と等しい遅延値0.5nsを可変遅延器VD3へ設定するために、制御信号CR3の値を5に設定して、操作24で操作を終了する。
また、遅延値測定処理22の別の実行例としては、図4に示すように、フリップフロップFF2→フリップフロップFF3のパスのセットアップエラー救済可能最小値を測定するために、操作41において可変遅延器VD3の制御信号CR3の値を0へ初期化する。
つぎに操作42において、テストを実行し、ここではフェイルしたとする。なお、操作42のテストで使用するテストパターンは一般的に製造テストで用いられるパターンなどの任意のテストパターンでよいが、最も望ましいのは半導体集積回路1のタイミング不良を検出したテストパターンを使用することである。
つぎに操作43において、制御信号CR3の値を1だけ増加させ、1とする。
つぎに再び操作42を実行し、ここでもテストはフェイルしたとする。
つぎに操作43において、制御信号CR3の値を1だけ増加させ、2として、再び操作42を実行する。
この繰返しを行い、制御信号CR3の値が5のときにテストがパスしたとする。
引き続いて操作44では、セットアップエラー救済可能最小値をテストがパスしたときの制御信号CR3の値である5と初期値の0との差である5という数値と決定する。
続いて遅延値設定処理23では、操作44で決定した制御信号CR3の値5を設定して、操作24で操作を終了する。
以上の操作により、セットアップエラーによるタイミングエラーを生じていた半導体集積回路1のセットアップエラーを解消し、本来の動作仕様で動作する状態に半導体集積回路1を救済することが可能である。
なお、本実施の形態では、可変遅延器VD3の遅延値をセットアップエラー救済可能最小値と等しい値である0.5nsに設定しているが、0.6nsなどのように、セットアップエラー救済可能最小値より大きな値に設定すると、フリップフロップFF2→フリップフロップFF3のパスのセットアップマージンが大きくなるため、半導体集積回路1の動作仕様を向上させることができるという効果が得られる。
(実施の形態2);請求項7,9に対応
図6は、図2における遅延値測定処理22のさらに別の一実現例を示すフローチャートである。図6において、61は例えば、制御信号CR2を初期値に設定する操作を示し、62は実施の形態1と同様にテストを実行し、テストがフェイルしたか否かを判定する操作を示し、63は制御信号CR2の値を1だけ増加させる操作を示し、64はテストがパスした時点での制御信号CR2の値をホールドエラー救済可能最小値と決定する操作を示す。なお、操作63において、既に制御信号CR2の値が最大値である場合には、救済不能とみなしてすべての操作を終了する。
本実施の形態では、半導体集積回路1が製造検査時または出荷後に、フリップフロップFF2→フリップフロップFF3のパスにおいて、ホールドエラーによるタイミング不良の存在が判明した場合の救済方法を、以下、図1、図2、図6を用いて説明する。
なお、本実施の形態における半導体集積回路1の実際のホールドエラー量は0.35nsであるとする。
フリップフロップFF2→フリップフロップFF3のパスにおいてホールドエラーが存在している場合、それを救済するためには、
[1]前段フリップフロップであるフリップフロップFF2のクロックCT2をホールドエラー量以上の値遅らせるか、
[2]後段フリップフロップであるフリップフロップFF3のクロックCT3をホールドエラー量以上の値早めるか
のいずれかが考えられる。本実施の形態では、[1]を行う方法について説明する。
まず、図2に示すように、操作21で救済操作を開始し、つぎに遅延値測定処理22を実行する。
遅延値測定処理22では、図6に示すように、フリップフロップFF2→フリップフロップFF3のパスのホールドエラー救済可能最小値を測定するために、操作61において可変遅延器VD2の制御信号CR2の値を0へ初期化する。
つぎに操作62において、テストを実行し、ここではフェイルしたとする。なお、操作62のテストで使用するテストパターンは一般的に製造テストで用いられるパターンなどの任意のテストパターンでよいが、最も望ましいのは半導体集積回路1のタイミング不良を検出したテストパターンを使用することである。
つぎに操作63において、制御信号CR2の値を1だけ増加させ、1とする。
つぎに再び操作62を実行し、ここでもテストはフェイルしたとする。
つぎに操作63において、制御信号CR2の値を1だけ増加させ、2として、再び操作62を実行する。
この繰返しを行い、制御信号CR2の値が4のときにテストがパスしたとする。
引き続いて操作64では、ホールドエラー救済可能最小値をテストがパスしたときの制御信号CR2の値である4と初期値の0との差である4という数値と決定する。
続いて遅延値設定処理23では、操作64で決定した制御信号CR2の値4を設定して、操作24で操作を終了する。
以上の操作により、ホールドエラーによるタイミングエラーを生じていた半導体集積回路1のホールドエラーを解消し、本来の動作仕様で動作する状態に半導体集積回路1を救済することが可能である。
なお、本実施の形態では、可変遅延器の制御信号をホールドエラー救済可能最小値と等しい値である0.4nsになるように設定しているが、0.5nsなどのように、ホールドエラー救済可能最小値より大きな値でも同様の効果が得られることは明らかである。
(実施の形態3);請求項11に対応
図7は、図2における遅延値測定処理22のさらに別の一実現例を示すフローチャートである。図7において、符号41〜44は図4の一致する符号と同じものを示している。75は制御信号CR3の値を1だけ増加させる操作を示し、76は実施の形態1と同様にテストを実行し、テストがパスしたか否かを判定する操作を示し、77はテストがフェイルする直前での制御信号CR3の値をセットアップエラー救済可能最大値と決定する操作を示す。
本実施の形態では、半導体集積回路1が製造検査時または出荷後に、フリップフロップFF2→フリップフロップFF3のパスにおいて、セットアップエラーによるタイミング不良の存在が判明した場合の救済方法を、以下、図1、図2、図7を用いて説明する。
なお、本実施の形態におけるフリップフロップFF2→フリップフロップFF3のパスの実際のセットアップエラー量は0.45ns、フリップフロップFF2→フリップフロップFF3のパスのホールドマージンは0.6nsであるとする。
フリップフロップFF2→フリップフロップFF3のパスのセットアップエラー救済のためには、クロックCT3の遅延量を増加させることが効果的であるが、クロックCT3の遅延量を増加させると、フリップフロップFF2→フリップフロップFF3のパスのホールドエラーの危険という問題が生じる。本実施の形態では、これらを考慮しながらセットアップエラー救済量を決定する方法を説明する。
図2に示すように、まず操作21で救済操作を開始し、つぎに遅延値測定処理22を実行する。
遅延値測定処理22では、図7に示すように、さらに操作41において、可変遅延器VD3の制御信号CR3の値を0へ初期化する。
つぎに操作42において、テストを実行し、ここではフェイルしたとする。なお、操作42のテストで使用するテストパターンは一般的に製造テストで用いられるパターンなどの任意のテストパターンでよいが、最も望ましいのは半導体集積回路1のタイミング不良を検出したテストパターンを使用することである。
つぎに操作43において、制御信号CR3の値を1だけ増加させ、1とする。
つぎに再び操作42を実行し、ここでもテストはフェイルしたとする。
つぎに操作43において、制御信号CR3の値を1だけ増加させ、2として、再び操作42を実行する。
この繰返しを行い、制御信号CR3の値が5のときにテストがパスしたとする。
つぎに操作44では、フリップフロップFF2→フリップフロップFF3のパスのセットアップエラーを救済するための制御信号CR3の最小値を5と決定する。
引き続いて操作75では、制御信号CR3の値を1だけ増加させ、6とする。
つぎに、操作76では再びテストを実行し、ここではパスしたとする。
再び操作75では、制御信号CR3の値を1だけ増加させ、7とし、操作76で再びテストを行う。
このとき、可変遅延器VD3の遅延値は0.7nsとなり、フリップフロップFF2→フリップフロップFF3のパスのホールドマージン0.6nsを超えるため、テストはフェイルする。
つぎに、操作77では、フリップフロップFF2→フリップフロップFF3のパスのセットアップエラーを救済するための制御信号CR3の最大値をテストがフェイルする直前の値である6と決定する。
続いて遅延値設定処理23では、操作77で決定した制御信号CR3の最小値5から最大値6の間の値である5を設定して、操作24で操作を終了する。
以上の操作により、セットアップエラーによるタイミングエラーを生じていた半導体集積回路1のセットアップエラーを解消し、本来の動作仕様で動作する状態に半導体集積回路1を救済することが可能である。
なお、本実施の形態では、可変遅延器VD3の制御信号CR3を、セットアップエラーを救済できる最小値である0.5nsが遅延量として得られるように設定したが、セットアップエラーを救済できる最大値である0.6nsが遅延量として得られるように設定することも可能である。このようにすると、フリップフロップFF2→フリップフロップFF3のパスのセットアップマージンが最大になるため、半導体集積回路1の動作仕様を向上させることができるという効果が得られる。
(実施の形態4);請求項10に対応
図8は、図2における遅延値測定処理22のさらに別の一実現例を示すフローチャートである。図8において、符号61〜64は図6の一致する符号と同じものを示している。85は制御信号CR2の値を1だけ増加させる操作を示し、86は実施の形態1と同様にテストを実行し、テストがパスしたか否かを判定する操作を示し、87はテストがフェイルする直前での制御信号CR2の値をホールドエラー救済可能最大値と決定する操作を示す。
本実施の形態では、半導体集積回路1が製造検査時または出荷後に、フリップフロップFF2→フリップフロップFF3のパスにおいてホールドエラーによるタイミング不良の存在が判明した場合の救済方法を、以下、図1、図2、図8を用いて説明する。
なお、本実施の形態におけるフリップフロップFF2→フリップフロップFF3のパスの実際のホールドエラー量は0.35ns、フリップフロップFF1→フリップフロップFF2のパスのホールドマージンは0.6ns、フリップフロップFF2→フリップフロップFF3のパスのセットアップマージンは0.5ns、フリップフロップFF2→フリップフロップFF4のパスのセットアップマージンは0.6nsであるとする。
フリップフロップFF2→フリップフロップFF3のパスのホールドエラー救済のためには、クロックCT2の遅延量を増加させることが効果的であるが、クロックCT2の遅延量を増加させると、
[1]フリップフロップFF1→フリップフロップFF2のパスのホールドエラーの危険、
[2]フリップフロップFF2→フリップフロップFF3のパスおよびフリップフロップFF2→フリップフロップFF4のパスのセットアップエラーの危険
という問題が生じる。本実施の形態では、これらを考慮しながらホールドエラー救済量を決定する方法を説明する。
まず、図2に示すように、操作21で救済操作を開始し、つぎに遅延値測定処理22を実行する。
遅延値測定処理22では、図8に示すように、さらに操作61において、可変遅延器VD2の制御信号CR2の値を0へ初期化する。
つぎに操作62において、テストを実行し、ここではフェイルしたとする。なお、操作62のテストで使用するテストパターンは一般的に製造テストで用いられるパターンなどの任意のテストパターンでよいが、最も望ましいのは半導体集積回路1のタイミング不良を検出したテストパターンを使用することである。
つぎに操作63において、制御信号CR2の値を1だけ増加させ、1とする。
つぎに再び操作62を実行し、ここでもテストはフェイルしたとする。
つぎに操作63において、制御信号CR2の値を1だけ増加させ、2として、再び操作62を実行する。
この繰返しを行い、制御信号CR2の値が4のときにテストがパスしたとする。
つぎに操作64では、フリップフロップFF2→フリップフロップFF3のパスのホールドエラーを救済するための制御信号CR2の最小値を4と決定する。
引き続いて操作85では、制御信号CR2の値を1だけ増加させ、5とする。
つぎに、操作86では再びテストを実行し、ここではパスしたとする。
再び操作85では、制御信号CR2の値を1だけ増加させ、6とし、操作86で再びテストを行う。
このとき、可変遅延器VD2の遅延値は0.6nsとなり、フリップフロップFF2→フリップフロップFF3のパスのセットアップマージン0.5nsを超えるため、テストはフェイルする。
つぎに、操作87では、フリップフロップFF2→フリップフロップFF3のパスのホールドエラーを救済するための制御信号CR2の最大値をテストがフェイルする直前の値である5と決定する。
続いて遅延値設定処理23では、操作87で決定した制御信号CR2の最小値4から最大値5の間の値である4を設定して、操作24で操作を終了する。
以上の操作により、ホールドエラーによるタイミングエラーを生じていた半導体集積回路1のホールドエラーを解消し、本来の動作仕様で動作する状態に半導体集積回路1を救済することが可能である。
なお、本実施の形態では、可変遅延器VD2の制御信号CR2を、ホールドエラーを救済できる最小値である0.4nsが遅延量として得られるように設定したが、ホールドエラーを救済できる最大値である0.5nsが遅延量として得られるように設定しても同様の効果が得られることは明らかである。
(実施の形態5);請求項12に対応
図9は、本発明の実施の形態5に係わる半導体集積回路の救済方法を示すフローチャートである。図9において、91は操作の開始を示し、92は半導体集積回路を所期のタイミングで動作させるために必要な可変遅延器の遅延値の範囲を決定する遅延値範囲決定処理を示し、93は可変遅延器にセットアップマージンが最大になるように遅延値を設定する遅延値設定処理を示し、94は操作の終了を示す。
本実施の形態では、半導体集積回路1のクリティカルパスはフリップフロップFF2→フリップフロップFF3のパスであり、また半導体集積回路1は既に所期の動作仕様は満たしているが、さらに動作仕様を最大化するための救済方法を、以下、図1、図9を用いて説明する。
フリップフロップFF2→フリップフロップFF3のパスがクリティカルパスの場合、半導体集積回路1の動作仕様を向上させるためには、
[1]後段フリップフロップであるフリップフロップFF3のクロックCT3をセットアップエラー量以上の値遅らせるか、
[2]前段フリップフロップであるフリップフロップFF2のクロックCT2をセットアップエラー量以上の値早めるか
のいずれかが考えられる。本実施の形態では、[1]を行う方法について説明する。
図9に示すように、まず操作91で救済操作を開始し、つぎに遅延値範囲決定処理92を実行する。
遅延値範囲決定処理92では、可変遅延器VD3の遅延値設定範囲は0ns〜1.5nsであるため、救済のために設定可能な遅延値範囲は0ns〜1.5nsと決定する。
つぎに遅延値設定処理93では、遅延値範囲は0ns〜1.5nsの最大値である1.5nsを可変遅延器VD3に設定するため、制御信号CR3の値を最大値の15に設定する。
最後に操作94ですべての操作を終了する。
以上の操作により、クリティカルパスであるフリップフロップFF2→フリップフロップFF3のパスのセットアップマージンが1.5ns改善されるため、動作速度の向上が図れる。
ここで、この実施の形態の作用効果について説明する。一般的に、製造後、テストにより動作速度不足と判定されたチップは不良品として捨てられるが、本技術により救済して良品化でき、歩留まり向上に寄与する。また、製造後の各チップ毎に本技術により、最高性能へ調整可能で、例えば設計時に1GHzでも、チップ毎に1.5GHz品、1.3GHz品など、別々のスペックの製品とすることも可能である。
(実施の形態6);請求項13に対応
図10は、図9における遅延値範囲決定処理92の一実現例を示すフローチャートである。図9において、符号41、43は図4の一致する符号と同じものを示している。102は実施の形態1と同様にテストを実行し、テストがパスしたか否かを判定する操作を示し、104はテストがフェイルする直前の制御信号CR3の値をセットアップ救済可能最大値と決定する操作を示す。
本実施の形態では、半導体集積回路1のクリティカルパスはフリップフロップFF2→フリップフロップFF3のパスであり、また半導体集積回路1は既に所期の動作仕様は満たしているが、さらに動作仕様を最大化するための救済方法を、以下、図1、図9、図10を用いて説明する。
フリップフロップFF2→フリップフロップFF3のパスがクリティカルパスの場合、半導体集積回路1の動作仕様を向上させるためには、クロックCT3の遅延量を増加させることが効果的であるが、クロックCT3の遅延量を増加させると、フリップフロップFF2→フリップフロップFF3のパスのホールドエラーの危険という問題が生じる。本実施の形態では、これらを考慮しながらセットアップエラー救済量を決定する方法を説明する。
なお、本実施の形態におけるフリップフロップFF2→フリップフロップFF3のパスのホールドマージンは0.6nsであるとする。
図9に示すように、まず操作91で救済操作を開始し、つぎに遅延値範囲決定処理92を実行する。
遅延値範囲決定処理92では、図10に示すように、操作41において可変遅延器VD3の制御信号CR3の値を0へ初期化する。
つぎに操作102において、テストを実行し、ここではパスしたとする。なお、操作102のテストで使用するテストパターンは一般的に製造テストで用いられるパターンなどの任意のテストパターンでよいが、最も望ましいのは半導体集積回路1のタイミング不良を検出したテストパターンを使用することである。
つぎに操作43において、制御信号CR3の値を1だけ増加させ、1とする。
つぎに再び操作102を実行し、ここでもテストはパスしたとする。
つぎに操作43において、制御信号CR3の値を1だけ増加させ、2として、再び操作102を実行する。
この繰返しを行い、制御信号CR3の値が7のときにテストがフェイルしたとする。
引き続いて操作104では、救済のために設定可能な遅延値をテストがフェイルする直前の制御信号CR3の値である6と初期値の0との差である6という数値と決定する。
続いて遅延値設定処理93では、操作44で決定した制御信号CR3の値6を設定して、操作94で操作を終了する。
以上の操作により、クリティカルパスであるフリップフロップFF2→フリップフロップFF3のパスのセットアップマージンが0.6ns改善されるため、フリップフロップFF2→フリップフロップFF3の間のホールドエラーを回避しながら、動作速度の向上が図れる。
ここで、遅延値について説明する。16ビットの信号(0〜15)が制御信号の値であり、それによって遅延値が、0,0.1μs,0.2μs,…,1.5μsと変化する。
(実施の形態7);請求項14,15,16,18,20,23に対応
図11は、本発明の実施の形態7に係わる半導体集積回路を示す回路図である。図中の図1と一致する符号は図1と同じものを示す。図11において、111は半導体集積回路、112は半導体集積回路111の中の部分回路、113は乱数発生器であるLFSR(Linear Feedback Shift Register)113aと信号圧縮機であるMISR(Multiple Input Signature Register)113bとを備えた組込み自己検査器、114は組込み自己エラー測定器、115は組込み自己エラー測定器114への開始信号を外部から入力する開始信号入力端子を示す。
図14は、本発明の実施の形態7に係わる半導体集積回路の救済方法を示すフローチャートである。図14において、141は組込み自己エラー測定器への開始信号を印加する操作を示し、142は組込み自己エラー測定器の動作終了まで待機する操作を示し、143は検査がパスした際の制御信号の値を制御信号へ設定する操作を示し、144は操作終了を示す。
以下、図11、図14を用いて本実施の形態を説明する。
図14に示すように、まず操作141において、開始信号入力端子115から開始信号が印加されると、操作142において操作を待機している間、組込み自己エラー測定器114は動作を開始し、可変遅延器VD1〜VD4に対して制御信号CR1〜CR4として、0〜15の値を順次カウントアップしながら与える。1つの制御信号に対して1つの値を与えるごとに、組込み自己検査器113へ検査開始信号を与える。
ここで、4台の可変遅延器VD1〜VD4への制御信号CR1〜CR4(値0〜15)の与え方について説明する。まず、可変遅延器VD1に対して制御信号CR1を0から順にカウントアップする。つぎに、制御信号CR1を0に戻し、可変遅延器VD2に対して制御信号CR2を0から順にカウントアップする。以下同様に、可変遅延器VD3,VD4について同じ動作を行う。ただし、検査結果がパスした時点で上記の操作は終了する。
組込み自己検査器113は組込み自己エラー測定器114からの検査開始信号を受けると、LFSR113aから乱数を発生して部分回路112へ印加し、部分回路112からの出力信号をMISR113bで信号圧縮し、所定時刻後に検査を終了して検査結果を組込み自己エラー測定器114へ返す。
組込み自己エラー測定器114は、組込み自己検査器113から返された検査結果がフェイルであれば、引き続き制御信号の値をカウントアップするが、もし検査結果がパスであれば、動作を終了する。
つぎに操作143では、組込み自己検査器113が動作を終了した時点での、制御信号の値を制御信号CR1〜CR4として可変遅延器VD1〜VD4に設定する。
ここで、制御信号CR1〜CR4の設定の仕方について説明する。図示していない外部端子の値設定により、制御信号CR1〜CR4の値を固定する。単純な方法として、6端子を用いて、うち2端子は制御信号CR1〜CR4の選択に用い、残りの4端子で、選択された制御信号CR1〜CR4の何れか一つの4ビットの値を固定する。
なお、制御信号CR1〜CR4の値固定用に回路内部にレジスタなどの記憶素子を設ける構成でもよい。
また、可変遅延器VD1〜VD4の制御信号CR1〜CR4は、エラー測定および検査中は外部端子から制御され、操作終了したら制御信号CR1〜CR4は上記の通り、そのまま外部端子で固定されるか、または内部レジスタで固定される。
最後に操作144で操作をすべて終了する。
以上の操作により、低機能のテスタもしくは簡易な治具によって、半導体集積回路111の救済を行うことができる。
(実施の形態8);請求項19,20,24に対応
図12は、本発明の実施の形態8に係わる半導体集積回路を示す回路図である。図中の図1、図11と一致する符号は図1、図11と同じものを示す。図12において、116は組込み自己救済器を示す。118はセレクタである。
図15は、本発明の実施の形態8に係わる半導体集積回路の救済方法を示すフローチャートである。図15において、151は半導体集積回路111の不良を確認する操作を示し、152は組込み自己エラー測定器114および組込み自己救済器116の動作開始信号を印加する操作を示し、153は組込み自己エラー測定器114および組込み自己救済器116の動作終了まで待機する操作を示し、154は操作終了を示す。
以下、図12、図15を用いて本実施の形態を説明する。
まず操作151では、ユーザの使用条件での不具合を確認するなどの操作により半導体集積回路111の動作不良の存在を確認する。
つぎに操作152では、組込み自己エラー測定器114および組込み自己救済器116に対して開始信号を印加する。
つぎに操作153において、操作を待機している間、組込み自己エラー測定器114および組込み自己救済器116は動作を開始し、組込み自己エラー測定器114は可変遅延器VD1〜VD4に対して制御信号CR1〜CR4として、0〜15の値を順次カウントアップしながら与える。このとき、組込み自己エラー測定器114は、1つの制御信号に対して1つの値を与えるごとに、組込み自己検査器113へ検査開始信号を与える。
ここで、4台の可変遅延器VD1〜VD4への制御信号CR1〜CR4(値0〜15)の与え方について説明する。まず、可変遅延器VD1に対して制御信号CR1を0から順にカウントアップする。つぎに、制御信号CR1を0に戻し、可変遅延器VD2に対して制御信号CR2を0から順にカウントアップする。以下同様に、可変遅延器VD3,VD4について同じ動作を行う。ただし、検査結果がパスした時点で上記の操作は終了する。
組込み自己検査器113は組込み自己エラー測定器114からの検査開始信号を受けると、LFSR113aから乱数を発生して部分回路112へ印加し、部分回路112からの出力信号をMISR113bで信号圧縮し、所定時刻後に検査を終了して検査結果を組込み自己エラー測定器114へ返す。
組込み自己エラー測定器114は、組込み自己検査器113から返された検査結果がフェイルであれば、引き続き制御信号の値をカウントアップするが、もし検査結果がパスであれば、動作を終了する。
また組込み自己救済器116は、このときの各制御信号の値を制御信号CR1〜CR4として可変遅延器VD1〜VD4に設定して、動作を終了する。最後に操作154で操作をすべて終了する。
ここで、制御信号CR1〜CR4の設定の仕方について説明する。組込み自己救済器116は、レジスタまたは不揮発性メモリのような記憶手段を備えていて、図11の外部端子での値制御と異なって、制御信号CR1〜CR4の値を内部で保持する。エラー測定/検査の操作が終了すると、終了した時点の制御信号CR1〜CR4の値が上記記憶手段に保持されて、この値が固定値として制御信号CR1〜CR4へ設定される。
以上の操作により、半導体集積回路111を出荷後、経年劣化等でユーザの使用条件において動作不良が生じた場合でも、低機能のテスタもしくは簡易な治具によって、半導体集積回路の救済を行うことができる。
(実施の形態9);請求項21,22に対応
図13は、本発明の実施の形態9に係わる半導体集積回路を示す回路図である。図中の図1、図11、図12と一致する符号は図1、図11、図12と同じものを示す。図13において、117はタイマを示す。
以下、図13を用いて本実施の形態を説明する。
タイマ117は所定時間毎(例えば24時間毎など)に組込み自己エラー測定器114および組込み自己救済器116へ対して開始信号を印加する。組込み自己エラー測定器114および組込み自己救済器116は動作を開始し、組込み自己エラー測定器114は可変遅延器VD1〜VD4に対して制御信号CR1〜CR4として、0〜15の値を順次カウントアップしながら与える。このとき、組込み自己エラー測定器114は、1つの制御信号に対して1つの値を与えるごとに、組込み自己検査器113へ検査開始信号を与える。
組込み自己検査器113は組込み自己エラー測定器114からの検査開始信号を受けると、LFSR113aから乱数を発生して部分回路112へ印加し、部分回路112からの出力信号をMISR113bで信号圧縮し、所定時刻後に検査を終了して検査結果を組込み自己エラー測定器114へ返す。
組込み自己エラー測定器114は、組込み自己検査器113から返された検査結果がフェイルであれば、引き続き制御信号の値をカウントアップするが、もし検査結果がパスであれば、動作を終了する。
また組込み自己救済器116は、このときの各制御信号の値を制御信号CR1〜CR4として可変遅延器VD1〜VD4に設定して、動作を終了する。
以上の機能により、半導体集積回路111は出荷後、たとえ経年劣化等でユーザの使用条件において動作不良が生じた場合でも、一定時間毎に自動的に自己救済するため、メンテナンスなしに長期間の動作保証が行える。
なお、タイマ117の代わりにカウンタ等、時間を計測する他の任意の手段を用いても同等の効果を得られることは明らかである。
(実施の形態10);請求項29,30に対応
図16は、本発明の実施の形態10に係わる半導体集積回路を示す回路図である。
図16において、C1001はスキャンフリップフロップからなる第1の測定対象フリップフロップである。C1002はスキャンフリップフロップからなる第1の制御観測フリップフロップである。C1003はスキャンフリップフロップからなる第2の測定対象フリップフロップである。C1004はスキャンフリップフロップからなる第2の制御観測フリップフロップである。
C1005は遅延素子である。C1006は第1の測定対象フリップフロップC1001のスキャン入力に接続され外部に繋がる第1の入力信号線である。C1007は第1の制御観測フリップフロップC1002のスキャン入力に接続され外部に繋がる第2の入力信号線である。C1008は第2の測定対象フリップフロップC1003のスキャン出力に接続され外部に繋がる第1の出力信号線である。C1009は第2の制御観測フリップフロップC1004のスキャン出力に接続され外部に繋がる第2の出力信号線である。C1010は第1のクロックCK1の信号線である。C1011は第2のクロックCK2の信号線である。
上記の第1および第2の測定対象フリップフロップC1001,C1003は測定対象チェーンを構成し、第1および第2の制御観測フリップフロップC1002,C1004は制御観測チェーンを構成している。
図17は、本発明の実施の形態10に係わる半導体集積回路の動作エラーの検出方法を示すフローチャートである。
図17において、C2001は制御観測チェーンに異なる値のデータをシフトインする工程である。
C2002は制御観測チェーンのデータを対応する測定対象チェーンへ転送する工程である。
C2003は測定対象チェーンを1クロック分シフトする工程である。
C2004は測定対象チェーンのデータを、制御観測チェーンへ転送する工程である。
C2005は制御観測チェーンのデータをシフトアウトする工程である。
C2006は制御観測チェーンからシフトアウトされた値と期待値とを照合する工程である。
本実施の形態では、図16と図17を用いて、第1のクロックCK1と第2のクロックCK2の間のホールドエラーが発生した場合について、動作エラー検出方法を説明する。
ここで、シフト動作とは、上記の各フリップフロップのスキャン出力からスキャン入力へのデータ転送動作である。キャプチャ動作とは、各フリップフロップの通常出力から通常入力へのデータ転送動作である。シフトモードとは、各フリップフロップがシフト動作を行うように設定されたモードである。キャプチャモードとは、各フリップフロップがキャプチャ動作を行うように設定されたモードである。
まず始めに、制御観測チェーンに異なる値のデータをシフトインする工程を行う。これは、第1および第2の制御観測フリップフロップC1002,C1004をシフトモードにして、第2の入力信号線C1007より第1の制御観測フリップフロップC1002に1を、第2の制御観測フリップフロップC1004に0をシフトインする工程である。
これにより、第1の制御観測フリップフロップC1002に1が、第2の制御観測フリップフロップC1004に0が設定される。制御観測チェーンのシフト動作は、仮に、第2のクロックCK2が第1のクロックCK1より遅く動作し、測定対象チェーンが誤動作するような場合であっても、第1および第2の制御観測フリップフロップC1002,C1004間のタイミングマージンが、第1および第2の測定対象フリップフロップC1001,C1003間のタイミングマージンに比べて大きいので、誤動作する可能性はない。
第1および第2の制御観測フリップフロップC1002,C1004間のタイミングマージンを、第1および第2の測定対象フリップフロップC1001,C1003間のタイミングマージンより大きくする量は、見こまれる第2のクロックCK2と第1のクロックCK1の遅延差より大きく設定されているものとする。
つぎに、制御観測チェーンのデータを対応する測定対象チェーンへ転送する工程を行う。これは、第1および第2の測定対象フリップフロップC1001,C1003をキャプチャモードにして、キャプチャ動作を行う。これにより、第1および第2の制御観測フリップフロップC1002,C1004のデータが、それぞれ第1および第2の測定対象フリップフロップC1001,C1003に移される。
つぎに、測定対象チェーンを1クロック分シフトする工程を行う。これは、第1の入力信号線C1006に0を設定し、第1および第2の測定対象フリップフロップC1001,C1003をシフトモードにし、シフト動作を一度行う。この際、前述のシフト動作に対して、第1の測定対象フリップフロップC1001が値をキャプチャできるよう、十分な時間の余裕をもって設定する。これにより、回路が正常に動作している場合は、第1の測定対象フリップフロップC1001のデータが第1の制御観測フリップフロップC1002に転送される。もし回路が、第2のクロックCK2が第1のクロックCK1より遅く動作するような、エラーのある状態にある場合は、第2の測定対象フリップフロップC1003は第1の測定対象フリップフロップC1001のデータ、(今回の場合は1)を受け取る変わりに、第1の入力信号線C1006のデータ(今回の場合は0)を受け取ることになる。
つぎに、測定対象チェーンのデータを、制御観測チェーンへ転送する工程を行う。これは、第1および第2の制御観測フリップフロップC1002,C1004をキャプチャモードにし、キャプチャ動作を行う。これにより、第1および第2の測定対象フリップフロップC1001,C1003内の値が、第1および第2の制御観測フリップフロップC1002,C1004にコピーされる。
つぎに、制御観測チェーンのデータをシフトアウトする工程を行う。これは、第1および第2の制御観測フリップフロップC1002,C1004をシフトモードにして、第2の出力信号線C1009よりシフトアウトする。
最後に、シフトアウトされた値と期待値とを照合する工程を行う。これは、シフトアウトされたデータとその期待値とを照合することにより、動作エラーの有無を検出するというものである。すなわち、第2の制御観測フリップフロップC1004に対応する値が、1の場合は正常、0の場合は動作エラーである。
以上により動作エラーの有無を検出できる。
本実施の形態では、スキャンフリップフロップのスキャン出力と通常出力は別に設けたが、同一でもよいし、異なってもよい。
第1の制御観測フリップフロップC1002から第1の測定対象フリップフロップC1001への信号線は、遅延セルC1005の出力端から接続しても良い。本実施の形態では、第1の測定対象フリップフロップC1001から第1の制御観測フリップフロップC1002への信号線は、直接接続されているが、論理素子や、遅延素子が入っても良い。
本実施の形態では、第1の制御観測フリップフロップC1002への入力を集積回路外部より行う例を示したが、内部にパターン生成回路、および、制御回路をおいて、内部生成してもよい。
本実施の形態では、第1の制御観測フリップフロップC1002に1、第2の制御観測フリップフロップC1004に0を入れたが、第1の制御観測フリップフロップC1002に0、第2の制御観測フリップフロップC1004に1を入れてもよい。この場合、第1および第2の測定対象フリップフロップC1001,C1003のシフト時の第1の測定対象フリップフロップC1001への入力は、1となる。
本実施の形態では、第1の測定対象フリップフロップC1001および第1の制御観測フリップフロップC1002と第2の測定対象フリップフロップC1003および第2の制御観測フリップフロップC1004との2段のスキャンチェーンの例を示したが、多数段のスキャンチェーンを構成してもよい。この場合、制御観測チェーンの動作は、測定対象チェーンより多くのタイミングマージンを持つ必要がある。
本実施の形態では、第1および第2の制御観測フリップフロップC1002,C1004のクロックは、第1および第2の測定対象フリップフロップC1001,C1003と同じクロック信号線を通って供給されるクロックを入力したが、第1の測定対象フリップフロップC1001と第1の制御観測フリップフロップC1002の間のキャプチャ動作、第2の測定対象フリップフロップC1003と第2の制御観測フリップフロップC1004の間のキャプチャ動作、第1の制御観測フリップフロップC1002と第2の制御観測フリップフロップC1004の間のシフト動作が保証できれば、同一のクロック信号線を通って供給されるクロックでなくてもよい。
本実施の形態では、第2の制御観測フリップフロップC1003と第2の制御観測フリップフロップC1004の間、第1の測定対象フリップフロップC1001と第1の制御観測フリップフロップC1002の間は直接接続したが、論理素子を介してもよい。
本実施の形態では、遅延マージンを作るために、第1の制御観測フリップフロップC1002と第2の制御観測フリップフロップC1004との間に遅延素子C1005を設けているが、第1の制御観測フリップフロップC1002へのクロック信号到達時刻を、第1の測定対象フリップフロップC1001へのクロック信号到達時刻より遅らすことにより、マージンを設けても良い。
(実施の形態11);請求項29に対応
上記実施の形態10では、観測データを第2の出力信号線C1009より外部に出力したが、内部で比較を行ってもよい。このような実施の形態を以下に説明する。
図18は、本発明の実施の形態11に係わる半導体集積回路を示す回路図である。以下、図18を用いて本実施の形態を説明する。図18において、C3001はロードホールド機能付きスキャンフリップフロップからなる第1の測定対象フリップフロップである。C3002はロードホールド機能付きスキャンフリップフロップからなる第1の制御観測フリップフロップである。C3003はロードホールド機能付きスキャンフリップフロップからなる第2の測定対象フリップフロップである。C3004はロードホールド機能付きスキャンフリップフロップからなる第2の制御観測フリップフロップである。
C3005は遅延素子である。C3006は第1の測定対象フリップフロップC3001のスキャン入力とパターン生成回路(テスト回路)C3008とをつなげる信号線である。C3007は第2の制御観測フリップフロップC3002のスキャン入力とパターン生成回路C3008とをつなげる信号線である。C3009は比較回路である。C3010は第1のクロックCK1の信号線である。C3011は第2のクロックCK2の信号線である。C3012は第1の測定対象フリップフロップC3001および第1の制御観測フリップフロップC3002のホールド端子とパターン生成回路C3008とをつなげる信号線である。C3013は第3のクロックCK3の信号線である。
ロードホールド付きフリップフロップは、キャプチャモード時であれば、ホールドモードにすると、キャプチャ動作を行っても、外部からの値をとりこまず、データの保持を行うことができる。
第3のクロックCK3は第1のクロックCK1と同期しているものとする。
図19は、本発明の実施の形態11に係わる半導体集積回路の動作エラーの検出方法を示すフローチャートである。図19において、C4001は制御観測チェーンに異なる値のデータをシフトインする工程である。
C4002は制御観測チェーンのデータを、対応する測定対象チェーンへ転送する工程である。
C4003は測定対象チェーンおよび制御観測チェーンを1クロック分シフトする工程である。
C4004は測定対象チェーンのシフト値と制御観測チェーンのシフト値を比較する工程である。
まず始めに、制御観測チェーンに異なる値のデータをシフトインする工程を行う。これは、第1および第2の制御観測フリップフロップC3002,C3004をシフトモードにして、第2の入力信号線C3007より第1の制御観測フリップフロップC3002に1、第2の制御観測フリップフロップC3004に0をシフトインする。これにより、第1の制御観測フリップフロップC3002に1、第2の制御観測フリップフロップC3004に0が設定される。
つぎに、制御観測チェーンのデータを、対応する測定対象チェーンへ転送する工程を行う。これは、第1および第2の測定対象フリップフロップC3001,C3003をキャプチャモードにして、キャプチャ動作を行う。これにより、第1および第2の制御観測フリップフロップC3002,C3004のデータが、第1および第2の測定対象フリップフロップC3001,C3003に移される。この際、第1および第2の制御観測フリップフロップC3002,C3004をホールドモードにすることにより、第1および第2の制御観測フリップフロップC3002,C3004の内容をそれぞれ、第1および第2の測定対象フリップフロップC3001,C3003の値と同じにすることができる。
つぎに、測定対象チェーンおよび制御観測チェーンを1クロック分シフトする工程を行う。これは、第1の信号入力線C3006に0を設定し、第1および第2の測定対象フリップフロップC3001,C3003 をシフトモードにし、シフト動作を一度行う。この際、前述のシフト動作に対して、第1の測定対象フリップフロップC3001が値をキャプチャできるように、十分な時間の余裕をもって設定する。これにより、回路が正常に動作している場合は、第1の測定対象フリップフロップC3001のデータが第1の制御観測フリップフロップC3002に転送される。もし回路が、第2のクロックCK2が第1のクロックCK1より遅く動作するような、エラーのある状態にある場合は、第2の測定対象フリップフロップC3003は第1の測定対象フリップフロップC3001のデータ、(今回の場合は1)を受け取るかわりに、第1の信号入力線C3006のデータ(今回の場合は0)を受け取ることになる。
一方、制御観測チェーン間のシフト動作は、第2のクロックCK2が第1のクロックCK1より遅く動作するような場合であっても、第1および第2の制御観測フリップフロップC3002,C3004間のタイミングマージンが、第1および第2の測定対象フリップフロップC3001,C3003間のタイミングマージンに比べて大きいので、誤動作する可能性はない。
最後に、測定対象チェーンのシフト値と制御観測チェーンのシフト値とを比較する工程を行う。これは、比較回路C3009を用いて、第2の観測対象フリップフロップC3003と第2の制御観測フリップフロップC3004の値が等しいかどうかを比較するものである。等しい場合は、正常動作、等しくない場合は、エラー動作をしていると判定することができる。
以上により、回路の動作中にクロック遅延の変動に基づく動作エラーの有無を回路内部で検出できる。
本例では、第3のクロックCK3は、第1のクロックCK1と同期させたが、テスト動作が可能であれば、どのような信号でもよい。
(実施の形態12);請求項31に対応
図20は、本発明の実施の形態12に係わる半導体集積回路を示す回路図である。以下、図20を用いて本実施の形態を説明する。図20において、C5001はスキャンフリップフロップからなる第1の測定対象フリップフロップである。C5002はスキャンフリップフロップからなる第1の制御観測フリップフロップである。C5003はスキャンフリップフロップからなる第2の測定対象フリップフロップである。C5004はスキャンフリップフロップからなる第2の制御観測フリップフロップである。本例では、第1の制御対象フリップフロップC5001は、第1の制御観測フリップフロップC5002に隣接(近接)して配置している。また、第2の測定対象フリップフロップC5002は、第2の制御観測フリップフロップC5004に隣接(近接)して配置している。
上記実施の形態11の構成では、第1の測定対象フリップフロップC3001と第1の制御観測フリップフロップC3002間でデータの転送を行うことが必要である。このため、第1の測定対象フリップフロップC3001と第1の制御観測フリップフロップC3002のクロック入力に時間差が生じると、それらの間のデータ転送を行うことができなくなる。
しかしながら、本構成によれば、第1の測定対象フリップフロップC5001と第1の制御観測フリップフロップC5002との間のスキューの削減が可能なため、第1の測定対象フリップフロップC5001の遅延が、第1の制御観測フリップフロップC5002のホールド値より大きければ、第1の測定対象フリップフロップC5001と第1の制御観測フリップフロップC5002との間の遅延調整を行うことなく、動作を保証できる。
(実施の形態13);請求項32に対応
図21は、本発明の実施の形態13に係わる半導体集積回路を示す回路図である。以下、図21を用いて本実施の形態を説明する。図21において、C6001はスキャンフリップフロップからなる第1の測定対象フリップフロップである。C6002はスキャンフリップフロップからなる第1の制御観測フリップフロップである。C6003はスキャンフリップフロップからなる第2の測定対象フリップフロップである。C6004はスキャンフリップフロップからなる第2の制御観測フリップフロップである。
C6005は第1の測定対象フリップフロップC6001のクロック入力端子である。C6006は第1の制御観測フリップフロップC6002のクロック入力端子である。C6007は第1のクロックCK1のクロック入力端子C6005とクロック入力端子C6006への分岐点である。C6008は第2の測定対象フリップフロップC6003のクロック入力端子である。C6009は第2の制御観測フリップフロップC6004のクロック入力端子である。C6010は第2のクロックCK2のクロック入力端子C6008とクロック入力端子C6009への分岐点である。C6011は第1のクロックCK1の信号線である。C6012は第2のクロックCK2の信号線である。
本例では、第1のクロックCK1の入力端から第1の測定対象フリップフロップC6001および第1の制御観測フリップフロップC6002までの配線長が等しい状態に配線し、第2のクロックCK2の入力端から第2の測定対象フリップフロップC6003および第2の制御観測フリップフロップC6004までの配線長が等しい状態に配線している。
これにより、第1の測定対象フリップフロップC6001および第1の制御観測フリップフロップC6002の配置が離れていても、クロックスキューを削減することができる。
(実施の形態14);請求項33,34,35に対応
図22は、本発明の実施の形態14に係わる半導体集積回路を示す回路図である。図22において、C7001はスキャンフリップフロップからなる第1の測定対象フリップフロップである。C7002はスキャンフリップフロップからなる第1の制御観測フリップフロップである。C7003はスキャンフリップフロップからなる第2の測定対象フリップフロップである。C7004はスキャンフリップフロップからなる第2の制御観測フリップフロップである。
C7005は遅延素子である。C7006は第1の測定対象フリップフロップC7001のスキャン入力に接続し外部に繋がる第1の入力信号線である。C7007は第1の制御観測フリップフロップC7002のスキャン入力に接続し外部に繋がる第2の入力信号線である。C7008は第2の測定対象フリップフロップC7003のスキャン出力に接続し外部に繋がる第1の出力信号線である。C7009は第2の制御観測フリップフロップC7004のスキャン出力に接続し外部に繋がる第2の出力信号線である。
C7010は第1のクロックCK1の信号線である。C7011は第2のクロックCK2の信号線である。C7012は第1のクロックCK1の遅延制御回路である。C7013は第2のクロックCK2の遅延制御回路である。C7014は遅延制御回路C7012,C7013へのクロック供給信号線である。C7015は遅延制御回路C7012に遅延制御信号を与える遅延制御信号線である。C7016は遅延制御回路C7013に遅延制御信号を与える遅延制御信号線である。
図23は、本発明の実施の形態14に係わる半導体集積回路において、遅延を制御する遅延制御回路の具体例を示す回路図である。図23において、C8001は可変容量である。C8002は遅延制御対象の信号線である。C8003は例えば16ビットの遅延制御信号線である。なお、可変容量C8001は、例えば、16個の容量素子とそれらの接続・切り離しを切り換えるスイッチング素子とからなり、スイッチング素子のオンオフを遅延制御信号によって切り換えるようになっている。
図24は、ホールド値を算出する方法を示すフローチャートである。図24において、C9001は動作エラーが検出されたか判定する工程である。C9002は後段のクロックの遅延を増やす工程である。C9003はフリップフロップの遅延と遅延増加量からホールド値を算出する工程である。
以下、図22、図23、図24を用いて本実施の形態を説明する。
まず始めに、動作エラーが検出されたか判定する工程を行う。これは、例えば、実施の形態10の方法を用いて行うことができる。もし、エラーが検出されなければ、つぎに、後段のクロックの遅延を増やす工程を行う。これをエラーが検出されるまで行う。
遅延制御は、たとえば、図23に示した、可変容量(セル)C8001を制御することで行うことができる。本実施の形態では、小さな容量の接続数を増加させることで、容量増加を行い、遅延値の増加を図っている。遅延制御には、異なる遅延回路を選択する方法もあるが、プロセスのでき映えを考えた場合、微小な遅延差を制御することは難しい。本回路を用いれば、容量を増やせば、必ず相対遅延値を増加させることができる。増加遅延値は、例えば増加前後のシミュレーションを行うことにより求めることができるし、実際に同様の回路を作成して、遅延値を求めても良い。
上記工程でエラーが検出されれば、ホールド値を算出する工程を行う。ホールド値は、第1の測定対象フリップフロップC7001の遅延値と増加遅延値の差より求めることができる。
以上の方法で、第1の制御観測フリップフロップC7002のホールド値を求めることができる。
なお、遅延調整を行わない場合の、クロック供給信号線C7014における第1の測定対象フリップフロップC7001と第2の測定対象フリップフロップC7003間のスキュー値が分かっている場合には、その値を加味してもよい。
(実施の形態15);請求項36,37,38に対応
図25は、本発明の実施の形態15に係わる半導体集積回路を示す回路図である。図25において、C10001は動作エラーもしくはその直前の状態を検出する動作エラー検出手段、C10002は制御手段、C10003は動作エラーを回避するエラー回避手段である。
図26は、本発明の実施の形態16に係わる半導体集積回路の実施の形態であり、図25の動作エラー検出手段C10001の具体例を示すものである。図26において、C11001は実施の形態11で示したエラー観測回路であり、動作エラー検出手段に相当する。C11002は制御手段である。C11003はエラー回避手段である。C11004は観測対象回路である。
C11005は第1のクロックCK1の信号線である。C11006は第2のクロックCK2の信号線である。C11007はスキャンフリップフロップからなる第1の測定対象フリップフロップである。C11008はスキャンフリップフロップからなる第2の測定対象フリップフロップである。C11009はスキャンフリップフロップからなる第1の制御観測フリップフロップである。C11010はスキャンフリップフロップからなる第2の制御観測フリップフロップでける。C11011は比較回路である。C11012はパターン生成回路(テスト制御回路)である。
図27は、本発明の実施の形態15に係わる半導体集積回路の実施の形態であり、図26の観測対象回路C11004の具体例を示すものである。図27において、C12001は動作エラー検出手段である。C12002は制御手段である。C12003は第1のクロックCK1の信号線である。C12004は第1のクロックCK1の遅延を制御する遅延制御回路である。C12005は第2のクロックCK2の信号線である。C12006は第2のクロックCK2の遅延を制御する遅延制御回路である。C12007は観測対象回路である。
以下、図25、図26、図27、を用いて本実施の形態を説明する。
まず、図25を用いて、動作の流れを説明する。
動作エラー検出手段C10001は、回路の動作エラーを検出し、何らかの原因により、期待しない動作を起こしたことを検出する手段である。制御手段C10002は、動作エラー検出手段C10001による動作エラーの検出に基づき、エラー回避手段C10003に働きかけを行う。エラー回避手段C10003は、制御手段C10002による制御に基づき、エラー回避動作を行う。
つぎに、具体的な実現例を図26を用いて説明する。図26は、動作エラー検出手段として、図18の回路を用いた実現例である。
C11001は、実施の形態11で示したエラー観測回路であり、観測対象回路C11004の動作エラーを検出する。すなわち、観測対象回路C11004中の信号線C11005上の第1のクロックCK1と信号線C11006上の第2のクロックCK2のタイミングを観測し、規定された値、すなわち、エラー観測回路C11001中の第1の測定対象フリップフロップC11007から第2の測定対象フリップフロップC11008へのデータ転送ができなくなる値を超えた時点でエラーとして、検出する。
その結果に基づき、制御手段C11002は、エラー回避手段C11003に働きかけ、エラー回避動作を行う。
なお、本実施の形態では、動作エラー検出手段を一つのみ配置したが、複数配置して良い。
つぎに、具体的な実現例を図27を用いて説明する。図27は、動作エラーを回避するエラー回避手段が、クロックの信号線に接続された遅延制御回路である実現例である。
観測対象回路C12007中の、信号線C12003上の第1のクロックCK1と信号線12005上の第2のクロックCK2とに、経時劣化によりスキューを発生したとする。動作エラー検出手段C12001は、エラーを検出し、制御手段C12002は、第1のクロックCK1の遅延制御回路C12004と、第2のクロックCK2の遅延制御回路C12006との遅延制御を行う。例えば、信号線C12003上の第1のクロックCK1が遅れる状況を検出した場合は、第1のクロックCK1の遅延制御回路C12004の遅延を早める。
以上の構成により、遅延変動した場合も、回路の動作を保ちつづけることができる。
(実施の形態16);請求項39に対応
図28は、本発明の実施の形態16に係わる半導体集積回路を示す回路図であり、図28の構成における電圧制御回路をさらに具体化したものである。図28において、C13001は動作エラー検出手段である。C13002は制御手段である。C13003は電圧制御回路である。
図29は、本発明の実施の形態16に係わる半導体集積回路の実施の形態である。C14001は制御対象回路である。C14002は動作エラー検出手段である。C14003は制御手段である。C14004はDC/DCコンバータである。C14005はDC/DCコンバータで生成された第1の電源系統の給電線である。C14006はDC/DCコンバータで生成された第2の電源系統の給電線である。C14007は外部電源である。
クロックの遅延を制御するセルの遅延値は、電圧により変動する。一般に電圧が上がれば、遅延は小さくなる。したがって、動作エラーの原因が遅延の変動に起因するスキューの増加の場合、変動したクロックの電圧を上げることにより、エラーを回避できる。
まず、図28を用いて、動作の流れを説明する。回路の動作エラーを検出する動作エラー検出手段C13001は、何らかの原因により、期待しない動作を起こしたことを検出する。制御手段C13002は、動作エラー検出手段C13001による動作エラーの検出に基づき、電圧制御回路C13003に働きかける。電圧制御回路C13003は、制御手段C13002の制御に基づき、電圧を変動させ(例えば、上昇させ)、エラー回避動作を行う。
つぎに図29を用いて、実施の形態を説明する。DC/DCコンバータC14004は、外部電源C14007から与えられた電圧を変換して、第1の電源系統の給電線C14005と第2の電源系統の給電線C14006の電圧を任意に変更できるものである。
まず、動作エラー検出手段C14002が、制御対象回路C14001の動作エラーを検出する。つぎに、動作エラー検出手段C14002によるエラー検出を受け、制御手段C14003は、DC/DCコンバータC14004に働きかけ、DC/DCコンバータC14004に繋がる第1の電源系統の給電線C14005の電圧を制御する。
電圧変動のパターンは、動作エラー検出内容により、あらかじめ設定することができる。例えば、経時劣化により一部のクロック系統の遅延値の増加が見込まれる場合は、電圧を上げることにより、回避可能である。この場合、電圧を上昇させた後は、回路の消費電力が上がる。
以上の構成により、遅延の変動を押さえ、回路の動作を維持することができる。
本実施の形態では、第1の電源系統の電源を制御対象回路C14001全体の電源としたが、遅延劣化を起こしたクロックセルだけにつながるものでもよいし、クロック全体の電源のみに繋がるものでも良い。この場合、回路の消費電力の増加は、押さえられる。
本実施の形態では、電源系統を2種類に分けたが、制御手段の動作に影響がなければ、1系統でもよい。
(実施の形態17);請求項40に対応
図30は、本発明の実施の形態17に係わる半導体集積回路を示す回路図である。図30において、C15001は動作エラー検出手段である。C15002は制御手段である。C15003は劣化回生手段である。
図31は、本発明の実施の形態17に係わる半導体集積回路の実施の形態であり、劣化回生手段を具体化したものである。図31において、C16001は制御対象回路である。C16002は動作エラー検出手段である。C16003は制御手段である。C16004は熱源装置である。C16005は第1の電源系統の給電線である。C16006は第2の電源系統の給電線である。C16007は第3の電源系統の給電線である。C16008はDC/DCコンバータである。
動作劣化の原因として、BT劣化(Negative Bias Temperature Instabilities)が挙げられる。BT遅延劣化は、回路動作に従い、遅延値が大きくなる挙動を示す。一方、BT遅延劣化は、温度を一定以上に上げて、電圧をかけずに一定時間保持することにより、劣化回生することができる。したがって、回路の劣化を回生すれば、回路は正しい動作を継続することができる。
まず、図30を用いて、動作の流れを説明する。制御対象回路の動作エラーを検出する動作エラー手段C15001は、何らかの原因により期待しない動作を起こしたことを検出する。制御手段C15002は、動作エラー手段C15001による動作エラーの検出に基づき、劣化回生手段C15003に働きかける。劣化回生手段C15003は、制御手段C15002の制御に基づき、制御対象回路の劣化を回生させる。制御対象回路は、劣化の回生後、通常動作を行うことができる。
つぎに図31を用いて、実施の形態を説明する。動作エラー検出手段C16002が制御対象回路C16001のエラーを検出すると、制御手段C16003は、回生モードに入る。回生動作中は、制御対象回路C16001のみ電源がオフとなる。
同時に、熱源装置C16004により、LSI自身の温度が高められる。制御手段C16003は、予め定められた時間の後、熱源装置C16004を調整し、温度を通常の温度にもどし、制御対象回路C16001の電源を復帰させる。
以上の構成を用いれば、過剰な動作マージンをもつことなく設計を行うことができる。
なお、実施の形態では、熱源装置C16004をLSI内部においたが、外部に置いてもよい。また、電源を内部に置き制御したが、外部で制御してもよい。また、電源系統数は動作に影響がなければ、任意である。
本発明にかかる半導体集積回路は、製造後にタイミング不良が生じた場合にも、救済を行って正常な動作に戻すことが可能であるという効果を有し、半導体集積回路設計等において有用である。
本発明の実施の形態1に係わる半導体集積回路の回路図である。 本発明の実施の形態1に係わる半導体集積回路の救済方法を示すフローチャートである。 本発明の実施の形態1に係わる図2のステップ22の詳細を示すフローチャートである。 本発明の実施の形態1に係わる図2のステップ22の詳細を示すフローチャートである。 本発明の実施の形態1で使用するテストパターンの波形図である。 本発明の実施の形態2に係わる図2のステップ22の詳細を示すフローチャートである。 本発明の実施の形態3に係わる図2のステップ22の詳細を示すフローチャートである。 本発明の実施の形態4に係わる図2のステップ22の詳細を示すフローチャートである。 本発明の実施の形態5に係わる半導体集積回路の救済方法を示すフローチャートである。 本発明の実施の形態6に係わる図9のステップ92の詳細を示すフローチャートである。 本発明の実施の形態7に係わる半導体集積回路の回路図である。 本発明の実施の形態8に係わる半導体集積回路の回路図である。 本発明の実施の形態9に係わる半導体集積回路の回路図である。 本発明の実施の形態7に係わる半導体集積回路の救済方法を示すフローチャートである。 本発明の実施の形態8に係わる半導体集積回路の救済方法を示すフローチャートである。 本発明の実施の形態10に係わる半導体集積回路を示す回路図である。 本発明の実施の形態10に係わる半導体集積回路の動作エラーの検出方法を示すフローチャートである。 本発明の実施の形態11に係わる半導体集積回路を示す回路図である。 本発明の実施の形態11に係わる半導体集積回路の動作エラーの検出方法を示すフローチャートである。 本発明の実施の形態12に係わる半導体集積回路を示す回路図である。 本発明の実施の形態13に係わる半導体集積回路を示す回路図である。 本発明の実施の形態14に係わる半導体集積回路を示す回路図である。 本発明の実施の形態14に係わる半導体集積回路の遅延制御回路を示す回路図である。 本発明の実施の形態15に係わるホールド値を算出する方法を示すフローチャートである。 本発明の実施の形態15に係わる半導体集積回路を示す回路図である。 本発明の実施の形態15に係わる半導体集積回路を示す回路図である。 本発明の実施の形態15に係わる半導体集積回路を示す回路図である。 本発明の実施の形態16に係わる半導体集積回路を示す回路図である。 本発明の実施の形態16に係わる半導体集積回路を示す回路図である。 本発明の実施の形態17に係わる半導体集積回路を示す回路図である。 本発明の実施の形態17に係わる半導体集積回路を示す回路図である。
符号の説明
1 半導体集積回路
22 遅延値測定処理
23 遅延値設定処理
92 遅延値範囲測定処理
93 遅延値設定処理
111 半導体集積回路
112 部分回路
113 組込み自己検査器
114 組込み自己エラー量測定器
115 開始信号入力端子
116 組込み自己救済器
117 タイマ
VD1〜VD4 可変遅延器
CT1〜CT4 クロック
FF1〜FF4 フリップフロップ
CR1〜CR4 制御信号
C1001 第1の測定対象フリップフロップ
C1002 第1の制御観測フリップフロップ
C1003 第2の測定対象フリップフロップ
C1004 第2の制御観測フリップフロップ
C1005 遅延素子
C1006 第1の入力信号線
C1007 第2の入力信号線
C1008 第1の出力信号線
C1009 第2の出力信号線
C1010 信号線
C1011 信号線
C3001 第1の測定対象フリップフロップ
C3002 第1の制御観測フリップフロップ
C3003 第2の測定対象フリップフロップ
C3004 第2の制御観測フリップフロップ
C3005 遅延素子
C3006 入力信号線
C3007 入力信号線
C3008 パターン生成回路
C3009 比較回路
C3010 信号線
C3011 信号線
C3012 信号線
C3013 信号線
C5001 第1の測定対象フリップフロップ
C5002 第1の制御観測フリップフロップ
C5003 第2の測定対象フリップフロップ
C5004 第2の制御観測フリップフロップ
C6001 第1の測定対象フリップフロップ
C6002 第1の制御観測フリップフロップ
C6003 第2の測定対象フリップフロップ
C6004 第2の制御観測フリップフロップ
C6005 クロック入力端子
C6006 クロック入力端子
C6007 分岐点
C6008 クロック入力端子
C6009 クロック入力端子
C6010 分岐点
C6011 信号線
C6012 信号線
C7001 第1の測定対象フリップフロップ
C7002 第1の制御観測フリップフロップ
C7003 第2の測定対象フリップフロップ
C7004 第2の制御観測フリップフロップ
C7005 遅延素子
C7006 第1の入力信号線
C7007 第2の入力信号線
C7008 第1の出力信号線
C7009 第2の出力信号線
C7010 信号線
C7011 信号線
C7012 遅延制御回路
C7013 遅延制御回路
C7014 クロック供給信号線
C7015 遅延制御信号線
C7016 遅延制御信号線
C8001 可変容量
C8002 信号線
C8003 遅延制御信号線
C10001 動作エラー検出手段
C10002 制御手段
C10003 エラー回避手段
C11001 動作エラー観測手段
C11002 制御手段
C11003 エラー回避手段
C11004 観測対象回路
C11005 信号線
C11006 信号線
C11007 第1の測定対象フリップフロップ
C11008 第2の測定対象フリップフロップ
C11009 第1の制御観測フリップフロップ
C11010 第2の制御観測フリップフロップ
C11011 比較回路
C11012 パターン生成回路
C12001 動作エラー検出手段
C12002 制御手段
C12003 信号線
C12004 遅延制御回路
C12005 信号線
C12006 遅延制御回路
C12007 観測対象回路
C13001 動作エラー検出手段
C13002 制御手段
C13003 電圧制御回路
C14001 制御対象回路
C14002 動作エラー検出手段
C14003 制御手段
C14004 DC/DCコンバータ
C14005 第1の電源系統の給電線
C14006 第2の電源系統の給電線
C14007 外部電源
C15001 動作エラー検出手段
C15002 制御手段
C15003 劣化回生手段
C16001 制御対象回路
C16002 動作エラー検出手段
C16003 制御手段
C16004 熱源装置
C16005 第1の電源系統の給電線
C16006 第2の電源系統の給電線
C16007 第3の電源系統の給電線
C16008 DC/DCコンバータ

Claims (40)

  1. 外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えるための可変遅延器を備えた半導体集積回路。
  2. 前記可変遅延器は、クロックツリーの幹に設けられている請求項1記載の半導体集積回路。
  3. 外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えるための可変遅延器を備えた半導体集積回路を救済する方法であって、
    製造後にタイミング不良を生じた前記半導体集積回路に対して、前記半導体集積回路が設計時の動作速度で動作することを保証するために設定すべき前記可変遅延器の遅延値を求める遅延値測定処理と、前記遅延値測定処理に基づいて前記可変遅延器に対して遅延値を設定する遅延値設定処理とを含む半導体集積回路の救済方法。
  4. 外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えるための可変遅延器を備えた半導体集積回路を救済する方法であって、
    製造後の前記半導体集積回路に対して、前記半導体集積回路の動作速度を設計時の値よりも高くなるように設定すべき前記可変遅延器の遅延値を求める遅延値測定処理と、前記遅延値測定処理に基づいて前記可変遅延器に対して遅延値を設定する遅延値設定処理とを含む半導体集積回路の救済方法。
  5. 前記遅延値測定処理では、セットアップエラー量を計測するために、テスタ上でクロック周期を変更しながらテストのパス/フェイルを判定し、パス判定された最小クロック周期と設計時のクロック周期との差をエラー量とするセットアップエラー量測定処理を含む請求項3記載の半導体集積回路の救済方法。
  6. 前記遅延値測定処理では、セットアップエラー量を計測するために、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするセットアップエラー量測定処理を含む請求項3記載の半導体集積回路の救済方法。
  7. 前記遅延値測定処理では、ホールドエラー量を計測するために、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするホールドエラー量測定処理を含む請求項3記載の半導体集積回路の救済方法。
  8. 前記遅延値設定処理では、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた前記可変遅延器に対して、前記可変遅延器の遅延値が、前記セットアップエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値になるように設定する請求項5または請求項6記載の半導体集積回路の救済方法。
  9. 前記遅延値設定処理では、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた前記可変遅延器に対して、前記可変遅延器の遅延値が、前記ホールドエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値になるように設定する請求項7記載の半導体集積回路の救済方法。
  10. 前記遅延値測定処理では、さらに
    タイミングマージン量を計測するために、前記ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、前段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第1のタイミングマージン量とする第1のタイミングマージン量測定処理と、
    前記ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、後段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第2のタイミングマージン量とする第2のタイミングマージン量測定処理とを含み、
    前記遅延値設定処理では、前記ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた前記可変遅延器に対して、前記可変遅延器の遅延値が、前記ホールドエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値で、かつ、前記第1のタイミングマージン量と前記第2のタイミングマージン量のいずれかの最小値に等しいか、またはそれ以下の値になるように設定する請求項7記載の半導体集積回路の救済方法。
  11. 前記遅延値測定処理では、さらに
    タイミングマージン量を計測するために、前記セットアップエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、前段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第1のタイミングマージン量とする第1のタイミングマージン量測定処理と、
    前記セットアップエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、後段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第2のタイミングマージン量とする第2のタイミングマージン量測定処理とを含み、
    前記遅延値設定処理では、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた前記可変遅延器に対して、前記可変遅延器の遅延値が、前記セットアップエラー量測定処理で算出されたエラー量に等しいか、またはそれ以上の値で、かつ、前記第1のタイミングマージン量と前記第2のタイミングマージン量のいずれかの最小値に等しいか、またはそれ以下の値になるように設定する請求項5または請求項6記載の半導体集積回路の救済方法。
  12. 前記遅延値設定処理では、クリティカルパス終点フリップフロップのクロック経路上に設けられた前記可変遅延器に対して、前記可変遅延器の遅延値が最大になるように設定する請求項4記載の半導体集積回路の救済方法。
  13. 前記遅延値設定処理では、タイミングマージン量を計測するために、前記ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、前段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第1のタイミングマージン量とする第1のタイミングマージン量測定処理と、
    前記ホールドエラーを生じたフリップフロップペアを除く他のフリップフロップペアについて、後段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最大遅延値と初期状態の可変遅延器の遅延値との差分を第2のタイミングマージン量とする第2のタイミングマージン量測定処理とを含み、
    クリティカルパス終点フリップフロップのクロック経路上に設けられた前記可変遅延器に対して、前記可変遅延器の遅延値が、前記第1のタイミングマージン量と前記第2のタイミングマージン量のいずれかの最小値に等しくなるように設定する請求項4記載の半導体集積回路の救済方法。
  14. 開始信号の印加によって動作を開始し、前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定することによってエラー量を測定する組込み自己エラー量測定器を備えた請求項1または2記載の半導体集積回路。
  15. 前記組込み自己エラー量測定器は、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とする請求項14記載の半導体集積回路。
  16. 前記組込み自己エラー量測定器は、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とする請求項14記載の半導体集積回路。
  17. 開始信号の印加によって動作を開始し、各可変遅延器について、前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された前記可変遅延器の最小遅延値と最大遅延値とを測定する組込み自己タイミングマージン量測定器を備えた請求項2記載の半導体集積回路。
  18. 組込み自己検査器を備え、前記テストを前記組込み自己検査器を用いて実行する請求項14、15、16または17記載の半導体集積回路。
  19. 開始信号の印加によって動作を開始し、前記組込み自己エラー量測定器が測定したエラー量に等しいか、またはそれ以上の遅延値を前記可変遅延器に設定する組込み自己救済器を備えた請求項14、15または16記載の半導体集積回路。
  20. 組込み自己検査器を備え、前記テストを前記組込み自己検査器を用いて実行する請求項19記載の半導体集積回路。
  21. 所定のクロック周期ごと、または所定の時刻ごとに、前記組込み自己エラー量測定器に対して開始信号を印加する機能を備えた請求項14、15または16記載の半導体集積回路。
  22. 所定のクロック周期ごと、または所定の時刻ごとに、前記組込み自己エラー量測定器および前記組込み自己救済器に対して開始信号を印加する機能を備えた請求項19記載の半導体集積回路。
  23. 前記半導体集積回路が開始信号の印加によって動作を開始し、前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定することによってエラー量を測定する組込み自己エラー量測定器を備え、
    前記遅延値測定処理で前記組込み自己エラー量測定器によりエラー量を測定し、前記組込み自己エラー量測定器が測定したエラー量に基づいて、前記遅延値設定処理で前記可変遅延器の遅延値を設定する請求項3記載の半導体集積回路の救済方法。
  24. 前記半導体集積回路が、開始信号の印加によって動作を開始し、前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定することによってエラー量を測定する組込み自己エラー量測定器と、前記開始信号の印加によって動作を開始し、前記組込み自己エラー量測定器が測定したエラー量に等しいか、またはそれ以上の遅延値を前記可変遅延器に設定する組込み自己救済器とを備え、
    前記半導体集積回路に製造後に動作不良が生じた場合に、前記組込み自己エラー量測定器および前記組込み自己救済器に対して開始信号を印加することにより、前記遅延値測定処理で前記組込み自己エラー量測定器によりエラー量を測定し、前記組込み自己エラー量測定器が測定したエラー量に基づいて、前記遅延値設定処理で前記組込み自己救済器により前記可変遅延器の遅延値を設定する請求項3記載の半導体集積回路の救済方法。
  25. 前記遅延値設定処理で前記可変遅延器の値を設定する前に、あらかじめ前記可変遅延器の精度を測定する請求項3記載の半導体集積回路の救済方法。
  26. 前記遅延値測定処理では、セットアップエラー量を計測するために、テスタ上でクロック周期を変更しながらテストのパス/フェイルを判定し、パス判定された最小クロック周期と設計時のクロック周期との差をエラー量とするセットアップエラー量測定処理を含み、前記セットアップエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることで、前記可変遅延器の精度を測定する請求項25記載の半導体集積回路の救済方法。
  27. 前記遅延値測定処理では、セットアップエラー量を計測するために、セットアップエラーを生じたフリップフロップペアのうち、後段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするセットアップエラー量測定処理を含み、前記セットアップエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることで、前記可変遅延器の精度を測定する請求項25記載の半導体集積回路の救済方法。
  28. 前記遅延値測定処理では、ホールドエラー量を計測するために、ホールドエラーを生じたフリップフロップペアのうち、前段フリップフロップのクロック経路上に設けられた前記可変遅延器の遅延値を変更しながらテストのパス/フェイルを判定し、パス判定された可変遅延器の最小遅延値と初期状態の可変遅延器の遅延値との差分をエラー量とするホールドエラー量測定処理を含み、前記ホールドエラー量測定処理で測定されたエラー量の前後でフェイル/パスを実現する可変遅延器の遅延値の全組み合わせを、エラーを生じたフリップフロップペアに対してテストすることで、前記可変遅延器の精度を測定する請求項25記載の半導体集積回路の救済方法。
  29. 第1のクロックが供給され、動作マージンの測定対象となる第1の測定対象フリップフロップと、
    第2のクロックが供給され、動作マージンの測定対象となり、前記第1の測定対象フリップフロップとともに測定対象チェーンを構成してシフトモード時に前記第1の測定対象フリップフロップからデータが転送される第2の測定対象フリップフロップと、
    前記第1の測定対象フリップフロップと同一の前記第1のクロックが供給され、キャプチャモード時に前記第1の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に前記第1の測定対象フリップフロップにデータを供給する第1の制御観測フリップフロップと、
    前記第2の測定対象フリップフロップと同一の前記第2のクロックが供給され、前記第1の制御観測フリップフロップとともに制御観測チェーンを構成してシフトモード時に前記第1の制御観測フリップフロップからデータが転送され、キャプチャモード時に前記第2の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に前記第2の測定対象フリップフロップにデータを供給する第2の制御観測フリップフロップと、
    シフトモード時に前記第1の測定対象フリップフロップにデータを供給する第1の入力信号線と、
    シフトモード時に前記第1の制御観測フリップフロップにデータを供給する第2の入力信号線と、
    シフトモード時に前記第2の測定対象フリップフロップからデータを出力する第1の出力信号線と、
    シフトモード時に前記第2の制御観測フリップフロップからデータを出力する第2の出力信号線とを備え、
    前記第1および第2の制御観測フリップフロップ間のタイミングマージンを、前記第1および第2の測定対象フリップフロップ間のタイミングマージンに比べて大きくしている半導体集積回路。
  30. 請求項29記載の半導体集積回路の前記測定対象チェーンでの動作エラーを検出する方法であって、
    前記制御観測チェーンに異なる値のデータをシフトインする工程と、
    前記制御観測チェーンのデータを対応する前記測定対象チェーンへ転送する工程と、
    前記測定対象チェーンを1クロック分シフトする工程と、
    前記測定対象チェーンのデータを前記制御観測チェーンへ転送する工程と、
    前記制御観測チェーンのデータをシフトアウトする工程と、
    前記制御観測チェーンからシフトアウトされた値と期待値とを照合する工程とを含む動作エラーの検出方法。
  31. 前記第1の測定対象フリップフロップと前記第1の制御観測フリップフロップとを互いに近接させて配置し、前記第2の測定対象フリップフロップと前記第2の制御観測フリップフロップとを互いに近接させて配置している請求項29記載の半導体集積回路。
  32. 前記第1の測定対象フリップフロップと前記第1の制御観測フリップフロップへの前記第1のクロックの供給経路の配線長を等しくし、前記第2の測定対象フリップフロップと前記第2の制御観測フリップフロップへの前記第2のクロックの供給経路の配線長を等しくしている請求項29記載の半導体集積回路。
  33. 第1のクロックが供給され、動作マージンの測定対象となる第1の測定対象フリップフロップと、
    第2のクロックが供給され、動作マージンの測定対象となり、前記第1の測定対象フリップフロップとともに測定対象チェーンを構成してシフトモード時に前記第1の測定対象フリップフロップからデータが転送される第2の測定対象フリップフロップと、
    前記第1の測定対象フリップフロップと同一の前記第1のクロックが供給され、キャプチャモード時に前記第1の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に前記第1の測定対象フリップフロップにデータを供給する第1の制御観測フリップフロップと、
    前記第2の測定対象フリップフロップと同一の前記第2のクロックが供給され、前記第1の制御観測フリップフロップとともに制御観測チェーンを構成してシフトモード時に前記第1の制御観測フリップフロップからデータが転送され、キャプチャモード時に前記第2の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に前記第2の測定対象フリップフロップにデータを供給する第2の制御観測フリップフロップと、
    シフトモード時に前記第1の測定対象フリップフロップにデータを供給する第1の入力信号線と、
    シフトモード時に前記第1の制御観測フリップフロップにデータを供給する第2の入力信号線と、
    シフトモード時に前記第2の測定対象フリップフロップからデータを出力する第1の出力信号線と、
    シフトモード時に前記第2の制御観測フリップフロップからデータを出力する第2の出力信号線とを備え、
    前記第1および第2の制御観測フリップフロップ間のタイミングマージンを、前記第1および第2の測定対象フリップフロップ間のタイミングマージンに比べて大きくしている動作エラー観測手段と、
    前記第1および第2のクロックの遅延を制御可能なクロック遅延制御手段とを備えた半導体集積回路。
  34. 前記クロック遅延制御手段は可変容量セルの容量を変化させることにより前記第1および第2のクロックの遅延を制御している請求項33記載の半導体集積回路。
  35. 請求項34記載の半導体集積回路を用いて、前記可変容量セルの容量を変化させることにより、第1および第2の制御観測フリップフロップのホールド値を算出するホールド値の観測方法。
  36. 動作エラーもしくはその直前の状態を検出する動作エラー検出手段と、動作エラー検出手段の検出出力に応じて起動信号を発生する制御手段と、前記制御手段から発生する前記起動信号に応答して動作エラーを回避する動作エラー回避手段とを備えた半導体集積回路。
  37. 動作エラー検出手段が、
    第1のクロックが供給され、動作マージンの測定対象となる第1の測定対象フリップフロップと、
    第2のクロックが供給され、動作マージンの測定対象となり、前記第1の測定対象フリップフロップとともに測定対象チェーンを構成してシフトモード時に前記第1の測定対象フリップフロップからデータが転送される第2の測定対象フリップフロップと、
    前記第1の測定対象フリップフロップと同一の前記第1のクロックが供給され、キャプチャモード時に前記第1の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に前記第1の測定対象フリップフロップにデータを供給する第1の制御観測フリップフロップと、
    前記第2の測定対象フリップフロップと同一の前記第2のクロックが供給され、
    前記第1の制御観測フリップフロップとともに制御観測チェーンを構成してシフトモード時に前記第1の制御観測フリップフロップからデータが転送され、キャプチャモード時に前記第2の測定対象フリップフロップからデータを受け取り、かつキャプチャモード時に前記第2の測定対象フリップフロップにデータを供給する第2の制御観測フリップフロップと、
    シフトモード時に前記第1の測定対象フリップフロップにデータを供給する第1の入力信号線と、
    シフトモード時に前記第1の制御観測フリップフロップにデータを供給する第2の入力信号線と、
    シフトモード時に前記第2の測定対象フリップフロップからデータを出力する第1の出力信号線と、
    シフトモード時に前記第2の制御観測フリップフロップからデータを出力する第2の出力信号線とを備え、
    前記第1および第2の制御観測フリップフロップ間のタイミングマージンを、前記第1および第2の測定対象フリップフロップ間のタイミングマージンに比べて大きくしている構成を有している請求項36記載の半導体集積回路。
  38. 前記動作エラー回避手段が、クロックの供給経路に設けた遅延制御回路である請求項36記載の半導体集積回路。
  39. 前記動作エラー回避手段が、電源電圧変更を可能とする回路である請求項36記載の半導体集積回路。
  40. 前記動作エラー回避手段が、劣化回生手段である請求項36記載の半導体集積回路。

JP2004120294A 2004-04-15 2004-04-15 半導体集積回路およびその救済方法 Pending JP2005303189A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004120294A JP2005303189A (ja) 2004-04-15 2004-04-15 半導体集積回路およびその救済方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004120294A JP2005303189A (ja) 2004-04-15 2004-04-15 半導体集積回路およびその救済方法

Publications (1)

Publication Number Publication Date
JP2005303189A true JP2005303189A (ja) 2005-10-27

Family

ID=35334298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004120294A Pending JP2005303189A (ja) 2004-04-15 2004-04-15 半導体集積回路およびその救済方法

Country Status (1)

Country Link
JP (1) JP2005303189A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007311763A (ja) * 2006-04-18 2007-11-29 Matsushita Electric Ind Co Ltd 半導体集積回路システム、半導体集積回路、オペレーティングシステム及び半導体集積回路の制御方法
JP2016008943A (ja) * 2014-06-26 2016-01-18 ラピスセミコンダクタ株式会社 半導体集積装置のテスト方法及び半導体集積装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007311763A (ja) * 2006-04-18 2007-11-29 Matsushita Electric Ind Co Ltd 半導体集積回路システム、半導体集積回路、オペレーティングシステム及び半導体集積回路の制御方法
JP2016008943A (ja) * 2014-06-26 2016-01-18 ラピスセミコンダクタ株式会社 半導体集積装置のテスト方法及び半導体集積装置

Similar Documents

Publication Publication Date Title
JP4751216B2 (ja) 半導体集積回路及びその設計装置
US8030649B2 (en) Scan testing in single-chip multicore systems
US8904255B2 (en) Integrated circuit having clock gating circuitry responsive to scan shift control signal
US9222979B2 (en) On-chip controller and a system-on-chip
JP5173216B2 (ja) 半導体集積回路システム、半導体集積回路、オペレーティングシステム及び半導体集積回路の制御方法
JP5032395B2 (ja) テスト条件の生成方法およびテスト条件生成装置
US8412993B2 (en) Self-adjusting critical path timing of multi-core VLSI chip
JP2014185981A (ja) 半導体集積回路および半導体集積回路の自己テスト方法
US20050182993A1 (en) Semiconductor integrated circuit device equipped with read sequencer and write sequencer
JP5148615B2 (ja) 電子デバイスおよび診断装置
JP2006292646A (ja) Lsiのテスト方法
JP2005303189A (ja) 半導体集積回路およびその救済方法
US10476658B1 (en) Method and system for implementing high speed source synchronous clock alignment
JP5727358B2 (ja) 半導体装置
JP2016138799A (ja) 半導体集積回路装置及び半導体集積回路装置の試験方法
US8539327B2 (en) Semiconductor integrated circuit for testing logic circuit
TWI779586B (zh) 測試電路系統的方法及相關電路系統
JP6500693B2 (ja) 可変遅延制御回路の縮退故障診断方法および可変遅延制御回路を有するメモリコントローラ
US20240143465A1 (en) Semiconductor device and startup control method for semiconductor device
JP2009002868A (ja) テスト装置、パタン生成装置、テスト方法、及びパタン生成方法
JP2005293622A (ja) 集積回路、及びホールドタイムエラーの余裕度の検査方法
JP2001228213A (ja) 半導体集積回路装置及びクロックスキューの検証方法
JP2004069642A (ja) 半導体集積回路装置
US7301361B2 (en) Logic circuit for board power-supply evaluation and board power-supply evaluating method
JP2006064607A (ja) Icテスタ

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060613