(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-18
(45)【発行日】2022-11-29
(54)【発明の名称】集積回路での動的スキャンチェーン再構成
(51)【国際特許分類】
G01R 31/28 20060101AFI20221121BHJP
G01R 31/3187 20060101ALI20221121BHJP
H01L 21/822 20060101ALI20221121BHJP
H01L 27/04 20060101ALI20221121BHJP
【FI】
G01R31/28 V
G01R31/28 G
G01R31/3187
H01L27/04 T
(21)【出願番号】P 2019561212
(86)(22)【出願日】2018-05-07
(86)【国際出願番号】 US2018031445
(87)【国際公開番号】W WO2018208692
(87)【国際公開日】2018-11-15
【審査請求日】2021-04-05
(32)【優先日】2017-05-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チョウドリ,パルソ・タパン
【審査官】島田 保
(56)【参考文献】
【文献】特開平06-201782(JP,A)
【文献】特開2013-092517(JP,A)
【文献】特開2006-329876(JP,A)
【文献】特開2004-226291(JP,A)
【文献】米国特許出願公開第2015/0113346(US,A1)
【文献】米国特許出願公開第2014/0101501(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 31/28-31/30
H01L 21/822
(57)【特許請求の範囲】
【請求項1】
M(Mは整数)のスキャンチェーンを有する集積回路「IC」用のテスト回路であって、
第1の回路および第2の回路を備え、前記第1の回路はロジック組み込み自己テスト「LBIST」回路を含み、前記第2の回路はスキャン圧縮器/解凍器回路を含み、前記テスト回路はさらに、
前記第1の回路と前
記Mのスキャンチェーンとの間に結合され、前記第2の回路と前
記Mのスキャンチェーンとの間に結合される、スキャンチェーンルータを備え、前記スキャンチェーンルータは
、(1)
アサートされたイネーブル信号に基づいて、前記第1の回路を前
記Mのスキャンチェーンの各々に結合
し、および、(2)
デアサートされた前記イネーブル信号に基づいて、前記第2の回路
をN(Nは2以上の整数)の連結されたスキャンチェーンに結合し、各連結されたスキャンチェーンは、前
記Mのスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含む、テスト回路。
【請求項2】
前記スキャン圧縮器/解凍器回路は、自動試験装置「ATE」と前記スキャンチェーンルータとの間にインターフェースを与える、請求項1に記載のテスト回路。
【請求項3】
前
記Mのスキャンチェーンの各々は、前記ICのコアロジックに配置される複数の順次結合されたフリップフロップを含む、請求項1または請求項2に記載のテスト回路。
【請求項4】
前記スキャンチェーンルータは、
前記第1の回路と前
記Mのスキャンチェーンとの間に結合されるバイパスルータ回路と、
前記第2の回路と前
記Mのスキャンチェーンとの間に結合されるチェーン連結回路とを含む、請求項1~請求項3のいずれか1項に記載のテスト回路。
【請求項5】
前記第1の回路は
、Mの出力信号を有する出力と
、Mの入力信号を有する入力とを含み、前記バイパスルータ回路は、前
記Mの出力信号の各々を前
記Mのスキャンチェーンのうちの対応するスキャンチェーンに結合し、前
記Mの入力信号の各々を前
記Mのスキャンチェーンのうちの対応するスキャンチェーンから受け取るように構成される、請求項4に記載のテスト回路。
【請求項6】
前記第2の回路は
、Nの出力信号を有する出力と
、Nの入力信号を有する入力とを含み、前記チェーン連結回路は、前
記Nの出力信号の各々を前
記Nの連結されたスキャンチェーンのうちの対応する連結されたスキャンチェーンに結合し、前
記Nの入力信号の各々を前記
Nの連結されたスキャンチェーンのうちの対応す
る連結されたスキャンチェーンから受け取る、請求項4に記載のテスト回路。
【請求項7】
前記第2の回路は、
前
記Nの出力信号を有する出力を含む解凍器と、
前
記Nの入力信号を有する入力を含む圧縮器とを含む、請求項1~請求項6のいずれか1項に記載のテスト回路。
【請求項8】
Mのスキャンチェーンを有する集積回路「IC」を、請求項1~請求項7に記載のテスト回路を用いてテストする方法であって、
イネーブル信号に応答して、LBISTモードを無効にし、スキャン圧縮器/解凍器モードを有効にすることと、
前記イネーブル信号に応答して、スキャンチェーンルータのバイパスルータ回路を無効にし、前記スキャンチェーンルータのチェーン連結回路を有効にすることと、
前記スキャンチェーンルータの前記チェーン連結回路を用いて、前
記Mのスキャンチェーン
をN(Nは2以上の整数)の連結されたスキャンチェーンに連結することとを備え、各連結されたスキャンチェーンは前
記Mのスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含み、前記方法はさらに、
前記スキャンチェーンルータを用いて、スキャン圧縮器/解凍器回路を前記1つ以上の連結されたスキャンチェーンに結合することと、
自動試験装置「ATE」から1つ以上のテスト信号を受け取ることと、
前
記Nのテスト信号を解凍することと、
前
記Nのテスト信号の各々を、前記連結されたスキャンチェーンのうちの対応する連結されたスキャンチェーンに結合することと、
前記1つ以上の連結されたスキャンチェーンの各々の出力を前記ATEに結合することとを備える
、Mのスキャンチェーンを有する集積回路「IC」をテストする方法。
【請求項9】
前記第1の回路を前記Mのスキャンチェーンの各々に結合することは、前記アサートされた前記イネーブル信号に基づいて、前記バイパスルータ回路を有効にするとともに前記チェーン連結回路を無効にすることを含み、前記第2の回路をNの連結されたチェーンに結合することは、前記デアサートされた前記イネーブル信号に基づいて、前記チェーン連結回路を有効にするとともに前記バイパスルータ回路を無効にすることを含む、請求項4に記載のテスト回路。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示の例は、一般に電子回路に関し、特に、集積回路(IC)における動的スキャンチェーン再構成に関する。
【背景技術】
【0002】
背景
特定用途向け集積回路(ASIC)などの集積回路(IC)は、テスト容易化設計(DFT)手法を用いて設計される。DFT手法は、スキャンチェーンなどのテスト容易化機能を回路設計に追加する。スキャンチェーンは、チェーンで順次接続される複数のフリップフロップ(「フロップ」)によって形成される。最初のフロップの入力は入力ピン(「スキャンイン」)に接続され、最後のフロップの出力は出力ピン(「スキャンアウト」)に接続される。スキャンチェーンが設計に挿入されることにより、テスト入力データがシフトインされ、テスト結果データがシフトアウトされる。
【0003】
IC製造業者は、縮退故障のテスト、パスの遅延テスト(パスが機能周波数で動作しているかどうかの判定など)など、さまざまな理由でスキャンテストを実行する。このようなスキャンテストは通常、製造中に自動試験装置(ATE)を用いて実行される。ICは、スキャン圧縮を利用して、ICのテストに必要なデータ量を削減でき、それにより、ATEのリソースが解放され、テストコストを削減することができる。ICは、ロジック組み込み自己テスト(LBIST)機能を用いて自己テストを実行するように設計することもできる。LBISTは、現場で回路をテストでき、外部ピンに直接接続されていない内部回路をテストすることができる。LBISTは、スキャンチェーンにテスト入力を与え、スキャンチェーンからテスト出力を受け取ることもできる。ICは、電源が投入されるとLBISTを実行することができる。
【0004】
通常、パワーオンLBISTは、デバイスのパワーオン時間が仕様を満たすよう、ランタイム制限を示す。ランタイム制限を満たすために、LBISTはより小さなスキャンチェーン(たとえば、フロップがより少ないスキャンチェーン)を利用することができる。逆に、製造スキャンテストでは、より大きなスキャンチェーン(たとえば、より多くのフロップを有するスキャンチェーン)を用いる。製造スキャンテストの場合、スキャンチェーン長を短くすることは圧縮比を大きくする。特定の点を超えて圧縮比を大きくすると、テスト範囲に影響する。したがって、LBIST機能および製造スキャン圧縮/解凍機能の両方を含むICにおいてはスキャンチェーン長の点で対立がある。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
集積回路(IC)において動的スキャンチェーン再構成を与える手法について説明する。一例では、複数のスキャンチェーンを有する集積回路(IC)用のテスト回路は、第1の回路および第2の回路と、上記第1の回路と上記複数のスキャンチェーンとの間に結合され、上記第2の回路と上記複数のスキャンチェーンとの間に結合される、スキャンチェーンルータとを備え、上記スキャンチェーンルータは、イネーブル信号に応答して、(1)上記第1の回路を上記複数のスキャンチェーンの各々に結合するか、または、(2)上記第2の回路を1つ以上の連結されたスキャンチェーンに結合し、各連結されたスキャンチェーンは、上記複数のスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含む。
【0006】
別の例では、集積回路(IC)は、複数のスキャンチェーンと、複数のスキャンチェーンに結合されるテスト回路とを含む。上記テスト回路は、第1の回路および第2の回路と、上記第1の回路と上記複数のスキャンチェーンとの間に結合され、上記第2の回路と上記複数のスキャンチェーンとの間に結合される、スキャンチェーンルータとを備え、上記スキャンチェーンルータは、イネーブル信号に応答して、(1)上記第1の回路を上記複数のスキャンチェーンの各々に結合するか、または、(2)上記第2の回路を1つ以上の連結されたスキャンチェーンに結合し、各連結されたスキャンチェーンは、上記複数のスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含む。
【0007】
別の例では、複数のスキャンチェーンを有する集積回路(IC)をテストする方法は、自動試験装置(ATE)から1つ以上のテスト信号を受け取ることと、上記1つ以上のテスト信号を解凍することと、上記複数のスキャンチェーンを1つ以上の連結されたスキャンチェーンに連結することとを備え、各連結されたスキャンチェーンは上記複数のスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含み、上記方法はさらに、上記1つ以上のテスト信号の各々を、上記連結されたスキャンチェーンのうちの対応する連結されたスキャンチェーンに結合することと、上記1つ以上の連結されたスキャンチェーンの各々の出力を上記ATEに結合することとを備える。
【0008】
これらおよび他の局面は、以下の詳細な説明を参照して理解することができる。
図面の簡単な説明
上記の特徴を詳細に理解することができるように、いくつかの例を添付の図面に示す実装例を参照することにより、上記で簡潔に要約した、より詳細な説明を得ることができる。ただし、添付の図面は典型的な実装例のみを示すため、その範囲を限定するものと見なされるべきではないことに留意されたい。
【図面の簡単な説明】
【0009】
【
図1】一例による集積回路(IC)を示すブロック図である。
【
図2】一例による
図1のICのスキャンチェーンをより詳細に示すブロック図である。
【
図3】一例によるスキャンチェーンルータを示すブロック図である。
【
図4】本明細書で説明するテスト回路を用いることができるフィールドプログラマブルゲートアレイ(FPGA)を示す。
【
図5】一例に従って
図1のICをテストするためのシステムを示す。
【
図6】一例に従って
図1のICをテストする方法を示すフロー図である。
【発明を実施するための形態】
【0010】
理解を容易にするために、可能な場合、図に共通する同一の要素を示すために同一の参照番号が使用される。一例の要素は他の例に有益に組み込まれ得る。
【0011】
詳細な説明
以下、図面を参照してさまざまな特徴について説明する。図面は縮尺通りに描かれる場合と描かれない場合があり、同様の構造または機能の要素は、図面全体を通して同様の参照番号で表されることに留意されたい。図面は、特徴の説明を容易にすることのみを目的としていることに留意されたい。それらは、クレームされる発明の網羅的な説明として、またはクレームされる発明の範囲に対する制限として意図されるものではない。さらに、示される例は、示されるすべての局面または利点を有する必要はない。特定の例に関連して説明される局面または利点は、必ずしもその例に限定されるものではなく、そのように示されない場合または明示的に説明されない場合でも任意の他の例で実施することができる。
【0012】
集積回路(IC)において動的スキャンチェーン再構成を与える手法について説明する。一例において、ICは、スキャンチェーンルータを有するテスト回路を含む。スキャンチェーンルータは、スキャン関連テストのさまざまなモードに合わせて、IC内のスキャンチェーンをさまざまな長さのチェーンに動的に構成することができる。たとえば、パワーオンロジック組み込み自己テスト(LBIST)モードでは、起動シーケンスを高速化するために、スキャンチェーンをより短くして、実行を高速化する必要があり得る。対照的に、自動試験装置(ATE)を用いる製造スキャンテストでは、LBISTモードで用いられるものよりも長いスキャンチェーンが必要になり得、なぜならば、製造スキャンテストは圧縮比の点で制限されるからである。特定の圧縮比を超えると、自動テストパターン生成(ATPG)を用いてテストパターンを作成するのが、より難しくなる。さらに、製造スキャンテストの場合、より短いスキャンチェーン(LBISTで必要なものなど)により、カバレッジが低下したり、テスト時間が長くなる可能性がある。本明細書の例で説明されるスキャンチェーンルータは、さまざまなアプリケーション(たとえば、LBISTアプリケーションおよび製造スキャンテストアプリケーションの両方)に対して、より長いスキャンチェーンおよびより短いスキャンチェーンの両方をサポートする。これらおよびさらなる局面について、図面を参照して以下で説明する。
【0013】
図1は、一例による集積回路(IC)100を示すブロック図である。IC100は、テスト回路103およびコアロジック110を含む。コアロジック110は、複数のスキャンチェーン108を含む。スキャンチェーン108の各々は、複数の順次結合されたフリップフロップ(「フロップ」)を含む。テスト回路103は、ロジック組み込み自己テスト(LBIST)回路102、スキャン圧縮器/解凍器回路104、およびスキャンチェーンルータ回路(「スキャンチェーンルータ106」)を含む。
【0014】
スキャンチェーンルータ106は、スキャンチェーン108とLBIST回路102との間に結合される。スキャンチェーンルータ106は、スキャンチェーン108とスキャン圧縮器/解凍器回路104との間にも結合される。LBIST回路102は、LBIST出力を与える。スキャン圧縮器/解凍器回路104は、自動試験装置(ATE)入力/出力(「ATE In/Out」)を含む。スキャンチェーンルータ106は、LBISTイネーブル信号(「LBIST enable」)を受け取る入力を含む。
【0015】
動作中、スキャンチェーンルータ106は、スキャンチェーン108を、異なるテストモード用のさまざまな長さのスキャンチェーンに結合する。第1のテストモード(「LBISTモード」)では、スキャンチェーンルータ106は、スキャンチェーン108をより短い長さのスキャンチェーンに結合する。第2のテストモード(「スキャン圧縮器/解凍器モード」)では、スキャンチェーンルータ106は、スキャンチェーン108を、LBISTモードに対して、より長い長さを有するスキャンチェーンに結合する(「連結されたスキャンチェーン109」)。
【0016】
LBISTモードでは、スキャンチェーンルータ106は、LBIST回路102をスキャンチェーン108に結合する。スキャン圧縮器/解凍器モードでは、スキャンチェーンルータ106は、スキャン圧縮器/解凍器回路104をスキャンチェーン108に結合する。ATE装置(
図1には示されていない)は、(例えば、製造中に)スキャン圧縮器/解凍器104のATE入出力に結合されることができる。LBIST回路102のLBIST出力は、直接または別のテスト回路(例えば、ジョイントテストアクショングループ(JTAG)回路のテストアクセスポート(TAP))を介してアクセスされることができる。場合によっては、スキャン圧縮器/解凍器104のATE入出力は、IC100の製造中にのみアクセス可能であり、IC100がパッケージされるとアクセスできない。LBIST回路102のLBIST出力は、製造中およびIC100がパッケージ化された後の両方においてアクセス可能であり得る。
【0017】
LBISTイネーブル信号は、スキャンチェーンルータ106のモードを制御する。LBISTイネーブルがアサートされると、スキャンチェーンルータ106はLBISTモードになる。LBISTイネーブルがデアサートされると、スキャンチェーンルータ106はスキャン圧縮器/解凍器モードになる。一例では、LBISTイネーブルは通常はアサートされ、製造中にはATEテストを実行するようデアサートされることができる。LBISTイネーブルは、IC100がパッケージ化された後は、アクセス可能またはアクセス不可となり得る。
【0018】
図2は、一例によるスキャンチェーン108をより詳細に示すブロック図である。この例では、スキャンチェーン108は、別個のスキャンチェーン108
1...108
Mを含み、Mは1より大きい整数である。各スキャンチェーン108
x(x∈[1...K])は、複数のフロップ202を含む。各スキャンチェーン108
xの(最後のフロップ以外の)フロップ202は、出力から入力に順次結合される。スキャンチェーン108
xの最初のフロップ202の入力、およびスキャンチェーン108
xの最後のフロップ202の出力は、スキャンチェーンルータ106に結合される。
【0019】
スキャンチェーンルータ106は、LBIST回路102に結合されるMビット入力206と、LBIST回路102に結合されるMビット出力208とを含む。LBISTモードでは、Mビット入力206は、M個のスキャンチェーン1081...108Mの各々に対する入力テスト信号を含む。Mビット出力208は、M個のスキャンチェーン1081...108Mの各々からの出力テスト信号を含む。スキャンチェーンルータ106は、入力206上のM個のテスト信号を、それぞれ、M個のスキャンチェーン1081...108Mの入力に渡す。スキャンチェーンルータ106は、スキャンチェーン1081...108MのM個の出力を、それぞれ、出力208上でM個の出力テスト信号として渡す。
【0020】
スキャンチェーンルータ106は、スキャン解凍器/圧縮器回路104の解凍器104Dに結合されるNビット入力210を含む。スキャンチェーンルータ106は、スキャン解凍器/圧縮器回路104の圧縮器104Cに結合されるNビット出力212を含む。一般に、NはMより小さい整数である。スキャン圧縮器/解凍器モードでは、Nビット入力210は、N個の連結されたスキャンチェーン109の各々に対する入力テスト信号を含む。Nビット出力212は、N個の連結されたスキャンチェーン109の各々についての出力テスト信号を含む。スキャンチェーンルータ106は、複数のスキャンチェーン108を連結してN個の連結されたスキャンチェーン109の各々を形成するように構成される。たとえば、N=M/2(たとえば、M対Nの比が2)を考える。ここで、Mは0より大きい偶数の整数である。そのような例では、スキャンチェーンルータ106は、スキャンチェーン108の対を連結して、個々のスキャンチェーン108xの2倍の長さの連結されたスキャンチェーン109を形成する。MのNに対する比率は、2より大きい他の整数とすることができる(たとえば、3つ以上のスキャンチェーン108を連結して、連結されたスキャンチェーンにすることができる)。さらに、各連結されたスキャンチェーンの長さが同じである必要はない。
【0021】
図3は、一例によるスキャンチェーンルータ106を示すブロック図である。スキャンチェーンルータ106は、バイパスルータ回路302とチェーン連結回路304とを含む。この例では、M=4およびN=2と仮定する。バイパスルータ回路302は、LBIST回路102の出力208および入力206に結合される。この例では、LBIST回路102の出力208は4つの信号(「frmLBIST[3:0]」)を含む。同様に、LBIST回路102の入力206は、4つの信号(「toLIBST[3:0]」)を含む。バイパスルータ回路302は、出力306および入力308を含む。出力306は、4つの信号(「toChain[3:0])を与える4つの出力306
0...306
3(
図3において左から右へ)を含む。同様に、入力308は、4つの信号(「frmChain[3:0]」)を与える4つの入力308
0...308
3(
図3において左から右へ)を含む。出力306の4つの信号は、それぞれ、4つのスキャンチェーン108
1...108
4の入力に結合される。入力308の4つの信号は、それぞれ、スキャンチェーン108
1...108
4の出力から受け取られる。
【0022】
チェーン連結回路304は、解凍器104Dの出力210および圧縮器104Cの入力212に結合される。この例では、出力210は2つの信号(「frmDecomp[1:0]」)を含む。同様に、入力212は2つの信号(「toComp[1:0]」)を含む。この例では、チェーン連結回路304は、信号frmDecomp[0]を出力3060に、信号frmDecomp[1]を出力3062に結合する。チェーン連結回路304は、入力3080を出力3061に結合する。チェーン連結回路304は、入力3082を出力3063に結合する。チェーン連結回路304は、入力3081から信号toComp[0]を、および入力3083から信号toComp[1]を与える。
【0023】
動作中、LBISTイネーブル信号がアサートされると、バイパスルータ回路302が有効になり、チェーン連結回路304が無効になる。バイパスルータ回路302は、信号frmLBIST[3:0]をスキャンチェーン1081...1084の入力に渡す。バイパスルータ回路302は、スキャンチェーン1081...1084から出力された信号を信号toLBIST[3:0]として渡す。LBISTイネーブル信号がデアサートされると、バイパスルータ回路302は無効になり、チェーン連結回路304は有効になる。そのような場合、チェーン連結回路304は、スキャンチェーン1081および1082を単一の連結されたチェーン109に連結する。同様に、チェーン連結回路304は、スキャンチェーン1083および1084を単一の連結されたチェーン109に連結する。
【0024】
図3の例は、5つ以上のスキャンチェーン108をサポートするように拡張することができる。さらに、チェーン連結回路304は、3つ以上のスキャンチェーン108を連結して、各連結されたスキャンチェーンを形成することができる。したがって、各連結されたスキャンチェーンは、各個々のスキャンチェーン108よりも2倍、3倍、またはそれ以上長くなり得る。
【0025】
上述のテスト回路103は、フィールドプログラマブルゲートアレイ(FPGA)または同様のタイプのプログラマブル回路などの集積回路内に実装することができる。
図4は、多数の異なるプログラマブルタイルを含むフィールド・プログラマブル・ゲート・アレイ(FPGA)400のアーキテクチャを示し、これらのプログラマブルタイルは、マルチギガビットトランシーバ(「MGT」)1、コンフィギュラブル論理ブロック(「CLB」)2、ランダムアクセスメモリブロック(「BRAM」)3、入力/出力ブロック(「IOB」)4、コンフィギュレーションおよびクロッキング論理(「CONFIG/CLOCKS」)5、デジタル信号処理ブロック(「DSP」)6、特殊入力/出力ブロック(「I/O」)7(たとえば、コンフィギュレーションポートおよびクロックポート)、ならびにデジタルクロックマネージャ、アナログデジタル変換器、システムモニタリング論理などの他のプログラマブル論理8などを含む。いくつかのFPGAは、専用プロセッサブロック(「PROC」)10も含む。FPGA400は、プログラマブルロジック全体にわたって配置されるスキャンチェーン108を含むことができる。テスト回路103は上記のようにスキャンチェーン108に結合される。
【0026】
いくつかのFPGAでは、各プログラマブルタイルは、
図4の上部に含まれる例によって示されるように、同一のタイル内のプログラマブル論理要素の入力および出力端子20への接続を有する少なくとも1つのプログラマブル相互接続要素(「INT」)11を含み得る。各プログラマブル相互接続要素11は、同一のタイルまたは他のタイルにおける隣接するプログラマブル相互接続要素の相互接続セグメント22への接続も含み得る。各プログラマブル相互接続要素11は、論理ブロック(図示せず)間に一般的なルーティングリソースの相互接続セグメント24への接続も含み得る。一般的なルーティングリソースは、相互接続セグメント(たとえば、相互接続セグメント24)のトラックを備える論理ブロック(図示せず)と相互接続セグメントを接続するためのスイッチブロック(図示せず)との間にルーティングチャネルを含み得る。一般的なルーティングリソースの相互接続セグメント(たとえば、相互接続セグメント24)は、1つ以上の論理ブロックにまたがっていてもよい。プログラマブル相互接続要素11は、一般的なルーティングリソースとともに、示されているFPGAのためのプログラマブル相互接続構造(「プログラマブル相互接続」)を実現する。
【0027】
例示的な実現例では、CLB2は、ユーザ論理+単一のプログラマブル相互接続要素(「INT」)11を実現するようにプログラム可能なコンフィギュラブル論理要素(「CLE」)12を含み得る。BRAM3は、1つ以上のプログラマブル相互接続要素に加えて、BRAM論理要素(「BRL」)13を含み得る。典型的には、タイルに含まれる相互接続要素の数は、タイルの高さに左右される。示されている例では、BRAMタイルは、5個のCLBと同じ高さを有するが、他の数(たとえば、4個)も使用されてもよい。DSPタイル6は、適切な数のプログラマブル相互接続要素に加えて、DSP論理要素(「DSPL」)14を含み得る。IOB4は、たとえば、プログラマブル相互接続要素11の1つのインスタンスに加えて、入力/出力論理要素(「IOL」)15の2つのインスタンスを含み得る。当業者に明らかであるように、たとえばI/O論理要素15に接続された実際のI/Oパッドは、典型的には、入力/出力論理要素15の領域に限定されるものではない。
【0028】
示されている例では、(
図4に示される)ダイの中央付近の水平領域は、コンフィギュレーション、クロックおよび他の制御論理に使用される。この水平領域または列から延在する垂直な列9は、FPGAの幅にわたってクロックおよびコンフィギュレーション信号を分布させるのに使用される。
【0029】
図4に示されるアーキテクチャを利用するいくつかのFPGAは、FPGAの大部分を構成する規則的な列状構造を破壊するさらなる論理ブロックを含む。さらなる論理ブロックは、プログラマブルブロックおよび/または専用論理であってもよい。たとえば、プロセッサブロック10は、CLBおよびBRAMのいくつかの列にまたがっている。プロセッサブロック10は、単一のマイクロプロセッサからマイクロプロセッサ、メモリコントローラ、周辺装置などの完全なプログラマブル処理システムに及ぶさまざまな構成要素を含み得る。
【0030】
なお、
図4は、例示的なFPGAアーキテクチャを示すよう意図されているに過ぎない。たとえば、一行における論理ブロックの数、行の相対幅、行の数および順序、行に含まれる論理ブロックのタイプ、論理ブロックの相対サイズ、ならびに
図1の上部に含まれる相互接続/論理実現例は、純粋に例示である。たとえば、実際のFPGAでは、ユーザ論理の効率的な実現を容易にするために、典型的には、CLBが現れるところはどこでもCLBの2つ以上の隣接する行が含まれるが、隣接するCLB行の数は、FPGAの全体サイズによって変わる。
【0031】
図5および
図6は、一例によるIC100をテストするためのシステムおよび方法を示す。
図5に示すように、IC100はATE502に結合することができる。ATE502は、スキャン圧縮器/解凍器回路104のATE入出力に結合される。
【0032】
図6は、一例に従ってIC100をテストする方法600を示す。方法600はステップ602で始まり、スキャンチェーンルータ106は、スキャンチェーン108を連結して、連結されたスキャンチェーン109を形成する。一例では、スキャンチェーンルータ106は、イネーブル信号(例えば、上述のLBISTイネーブル信号などの静的イネーブル信号)に応答して連結を実行する。静的イネーブル信号は、チェーン連結回路304を有効にし、バイパスルータ回路302を無効にする。
【0033】
ステップ604で、解凍器104Dは、ATE502からテスト信号を受け取る。ステップ606で、解凍器104Dはテスト信号を解凍する。ステップ608で、スキャンチェーンルータ106は、テスト信号を、連結されたスキャンチェーン109の入力に結合する。ステップ610で、スキャンチェーンルータ106は、連結されたスキャンチェーン109の出力を圧縮器104Cに結合し、圧縮器104Cは出力を圧縮する。ステップ612で、圧縮器104CはATE502に出力を与える。
【0034】
一例では、複数のスキャンチェーンを有する集積回路(IC)用のテスト回路が提供され得る。そのような回路は、第1の回路および第2の回路と、上記第1の回路と上記複数のスキャンチェーンとの間に結合され、上記第2の回路と上記複数のスキャンチェーンとの間に結合される、スキャンチェーンルータとを備えてもよく、上記スキャンチェーンルータは、イネーブル信号に応答して、(1)上記第1の回路を上記複数のスキャンチェーンの各々に結合するか、または、(2)上記第2の回路を1つ以上の連結されたスキャンチェーンに結合し、各連結されたスキャンチェーンは、上記複数のスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含む。
【0035】
そのようなテスト回路において、上記第1の回路は、ロジック組み込み自己テスト(LBIST)回路を含んでもよく、上記第2の回路は、スキャン圧縮器/解凍器回路を含んでもよい。
【0036】
そのようなテスト回路において、上記スキャン圧縮器/解凍器回路は、自動試験装置(ATE)と上記スキャンチェーンルータとの間にインターフェースを与えてもよい。
【0037】
そのようなテスト回路において、上記複数のスキャンチェーンの各々は、上記ICのコアロジックに配置される複数の順次結合されたフリップフロップを含んでもよい。
【0038】
そのようなテスト回路において、スキャンチェーンルータは、上記第1の回路と上記複数のスキャンチェーンとの間に結合されるバイパスルータ回路と、上記第2の回路と上記複数のスキャンチェーンとの間に結合されるチェーン連結回路とを含んでもよい。
【0039】
そのようなテスト回路において、上記第1の回路は、複数の出力信号を有する出力と、複数の入力信号を有する入力とを含んでもよく、上記バイパスルータ回路は、上記複数の出力信号の各々を上記複数のスキャンチェーンのうちの対応するスキャンチェーンに結合し、上記複数の入力信号の各々を上記複数のスキャンチェーンのうちの対応するスキャンチェーンから受け取るよう構成されてもよい。
【0040】
そのようなテスト回路において、上記第2の回路は、1つ以上の出力信号を有する出力と、1つ以上の入力信号を有する入力とを含んでもよく、上記チェーン連結回路は、上記1つ以上の出力信号の各々を上記1つ以上の連結されたスキャンチェーンのうちの対応する連結されたスキャンチェーンに結合し、上記1つ以上の入力信号の各々を上記連結されたスキャンチェーンのうちの対応する1つ以上から受け取るように構成されてもよい。
【0041】
そのようなテスト回路において、上記第2の回路は、上記1つ以上の出力信号を有する出力を含む解凍器と、上記1つ以上の入力信号を有する入力を含む圧縮器とを含んでもよい。
【0042】
別の例において、集積回路(IC)が提供されてもよい。そのようなICは、複数のスキャンチェーンと、上記複数のスキャンチェーンに結合されるテスト回路とを備えてもよく、上記テスト回路は、第1の回路および第2の回路と、上記第1の回路と上記複数のスキャンチェーンとの間に結合され、上記第2の回路と上記複数のスキャンチェーンとの間に結合される、スキャンチェーンルータとを含み、上記スキャンチェーンルータは、イネーブル信号に応答して、(1)上記第1の回路を上記複数のスキャンチェーンの各々に結合するか、または、(2)上記第2の回路を1つ以上の連結されたスキャンチェーンに結合し、各連結されたスキャンチェーンは、上記複数のスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含む。
【0043】
あるそのようなICにおいて、上記第1の回路は、ロジック組み込み自己テスト(LBIST)回路を含んでもよく、上記第2の回路は、スキャン圧縮器/解凍器回路を含んでもよい。
【0044】
あるそのようなICにおいて、上記スキャン圧縮器/解凍器回路は、自動試験装置(ATE)と上記スキャンチェーンルータとの間にインターフェースを与えてもよい。
【0045】
あるそのようなICにおいて、上記複数のスキャンチェーンの各々は、上記ICのコアロジックに配置される複数の順次結合されたフリップフロップを含んでもよい。
【0046】
あるそのようなICにおいて、上記スキャンチェーンルータは、上記第1の回路と上記複数のスキャンチェーンとの間に結合されるバイパスルータ回路と、上記第2の回路と上記複数のスキャンチェーンとの間に結合されるチェーン連結回路とを含んでもよい。
【0047】
あるそのようなICにおいて、上記第1の回路は、複数の出力信号を有する出力と、複数の入力信号を有する入力とを含んでもよく、上記バイパスルータ回路は、上記複数の出力信号の各々を上記複数のスキャンチェーンのうちの対応するスキャンチェーンに結合し、上記複数の入力信号の各々を上記複数のスキャンチェーンのうちの対応するスキャンチェーンから受け取るように構成されてもよい。
【0048】
あるそのようなICにおいて、上記第2の回路は、1つ以上の出力信号を有する出力と、1つ以上の入力信号を有する入力とを含んでもよく、上記チェーン連結回路は、上記1つ以上の出力信号の各々を上記1つ以上の連結されたスキャンチェーンのうちの対応する連結されたスキャンチェーンに結合し、上記1つ以上の入力信号の各々を上記連結されたスキャンチェーンのうちの対応する1つ以上から受け取るように構成されてもよい。
【0049】
あるそのようなICにおいて、上記第2の回路は、上記1つ以上の出力信号を有する出力を含む解凍器と、上記1つ以上の入力信号を有する入力を含む圧縮器とを含んでもよい。
【0050】
別の例では、複数のスキャンチェーンを有する集積回路(IC)をテストする方法が提供されてもよい。そのような方法は、上記複数のスキャンチェーンを1つ以上の連結されたスキャンチェーンに連結することを備えてもよく、各連結されたスキャンチェーンは上記複数のスキャンチェーンのうちの2つ以上のスキャンチェーンの連結を含み、上記方法はさらに、自動試験装置(ATE)から1つ以上のテスト信号を受け取ることと、上記1つ以上のテスト信号を解凍することと、上記1つ以上のテスト信号の各々を、上記連結されたスキャンチェーンのうちの対応する連結されたスキャンチェーンに結合することと、上記1つ以上の連結されたスキャンチェーンの各々の出力を上記ATEに結合することとを備えてもよい。
【0051】
そのような方法はさらに、上記連結するステップを実行するようスキャンチェーンルータに結合されるイネーブル信号を制御することをさらに備えてもよい。
【0052】
あるそのような方法において、上記制御するステップは、チェーン連結回路を有効にして上記連結するステップを実行することと、バイパスルータ回路を無効にすることとを含んでもよい。
【0053】
あるそのような方法において、上記バイパスルータ回路は、ロジック組み込み自己テスト(LBIST)回路と上記複数のスキャンチェーンとの間に結合されてもよい。
【0054】
上記は特定の例に向けられているが、他のさらなる例がその基本的な範囲から逸脱することなく考案されてもよく、その範囲は以下の特許請求の範囲によって決定される。