説明

半導体装置

【課題】複数箇所のタイミング違反検出を、小規模な回路構成で実現する。
【解決手段】選択信号に基づいて、複数の信号からいずれか1つを選択する第1のセレクタと、上記選択信号に基づいて、ラッチされた複数の信号からいずれか1つを選択する第2のセレクタと、クロック信号CLKを所定時間遅延する遅延回路と、遅延回路により遅延したクロック信号に同期して、第1のセレクタの出力をラッチするタイミング違反検出用フリップフロップ回路と、タイミング違反検出用フリップフロップ回路の出力と第2のセレクタの出力とを比較する比較回路とを、備える。複数の信号に対し、個別に回路を設けることなく、1つのタイミング違反検出回路で構成することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関する。特に、本発明は、タイミング違反検出機能を有する半導体装置に関する。
【背景技術】
【0002】
近年、LSI(Large Scale Integration)の大規模化、高速化に伴い、LSIチップ内にタイミング条件が厳しいクリティカルパスが多数存在するようになってきている。そのようなLSIを実機に搭載して動作テスト行った場合、特に高負荷条件(高温、低電圧、高負荷動作)で、クリティカルパスにおいてタイミング違反が生じ、種々の不具合が発生することがある。例えば、画像表示装置用のLSIの場合には、表示画像にノイズが混じる不具合が発生することがある。このような場合、設計者は、実機評価結果と設計データの相関により、回路のどの部分に不具合が起きているかを予想して、不具合発生要因の解析を進めていくことになる。しかしながら、タイミング違反は、実動作状態におけるノイズやIRドロップ等に起因しているため、回路レベルで不具合が発生している箇所を特定することは非常に難しいという問題がある。
【0003】
上記したタイミング違反による不具合解析を効率よく行うための方法として、例えば特許文献1には、LSIを装置実装した実動作状態において、電源ノイズやクロストークノイズなどに起因したタイミング不良を検出し、発生場所を特定する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−356667号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
以下の分析は、本発明により与えられる。
【0006】
図5は、特許文献1に記載された半導体装置の要部(フリップフロップ回路部)を示す回路図である。図5に示すように、通常動作するフリップフロップ回路FF1に、タイミング不良検出用として動作するフリップフロップ回路FF2、比較回路E−OR1、ディレイ素子などを付加し、通常のクロック信号CKと、このクロック信号を遅延した遅延クロック信号との2つのタイミングにおけるデータを観測することにより、両者のデータの不一致を検出してLSI動作状態(実動作状態)でのタイミング不良を検出している。
【0007】
しかしながら、特許文献1に記載された半導体装置では、1ビットの信号に対し図5で示された回路が必要であり、検出対象信号を増やそうとした場合、その分の検出回路を挿入しなくてはならないため、回路規模が増加する問題が生じる。また、自動的にタイミング違反の回避を行うには、さらに回路規模は大きくなってしまう。
【0008】
以上のように、クリティカルパスが多数存在する半導体装置において、複数箇所のタイミング違反を検出する半導体装置を小規模な回路構成で実現することが、望まれている。
【課題を解決するための手段】
【0009】
本発明の第1の視点による半導体装置は、複数の信号をクロック信号に同期して、夫々複数の異なるフリップフロップ回路でラッチする半導体装置において、選択信号に基づいて、前記複数の信号からいずれか1つを選択する第1のセレクタと、前記選択信号に基づいて、前記ラッチされた複数の信号からいずれか1つを選択する第2のセレクタと、前記クロック信号を所定時間遅延する遅延回路と、前記遅延回路により遅延したクロック信号に同期して、前記第1のセレクタの出力をラッチするタイミング違反検出用フリップフロップ回路と、前記タイミング違反検出用フリップフロップ回路の出力と前記第2のセレクタの出力とを比較する比較回路とを、備える。
【発明の効果】
【0010】
本発明の半導体装置によれば、小規模な回路構成で、複数箇所のタイミング違反を検出することが可能な半導体装置を提供することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態1に係る半導体装置の詳細を示すブロック図である。
【図2】本発明の実施形態1に係る半導体装置の動作を示すタイミングチャートである。
【図3】本発明の実施形態1に係る半導体装置全体を示すブロック図である。
【図4】本発明の実施形態2に係る半導体装置の詳細を示すブロック図である。
【図5】特許文献1に記載された半導体装置の要部(フリップフロップ回路部)を示す回路図である。
【発明を実施するための形態】
【0012】
まず、本発明の概要について、必要に応じて図面を参照して説明する。なお、概要の説明において引用する図面及び図面の符号は、理解を助けるため実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。
【0013】
本発明の一実施形態における半導体装置は、図1に示すように、複数の信号(S0〜SN−1)をクロック信号CLKに同期して、夫々複数の異なるフリップフロップ回路(8、11、14等)でラッチする半導体装置において、選択信号ADDRに基づいて、複数の信号(S0〜SN−1)からいずれか1つを選択する第1のセレクタ41と、選択信号ADDRに基づいて、ラッチされた複数の信号(LS0〜LSN−1)からいずれか1つを選択する第2のセレクタ42と、クロック信号CLKを所定時間遅延する遅延回路44と、遅延回路44により遅延したクロック信号CLKdに同期して、第1のセレクタ41の出力S_SELをラッチするタイミング違反検出用フリップフロップ回路45と、タイミング違反検出用フリップフロップ回路45の出力と第2のセレクタ42の出力LS_SELとを比較する比較回路46とを、備える。
【0014】
このような構成により、複数の信号(S0〜SN−1)に対して、個別に検出回路を設けずに、第1及び第2のセレクタ(41、42)、遅延回路44、タイミング違反検出用フリップフロップ回路45、及び比較回路46から構成される1つの回路(タイミング違反検出回路48)でタイミング違反検出を行うことができる。
【0015】
ここで、第2のセレクタ42は、第1のセレクタ41で選択された信号がラッチされた信号を選択する構成が好適である。即ち、図1において、第1のセレクタ41で、信号Si(但し、i=0、...、N−1)が選択された場合、第2のセレクタ42では、信号Siがラッチされた信号LSiを選択する。
【0016】
また、上記半導体装置は、図4に示すように、選択信号ADDRをカウント動作により出力するカウンタ24を、更に備えるようにしてもよい。このような構成により、複数の信号(S0〜SN−1)、複数のラッチされた信号(LS0〜LSN−1)を第1及び第2のセレクタ(41、42)で自動的に切り替えて、タイミング違反検出を行うことが可能になる。
【0017】
また、上記半導体装置は、図1、図3に示すように、比較回路46の比較結果(タイミング違反検出信号ERR)を、選択信号ADDRと対応付けて取り込む制御部32を更に備えるようにしてもよい。このような構成により、制御部32において、選択信号ADDRと、タイミング違反検出信号ERRを対応付けることができる。
【0018】
複数の信号(S0〜SN−1)は、夫々、クロック信号CLKに同期して動作する複数の論理回路(1、3、5等)の出力信号としてもよい。これにより、複数の信号(S0〜SN−1)はタイミング違反を検出する対象の論理回路(1、3、5等)の出力信号とすることができる。
【0019】
以下、本発明の各実施形態について、図面を参照して詳しく説明する。
【0020】
[実施形態1]
(実施形態1の構成)
図3は、本発明の実施形態1に係る半導体装置50全体を示すブロック図である。図3に示すように、半導体装置50は、N個のクリティカルパス(20、21、22等)と、タイミング違反検出回路48と、制御部32と、レジスタ30で構成される。ここで、クリティカルパスとは、信号の伝播に時間がかかり、受信側のフリップフロップ回路で正しいデータを受け取るタイミング条件が厳しいパスのことをいう。
【0021】
図1は、図3のクリティカルパス20、21、22と、タイミング違反検出回路48をより詳細に示したブロック図である。N個のクリティカルパスには、図1に示すように、アドレス0〜N−1を割り振っておく。図1に示すように、論理回路1、2はフリップフロップ回路7、8、9で挟まれて、互いに直列接続されている。また、論理回路3、4はフリップフロップ回路10、11、12で挟まれて、互いに直列接続されている。また、論理回路5、6はフリップフロップ回路13、14、15で挟まれて、互いに直列接続されている。ここで、これらのフリップフロップ回路(7〜15)は、いずれもクロック信号CLKに同期してラッチ動作を行う。具体的には、送信側のフリップフロップ回路7は送信信号TS0を出力し、論理回路1に入力する。論理回路1は信号S0を出力する。そして、受信側のフリップフロップ回路8は信号S0をラッチし、ラッチされた信号LS0を出力する。同様に、送信側のフリップフロップ回路10は送信信号TS1を出力し、論理回路3に入力する。論理回路3は信号S1を出力する。そして、受信側のフリップフロップ回路11は信号S1をラッチし、ラッチされた信号LS1を出力する。また、同様に、送信側のフリップフロップ回路13は送信信号TSN−1を出力し、論理回路5に入力する。論理回路5は信号SN−1を出力する。そして、受信側のフリップフロップ回路14は信号SN−1をラッチし、ラッチされた信号LSN−1を出力する。
【0022】
半導体装置50には、このような論理回路とフリップフロップ回路が直列接続された回路が、複数個含まれている。これらのうち、設計段階で分かっているタイミングの厳しいパスを、クリティカルパスとして予め選択しておく。図1において、クリティカルパスがN個選択されている。具体的には、夫々破線枠で示したクリティカルパス20、21、22などである。クリティカルパス20では、信号S0を受信側のフリップフロップ回路8でラッチするタイミングが厳しく、タイミング違反が発生した場合、ラッチされた信号LS0には正しい信号が出力されない。同様に、クリティカルパス21では、信号S1を受信側のフリップフロップ回路11でラッチするタイミングが厳しく、タイミング違反が発生した場合、ラッチされた信号LS1には正しい信号が出力されない。また、同様に、クリティカルパス22では、信号SN−1を受信側のフリップフロップ回路14でラッチするタイミングが厳しく、タイミング違反が発生した場合、ラッチされた信号LSN−1には正しい信号が出力されない。
【0023】
一方、論理回路2とフリップフロップ回路9のパス、論理回路4とフリップフロップ回路12のパス、及び論理回路6とフリップフロップ回路15のパスは、動作タイミングに余裕があるため、クリティカルパスとして選択しない。
【0024】
次に、図1のタイミング違反検出回路48の詳細な構成について説明する。タイミング違反検出回路48は、第1のセレクタ(図1のMUX0)41と、第2のセレクタ(図1のMUX1)42と、遅延回路44と、タイミング違反検出用フリップフロップ回路(FFd)45と、比較回路46により構成される。
【0025】
第1のセレクタ41のN個の入力端子には、各クリティカルパスにおける信号S0〜SN−1が供給される。一方、第2のセレクタ42のN個の入力端子には、各クリティカルパスにおいてラッチされた信号LS0〜LSN−1が供給される。また、第1及び第2のセレクタ(41、42)に対し、選択信号ADDRを供給し、切り替えを制御する。具体的には、選択信号ADDRがiの場合、第1のセレクタ41ではSi、第2のセレクタ42ではLSiが夫々選択されるように制御する。
【0026】
また、遅延回路44はクロック信号CLKを所定時間(図2のτ)だけ遅延する回路であり、遅延クロック信号CLKdを出力する。ここで、遅延する所定時間は、固定値でもよいが、制御部32(図3)からレジスタ30(図3)を介して、設定するように構成してもよい。
【0027】
また、タイミング違反検出用フリップフロップ回路45のクロック入力端子には、遅延クロック信号CLKdが供給される。また、タイミング違反検出用フリップフロップ回路45の入力端子には、第1のセレクタ41の出力S_SELが入力される。そして、タイミング違反検出用フリップフロップ回路45でラッチされた信号は、比較回路46の一方の端子に供給される。
【0028】
また、比較回路46の他方の端子には、第2のセレクタの出力LS_SELが供給される。比較回路46では、入力された2つの信号が一致しているか否かを判定し、一致している場合には、タイミング違反検出信号ERRをLowレベルに出力し、一致していない場合(すなわち、タイミング違反を検出した場合)には、タイミング違反検出信号ERRをHighレベルに出力する。
【0029】
図3において、選択信号ADDRはレジスタ30を介して、制御部32から切り替えられ、タイミング違反検出回路48に供給される。タイミング違反検出回路48の比較回路46が出力するタイミング違反検出信号ERRは制御部32に転送され、制御部32は、タイミング違反検出信号ERRを選択信号ADDRに対応付けて取り込む。このように、タイミング違反検出信号ERRを選択信号ADDRに対応付けて取り込むことにより、制御部32は、複数のクリティカルパスのうち、どのクリティカルパスでタイミング違反が発生しているかを判定することができる。また、制御部32は、外部のテスタ(不図示)と接続されており、外部のテスタの表示画面に制御部32の判定結果を表示する。それにより、半導体装置50でタイミング違反の検出を行っているユーザに対して、判定結果を通知することができる。
【0030】
(実施形態1の動作)
次に、図2を参照しながら、実施形態1に係る半導体装置50の動作について説明する。図2は、半導体装置50の動作を示すタイミングチャートである。以下に示す動作説明において、説明を簡単にするために、N個のクリティカルパスのうち、2つのクリティカルパス(20、21)のみに対して、タイミング違反検出を行う場合について説明する。この場合、選択信号ADDRは、0と、1を切り替える制御を行うことになる。
【0031】
図2において、上から順に、CLK信号、送信側のフリップフロップ回路7が出力する送信信号TS0、送信側のフリップフロップ回路10が出力する送信信号TS1、論理回路1の出力である信号S0、論理回路3の出力である信号S1、信号S0が受信側のフリップフロップ回路8によりラッチされた信号LS0、信号S1が受信側のフリップフロップ回路11によりラッチされた信号LS1、第1及び第2のセレクタ(41、42)の選択を制御する選択信号ADDR、第2のセレクタ42の出力LS_SEL、遅延クロック信号CLKd、第1のセレクタ41の出力S_SEL、タイミング違反検出用フリップフロップ回路(FFd)45の出力、及び比較回路46の比較結果であるタイミング違反検出信号ERRを示している。
【0032】
図2に示すように、クリティカルパス20における送信側のフリップフロップ回路7が、送信信号TS0として、クロック信号CLKに同期して信号値A→B→C→Dを順次出力し、クリティカルパス21における送信側のフリップフロップ回路10が、送信信号TS1として、クロック信号CLKに同期して信号値E→F→G→Hを順次出力する場合を想定する。また、選択信号ADDRは、タイミングt1〜t6において0、タイミングt6で切り替わり、タイミングt7〜t12において1になる。即ち、前半の期間t1〜t6において第1及び第2のセレクタ(41、42)でクリティカルパス20からの信号が選択され、S_SEL=S0、LS_SEL=LS0となり、後半の期間t7〜t12において第1及び第2のセレクタ(41、42)でクリティカルパス21からの信号が選択され、S_SEL=S1、LS_SEL=LS1となる。
【0033】
次に、各タイミングにおける信号値A〜D、E〜Hの伝達について図2を参照しながら、説明する。クリティカルパス20の送信側のフリップフロップ回路7の出力TS0は、論理回路1に入力され、論理回路1から信号S0として出力されるが、何らかの要因により遅延量が増加し、タイミング条件を満たせなくなる場合が発生する。例えば、信号S0において、信号値Aはタイミングt2においてタイミング条件を満す遅延量で受け取れるが、信号値Bは遅延量が増加し、タイミングt4では未だAからBに遷移されておらず、信号値Bを受け取ることができない。具体的には、図2に示すように、τ1だけ遅延量が増加したことにより、クロックの立ち上がりのタイミングt4でAからBに遷移されていない。その結果、クロック信号CLKに同期してラッチされた信号LS0は、期間t3〜t6では全て信号値Aとなり、信号値Bの情報が欠落する。
【0034】
同様に、クリティカルパス21の送信側のフリップフロップ回路10の出力TS1は、論理回路3に入力され、論理回路3から信号S1として出力されるが、何らかの要因により遅延量が増加し、タイミング条件を満たせなくなる場合が発生する。例えば、信号S1において、信号値Gはタイミングt6においてタイミング条件を満す遅延量で受け取れるが、信号値Hは遅延量が増加し、タイミングt8では未だGからHに遷移されておらず、信号値Hを受け取ることができない。具体的には、図2に示すように、τ2だけ遅延量が増加したことにより、クロックの立ち上がりのタイミングt8でGからHに遷移されていない。その結果、クロック信号CLKに同期してラッチされた信号LS1は、期間t7〜t10では全て信号値Gとなり、信号値Hの情報が欠落する。
【0035】
従って、第2のセレクタ42の出力LS_SELは、図2に示すように、選択信号ADDRが0である期間t3〜t6で信号値A、選択信号ADDRが1である期間t7〜t10で信号値Gとなる。
【0036】
次に、第1のセレクタ41の出力S_SELは、ADDRが0である期間t1〜t6で信号S0、ADDRが1である期間t7〜t12で信号S1となる。次に、信号S_SELを遅延クロック信号CLKdでラッチした場合には、タイミングt3、t5、t7、t9で夫々タイミング条件を満足し、タイミング違反検出用フリップフロップ回路(FFd)45でラッチすることにより、信号値A、B、G、Hを欠落することなく出力することができる。
【0037】
次に、比較回路46で、第2のセレクタ42の出力LS_SELが、タイミング違反検出用フリップフロップ回路45の出力と比較され、不一致の箇所がHighレベルになり、タイミング違反検出信号ERRとして出力される。その結果、タイミング違反検出用フリップフロップ回路45の出力が信号値B、及び信号値Hの期間において、タイミング違反検出信号ERRはHighレベルになる。尚、タイミング違反検出信号ERRは制御部32に選択信号ADDRと対応付けて取り込まれ、制御部32においてクリティカルパス20においてタイミングt4で信号値Bを受け取れないタイミング違反が発生し、クリティカルパス21においてタイミングt8で信号値Hを受け取れないタイミング違反が発生したことを判定する。そして、判定結果は外部接続されたテスタに通知される。
【0038】
以上説明したように、実施形態1に係る半導体装置によれば、複数のクリティカルパスを有する半導体装置において、個別にタイミング違反検出回路を設けずに、1つのタイミング違反検出回路48により、複数箇所のタイミング違反検出を行うことができる。それにより、小規模な回路で複数箇所のタイミング違反検出が実現できるという効果が得られる。
【0039】
尚、実施形態1の動作説明では、選択信号ADDRが0、1に切り替わる場合について説明したが、N個のクリティカルパスを全てテストするように、選択信号ADDRを0〜N−1の範囲でインクリメントした場合には、図2に示したのと同様な動作が繰り返されることになる。また、選択信号ADDRの入力を、任意のパターンとすることもできる。いずれの場合においても、実施形態1で示した効果が得られるのは勿論である。
【0040】
[実施形態2]
次に、本発明の実施形態2に係る半導体装置について説明する。図4は、実施形態2に係る半導体装置の詳細を示すブロック図である。図4の図1に対する違いは、タイミング違反検出回路56が新たにカウンタ24を備えている点である。その他については実施形態1と同じであり、同じ参照符号を付し説明は省略する。
【0041】
実施形態2では、カウンタ24がカウント動作したカウント値を、選択信号ADDRとして使用している。カウンタ24はクロック信号CLKに基づいて動作し、ある周期で選択信号ADDRをインクリメントし、ある周期で再び0に戻る。ここで、検出対象となるクリティカルパスの個数Nに応じてカウンタ出力ビット数mを設定することが望ましく、具体的には、2≧Nを満足するようにするように設定するとよい。
【0042】
実施形態1の半導体装置全体を示す図3において、実施形態2では、選択信号ADDRをレジスタ30から供給するのではなく、タイミング違反検出回路56のカウンタ24で自動的に生成する。そして、生成された選択信号ADDRによりテストするクリティカルパスを切り替えて、タイミング違反検出を行い、タイミング違反検出信号ERRは、選択信号ADDRと共に、制御部32に転送され、制御部32はタイミング違反検出信号ERRと選択信号ADDRを対応付けて取り込む。
【0043】
以上説明したように、本発明の実施形態2に係る半導体装置によれば、実施形態1と同様な効果が得られ、更にカウンタ24による選択信号ADDRの制御により、複数のクリティカルパスを自動的に切り替えてタイミング違反検出を行うことができるという効果が得られる。
【産業上の利用可能性】
【0044】
本発明は、タイミングの厳しいパスを複数有する回路を実機搭載して動作テストを行う際に、タイミング違反を検出し、発生箇所の特定を行うのに使用することができる。
【0045】
本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0046】
1、2、3、4、5、6:論理回路
7、8、9、10、11、12、13、14、15:フリップフロップ回路
20、21、22:クリティカルパス
24:カウンタ
30:レジスタ
32:制御部
41:第1のセレクタ
42:第2のセレクタ
44:遅延回路
45:タイミング違反検出用フリップフロップ回路
46:比較回路
48、56:タイミング違反検出回路
50:半導体装置
TS0〜TSN−1:送信信号
S0〜SN−1:信号
LS0〜LSN−1:ラッチされた信号
S_SEL:第1のセレクタの出力
LS_SEL:第2のセレクタの出力
ADDR:選択信号
ERR:タイミング違反検出信号
CLK:クロック信号
CLKd:遅延クロック信号

