(57)【要約】【課題】自動テストパターン作成器のルールに違反することになり、テストパターンの作成を完了することができないことがあった。【解決手段】ラッチ素子がラッチを行う最初の期間に、回路ユニットから、最初の期間におけるクロック信号を出力させるべく、最初の期間に、イネーブル信号が回路ユニットからクロック信号を出力することを許可し、クロック信号がラッチ素子にイネーブル信号をラッチさせ、テスト信号がラッチ素子の出力を無視させるクロック信号を作成するテストパターン作成工程と、を含む。【選択図】図２
2007225295.tif 000002
【特許請求の範囲】
【請求項１】
（１）半導体装置を構成する回路ユニットであって、ラッチ素子と、論理和素子と、論理積素子とを有し、
（２ａ）前記回路ユニットから出力することを許可し又は禁止するイネーブル信号と、
（２ｂ）前記ラッチ素子に前記イネーブル信号をラッチさせる期間及びラッチさせない期間を規定するクロック信号と、
（２ｃ）前記ラッチ素子の出力を無視すべきか否かを示すテスト信号とを受け、
（３ａ）前記ラッチ素子は、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が第１の期間に引き続く第２の期間で前記ラッチ素子に前記イネーブル信号をラッチさせるとき、前記第１の期間における前記イネーブル信号をラッチしようとし、
（３ｂ）前記論理和素子は、前記テスト信号の入力及び前記ラッチ素子の出力を受け、前記テスト信号が前記ラッチ素子の出力を無視させるとき、前記無視の旨のテスト信号を出力し、
（３ｃ）前記論理積素子は、前記論理和素子の出力及び前記クロック信号の入力を受け、前記論理和素子の出力として、前記無視の旨のテスト信号を受けるとき、前記クロック信号をそのまま出力する前記回路ユニットを設計する設計工程と、
（４）前記ラッチ素子がラッチを行う最初の期間に、前記回路ユニットから、前記最初の期間における前記クロック信号を出力させるべく、前記最初の期間に、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が前記ラッチ素子に前記イネーブル信号をラッチさせ、前記テスト信号が前記ラッチ素子の出力を無視させるテストパターンであって、不定の出力を禁止する自動テストパターン作成器のルールを遵守すべき前記テストパターンを作成するテストパターン作成工程と、を含むことを特徴とする半導体装置の設計方法。
【請求項２】
（１）半導体装置を構成する回路ユニットであって、ラッチ素子と、論理和素子と、論理積素子とを有し、
（２ａ）前記ラッチ素子が前記回路ユニットから出力することを許可し又は禁止するイネーブル信号と、
（２ｂ）前記ラッチ素子に前記イネーブル信号をラッチさせる期間及びラッチさせない期間を規定するクロック信号と、
（３ａ）前記ラッチ素子は、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が第１の期間に引き続く第２の期間で前記ラッチ素子に前記イネーブル信号をラッチさせるとき、前記第１の期間における前記イネーブル信号をラッチしようとし、
（３ｂ）前記論理和素子は、前記イネーブル信号の入力及び前記ラッチ素子の出力を受け、前記イネーブル信号が前記回路ユニットから出力することを許可するとき、当該許可の旨のイネーブル信号を出力し、
（３ｃ）前記論理積素子は、前記論理和素子の出力及び前記クロック信号の入力を受け、前記論理和素子の出力として、前記許可の旨のイネーブル信号を受けるとき、前記クロック信号をそのまま出力する前記回路ユニットを設計する設計工程と、
（４）前記ラッチ素子がラッチを行う最初の期間に、前記回路ユニットから、前記最初の期間における前記クロック信号を出力させるべく、前記最初の期間に、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が前記ラッチ素子に前記イネーブル信号をラッチさせるテストパターンであって、不定の出力を禁止する自動テストパターン作成器のルールを遵守すべき前記テストパターン作成工程と、を含むことを特徴とする半導体装置の設計方法。
【請求項３】
（１）半導体装置を構成する回路ユニットであって、ラッチ素子と、論理積素子とを有し、
（２ａ）前記ラッチ素子が前記回路ユニットから出力することを許可し又は禁止する前記イネーブル信号と、
（２ｂ）前記ラッチ素子に前記イネーブル信号をラッチさせる期間及びラッチさせない期間を規定するクロック信号と、
（３ａ）前記ラッチ素子は、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が第１の期間に引き続く第２の期間で前記ラッチ素子に前記イネーブル信号をラッチさせないとき、前記第１の期間における前記イネーブル信号をラッチせずに、前記第２の期間における前記イネーブル信号をそのまま出力し、
（３ｂ）前記論理積素子は、前記ラッチ素子の出力及び前記クロック信号の入力を受け、前記ラッチ素子の出力として、前記ラッチされた又はラッチされていないイネーブル信号を受けるとき、前記クロック信号をそのまま出力する前記回路ユニットを設計する設計工程と、
（４）前記ラッチ素子がラッチを行う最初の期間に、前記回路ユニットから、前記最初の期間における前記クロック信号を出力させるべく、前記最初の期間に、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が前記ラッチ素子に前記イネーブル信号をラッチさせないテストパターンであって、不定の出力を禁止する自動テストパターン作成器のルールを遵守すべき前記テストパターンを作成するテストパターン作成工程と、を含むことを特徴とする半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートアレイ等を用いた半導体装置の設計方法に関し、特に、当該半導体装置の動作を確認するためのテストパターンの作成方法に関する。
【背景技術】
【０００２】
従来の半導体装置の設計方法では、例えば、図８に示された半導体装置ＤＶ０を設計する。半導体装置ＤＶ０は、図８に示されるように、回路ユニット（例えば、予め用意された汎用性あるライブラリ等）ＣＴ０及びフリップフロップＦＦ０を含み、当該回路ユニットＣＴ０は、顧客の仕様を満足するように設計すべき回路を構成するための一部品として用いられ、例えば、ラッチ素子ＬＴ０及び論理積素子ＡＤ０を有する。フリップフロップＦＦ０は、回路ユニットＣＴ０の後段に設けられており、従来知られたスキャン法により、フリップフロップＦＦ０に、半導体装置ＤＶ０に設けられた、予め定められた機能を具備すべき回路ブロック（図示せず。）の動作状態（値）を書き込み、後に、フリップフロップＦＦ０から前記書き込まれている値を読み出すことにより、前記回路ブロックの動作状態をモニターするために用いられる。
【０００３】
半導体装置ＤＶ０は、回路ブロックが前記設計の通りに動作するか否かを確認すべく、図８に示されるように、テストパターンＴＰ０（下記の特許文献１及び特許文献２に記載された試験制御信号及び検査用データに相当。）の入力を受ける。テストパターンＴＰ０は、従来知られた、テストパターンＴＰ０を自動生成するツールである自動テストパターン生成器（ＡＴＰＧ：Automatic Test Pattern Generator）に定められたルールを遵守した上で作成されている必要がある。テストパターンＴＰ０は、図８及び図９に示されるように、回路ユニットＣＴ０に入力すべきイネーブル信号ＥＮ及びクロック信号ＣＫを規定する。
【０００４】
イネーブル信号ＥＮは、ラッチ素子ＬＴ０がフリップフロップＦＦ０にクロック信号ＣＫを供給するか否かを規定し、具体的には、「１」により、フリップフロップＦＦ０にクロック信号ＣＫを供給し、「０」により、フリップフロップＦＦ０にクロック信号を供給しないことを規定する。
【０００５】
クロック信号ＣＫは、ラッチ素子ＬＴ０にラッチ動作又はスルー動作を行わせ、具体的には、「１」により、ラッチ素子ＬＴ０にその時より前の時のイネーブル信号ＥＮを保持して出力させ（ラッチ動作）、他方で、「０」により、ラッチ素子ＬＴ０にその時のイネーブル信号ＥＮをそのまま出力させる（スルー動作）。
【０００６】
回路ユニットＣＴ０では、上記したテストパターンＴＰ０の入力の下で、図９に示されるように、イネーブル信号ＥＮが「１」である場合に、期間Ｔ２のときには、ラッチ素子ＬＴ０は、当該期間Ｔ２における「０」のクロック信号ＣＫに従って、期間Ｔ２における「１」のイネーブル信号ＥＮをそのまま出力し、これにより、論理積素子ＡＤ０は、出力信号ＯＵＴとして、「０」のクロック信号ＣＫを出力し（スルー動作）、対照的に、期間Ｔ３のときには、ラッチ素子ＬＴ０は、当該期間Ｔ３における「１」のクロック信号ＣＫに従って、期間Ｔ３の前の期間Ｔ２における「１」のイネーブル信号ＥＮをラッチして出力し、これにより、論理積素子ＡＤ０は、出力信号ＯＵＴとして、「１」のクロック信号を出力する（ラッチ動作）。
【０００７】
【特許文献１】特表２００３−５１５２１７号公報
【特許文献２】特開２００５−３２１０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した自動テストパターン生成器のルールでは、前記出力信号ＯＵＴが「不定」になることを禁止しているにも拘わらず、上記したテストパターンＴＰ０に従うと、前記回路ユニットＣＴ０は、図９に示されるように、初期時に、即ち、最初の期間である期間Ｔ１のときに、クロック信号ＣＫが「１」であることから、当該期間Ｔ１の前の期間Ｔ０（実際には存在しないことから図示せず。）におけるイネーブル信号ＥＮをラッチしようとするものの、当該期間Ｔ０における、前記イネーブル信号ＥＮは「不定」であることから、前記出力信号ＯＵＴとして「不定」を出力する。従って、上記したテストパターンＴＰ０は、上記した自動テストパターン生成器のルールに違反することになることから、テストパターンＴＰ０の作成を完了することができないという問題があった。
【課題を解決するための手段】
【０００９】
上記した課題を解決すべく、本発明に係る第１の半導体装置の設計方法は、（１）半導体装置を構成する回路ユニットであって、ラッチ素子と、論理和素子と、論理積素子とを有し、（２ａ）前記回路ユニットから出力することを許可し又は禁止するイネーブル信号と、（２ｂ）前記ラッチ素子に前記イネーブル信号をラッチさせる期間及びラッチさせない期間を規定するクロック信号と、（２ｃ）前記ラッチ素子の出力を無視すべきか否かを示すテスト信号とを受け、（３ａ）前記ラッチ素子は、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が第１の期間に引き続く第２の期間で前記ラッチ素子に前記イネーブル信号をラッチさせるとき、前記第１の期間における前記イネーブル信号をラッチしようとし、（３ｂ）前記論理和素子は、前記テスト信号の入力及び前記ラッチ素子の出力を受け、前記テスト信号が前記ラッチ素子の出力を無視させるとき、前記無視の旨のテスト信号を出力し、（３ｃ）前記論理積素子は、前記論理和素子の出力及び前記クロック信号の入力を受け、前記論理和素子の出力として、前記無視の旨のテスト信号を受けるとき、前記クロック信号をそのまま出力する前記回路ユニットを設計する設計工程と、（４）前記ラッチ素子がラッチを行う最初の期間に、前記回路ユニットから、前記最初の期間における前記クロック信号を出力させるべく、前記最初の期間に、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が前記ラッチ素子に前記イネーブル信号をラッチさせ、前記テスト信号が前記ラッチ素子の出力を無視させるテストパターンであって、不定の出力を禁止する自動テストパターン作成器のルールを遵守すべき前記テストパターンを作成するテストパターン作成工程と、を含む。
【００１０】
本発明に係る第２の半導体装置の設計方法は、（１）半導体装置を構成する回路ユニットであって、ラッチ素子と、論理和素子と、論理積素子とを有し、（２ａ）前記ラッチ素子が前記回路ユニットから出力することを許可し又は禁止するイネーブル信号と、（２ｂ）前記ラッチ素子に前記イネーブル信号をラッチさせる期間及びラッチさせない期間を規定するクロック信号と、（３ａ）前記ラッチ素子は、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が第１の期間に引き続く第２の期間で前記ラッチ素子に前記イネーブル信号をラッチさせるとき、前記第１の期間における前記イネーブル信号をラッチしようとし、（３ｂ）前記論理和素子は、前記イネーブル信号の入力及び前記ラッチ素子の出力を受け、前記イネーブル信号が前記回路ユニットから出力することを許可するとき、当該許可の旨のイネーブル信号を出力し、（３ｃ）前記論理積素子は、前記論理和素子の出力及び前記クロック信号の入力を受け、前記論理和素子の出力として、前記許可の旨のイネーブル信号を受けるとき、前記クロック信号をそのまま出力する前記回路ユニットを設計する設計工程と、（４）前記ラッチ素子がラッチを行う最初の期間に、前記回路ユニットから、前記最初の期間における前記クロック信号を出力させるべく、前記最初の期間に、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が前記ラッチ素子に前記イネーブル信号をラッチさせるテストパターンであって、不定の出力を禁止する自動テストパターン作成器のルールを遵守すべき前記テストパターンを作成するテストパターン作成工程と、を含む。
【００１１】
本発明に係る第３の半導体装置の設計方法は、（１）半導体装置を構成する回路ユニットであって、ラッチ素子と、論理積素子とを有し、（２ａ）前記ラッチ素子が前記回路ユニットから出力することを許可し又は禁止する前記イネーブル信号と、（２ｂ）前記ラッチ素子に前記イネーブル信号をラッチさせる期間及びラッチさせない期間を規定するクロック信号と、（３ａ）前記ラッチ素子は、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が第１の期間に引き続く第２の期間で前記ラッチ素子に前記イネーブル信号をラッチさせないとき、前記第１の期間における前記イネーブル信号をラッチせずに、前記第２の期間における前記イネーブル信号をそのまま出力し、（３ｂ）前記論理積素子は、前記ラッチ素子の出力及び前記クロック信号の入力を受け、前記ラッチ素子の出力として、前記ラッチされた又はラッチされていないイネーブル信号を受けるとき、前記クロック信号をそのまま出力する前記回路ユニットを設計する設計工程と、（４）前記ラッチ素子がラッチを行う最初の期間に、前記回路ユニットから、前記最初の期間における前記クロック信号を出力させるべく、前記最初の期間に、前記イネーブル信号が前記回路ユニットから出力することを許可し、前記クロック信号が前記ラッチ素子に前記イネーブル信号をラッチさせないテストパターンであって、不定の出力を禁止する自動テストパターン作成器のルールを遵守すべき前記テストパターンを作成するテストパターン作成工程と、を含む。
【００１２】
本発明に係る第１、第２、及び第３の半導体装置の設計方法によれば、前記論理ユニットでは、前記最初の期間で、（I）前記テスト信号と前記論理和素子との協動により、前記ラッチ素子は、その出力が無視され、他方で、前記論理積素子は、前記クロック信号をそのまま出力し（第１の半導体装置の設計方法の場合）、（II）前記イネーブル信号と前記論理和素子との協動により、前記ラッチ素子は、その出力が無視され、他方で、前記論理積素子は、前記クロック信号をそのまま出力し（第２の半導体装置の設計方法の場合）、（III）前記ラッチ素子に前記イネーブル信号のラッチをさせない前記クロック信号により、前記ラッチ素子は、前記最初の期間における前記イネーブル信号をそのまま出力し、かつ、前記論理積素子は、当該イネーブル信号を受けて、前記クロック信号をそのまま出力することから（第３の半導体装置の設計方法の場合）、前記最初の期間で「不定」を出力していた従来の半導体装置及び当該半導体装置のためのテストパターンと異なり、自動テストパターン生成器のルールが禁止する「不定」の出力を回避することができ、これにより、前記テストパターンの作成を、前記自動テストパターン生成器のルールを遵守した上で終えることができる。
【発明を実施するための最良の形態】
【００１３】
本発明に係る半導体装置の設計方法の実施例について図面を参照して説明する。
【００１４】
実施例の半導体装置の設計方法では、顧客の仕様を具備する、図８に示された従来の半導体装置ＤＶ０及びテストパターンＴＰ０を設計することを想定する。
【００１５】
図１は、実施例の半導体装置の設計方法を示すフローチャートである。以下、図１のフローチャートに沿って実施例の半導体装置の設計方法について説明する。
【００１６】
ステップＳ１０：回路設計者は、顧客の仕様を満足するように、半導体装置ＤＶ０（図８に図示。）の回路設計を行う。
【００１７】
ステップＳ２０：回路設計者は、ステップＳ１０で設計した前記半導体装置ＤＶ０の動作を確認すべく、イネーブル信号ＥＮ及びクロック信号ＣＫ（図８及び図９に図示。）を規定するパターン生成条件（クロック周波数、モード切替のための端子（Low/High）固定）を設定する。
【００１８】
ステップＳ３０：自動テストパターン生成器は、回路構成が、当該自動テストパターン生成器が予め記憶しているルール（当該テストパターンＴＰ０が遵守すべきルール）を遵守しているか又は違反しているかを検査する。
【００１９】
ステップＳ４０：図９に示されるように、前記ルールに違反すること、即ち、出力信号ＯＵＴが期間Ｔ１で「不定」になることが確認されると、回路設計者は、前記半導体装置ＤＶ０（図８に図示。）に代えて、半導体装置ＤＶ１（図２に図示。）を設計し、加えて、前記テストパターンＴＰ０（図９に図示。）に代えて、テストパターンＴＰ１（図３に図示。）を設計する。回路設計者は、より詳しくは、半導体装置ＤＶ０を構成する回路ユニットＣＴ０に代えて、当該回路ユニットＣＴ０に論理和素子ＯＲ１を追加した構成である回路ユニットＣＴ１（図２に図示。）を設計し、さらに、回路ユニットＣＴ１に既存のテスト信号ＴＳを追加接続した構成である回路ブロック（図３に図示。）を設計する。
【００２０】
論理和素子ＯＲ１は、テスト信号ＴＳ及びラッチ素子ＬＴ１（ラッチ素子ＬＴ０に相当。）の出力を入力され、他方で、論理積素子ＡＤ１（論理積素子ＡＤ０に相当。）に、前記２つの入力に論理和を施した結果を出力するように設けられる。テスト信号ＴＳが、図３に示されるように、半導体装置ＤＶ１の動作を確認する間「１」であり続けるように、換言すると、期間Ｔ１、Ｔ２、Ｔ３、．．．に亘ってラッチ素子ＬＴ１の出力を無視するように、作成される。テスト信号ＴＳが常に「１」であることから、論理和素子ＯＲ１は、常に、当該テスト信号ＴＳの「１」をそのまま出力する。従って、図３に示されるように、最初の期間である期間Ｔ１で、イネーブル信号ＥＮ及びクロック信号ＣＫが、図９に示された、イネーブル信号ＥＮ及びクロック信号ＣＫと同様に「１」であり、これにより、ラッチ素子ＬＴ１の出力が、図９示された出力信号ＯＵＴと同様に「不定」であっても、論理和素子ＯＲ１の出力は、前記テスト信号の「１」であることから、論理積素子ＡＤ１は、出力信号ＯＵＴとして、クロック信号ＣＫをそのまま出力し、即ち、「１」のクロック信号ＣＫを出力する。
【００２１】
ステップＳ５０：自動テストパターン生成器のルールを遵守するテストパターンを生成する。
【００２２】
上述したように、実施例の半導体装置の設計方法では、ステップＳ４０で設計変更された回路ユニットＣＴ１は、初期時、即ち、最初の期間Ｔ１のとき、出力信号ＯＵＴとして、「１」のクロック信号ＣＫをそのまま出力することから、従来のような、最初の期間Ｔ１で出力信号ＯＵＴが「不定」になることとは異なり、出力信号ＯＵＴが「不定」になることを禁止する自動テストパターン生成器のルールを遵守することができ、結果的に、テストパターンＴＰ１の作成を当該ルールを遵守した上で完了することができる。
【００２３】
《変形例１》
ステップＳ４０で、上述したように、論理和素子ＯＲ１、及び、当該論理和素子ＯＲ１に入力すべきテスト信号ＴＳを追加することに代えて、論理和素子ＯＲ２（図４に図示。論理和素子ＯＲ１（図２に図示。）と同様。）を追加するものの、図４及び図５に示されるように、前記イネーブル信号ＥＮを前記論理和素子ＯＲ２に入力することによっても、上記した実施例と同様に、期間Ｔ１のときに、出力信号ＯＵＴが「不定」になることを回避することができる。
【００２４】
より詳細には、図５に示されるように、期間Ｔ１で、イネーブル信号ＥＮ及びクロック信号ＣＫが、従来技術（図９に図示。）及び実施例（図３に図示。）と同様に「１」であることから、ラッチ素子ＬＴ２（ラッチ素子ＬＴ１と同様。）の出力が、「不定」になる。しかしながら、前記期間Ｔ１で、イネーブル信号ＥＮが「１」であることにより、論理和素子ＯＲ２の出力が、「１」のイネーブル信号ＥＮとなる。その結果、期間Ｔ１では、論理積素子ＡＤ２（論理積素子ＡＤ１と同様。）は、出力信号ＯＵＴとして、期間Ｔ１における「１」のクロック信号ＣＫの「１」をそのまま出力し、これにより、出力信号ＯＵＴが「不定」になる事態を避けることができる。
【００２５】
《変形例２》
ステップＳ４０で、実施例で説明したように論理和素子ＯＲ１及びテスト信号ＴＳを追加することに代えて、図６に示されるように、論理和素子ＯＲ１を追加せずに、ステップＳ１０で設計した半導体装置ＤＶ０をそのまま用い、他方で、図７に示されるように、クロック信号ＣＫを初期時に「０」であるように修正することによっても、上記した実施例及び変形例１と同様に、出力信号ＯＵＴが「不定」になることを回避することが可能となる。
【００２６】
詳しくは、期間Ｔ１のときに、イネーブル信号ＥＮが、従来技術（図９に図示。）、実施例（図３に図示。）及び変形例１（図５に図示。）と同様に「１」であり、また、パターン生成条件におけるクロック信号ＣＫが、「０」であることから、ラッチ素子ＬＴ０は、スルー動作を行い、即ち、ラッチ素子ＬＴ０の出力は、期間Ｔ１における「１」のイネーブル信号ＥＮをそのまま出力する。これにより、当該「１」のイネーブル信号ＥＮの入力を受けて、論理積素子ＡＤ０は、出力信号ＯＵＴとして、「０」のクロック信号ＣＫをそのまま出力し、その結果、期間Ｔ１で、出力信号ＯＵＴが「不定」になることを回避することができる。
【図面の簡単な説明】
【００２７】
【図１】実施例の半導体装置の設計方法を示すフローチャート。
【図２】実施例の半導体装置の構成を示す図。
【図３】実施例のテストパターンの内容を示す図。
【図４】変形例１の半導体装置の構成を示す図。
【図５】変形例１のテストパターンの内容を示す図。
【図６】変形例２の半導体装置の構成を示す図。
【図７】変形例２のテストパターンの内容を示す図。
【図８】従来の半導体装置の構成を示す図。
【図９】従来のテストパターンの内容を示す図。
【符号の説明】
【００２８】
ＤＶ１…半導体装置、ＣＴ１…回路ユニット、ＬＴ１…ラッチ素子、ＯＲ１…論理和素子、ＡＤ１…論理積素子、ＴＰ１…テストパターン、ＴＳ…テスト信号、ＥＮ…イネーブル信号、ＣＫ…クロック信号。
【図１】
2007225295.tif 000003
【図２】
2007225295.tif 000004
【図３】
2007225295.tif 000005
【図４】
2007225295.tif 000006
【図５】
2007225295.tif 000007
【図６】
2007225295.tif 000008
【図７】
2007225295.tif 000009
【図８】
2007225295.tif 000010
【図９】
2007225295.tif 000011