JP2009222644A - 半導体集積回路、及び設計自動化システム - Google Patents

半導体集積回路、及び設計自動化システム Download PDF

Info

Publication number
JP2009222644A
JP2009222644A JP2008069216A JP2008069216A JP2009222644A JP 2009222644 A JP2009222644 A JP 2009222644A JP 2008069216 A JP2008069216 A JP 2008069216A JP 2008069216 A JP2008069216 A JP 2008069216A JP 2009222644 A JP2009222644 A JP 2009222644A
Authority
JP
Japan
Prior art keywords
signal
circuit
clock
scan
clock gating
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.)
Withdrawn
Application number
JP2008069216A
Other languages
English (en)
Inventor
Satoru Hasegawa
哲 長谷川
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008069216A priority Critical patent/JP2009222644A/ja
Priority to US12/404,501 priority patent/US8127188B2/en
Publication of JP2009222644A publication Critical patent/JP2009222644A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】スキャンテスト実行時における瞬間電力を低減する。
【解決手段】スキャンチェーン回路1は、通常動作時には、組み合わせ論理回路2に入出力されるデータを一時保持する一方、スキャンテスト実行時には、複数個のフリップフロップF/Fをシフトレジスタとして機能させテストパターン信号SCANInをシリアル転送する。クロックゲーティング回路3は、クロックゲーティング信号CGSに従いクロック信号CLKのパルスの出力を制御する一方、スキャンイネーブル信号が立ち上がっている間クロックゲーティング信号CGSを無効化する。クロックゲーティング回路3bは、スキャンイネーブル信号SCANEnが立ち上がっている間クロックゲーティング信号CGSを無効化すると共にクロック信号CLKを反転させる。
【選択図】図2

Description

この発明は、半導体集積回路、及び半導体集積回路の設計を自動化する設計自動化システムに関する。
半導体集積回路(以下、LSIと称する)が正常に製造できているか否かを試験するために、スキャンテスト手法が一般的に利用されている。スキャンテストは、LSI内のフリップフロップ(以下、適宜F/Fと称する)を、スキャンF/Fと呼ばれるスキャンテスト用の入出力端子をもつF/Fに置き換えることで実行される。このようなスキャンF/Fを複数直列に接続したスキャンチェーン構造をLSI内部に形成し、LSIの外部端子から直接テストパタンをスキャンF/Fに入力する。また、外部端子へ直接スキャンF/Fのデータを出力させる。
このようなスキャンテストを実行可能に設計されたLSIは、スキャンF/Fを含む順序回路であっても組み合わせ回路として扱えるため、ATPG(Automatic Test Pattern Generation)ツールによって、自動的にテストパタンを生成することが可能である。
スキャンテストにおけるスキャンシフト動作では、すべてのF/Fは外部端子から入力するクロックによって直接制御するのが一般的である。データの突き抜けや取りこぼしなくスキャンシフト動作を行うためには、シリアル接続されたF/Fのクロックは同時に立ち上がる必要がある。もし、内部で反転されたクロックがスキャンF/Fのクロック端子に接続されていたり、反転エッジのスキャンF/Fが存在したりしても、それらのスキャンF/Fをスキャンチェーンの先頭に配置すれば、正しくシフト動作が行うことができる。
このスキャン設計によって、LSIのテスト容易性は向上するが、スキャンテスト中は、すべてのスキャンF/Fが同時に動作することや、回路の内部状態が常に変化するような高い活性化状態になるため、消費電力が問題になる場合がある(例えば、非特許文献1参照)。このため、低消費電力化されたLSIでは、クロックゲーティング設計を行って、動作しない(出力値が変化しない)F/Fのクロック供給を止めることにより消費電力を抑制している。
問題となる消費電力は、瞬間的に消費する瞬間電力(ピーク電力)と、ある一定期間で平均的に消費する平均電力の二つに大別できる。すべてのスキャンF/Fが一斉に動作するスキャンシフトにおいては、なるべくトグルが発生しないようなテストパターンを作成することにより、平均電力を抑制することが可能である。しかし、全スキャンF/Fが同時に動作するため、瞬間電力の抑制には対策として十分ではない。スキャンチェーンをクロックドメイン毎に分割し、クロックをずらしてスキャンシフトを実行することにより、データの突き抜けや取りこぼしの無い正常なスキャンシフトを実行可能としつつ瞬間電力を低減することは可能であるが、LSI全体に亘る主要なクロックドメインが存在する場合には、その中の大部分のF/Fが同時に動作するため、消費電力削減の効果が希薄であるという問題がある。主要なクロックドメインをテスト時のみ複数のクロックドメインに分け、複数の外部クロックを供給することも可能であるが、クロック設計の負担が大きくなるとう問題がある。
参考文献:P. Girad, "Survey of Low-Power Testing of VLSI Circuits," IEEE Design & Test of Computers, Vol. 19, No. 3, pp. 82-92, 2002)
本発明は、スキャンテスト実行時における瞬間電力を低減することを可能とした半導体集積回路及び設計自動化システムを提供することを目的とする。
本発明の一態様に係る半導体集積回路は、組み合わせ論理回路と、複数個のフリップフロップを直列に接続して構成され、通常動作時において前記組み合わせ論理回路に入出力されるデータを一時保持すると共にスキャンテスト実行時に前記複数個のフリップフロップをシフトレジスタとして機能させスキャンテスト用のテストパターンデータをシリアル転送するスキャンシフトを実行可能に構成されたスキャンチェーン回路と、クロックゲーティング信号に従い前記スキャンチェーン回路に対し供給されるクロック信号のパルスの出力を制御する一方前記スキャンシフトを許可するスキャンイネーブル信号の論理に基づき前記クロックゲーティング信号を無効化するように構成されたクロックゲーティング回路とを備え、前記クロックゲーティング回路は、前記スキャンイネーブル信号の論理に基づき前記スキャンシフト時に前記クロックゲーティング信号を無効化すると共に前記クロック信号を反転させて出力するように構成された第1クロックゲーティング回路を含むことを特徴とする。
また、本発明の一態様に係る設計自動化システムは、半導体集積回路の設計を自動化する設計自動化システムにおいて、前記半導体集積回路は、組み合わせ論理回路と、複数個のフリップフロップを直列に接続して構成され、通常動作時において前記組み合わせ論理回路に入出力されるデータを一時保持すると共にスキャンテスト実行時に前記複数個のフリップフロップをシフトレジスタとして機能させスキャンテスト用のテストパターンデータをシリアル転送するスキャンシフトを実行可能に構成されたスキャンチェーン回路と、クロックゲーティング信号に従い前記スキャンチェーン回路に対し供給されるクロック信号のパルスの出力を制御する一方前記スキャンシフトを許可するスキャンイネーブル信号の論理に基づいて前記クロックゲーティング信号を無効化するように構成されたクロックゲーティング回路とを少なくとも備え、前記半導体集積回路中に含まれる複数の前記クロックゲーティング回路の少なくとも1つを選択するステップと、選択された前記クロックゲーティング回路を、前記クロック信号を反転する機能を有する反転機能付きクロックゲーティング回路に置換するステップと、1つのクロックドメイン中の前記フリップフロップのうち、前記反転機能付きクロックゲーティング回路により制御される前記フリップフロップの数が所定数に達した場合、その置換後のネットリストを出力するステップとをコンピュータに実行可能に構成されたことを特徴とする。
また、本発明の別の一態様に係る半導体集積回路は、組み合わせ論理回路と、 複数個のフリップフロップを直列に接続して構成され、通常動作時において前記組み合わせ論理回路に入出力されるデータを一時保持すると共にスキャンテスト実行時に前記複数個のフリップフロップをシフトレジスタとして機能させスキャンテスト用のテストパターンデータをシリアル転送可能に構成されたスキャンチェーン回路と、クロックゲーティング信号に従い前記スキャンチェーン回路に対し供給されるクロック信号のパルスの出力を制御する一方前記スキャンテストの開始を許可するスキャンイネーブル信号の論理変化を検知して前記クロックゲーティング信号を無効化するように構成された複数のクロックゲーティング回路とを備え、前記複数個のフリップフロップの一部は、前記クロック信号が立ち上がったときにデータを取り込むマスターラッチと、前記クロック信号が立ち下がったときにデータを取り込むスレーブラッチとを備え、前記スキャンイネーブル信号がディセーブルされている間は、前記マスターラッチからデータを取り込んだ後前記スレーブラッチに転送し、前記クロック信号の立ち上がりエッジで動作するフリップフロップとして動作する一方、前記スキャンイネーブル信号がイネーブルされている間は、前記スレーブラッチから前記テストパターンデータを取り込んだ後前記マスターラッチに転送し、前記クロック信号が立ち下がりエッジで動作するスキャンんフリップフロップとして動作するように構成されたことを特徴とする。
本発明によれば、スキャンテスト実行時における瞬間電力を低減することを可能とした半導体集積回路及び設計自動化システムを提供することができる。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
本発明の第1の実施の形態に係る半導体集積回路を、図面を参照して説明する。
第1の実施の形態の説明に先立ち、一般的なスキャンチェーン回路と組み合わせ論理回路との構成例を図1に示す。組み合わせ論理回路2の入力端子側にスキャンテスト用のフリップフロップF/F1〜F/F3が配置され、出力端子側にスキャンテスト用のフリップフロップF/F4が配置されている。これら4つのフリップフロップF/F1〜F/F4が直列にも接続され、スキャンテスト時にシフトレジスタとして機能するスキャンチェーン回路1が構成されている。
すなわち、通常動作においては、これらのフリップフロップF/F1〜F/F3は、データ入力端子Dから入力データDinを入力されて一時保持し、データ出力端子Qから出力データを組み合わせ論理回路2に向けて出力する。また、フリップフロップF/F4は、組み合わせ論理回路2からの出力データをデータ入力端子Dから入力されて一時保持し、データ出力端子Qから出力データDOutを出力する。
一方、スキャンシフト動作においては、直列接続の最前段のフリップフロップF/F1のテストデータ入力端子TIには、図示しないATPG(Automatic Test Pattern Generator)で生成されたテストパターン信号SCANInが入力される。このテストパターン信号SCANInが、直列接続されシフトレジスタを構成するフリップフロップF/F2〜4に順次転送され保持された後、テスト結果をクロック信号により各フリップフロップに取り込む。その後、取り込んだテスト結果をスキャンチェーン回路1を用いてシフト動作し、出力端子から出力信号SCANOutとして出力することで、スキャンテストが実行される。
テストパターン信号SCANInは、組合せ論理回路2中の異なる箇所毎のテストのため、異なる種類の複数の信号が用意される。あるテストパターン信号SCANInが入力された場合におけるテスト出力信号SCANOutを調べることにより、組み合わせ論理回路2中の故障箇所を特定することができる。なお、フリップフロップF/Fの数、及びスキャンチェーン回路1と組み合わせ論理回路2との接続関係は、図1に示すものに限られない。
クロック端子CPには、クロック信号CLKqが、クロックゲーティング回路3を介して入力されている。クロックゲーティング回路3は、クロック信号CLKをゲーティング制御したクロック信号CLKqを出力する。クロックゲーティング回路3には、通常動作時には”L”となり、スキャンテスト時には”H”となるスキャンイネーブル信号SCANEnが入力される。クロックゲーティング回路3は、このスキャンイネーブル信号SCANEnに従ってクロック信号CLKqを変化させる。
すなわちクロックゲーティング回路3は、通常動作時には、クロックゲーティング信号CGSに従い、クロック信号CLKを間引いたゲーテッドクロック信号としてのクロック信号CLKqを出力する。一方、スキャンテスト動作時には、クロックゲーティング信号CGSに拘わらず、クロック信号CLKを間引かずにそのままとしたクロック信号CLKqを出力する。
スキャンイネーブル信号SCANEnは、各フリップフロップF/F1〜4のスキャンイネーブル端子TEにも入力される。各フリップフロップF/F1〜4は、スキャンイネーブル信号SCANEnが”H”となった場合にテストデータ入力端子TIからテストパターンSCANInを入力させシフトレジスタ動作を行い、逆にスキャンイネーブル信号SCANEnが”L”となった場合にデータ入力端子Dから通常のデータDinを入力させる。
なお、クロックゲーティング回路3に供給されるクロック信号は、クロック生成回路11、又は外部の回路12、マルチプレクサ13、及びクロックツリーシンセシス(CTS)14を介して供給される。マルチプレクサ13は、スキャンテストモード信号SCANTestModeに従い、通常動作ではクロック信号をクロック生成回路11から取り込み、スキャンテスト時にはスキャンテスト用のクロック信号を外部の回路12から取り込む。
図2は、本発明の第1の実施の形態に係る半導体集積回路100の全体構成を示すブロック図である。この半導体集積回路100は、異なる複数種類(ここでは3種類)のクロックCLK1〜CLK3により制御される。クロックCLK1は、半導体集積回路100中の主要なクロックドメイン2aの制御に用いられる。また、クロックCLK2は、半導体集積回路100中の別のクロックドメイン2bの制御に用いられる。クロックCLK3は、半導体集積回路100中の更に別のクロックドメイン2cの制御に用いられる。実際の半導体集積回路は、更に多数のクロックドメインに分割されることが殆どであるが、ここでは説明の便宜上、上記の3つのクロックドメイン2a〜2cが存在するものとして説明する。
クロックドメイン2a〜2cには、それぞれスキャンテストのためスキャンチェーン回路1a〜1cが用意されている。スキャンチェーン回路1aには、総計n個のフリップフロップF/F1〜F/Fnが設けられている。スキャンチェーン回路1bには、総計(p−n)個のフリップフロップF/Fn+1〜F/Fpが設けられている。スキャンチェーン回路1cには、総計(q−p)個のフリップフロップF/Fp+1〜F/Fqが設けられている。
ここでクロックドメイン2aに着目すると、クロックドメイン2aは、半導体集積回路100中の主要なクロックドメインであるため、スキャンチェーン回路1aに含まれるすべて(n個)のフリップフロップF/F1〜F/Fnを同時に動作させることは、瞬間電力の上昇を招く。
そこで、本実施の形態では、n個のフリップフロップF/F1〜F/Fnのうち、半数程度のm個のフリップフロップF/F1〜F/Fmに関しては、同一のクロック信号CLK1を用いてスキャンテストを実行する一方、残りの(n−m)個のフリップフロップF/Fm+1〜F/Fnに関しては、このクロック信号CLK1を反転させたクロック信号CLK1invを用いてスキャンテスト信号を実行する。クロック信号CLK1invは、クロック信号CLK1の反転クロック信号であるため、フリップフロップF/Fm+1〜F/Fnは、残りのフリップフロップF/F1〜F/Fmとは同時に動作しない。これにより、半導体集積回路100のスキャンテスト実行時における瞬間電力を低減することが可能になる。後述するように、例えば図2に示すような半導体集積回路100を自動設計する設計自動化システムにおいては、1つのクロックドメイン中に含まれる複数のクロックゲーティング回路のうちの1つを選択させ、その選択したクロックゲーティング回路には、クロック信号を反転させる機能を与える。そして、その選択され反転機能を与えられたクロックゲーティング回路により制御されるフリップフロップの数が、当該クロックドメイン中に含まれるフリップフロップの総数の半数に達した場合には、そのときのネットリストを出力し、達していない場合には、新たなクロックゲーティング回路を選択する。説明は省略するが、他のスキャンチェーン回路1b、1cにおいても同様の手順を実行することが可能である。
すなわち、1つのクロックドメインを構成するクロックドメイン2aに対応して設けられたスキャンチェーン回路1aには、n個のフリップフロップ回路F/F1〜F/Fnが含まれている。そして、そのうちの約半数である(n−m)個のフリップフロップF/Fm+1〜F/Fnを制御するクロックゲーティング回路3bは、クロック信号CLK1を反転して反転クロック信号CLKinvを出力する反転機能付きクロックゲーティング回路3bとされている。その他のフリップフロップF/F1〜F/Fmは、クロック信号CLK1をスキャンテスト時も反転させずそのまま用いるため、通常のクロックゲーティング回路3aを有している。
図3に、通常のクロックゲーティング回路3a(反転機能無し)の構成例を示す。このクロックゲーティング回路3aは、ORゲート31、反転ラッチ回路32、及びANDゲート33を備えている。ORゲート31には、クロックゲーティング信号CGSとスキャンイネーブル信号SCANEnを入力端子に供給されている。また、反転ラッチ回路3は、クロック信号CLKが立ち下がったときにORゲート31の出力信号をラッチする。ANDゲート33は、クロック信号CLKと反転ラッチ回路32の出力信号の論理積信号を出力する。
図4に、反転機能付きのクロックゲーティング回路3bの構成例を示す。このクロックゲーティング回路3bは、エッジ検出回路34、ゲーティング回路35及び反転回路36を備えている。
エッジ検出回路34は、スキャンイネーブル信号SCANEnの立ち上がりを検知して、その立ち上がり(イネーブル)の直後のクロック信号CLKの立ち下がりから、スキャンイネーブル信号SCANEnが立ち下がる(ディセーブルされる)までの間の期間立ち上がる出力信号OUT2を出力する。具体的にエッジ検出回路34は、反転エッジトリガー型フリップフロップ回路301とANDゲート302を備えている。反転エッジトリガー型フリップフロップ回路301は、クロック信号CLKが立ち下がったときにスキャンイネーブル信号SCANEnをラッチする。ANDゲート302は、反転エッジトリガー型フリップフロップ回路301のラッチデータとスキャンイネーブル信号SCANEnの論理積信号を出力する。
また、ゲーティング回路35は、クロックゲーティング信号CGSに従ってクロック信号CLKのパルスの出力を制御する一方、スキャンイネーブル信号SCANEnが立ち上がっている間は、クロックゲーティング信号CGSに代えて、出力信号OUT2を取り込むように構成されている。具体的にこのゲーティング回路35は、マルチプレクサ304、反転ラッチ回路305、及びANDゲート306を有している。
マルチプレクサ304は、スキャンイネーブル信号SCANEnが”L”の場合にクロックゲーティング信号CGSを選択的に取り込み、逆にスキャンイネーブル信号SCANEnが”H”の場合にANDゲート302の出力信号を選択的に取り込む。
反転ラッチ回路305は、クロック信号CLKが立ち下がっっている間にマルチプレクサ305の出力信号を取り込む。ANDゲート306は、反転ラッチ回路305のラッチデータとクロック信号CLKの論理積信号を出力する。
反転回路36は、排他的論理和回路307から構成され、スキャンシフト実行時において、クロック信号CLKを反転させる。排他的論理和回路307は、ANDゲート302の出力信号とANDゲート306の出力信号との排他的論理和信号を出力する。
次に、この通常のクロックゲーティング回路3a(反転機能無し)の動作を図5のタイミングチャートを参照して説明する。このクロックゲーティング回路3aはスキャンイネーブル信号SCANEnとクロックゲーティング信号CGSを入力されるORゲート31を有している。このため、通常動作が行われるスキャンイネーブル信号SCANEnが”L”の場合には、クロックゲーティング信号CGSが有効となり、クロックゲーティング信号CGSのみに影響を受け、クロック信号CLKが間引きされたゲーテッドクロック信号としてのクロック信号CLKqが出力される。
一方、スキャンシフト実行のためスキャンイネーブル信号SCANEnが”H”とされる場合には、クロックゲーティング信号CGSはORゲート31により打ち消され、いわば無効化される。このため、ANDゲート33では、クロック信号CLKの立ち上がりと同期したクロック信号CLKqが出力される。
次に、この反転機能付きのクロックゲーティング回路3bの動作を図6のタイミングーチャートを参照して説明する。このクロックゲーティング回路3bは、通常動作のためスキャンイネーブル信号SCANEnが”L”となる場合には、エッジ検出回路34の出力信号は”L”に固定される。また、マルチプレクサ304もクロックゲーティング信号CGSを選択的に取り込む状態とされ、反転回路36も一方の入力信号が”L”に固定されるため、単なるバッファとして機能する。このため、スキャンイネーブル信号SCANEnが”L”の場合、すなわち通常動作においては、クロックゲーティング回路3bの動作は、クロックゲーティング回路3aと全く同様に動作する。換言すれば、クロックゲーティング回路3bは、クロックゲーティング信号CGSのみの影響を受けて、クロック信号CLKを間引いたゲーテッドクロック信号であるクロック信号CLKqを出力する。
一方、スキャンシフト実行のためスキャンイネーブル信号SCANEnが”H”の場合には、マルチプレクサ304はANDゲート302の出力信号を選択的に取り込む状態となる。また、エッジ検出回路34の出力信号OUT2は時刻t21と時刻t5との間において”H”となる。このため、時刻t21から時刻t5の間において反転回路36が出力する信号、すなわちクロック信号CLKと出力信号OUT2の排他的論理和信号は、クロック信号CLKを反転させた信号となる。
このように、クロックゲーティング回路3aとクロックゲーティング回路3bとは、スキャンテスト実行時において、同じクロック信号CLKを与えられても、位相の異なるクロック信号により駆動されるようになる(図5、図6のCLKq参照)。このため、1つのクロックドメイン内において、クロックゲーティング回路3aにより制御されるフリップフロップF/Fの数と、クロックゲーティング回路3bにより制御されるフリップフロップF/Fの数とを略同数とするように回路設計を行うことにより、スキャンテスト時における瞬間電力を低減させることが可能になる。
〔第2の実施の形態〕
次に、本発明の第2の実施の形態に係る設計自動化システムを、図面を参照して説明する。
図7は、本発明の第2の実施の形態に係る設計自動化システムの構成を示すブロック図である。この設計自動化システムはコンピュータとコンピュータプログラムにより実現可能であり、一例として、設計しようとする半導体集積回路のネットリストを保持するネットリスト格納部41、回路設計部42、及び出力部43を備えている。
ネットリスト格納部41に格納されるネットリストは、ここでは組み合わせ論理回路、フリップフロップ、及びクロックゲーティング回路を含むものとする。
回路設計部42は、カウント部401、選択部402、置換部403、判定部404、及びネットリスト生成部405を備えている。これら401〜405は、コンピュータに格納され実行されたコンピュータプログラムによっても実現可能である。
カウント部401は、1つのクロックドメイン中に含まれるフリップフロップの個数をカウントする機能を有する。また、選択部402は、1つのクロックドメイン中に含まれるクロックゲーティング回路のうちの任意の1つを選択する機能を有する。置換部403は、選択部402により選択されたクロックゲーティング回路を、反転機能付きのクロックゲーティング回路に置き換える機能を有する。判定部404は、カウント部401でのカウント値、ネットリスト、及び置換部403での置換結果に従い、1つのクロックドメインの中に含まれるフリップフロップのうち、反転機能付きのクロックゲーティング回路により制御されるフリップフロップの数が、半数を超えているか否かを判定する機能を有する。ネットリスト生成部405は、カウント部401、選択部402、置換部403、及び判定部404の動作後にネットリストを生成する機能を有する。出力部43は、こうして生成されたネットリストを外部に出力する。
次に、この図7に示すシステムを用いた半導体集積回路の設計手順を、図8に示すフローチャートを参照して説明する。
まず、ネットリスト格納部41から、設計しようとする半導体集積回路のネットリストを回路設計部42に入力する(S21)。
続いて、このネットリスト中の1つのクロックドメイン内に含まれるフリップフロップの数を、カウント部401を用いて計算する(S22)。そして、この1つのクロックドメイン中に配置された複数のクロックゲーティング回路のうちの任意の1つを選択し(S23)、選択されたクロックゲーティング回路は反転機能付きのクロックゲーティング回路に置換する(S24)。なお、このS23での選択は、図示しない入力部を介してオペレータが行ってもよいし、選択部402により自動的に実行されるのでもよい。
その後、判定部404は、S22でカウントしたカウント値、ネットリスト、及びS24での置換結果に従い、1つのクロックドメインの中に含まれるフリップフロップのうち、反転機能付きのクロックゲーティング回路により制御されるフリップフロップの数が、半数を超えているか否かを判定する(S25)。半数を超えている場合(YES)、S24での置換動作により配置された反転機能付きのクロックゲーティング回路を含むネットリストを出力部43から出力して、処理を終了する(S26、S27)。
一方、S25で半数を超えていないと判定された場合(NO)、近傍のフリップフロップを駆動する別のクロックゲーティング回路が存在するか否かが判定される(S28)。存在する場合には(YES)、そのような条件を満たすクロックゲーティング回路を1つ選択し(S29)、S24に戻って置換動作を繰り返す。
一方S28で条件を満たすクロックゲーティング回路が存在しないと判定された場合には、S23に戻り、任意のクロックゲーティング回路を選択する(S23)。なお、S23において、選択可能なクロックゲーティング回路が無いと判断された場合には、S26に移動して処理を終了する。
なお、図9に示すように、反転機能付きのクロックゲーティング回路3bで制御されるフリップフロップF/F1〜F/F2と、反転機能無しのクロックゲーティング回路3aで制御されるフリップフロップF/F3〜F/F4が混在したスキャンチェーンある場合を想定する。この場合、フリップフロップF/F1〜F/F2が、フリップフロップF/F3〜4よりも前段にある場合、フリップフロップF/F1〜F/F4により1つのスキャンチェーン回路を構成したとしても、正常にデータの受け渡し(シフト動作)を行うことが可能になる。
このような観点から、本実施の形態では、S28において、近傍のフリップフロップを駆動する別のクロックゲーティング回路が存在するか否かが判定し、存在する場合にはそのクロックゲーティング回路も反転機能付きのものに置き換える。このようにして、反転機能付きクロックゲーティング回路により制御されるフリップフロップの近傍のフリップフロップを選択・置換し、そのようなフリップフロップ回路をスキャンチェーン回路が先頭部分に集められ、スキャンチェーン回路の配線長を短くすることができる。
〔第3の実施の形態〕
次に、本発明の第3の実施の形態に係る設計自動化システムを、図面を参照して説明する。
図10は、本発明の第3の実施の形態に係る設計自動化システムの構成を示すブロック図である。この設計自動化システムはコンピュータとコンピュータプログラムにより実現可能であり、一例として、図2に示すような半導体集積回路の自動設計が可能なように構成されている。このシステムは、入力部141、データ格納部142、ネットリスト生成部143、テストパターン生成部144、及び出力部145から構成されている。これら143〜144は、コンピュータに格納され実行されたコンピュータプログラムによっても実現可能である。
入力部141は、後述する反転クロック化の選択、その他設計のために必要なオペレータからの指示を入力するために設けられている。データ格納部142は、設計しようとする回路のRTL(Register Transfer Level)を格納する。
また、ネットリスト生成部143は、入力部141からの入力データ、及びRTLに基づいて、設計しようとする回路のネットリストを生成する。また、テストパターン生成部144は、図示しないATPG及び上述のネットリストに基づいて、設計しようとする回路をテストするためのテストパターンを生成する。出力部145は、生成されたネットリスト及びテストパターンを出力する。
次に、この図10に示すシステムを用いた半導体集積回路の設計手順を、図11を参照して説明する。ここでは、半導体集積回路中のあるクロックドメイン内の半分のクロックゲーティング回路が、第1の実施の形態で説明した反転機能付きクロックゲーティング回路となるように設計が行われるものとする。
まず、設計しようとする回路のRTLがデータ格納部142からネットリスト生成部143に入力される(S31)。
次に各クロックドメインに対しクロックゲーティング回路を配置するクロックゲーティング化を実行する(S32)。そして、このようにして配置された複数のクロックゲーティング回路のうち、反転機能付きのクロックゲーティング回路とするものを選択し(S33)、選択されたクロックゲーティング回路は反転機能付きのものに置換される。なお、この選択は、入力部141を介してオペレータが行ってもよいし、ネットリスト生成部143により自動的に実行されるのでもよい。
次に、この置換結果に従い、RTLの論理合成を行い(S35)、スキャンチェーン回路の接続を行う(S36)。このとき、スキャンチェーン回路の前段部分に、反転機能付きのクロックゲーティング回路により制御されるフリップフロップが集められ、後段に反転機能無しのクロックゲーティング回路により制御されるフリップフロップが集められるよう、スキャンチェーン接続を行う。こうして生成されたネットリストを出力部145から出力する(S37)。さらに、ATPGを用いてテストパターンを生成・出力する(S38、S39)。
[第4の実施の形態]
次に、本発明の第4の実施の形態を図12及び図13を参照して説明する。図の上記の第1乃至第3の実施の形態は、クロックゲーティング回路を反転機能付きのものに置き換えることで瞬間電力の低減を図るものである。これに対し、本実施の形態は、クロックゲーティング回路を反転機能付きのものに置き換えることは行わない。その代わりに、スキャンチェーン回路を構成するフリップフロップの一部を、スキャンシフト実行時において、クロック信号の立ち上がりでデータをラッチする回路から、クロック信号の立ち下がりでデータをラッチする回路に(またはその逆に)変更可能な構成とする。
図12は、本実施の形態に係る半導体集積回路の構成の一部を示すブロック図である。図12に示すように、この実施の形態の半導体集積回路は、1つのクロックドメインを構成する組み合わせ論理回路2に対応して設けられたスキャンチェーン回路1内に含まれるクロックゲーティング回路3は、いずれも同じクロック信号CLK1により動作し、反転機能は与えられていない。その代わりに、スキャンチェーン回路1内に含まれるn個のフリップフロップF/Fのうちの半分のフリップフロップF/Fm+1〜F/Fnは、スキャンテストの実行時において、クロック信号の立ち上がりでデータをラッチする回路から、クロック信号の立ち下がりでデータをラッチする回路に(またはその逆に)変更可能なフリップフロップ51とする。これにより、クロックゲーティング回路を反転機能付きに置き換えなくても、第1乃至第3の実施の形態と同様の効果を得ることができる。
図13に、図12で説明したフリップフロップ51の構成例を示す。このフリップフロップ51は、マルチプレクサ242、244、246と、第1ラッチ回路243、第2ラッチ回路244を備えている。
マルチプレクサ242は、スキャンイネーブル信号SCANEnが”L”のとき通常のデータDinを、”H”のときはラッチ回路245の出力信号を選択的に取り込むように構成されている。第1ラッチ回路243は、クロック信号CLKが立ち下っている間はマルチプレクサ242の出力信号を取り込む。マルチプレクサ244は、スキャンイネーブル信号SCANEnが”L”のときは第1ラッチ回路243の出力信号を、”H”のときはテストパターンSCANInを選択的に取り込むように構成されている。第2ラッチ回路245は、クロック信号CLKが立ち上がっている間にマルチプレクサ244の出力信号を取り込む。マルチプレクサ246は、スキャンイネーブル信号SCANEnが”L”のときは第2ラッチ回路245の出力信号を、”H”のときは第1ラッチ回路243の出力信号を選択的に取り込むように構成されている。
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。
一般的なスキャンチェーン回路と組み合わせ論理回路との構成例を示す。 本発明の第1の実施の形態に係る半導体集積回路100の全体構成を示すブロック図である。 図2に示す、通常のクロックゲーティング回路3a(反転機能無し)の構成例を示す。 反転機能付きのクロックゲーティング回路3bの構成例を示す。 通常のクロックゲーティング回路3a(反転機能無し)の動作を示すタイミングチャートである。 反転機能付きのクロックゲーティング回路3bの動作を説明するタイミングチャートである。 本発明の第2の実施の形態に係る設計自動化システムの構成を示すブロック図である。 図7に示すシステムを用いた半導体集積回路の設計手順を説明するフローチャートである。 図7に示すシステムにおける動作を説明する概念図である。 本発明の第3の実施の形態に係る設計自動化システムの構成を示すブロック図である。 図10に示すシステムを用いた半導体集積回路の設計手順を説明するフローチャートである。 本実施の形態に係る半導体集積回路の構成の一部を示すブロック図である。 図12で説明したフリップフロップ51の構成例を示す。
符号の説明
F/F1〜F/F3・・・フリップフロップ、 1、1a〜1c・・・スキャンチェーン回路、 2、2a〜2c・・・組み合わせ論理回路、 3、3a、3b・・・クロックゲーティング回路、 11・・・クロック生成回路、 12・・・外部の回路、 13・・・マルチプレクサ、 14・・・クロックツリーシンセシス(CTS)。

Claims (5)

  1. 組み合わせ論理回路と、
    複数個のフリップフロップを直列に接続して構成され、通常動作時において前記組み合わせ論理回路に入出力されるデータを一時保持すると共にスキャンテスト実行時に前記複数個のフリップフロップをシフトレジスタとして機能させスキャンテスト用のテストパターンデータをシリアル転送するスキャンシフトを実行可能に構成されたスキャンチェーン回路と、
    クロックゲーティング信号に従い前記スキャンチェーン回路に対し供給されるクロック信号のパルスの出力を制御する一方前記スキャンシフトを許可するスキャンイネーブル信号の論理に基づき前記クロックゲーティング信号を無効化するように構成されたクロックゲーティング回路と
    を備え、
    前記クロックゲーティング回路は、
    前記スキャンイネーブル信号の論理に基づき前記スキャンシフト時に前記クロックゲーティング信号を無効化すると共に前記クロック信号を反転させて出力するように構成された第1クロックゲーティング回路を含む
    ことを特徴とする半導体集積回路。
  2. 前記第1クロックゲーティング回路は、
    前記スキャンイネーブル信号の論理変化を検知して前記スキャンイネーブル信号がイネーブルされた直後の前記クロック信号の立ち下がりエッジから前記スキャンイネーブル信号がディセーブルされるまでの間立ち上がる第1出力信号を出力するエッジ検出回路と、
    前記クロックゲーティング信号に従って前記クロック信号のパルスの出力を制御する一方、前記スキャンイネーブル信号がイネーブルされている間は、前記クロックゲーティング信号に代えて、前記第1出力信号を取り込むゲーティング回路と、
    前記第1出力信号に従って前記クロック信号を反転させる反転回路と
    を備えたことを特徴とする請求項1記載の半導体集積回路。
  3. 前記反転回路は、前記第1出力信号と前記クロック信号との排他的論理和信号を出力するEX−ORゲートを備え、 前記ゲーティング回路は、
    前記第1出力信号
    又は前記クロックゲーティング信号を選択的に取り込んで出力するマルチプレクサと、
    前記マルチプレクサの出力信号を前記クロック信号が第1の状態のときは通過させ、第2の状態のときは保持するラッチ回路と、
    前記ラッチ回路のラッチデータと前記クロック信号の論理積信号を出力するANDゲートと
    を備えたことを特徴とする請求項2記載の半導体集積回路。
  4. 半導体集積回路の設計を自動化する設計自動化システムにおいて、
    前記半導体集積回路は、
    組み合わせ論理回路と、
    複数個のフリップフロップを直列に接続して構成され、通常動作時において前記組み合わせ論理回路に入出力されるデータを一時保持すると共にスキャンテスト実行時に前記複数個のフリップフロップをシフトレジスタとして機能させスキャンテスト用のテストパターンデータをシリアル転送するスキャンシフトを実行可能に構成されたスキャンチェーン回路と、
    クロックゲーティング信号に従い前記スキャンチェーン回路に対し供給されるクロック信号のパルスの出力を制御する一方前記スキャンシフトを許可するスキャンイネーブル信号の論理に基づいて前記クロックゲーティング信号を無効化するように構成されたクロックゲーティング回路と
    を少なくとも備え、
    前記半導体集積回路中に含まれる複数の前記クロックゲーティング回路の少なくとも1つを選択するステップと、
    選択された前記クロックゲーティング回路を、前記クロック信号を反転する機能を有する反転機能付きクロックゲーティング回路に置換するステップと、
    1つのクロックドメイン中の前記フリップフロップのうち、前記反転機能付きクロックゲーティング回路により制御される前記フリップフロップの数が所定数に達した場合、その置換後のネットリストを出力するステップと
    をコンピュータに実行可能に構成された設計自動化システム。
  5. 組み合わせ論理回路と、
    複数個のフリップフロップを直列に接続して構成され、通常動作時において前記組み合わせ論理回路に入出力されるデータを一時保持すると共にスキャンテスト実行時に前記複数個のフリップフロップをシフトレジスタとして機能させスキャンテスト用のテストパターンデータをシリアル転送するスキャンテストを実行可能に構成されたスキャンチェーン回路と、
    クロックゲーティング信号に従い前記スキャンチェーン回路に対し供給されるクロック信号のパルスの出力を制御する一方前記スキャンシフトを許可するスキャンイネーブル信号の論理に基づいて前記クロックゲーティング信号を無効化するように構成されたクロックゲーティング回路と
    を備え、
    前記フリップフロップの一部は、
    前記クロック信号が立ち上がったときにデータを取り込むマスターラッチと、
    前記クロック信号が立ち下がったときにデータを取り込むスレーブラッチとを備え、
    前記スキャンイネーブル信号がディセーブルされている間は、前記マスターラッチからデータを取り込んだ後前記スレーブラッチに転送し、前記クロック信号の立ち上がりエッジで動作するフリップフロップとして動作する一方、
    前記スキャンイネーブル信号がイネーブルされている間は、前記スレーブラッチから前記テストパターンデータを取り込んだ後前記マスターラッチに転送し、前記クロック信号が立ち下がりエッジで動作するスキャンんフリップフロップとして動作するように構成された
    ことを特徴とする半導体集積回路。
JP2008069216A 2008-03-18 2008-03-18 半導体集積回路、及び設計自動化システム Withdrawn JP2009222644A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008069216A JP2009222644A (ja) 2008-03-18 2008-03-18 半導体集積回路、及び設計自動化システム
US12/404,501 US8127188B2 (en) 2008-03-18 2009-03-16 Semiconductor integrated circuit and design automation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008069216A JP2009222644A (ja) 2008-03-18 2008-03-18 半導体集積回路、及び設計自動化システム

Publications (1)

Publication Number Publication Date
JP2009222644A true JP2009222644A (ja) 2009-10-01

Family

ID=41090070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008069216A Withdrawn JP2009222644A (ja) 2008-03-18 2008-03-18 半導体集積回路、及び設計自動化システム

Country Status (2)

Country Link
US (1) US8127188B2 (ja)
JP (1) JP2009222644A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101539712B1 (ko) * 2015-01-19 2015-07-28 연세대학교 산학협력단 저전력 스캔 테스트가 가능한 반도체 장치 및 그를 테스트하는 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046651B2 (en) 2008-04-02 2011-10-25 Texas Instruments Incorporated Compare circuit receiving scan register and inverted clock flip-flop data
JP5275136B2 (ja) * 2009-05-28 2013-08-28 ルネサスエレクトロニクス株式会社 半導体集積回路
US8423843B2 (en) * 2009-10-23 2013-04-16 Atrenta, Inc. Method and system thereof for optimization of power consumption of scan chains of an integrated circuit for test
US8381144B2 (en) * 2010-03-03 2013-02-19 Qualcomm Incorporated System and method of test mode gate operation
WO2011123151A1 (en) * 2010-04-02 2011-10-06 Tabula Inc. System and method for reducing reconfiguration power usage
KR101139603B1 (ko) * 2010-08-24 2012-04-27 광운대학교 산학협력단 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
JP5361930B2 (ja) * 2011-03-25 2013-12-04 株式会社東芝 半導体集積回路およびその設計方法
KR20120121708A (ko) * 2011-04-27 2012-11-06 에스케이하이닉스 주식회사 반도체 장치
US8621303B1 (en) 2011-12-27 2013-12-31 Altera Corporation Clock control circuitry and methods of utilizing the clock control circuitry
US8788896B2 (en) * 2012-01-11 2014-07-22 Lsi Corporation Scan chain lockup latch with data input control responsive to scan enable signal
US8904255B2 (en) * 2012-02-21 2014-12-02 Lsi Corporation Integrated circuit having clock gating circuitry responsive to scan shift control signal
WO2014013298A1 (en) * 2012-07-20 2014-01-23 Freescale Semiconductor, Inc. Register file module and method therefor
US20140181603A1 (en) * 2012-12-21 2014-06-26 Iwan R. Grau Method and apparatus for tuning scan capture phase activity factor
US8898527B2 (en) * 2013-01-18 2014-11-25 Lsi Corporation At-speed scan testing of clock divider logic in a clock module of an integrated circuit
US20150039956A1 (en) * 2013-07-30 2015-02-05 Stmicroelectronics Asia Pacific Pte. Ltd. Test mux flip-flop cell for reduced scan shift and functional switching power consumption
KR102057503B1 (ko) 2013-08-14 2019-12-19 삼성전자 주식회사 반도체 회로
US9261560B2 (en) * 2013-12-31 2016-02-16 Texas Instruments Incorporated Handling slower scan outputs at optimal frequency
EP3153873A1 (en) * 2015-10-07 2017-04-12 Lantiq Beteiligungs-GmbH & Co. KG On-chip test pattern generation
US9835683B2 (en) * 2015-12-17 2017-12-05 Nxp Usa, Inc. Clock gating for X-bounding timing exceptions in IC testing
JP2021124371A (ja) * 2020-02-05 2021-08-30 キオクシア株式会社 半導体集積回路
EP4043894B1 (en) * 2021-02-16 2023-09-13 STMicroelectronics S.r.l. Scan chain circuit and corresponding method
JP2023040646A (ja) * 2021-09-10 2023-03-23 キオクシア株式会社 半導体装置及び半導体装置の検査方法
US11940494B2 (en) 2021-11-11 2024-03-26 Samsung Electronics Co., Ltd. System on chip for performing scan test and method of designing the same
CN114563694B (zh) * 2022-03-31 2022-10-28 上海韬润半导体有限公司 时钟门控控制电路及芯片测试电路

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5166604A (en) * 1990-11-13 1992-11-24 Altera Corporation Methods and apparatus for facilitating scan testing of asynchronous logic circuitry
US6539536B1 (en) * 2000-02-02 2003-03-25 Synopsys, Inc. Electronic design automation system and methods utilizing groups of multiple cells having loop-back connections for modeling port electrical characteristics
JP4627118B2 (ja) * 2001-04-26 2011-02-09 ルネサスエレクトロニクス株式会社 スキャンテスト用回路
EP1472551B1 (en) * 2002-01-28 2005-11-09 Koninklijke Philips Electronics N.V. Testing of circuit with plural clock domains
US7134061B2 (en) * 2003-09-08 2006-11-07 Texas Instruments Incorporated At-speed ATPG testing and apparatus for SoC designs having multiple clock domain using a VLCT test platform
TWI221926B (en) * 2003-09-10 2004-10-11 Realtek Semiconductor Corp A multi-time domain logic system and related method
US7055077B2 (en) * 2003-12-23 2006-05-30 Kabushiki Kaisha Toshiba Systems and methods for circuit testing
EP1584939B1 (en) * 2004-04-07 2013-02-13 STMicroelectronics (Research & Development) Limited An integrated circuit with boundary scan test circuitry
EP1584938B1 (en) * 2004-04-07 2008-05-21 STMicroelectronics Limited At-speed testing of an integrated circuit
US20060085707A1 (en) * 2004-09-28 2006-04-20 Texas Instruments Incorporated High speed energy conserving scan architecture
US7650549B2 (en) * 2005-07-01 2010-01-19 Texas Instruments Incorporated Digital design component with scan clock generation
JP4366353B2 (ja) * 2005-10-25 2009-11-18 パナソニック株式会社 半導体集積回路及びその設計方法
US7840861B2 (en) * 2006-06-27 2010-11-23 Silicon Image, Inc. Scan-based testing of devices implementing a test clock control structure (“TCCS”)
JP4091957B2 (ja) * 2006-02-17 2008-05-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のクロック発生回路を含むテスト可能な集積回路
JP4808051B2 (ja) * 2006-03-14 2011-11-02 ルネサスエレクトロニクス株式会社 半導体集積回路装置とそのテスト方法
US7793179B2 (en) * 2006-06-27 2010-09-07 Silicon Image, Inc. Test clock control structures to generate configurable test clocks for scan-based testing of electronic circuits using programmable test clock controllers
JP2008122159A (ja) * 2006-11-09 2008-05-29 Toshiba Corp 半導体集積回路
US7739568B1 (en) * 2006-11-14 2010-06-15 Marvell International Ltd. Scan testing system for circuits under test
US20080282122A1 (en) * 2007-05-09 2008-11-13 Amar Guettaf Single scan clock in a multi-clock domain

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101539712B1 (ko) * 2015-01-19 2015-07-28 연세대학교 산학협력단 저전력 스캔 테스트가 가능한 반도체 장치 및 그를 테스트하는 방법

Also Published As

Publication number Publication date
US8127188B2 (en) 2012-02-28
US20090240997A1 (en) 2009-09-24

Similar Documents

Publication Publication Date Title
JP2009222644A (ja) 半導体集積回路、及び設計自動化システム
JP5256840B2 (ja) 論理回路
US8717078B2 (en) Sequential latching device with elements to increase hold times on the diagnostic data path
US9341674B2 (en) Scan test circuit, test pattern generation control circuit, and scan test control method
US8775857B2 (en) Sequential on-chip clock controller with dynamic bypass for multi-clock domain testing
US9322876B2 (en) Control test point for timing stability during scan capture
JP2007178421A (ja) 2相クロック制御によるタイミング競合バウンダリスキャンレジスタを用いないシフトレジスタ
JP2007187458A (ja) スキャンフリップフロップ回路、及び、半導体集積回路装置
JP2010276479A (ja) 半導体集積回路、及びそのテスト方法
US8145963B2 (en) Semiconductor integrated circuit device and delay fault testing method thereof
JP5651058B2 (ja) スキャンフリップフロップ回路、スキャンテスト回路及びその制御方法
EP1989562B1 (en) Dual-path, multimode sequential storage element
US20170146600A1 (en) Scan Logic For Circuit Designs With Latches And Flip-Flops
US11017135B2 (en) Scan logic for circuit designs with latches and flip-flops
JP6534592B2 (ja) スキャンテスト回路及びスキャンテスト装置
JP3633901B2 (ja) Lssdインタフェース
JP5383588B2 (ja) スキャンテスト回路、半導体集積回路
JP2009175154A (ja) 半導体集積回路およびその設計方法
JP2013061229A (ja) 半導体集積回路、半導体集積回路の設計支援方法、及び設計支援プログラム
JP2013036960A (ja) 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法
JP4416469B2 (ja) 半導体集積回路およびその設計方法
JP3265270B2 (ja) バウンダリ・スキャン・テスト機能を用いたac測定回路
JP2011158440A (ja) クロック生成回路、半導体集積回路およびその試験システム
Yang et al. The JTAG circuit design of accomplishing dynamic reconfiguration
JP2006139485A (ja) コンピュータ制御装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110607