(58)【調査した分野】(Int.Cl.,DB名)
スキャンクロックを受け、前記スキャンクロックの分周及び位相調整を行い、異なるN(≧2)種類の分周数N以下の分周スキャンクロックを生成する分周クロック生成部と、
それぞれ同数のスキャンフリップフロップを含み、シリアルに入力されるデータを、前記N種類の前記分周スキャンクロックで異なるタイミングで取り込み、N並列化してシフト動作を行うN本のスキャンチェーンと、
前記N本のスキャンチェーンの出力を、1つずつ選択してシリアルデータとして出力する選択回路と、
を有し、
前記スキャンフリップフロップは一列に配列されており、N−1個おきに接続されることで、前記N本のスキャンチェーンが形成されている、
ことを特徴とする半導体集積回路。
前記分周クロック生成部は、前記N本のスキャンチェーンの最前段のN個のスキャンフリップフロップが、シリアルに入力されるN個のデータを、順番に取り込めるように位相調整された前記N種類の前記分周スキャンクロックを生成する、ことを特徴とする請求項1に記載の半導体集積回路。
前記分周クロック生成部は、前記選択回路に前記N本のスキャンチェーンの最後段のN個のスキャンフリップフロップの出力を順に選択して出力させる選択信号を生成し、前記選択回路に供給する、ことを特徴とする請求項1または2に記載の半導体集積回路。
【発明を実施するための形態】
【0009】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の半導体集積回路の一例を示す図である。
【0010】
半導体集積回路1は、組み合わせ回路2、分周クロック生成部3、スキャンFF4−1,4−2,4−3,4−4,4−5,4−6を含む2本のスキャンチェーン5−1,5−2を有している。
【0011】
分周クロック生成部3は、端子P4を介して半導体集積回路1に入力されるスキャンクロックSCKを受ける。そして、分周クロック生成部3は、スキャンクロックSCKの分周及び位相調整を行い、異なる2種類の分周スキャンクロックSCK1,SCK2を生成する。
【0012】
たとえば、分周スキャンクロックSCK2は、スキャンクロックSCKを2分周したものであり、分周スキャンクロックSCK1は、スキャンクロックSCKを2分周し、さらに位相調整を行ったものである。
【0013】
スキャンチェーン5−1,5−2はそれぞれ同数のスキャンFFを含む。
図1の例では、スキャンチェーン5−1は、スキャンFF4−1,4−3,4−5を含み、スキャンチェーン5−2は、スキャンFF4−2,4−4,4−6を含む。
【0014】
本実施の形態において、スキャンFF4−1〜4−6は、一列に配列されており、1つおきに出力端子Qと、スキャンイン端子SINが接続されることにより、2本のスキャンチェーン5−1,5−2が形成されている。なお、各スキャンチェーン5−1,5−2の最前段のスキャンFF4−1,4−2のスキャンイン端子SINには、端子P2を介して半導体集積回路1に入力されるテストパターンであるシリアルデータSDIが入力される。また、スキャンFF4−1〜4−5の出力端子Qは、組み合せ回路2にも接続されており、各スキャンチェーン5−1,5−2の最後段のスキャンFF4−5,4−6の出力端子Qは、選択回路6に接続されている。
【0015】
スキャンチェーン5−1,5−2は、シリアルデータSDIを、前述の2種類の分周スキャンクロックSCK1,SCK2で、異なるタイミングで取り込み、2並列化してシフト動作を行う。スキャンチェーン5−1のスキャンFF4−1,4−3,4−5のクロック端子CKには、分周スキャンクロックSCK1が入力されている。スキャンチェーン5−2のスキャンFF4−2,4−4,4−6には、分周スキャンクロックSCK2が入力されている。
【0016】
なお、スキャンFF4−1のデータ入力端子Dには、端子P1から通常の動作モードのときに使用されるデータが入力される。スキャンFF4−2〜4−6のデータ入力端子Dは、組み合わせ回路2に接続されており、組み合わせ回路2からのデータが入力される。スキャンFF4−1〜4−6のシフトイネーブル端子Sには、端子P3からシフト動作を有効にするか否かを示すシフトイネーブル信号が入力される。スキャンシフト動作が有効のときは、スキャンイン端子SINに入力されるデータが選択され、データ入力端子Dに入力されるデータは選択されない。
【0017】
選択回路6は、上記2本のスキャンチェーン5−1,5−2の出力を、1つずつ選択して、シリアルデータSDOとして端子P5を介して出力する。本実施の形態の例では、選択回路6は、選択信号として、分周スキャンクロックSCK2を用いている。
【0018】
以下、第1の実施の形態の半導体集積回路1のスキャン試験時のシフト動作の一例を説明する。
スキャン試験シフト動作時には、シフトイネーブル信号が有効となり、スキャンFF4−1〜4−6内にある図示しないセレクタは、スキャンイン端子SINに入力されるデータを取り込むように選択する。
【0019】
端子P4からスキャンクロックSCKが入力されると、分周クロック生成部3は、スキャンクロックSCKの分周及び位相調整を行い、異なる2つの分周スキャンクロックSCK1,SCK2を生成する。たとえば、分周クロック生成部3は、スキャンクロックSCKを2つに分け、2分周し遅延するなどして位相を調整する。本実施の形態の半導体集積回路1の例では、分周スキャンクロックSCK1は、スキャンFF4−1が、奇数番目のデータd1,d3,d5…を取り込めるように位相調整されている。また、分周スキャンクロックSCK2は、スキャンFF4−2が、偶数番目のデータd2,d4…を取り込めるように位相調整されている(位相調整方法の例については後述する)。
【0020】
そして、分周スキャンクロックSCK1の立ち上がり(または立ち下がり)に同期して、スキャンチェーン5−1の最前段のスキャンFF4−1が、シリアルデータSDIのうち、奇数番目のデータd1,d3,d5…を順に取り込む。そして、それらのデータが、次の分周スキャンクロックSCK1の立ち上がり(または立ち下がり)に同期して、スキャンチェーン5−1の後段のスキャンFF4−3,4−5にシフトしていく。
【0021】
一方、分周スキャンクロックSCK2の立ち上がり(または立ち下がり)に同期して、スキャンチェーン5−2の最前段のスキャンFF4−2が、シリアルデータSDIのうち、偶数番目のデータd2,d4…を順に取り込む。そして、それらのデータが、次の分周スキャンクロックSCK2の立ち上がり(または立ち下がり)に同期して、スキャンチェーン5−2の後段のスキャンFF4−4,4−6にシフトしていく。
【0022】
選択回路6は、スキャンFF4−5,4−6の出力を受ける。そして選択回路6は、選択信号である分周スキャンクロックSCK2の立ち上がり(または立ち下がり)に同期して、スキャンFF4−5,4−6の出力を交互に選択して、シリアルデータSDOとして端子P5を介して出力する。
【0023】
以上のような、半導体集積回路1によれば、高速なスキャンクロックSCKが入力されてもそれが分周/位相調整され、2種類の分周スキャンクロックSCK1,SCK2が生成される。そして、半導体集積回路1は、シリアルデータSDIをそのクロックで2並列化して2本のスキャンチェーン5−1,5−2でシフトし、シフト動作後にシリアルに戻す。これにより、性能を落とさずに、消費電力を削減できる。
【0024】
そのため、スキャンシフト動作時のスキャンクロックを高速化しても、チップ温度の上昇が抑えられ、歩留まりの安定が期待できる。また、消費電力の増大を抑えつつスキャンクロックを高速化できるため、試験時間が短縮され、試験コストが削減される。
【0025】
また、分周クロック生成部3は、上記のように位相調整した分周クロックSCK1,SCK2を生成し、選択信号により、選択回路6に、スキャンFF4−5,4−6の出力を交互に選択させる。これにより、1本のスキャンチェーンでスキャンシフト動作を行ったときと同じスキャンアウト期待値が得られる。
【0026】
また、一列に配列されたスキャンFF4−1〜4−6を、1つおきに接続して2本のスキャンチェーンを形成していることで、1本のスキャンチェーンでスキャンシフト動作を行ったときと同じスキャンアウト期待値が容易に得られる。また、1本のスキャンチェーンでスキャンシフト動作を行う場合とスキャンFFの配置を同じにでき、配線の接続先を変えるだけで、容易に並列化することができる。
【0027】
なお、上記の説明では、スキャンチェーン5−1,5−2に含まれるスキャンFFの数を3つとしたが、2つでも、4つ以上であってもよい。
また、上記の説明では、スキャンクロックを分周/位相調整して2種類の分周スキャンクロックを生成し、シリアルデータをそのクロックで2並列化して2本のスキャンチェーンでシフトする場合について説明したが、これに限定されない。スキャンクロックを分周/位相調整してN(≧3)種類の、分周数がN以下の分周スキャンクロックを生成し、シリアルデータをそのクロックでN並列化してN本のスキャンチェーンでシフトするようにしてもよい。
【0028】
(第2の実施の形態)
図2は、第2の実施の形態の半導体集積回路の一例を示す図である。
図1に示した第1の実施の形態と同様の要素については同一符号を付し、説明を省略する。
【0029】
第2の実施の形態の半導体集積回路1aも、
図1に示した半導体集積回路1と同様に、2本のスキャンチェーン5−1,5−2を有している。
また、第2の実施の形態の半導体集積回路1aは、以下のような分周クロック生成部3aを有している。
【0030】
分周クロック生成部3aは、分周器10,11、インバータ回路12、セレクタ13,14を有している。
分周器10は、端子P4を介して半導体集積回路1aに入力されるスキャンクロックSCKを2分周する。分周器11は、端子P4を介して半導体集積回路1aに入力され、インバータ回路12で論理レベルが反転されたスキャンクロックSCKを2分周する。このように、本実施の形態では、インバータ回路12によって位相調整が行われている。
【0031】
セレクタ13は、端子P6から入力されるスキャンモード信号に応じて、スキャンクロックSCKか、分周器10の出力の何れかを選択して、スキャンFF4−2,4−4,4−6に供給するクロック、選択回路6に供給する選択信号として出力する。
【0032】
セレクタ14は、端子P6から入力されるスキャンモード信号に応じて、スキャンクロックSCKか、分周器11の出力の何れかを選択して、スキャンFF4−1,4−3,4−5に供給するクロックとして出力する。
【0033】
スキャンモード信号は、分周及び位相調整を有効または無効にするか指示する信号である。スキャンモード信号が、分周及び位相調整の無効を指示するときには、分周スキャンクロックではなく、端子P5から入力されるクロックが、分周クロック生成部3aから出力される。たとえば、スキャン試験シフト動作時ではないときには、このクロックが用いられる。
【0034】
以下、第2の実施の形態の半導体集積回路1aの動作の一例を説明する。
図3は、シフトモードでのスキャン試験時の第2の実施の形態の半導体集積回路の一例の動作を示すタイミングチャートである。
【0035】
図3では、スキャンクロックSCK、半導体集積回路1aに端子P2を介して入力されるシリアルデータSDIの他、スキャンFF4−1〜4−6の入力クロック(分周スキャンクロックSCK1,SCK2)の一例の様子が示されている。さらに、スキャンFF4−1〜4−6の出力、選択信号(分周スキャンクロックSCK2)、選択回路6の2つの入力(入力A,入力B)、選択回路6の出力の一例の様子が示されている。なお、選択回路6の入力Aは、スキャンFF4−5の出力であり、選択回路6の入力Bは、スキャンFF4−6の出力である。
【0036】
シリアルデータSDIは、スキャンクロックSCKに同期して、データd1,d2,d3,d4,d5,d6…の順で半導体集積回路1aに入力される。
タイミングt1で、スキャンFF4−1の入力クロック(分周スキャンクロックSCK1)が、H(High)レベルに立ち上がっている。この立ち上がりタイミングに同期して、その時点でスキャンFF4−1のスキャンイン端子SINに供給されているシリアルデータSDIのデータd1が、スキャンFF4−1に取り込まれ、出力される。
【0037】
一方、タイミングt2で、スキャンFF4−2の入力クロック(分周スキャンクロックSCK2)が、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、その時点でスキャンFF4−2のスキャンイン端子SINに供給されているシリアルデータSDIのデータd2が、スキャンFF4−2に取り込まれ、出力される。
【0038】
タイミングt3で、スキャンFF4−3の入力クロック(分周スキャンクロックSCK1)が、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−1の出力であるデータd1が、スキャンFF4−3に取り込まれ、出力される。
【0039】
また、タイミングt3では、スキャンFF4−1の入力クロック(分周スキャンクロックSCK1)も、Hレベルに立ち上がっている。これにより、その時点でスキャンFF4−1のスキャンイン端子SINに供給されているデータd3が、スキャンFF4−1に取り込まれ、出力される。
【0040】
タイミングt4で、スキャンFF4−4の入力クロック(分周スキャンクロックSCK2)が、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−2の出力であるデータd2が、スキャンFF4−4に取り込まれ、出力される。
【0041】
また、タイミングt4では、スキャンFF4−2の入力クロック(分周スキャンクロックSCK2)も、Hレベルに立ち上がっている。これにより、その時点でスキャンFF4−2のスキャンイン端子SINに供給されているデータd4が、スキャンFF4−2に取り込まれ、出力される。
【0042】
タイミングt5で、スキャンFF4−5の入力クロック(分周スキャンクロックSCK1)が、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−3の出力であるデータd1が、スキャンFF4−5に取り込まれ、出力される。これにより、選択回路6の入力Aは、データd1となる。そして、選択回路6は、選択信号(分周スキャンクロックSCK2)がL(Low)レベルになるタイミングt6で、入力A、すなわちデータd1を選択して出力する。
【0043】
また、スキャンFF4−1は、タイミングt5の時点でスキャンイン端子SINに供給されているデータd5を取り込み、出力する。また、スキャンFF4−3は、タイミングt5の時点でスキャンFF4−1から出力されているデータd3を取り込み出力する。
【0044】
タイミングt7で、スキャンFF4−6の入力クロック(分周スキャンクロックSCK2)が、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−4の出力であるデータd2が、スキャンFF4−6に取り込まれ、出力される。これにより、選択回路6の入力Bは、データd2となる。また、タイミングt7では、選択信号(分周スキャンクロックSCK2)がHレベルになっており、選択回路6は、入力B、すなわちデータd2を選択して出力する。
【0045】
また、スキャンFF4−2は、タイミングt7の時点でスキャンイン端子SINに供給されているデータd6を取り込み、出力する。また、スキャンFF4−4は、タイミングt7の時点でスキャンFF4−2から出力されているデータd4を取り込み出力する。
【0046】
以下、同様のスキャンシフト動作が行われ、選択回路6からは、データd3,d4,d5,d6…が順に出力される。
以上のような、分周クロック生成部3aを用いることで、半導体集積回路1aは、第1の実施の形態で説明した半導体集積回路1と同様の効果が得られる。
【0047】
次に、比較例として、スキャンFF4−1〜4−4を直列に接続し、1本のスキャンチェーンを形成した半導体集積回路の例を示す。
(比較例)
図4は、1本のスキャンチェーンを形成した半導体集積回路の一例を示す図である。
図1及び
図2に示した半導体集積回路1,1aと同じ要素については同一符号を付している。
【0048】
半導体集積回路1bにおいて、スキャンFF4−1のスキャンイン端子SINは、シリアルデータが入力される端子P2に接続されている。スキャンFF4−2〜4−6のスキャンイン端子SINは、前段のスキャンFF4−1〜4−5の出力端子Qに接続されており、1本のスキャンチェーンが形成されている。また、各スキャンFF4−1〜4−6のクロック端子CKには、端子P4から、同じスキャンクロックが分周されることなく入力されている。
【0049】
以下、半導体集積回路1bのスキャン試験シフト動作時の動作の一例を説明する。
図5は、1本のスキャンチェーンを有する半導体集積回路のシフトモードでのスキャン試験時の一例の動作を示すタイミングチャートである。
【0050】
図5では、スキャンクロックSCK、半導体集積回路1bに端子P2を介して入力されるシリアルデータSDIの他、スキャンFF4−1〜4−6の入力クロック(スキャンクロックSCK)の一例の様子が示されている。さらに、スキャンFF4−1〜4−6の出力の一例の様子が示されている。
【0051】
シリアルデータSDIは、スキャンクロックSCKに同期して、データd1,d2,d3,d4,d5,d6…の順で半導体集積回路1bに入力される。
タイミングt10で、スキャンFF4−1の入力クロック(スキャンクロックSCK)が、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、その時点でスキャンFF4−1のスキャンイン端子SINに供給されているシリアルデータSDIのデータd1が、スキャンFF4−1に取り込まれ、出力される。
【0052】
タイミングt11での、スキャンFF4−2の入力クロック(スキャンクロックSCK)のHレベルへの立ち上がりに同期して、スキャンFF4−1の出力であるデータd1が、スキャンFF4−2に取り込まれ、出力される。
【0053】
以下、同様のスキャンシフト動作が行われ、タイミングt12から、スキャンクロックSCKの立ち上がりに同期して、最後段のスキャンFF4−6からデータd1,d2,d3,d4,d5,d6…が順に出力され、端子P5から出力される。
【0054】
このような半導体集積回路1bでは、各スキャンFF4−1〜FF4−6は、同じスキャンクロックSCKで動作するため、スキャンクロックSCKの周波数が高くなると、消費電力が増大する。これに対して、第2の実施の形態の半導体集積回路1aでは、
図3に示したように、スキャンクロックSCKを2分周した分周スキャンクロックSCK1,SCK2でスキャンFF4−1〜4−6を動作できるので、消費電力の増大を抑えられる。
【0055】
また、
図5に示される半導体集積回路1bの動作では、データd1が、スキャンチェーンの最前段のスキャンFF4−1に取り込まれてから、端子P5から出力されるまで(t10〜t12)、スキャンクロックSCKの5周期分かかっている。
【0056】
これに対し
図3に示される半導体集積回路1aの動作では、データd1が、スキャンチェーン5−1の最前段のスキャンFF4−1に取り込まれてから、端子P5から出力されるまで(t1〜t6)、スキャンクロックSCKの4.5周期分で済んでいる。
【0057】
つまり、スキャンFF4−1〜4−6に供給するスキャンクロックを2分周しても、スキャンチェーンを並列化し、
図3に示したようなタイミングで、データをシフトするようにしたことで、シフトモードでのスキャン試験の試験速度も上げられるようになる。
【0058】
(第3の実施の形態)
第3の実施の形態の半導体集積回路は、スキャンクロックを分周/位相調整して4種類の分周スキャンクロックを生成し、シリアルデータをそのクロックで4並列化して4本のスキャンチェーンでシフトするものである。
【0059】
図6は、第3の実施の形態の半導体集積回路の一例を示す図である。
図2に示した第2の実施の形態の半導体集積回路1aと同様の要素については同一符号を付し、説明を省略する。
【0060】
第3の実施の形態の半導体集積回路1cにおいて、分周クロック生成部3cは、スキャンクロックSCKを4分周/位相調整し、4種類の異なる分周スキャンクロックを生成する。
【0061】
分周クロック生成部3cは、4分周クロック生成カウンタ20,21、インバータ回路22,23,24、セレクタ25,26,27,28を有している。
4分周クロック生成カウンタ20は、端子P4を介して半導体集積回路1cに入力されるスキャンクロックSCKを、4分周する。4分周クロック生成カウンタ20は、たとえば、2つのFFを含む2ビットカウンタである。初期値は“00”である。また、4分周クロック生成カウンタ20は、2ビットのカウント値cntを、選択信号として選択回路6cに供給する。
【0062】
4分周クロック生成カウンタ21は、端子P4を介して半導体集積回路1cに入力され、インバータ回路22で論理レベルが反転されたスキャンクロックSCKを、4分周する。なお、4分周クロック生成カウンタ21も、たとえば、2つのFFを含む2ビットカウンタであり、初期値は“00”である。
【0063】
セレクタ25は、端子P6から入力されるスキャンモード信号に応じて、スキャンクロックSCKか、4分周クロック生成カウンタ20の出力の何れかを選択して、スキャンFF4−2,4−6に供給するクロックとして出力する。
【0064】
セレクタ26は、スキャンモード信号に応じて、スキャンクロックSCKか、インバータ回路23で論理レベルを反転した4分周クロック生成カウンタ20の出力の何れかを選択して、スキャンFF4−4,4−8に供給するクロックとして出力する。
【0065】
セレクタ27は、スキャンモード信号に応じて、スキャンクロックSCKか、インバータ回路24で論理レベルを反転した4分周クロック生成カウンタ21の出力の何れかを選択して、スキャンFF4−1,4−5に供給するクロックとして出力する。
【0066】
セレクタ28は、スキャンモード信号に応じて、スキャンクロックSCKか、4分周クロック生成カウンタ21の出力の何れかを選択して、スキャンFF4−3,4−7に供給するクロックとして出力する。
【0067】
また、第3の実施の形態の半導体集積回路1cは、8つのスキャンFF4−1,4−2,4−3,4−4,4−5,4−6,4−7,4−8を有している。
本実施の形態において、スキャンFF4−1〜4−8は、一列に配列されており、3つおきに出力端子Qと、スキャンイン端子SINが接続されることにより、それぞれ2つのスキャンFFを含む4本のスキャンチェーンが形成されている。なお、各スキャンチェーンの最前段のスキャンFF4−1〜4−4のスキャンイン端子SINには、端子P2を介して半導体集積回路1に入力されるテストパターンであるシリアルデータSDIが入力される。また、スキャンFF4−1〜4−7の出力端子Qは、組み合せ回路2に接続されており、4つのスキャンチェーンの最後段のスキャンFF4−5〜FF4−8の出力端子は、選択回路6cに接続されている。
【0068】
4つのスキャンチェーンは、シリアルデータSDIを、前述の4種類の分周スキャンクロックで、異なるタイミングで取り込み、4並列化してシフト動作を行う。
なお、スキャンFF4−1のデータ入力端子Dには、端子P1から通常の動作モードのときに使用されるデータが入力される。スキャンFF4−2〜4−8のデータ入力端子Dは、組み合わせ回路2に接続されており、組み合わせ回路2からのデータが入力される。スキャンFF4−1〜4−8のシフトイネーブル端子Sには、端子P3からシフト動作を有効にするか否かを示すシフトイネーブル信号が入力される。
【0069】
選択回路6cは、上記4本のスキャンチェーンの出力を、1つずつ選択して、シリアルデータとして端子P5を介して出力する。本実施の形態の例では、選択回路6cは、選択信号として、4分周クロック生成カウンタ20のカウント値cntを用いている。以下の説明では、カウント値cntの値が、“00”のとき、スキャンFF4−8の出力が選択され、“01”のとき、スキャンFF4−5の出力が選択されるものとする。また、カウント値cntの値が、“10”のとき、スキャンFF4−6の出力が選択され、“11”のとき、スキャンFF4−7の出力が選択されるものとする。
【0070】
以下、第3の実施の形態の半導体集積回路1cの動作の一例を説明する。
図7及び
図8は、シフトモードでのスキャン試験時の第3の実施の形態の半導体集積回路の一例の動作を示すタイミングチャートである。
【0071】
図7、
図8では、スキャンクロックSCK、シリアルデータSDI、スキャンFF4−1〜4−8の入力クロック、スキャンFF4−1〜4−8の出力、選択信号、選択回路6cの4つの入力(入力A〜入力D)、選択回路6cの出力の一例の様子が示されている。なお、選択回路6cの入力Aは、スキャンFF4−5の出力であり、選択回路6cの入力Bは、スキャンFF4−6の出力である。また、選択回路6cの入力Cは、スキャンFF4−7の出力であり、選択回路6cの入力Dは、スキャンFF4−8の出力である。
【0072】
シリアルデータSDIは、スキャンクロックSCKに同期して、データd1,d2,d3,d4,d5,d6…の順で半導体集積回路1cに入力される。
まず、タイミングt20でのスキャンFF4−1の入力クロックの立ち上がりタイミングに同期して、スキャンFF4−1のスキャンイン端子SINに供給されているシリアルデータSDIのデータd1が、スキャンFF4−1に取り込まれ、出力される。
【0073】
また、タイミングt21でのスキャンFF4−2の入力クロックの立ち上がりタイミングに同期して、スキャンFF4−2のスキャンイン端子SINに供給されているシリアルデータSDIのデータd2が、スキャンFF4−2に取り込まれ、出力される。
【0074】
また、タイミングt22でのスキャンFF4−3の入力クロックの立ち上がりタイミングに同期して、スキャンFF4−3のスキャンイン端子SINに供給されているシリアルデータSDIのデータd3が、スキャンFF4−3に取り込まれ、出力される。
【0075】
さらに、タイミングt23でのスキャンFF4−4の入力クロックの立ち上がりタイミングに同期して、スキャンFF4−4のスキャンイン端子SINに供給されているシリアルデータSDIのデータd4が、スキャンFF4−4に取り込まれ、出力される。
【0076】
タイミングt24では、スキャンFF4−5の入力クロックが、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−1の出力であるデータd1が、スキャンFF4−5に取り込まれ、出力される。
【0077】
また、タイミングt24では、スキャンFF4−1の入力クロックも、Hレベルに立ち上がっている。これにより、スキャンFF4−1のスキャンイン端子SINに供給されているデータd5が、スキャンFF4−1に取り込まれ、出力される。
【0078】
さらに、
図8に示されているように、スキャンFF4−5の出力がデータd1になることによって、選択回路6cの入力Aが、データd1となる。タイミングt25でのスキャンクロックSCKの立ち上がりタイミングに同期して、選択信号(カウント値cnt)が“01”になると、選択回路6cは、入力Aを選択して出力する。これにより、データd1が出力される。
【0079】
その後、タイミングt26では、スキャンFF4−6の入力クロックが、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−2の出力であるデータd2が、スキャンFF4−6に取り込まれ、出力される。
【0080】
また、タイミングt26では、
図7に示されているように、スキャンFF4−2の入力クロックも、Hレベルに立ち上がっている。これにより、スキャンFF4−2のスキャンイン端子SINに供給されているデータd6が、スキャンFF4−2に取り込まれ、出力される。
【0081】
さらに、
図8に示されているように、スキャンFF4−6の出力がデータd2になることによって、選択回路6cの入力Bが、データd2となる。タイミングt26でのスキャンクロックSCKの立ち上がりタイミングに同期して、選択信号(カウント値cnt)が“10”になると、選択回路6cは、入力Bを選択して出力する。これにより、データd2が出力される。
【0082】
その後、タイミングt27では、スキャンFF4−7の入力クロックが、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−3の出力であるデータd3が、スキャンFF4−7に取り込まれ、出力される。
【0083】
また、タイミングt27では、
図7に示されているように、スキャンFF4−3の入力クロックも、Hレベルに立ち上がっている。これにより、スキャンFF4−3のスキャンイン端子SINに供給されているデータd7が、スキャンFF4−3に取り込まれ、出力される。
【0084】
さらに、
図8に示されているように、スキャンFF4−7の出力がデータd3になることによって、選択回路6cの入力Cがデータd3となる。タイミングt28でのスキャンクロックSCKの立ち上がりタイミングに同期して、選択信号(カウント値cnt)が“11”になると、選択回路6cは、入力Cを選択して出力する。これにより、データd3が出力される。
【0085】
その後、タイミングt29では、スキャンFF4−8の入力クロックが、Hレベルに立ち上がっている。この立ち上がりタイミングに同期して、スキャンFF4−4の出力であるデータd4が、スキャンFF4−8に取り込まれ、出力される。
【0086】
また、タイミングt29では、
図7に示されているように、スキャンFF4−4の入力クロックも、Hレベルに立ち上がっている。これにより、スキャンFF4−4のスキャンイン端子SINに供給されているデータd8が、スキャンFF4−4に取り込まれ、出力される。
【0087】
さらに、
図8に示されているように、スキャンFF4−8の出力がデータd4になることによって、選択回路6cの入力Dが、データd4となる。タイミングt29でのスキャンクロックSCKの立ち上がりタイミングに同期して、選択信号(カウント値cnt)が“00”になると、選択回路6cは、入力Dを選択して出力する。これにより、データd4が出力される。
【0088】
データd5〜d8に関しても、同様にスキャンシフト動作が行われ、選択回路6cからシリアルに出力される。
以上のように、4本のスキャンチェーンにより、シリアルデータを4並列でスキャンシフトする半導体集積回路1cでも、第1の実施の形態で説明した半導体集積回路1と同様の効果が得られる。なお、分周を4分周として、スキャンクロックの周波数をさらに小さくすることで、消費電力をより小さくすることができる。
【0089】
(第4の実施の形態)
上記の説明では、1つの端子からシリアルデータを入力し、スキャン試験を行い、その結果であるシリアルデータを1つの端子から出力する半導体集積回路について説明したがこれに限定されない。複数の端子からシリアルデータを入力し、スキャン試験を行い、その結果であるシリアルデータを複数の端子から出力するようにしてもよい。
【0090】
以下では、2つの端子からシリアルデータを入力し、2つの端子から2つのスキャン結果を出力する半導体集積回路を説明する。
図9は、第4の実施の形態の半導体集積回路の一例を示す図である。
【0091】
図2に示した第2の実施の形態の半導体集積回路1aと同様の要素については同一符号で示されている。
第4の実施の形態の半導体集積回路1dは、端子P2aから入力されるシリアルデータを2並列化してスキャンシフト動作を行う2本のスキャンチェーン5a−1,5a−2を有する。また、半導体集積回路1dは、端子P2bから入力されるシリアルデータを2並列化してスキャンシフト動作を行う2本のスキャンチェーン5b−1,5b−2を有する。
【0092】
スキャンチェーン5a−1は、スキャンFF4a−1,4a−3,4a−5を有し、スキャンチェーン5a−2は、スキャンFF4a−2,4a−4,4a−6を有する。また、スキャンチェーン5b−1は、スキャンFF4b−1,4b−3,4b−5を有し、スキャンチェーン5b−2は、スキャンFF4b−2,4b−4,4b−6を有する。
【0093】
スキャンFF4a−1〜4a−6は、一列に配列されており、1つおきに接続されることで、2本のスキャンチェーン5a−1,5a−2が形成されている。またスキャンFF4b−1〜4b−6も、一列に配列されており、1つおきに接続されることで、2本のスキャンチェーン5b−1,5b−2が形成されている。
【0094】
なお、
図9では、スキャンFF4a−1〜4a−6,4b−1〜4b−6のデータ入力端子D、シフトイネーブル端子Sは図示を省略している。また、
図2に示した組み合わせ回路2についても
図9では、図示を省略している。
【0095】
スキャン試験時には、スキャンFF4a−1,4b−1,4a−3,4b−3,4a−5,4b−5のクロック端子CK及び選択回路6a,6bに、分周クロック生成部3aのセレクタ14で選択された分周クロックが供給される。また、スキャンFF4a−2,4b−2,4a−4,4b−4,4a−6,4b−6のクロック端子CKに、分周クロック生成部3aのセレクタ13で選択された分周クロックが供給される。
【0096】
これにより、端子P2aから入力されるシリアルデータは、スキャンチェーン5a−1,5a−2で並列化され、スキャンシフト動作が行われ、スキャンシフト結果が選択回路6aにてシリアルデータに戻され、端子P5aから出力される。また、端子P2bから入力されるシリアルデータは、スキャンチェーン5b−1,5b−2で並列化され、スキャンシフト動作が行われ、スキャンシフト結果が選択回路6bにてシリアルデータに戻され、端子P5bから出力される。
【0097】
このような第4の実施の形態の半導体集積回路1dにおいても、第1の実施の形態で説明した半導体集積回路1と同様の効果が得られる。また、
図9のように、スキャンFF数がより多くなるほど、分周スキャンクロックで動作させることによる消費電力の削減効果が大きくなる。
【0098】
以上、実施の形態に基づき、本発明の半導体集積回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。