【特許請求の範囲】
【請求項1】
複数の信号をクロック信号に同期して、夫々複数の異なるフリップフロップ回路でラッチする半導体装置において、
選択信号に基づいて、前記複数の信号からいずれか1つを選択する第1のセレクタと、
前記選択信号に基づいて、前記ラッチされた複数の信号からいずれか1つを選択する第2のセレクタと、
前記クロック信号を所定時間遅延する遅延回路と、
前記遅延回路により遅延したクロック信号に同期して、前記第1のセレクタの出力をラッチするタイミング違反検出用フリップフロップ回路と、
前記タイミング違反検出用フリップフロップ回路の出力と前記第2のセレクタの出力とを比較する比較回路と、を備えたことを特徴とする半導体装置。
【請求項2】
前記第2のセレクタは、前記第1のセレクタで選択された信号がラッチされた信号を選択することを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記選択信号をカウント動作により出力するカウンタを、更に備えたことを特徴とする請求項1または2に記載の半導体装置。
【請求項4】
前記比較回路の比較結果を前記選択信号と対応付けて取り込む制御部を更に備えたことを特徴とする請求項1乃至3のいずれか1項に記載の半導体装置。
【請求項5】
前記複数の信号は、夫々、前記クロック信号に同期して動作する複数の論理回路の出力信号であることを特徴とする請求項1乃至4のいずれか1項に記載の半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate