JP5401119B2 - 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路 - Google Patents

半導体集積回路の設計方法、設計プログラム、及び半導体集積回路 Download PDF

Info

Publication number
JP5401119B2
JP5401119B2 JP2009038811A JP2009038811A JP5401119B2 JP 5401119 B2 JP5401119 B2 JP 5401119B2 JP 2009038811 A JP2009038811 A JP 2009038811A JP 2009038811 A JP2009038811 A JP 2009038811A JP 5401119 B2 JP5401119 B2 JP 5401119B2
Authority
JP
Japan
Prior art keywords
scan
flip
flop
scan chain
integrated circuit
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.)
Expired - Fee Related
Application number
JP2009038811A
Other languages
English (en)
Other versions
JP2010199106A (ja
Inventor
貴久 中湖
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009038811A priority Critical patent/JP5401119B2/ja
Priority to US12/709,924 priority patent/US8281278B2/en
Publication of JP2010199106A publication Critical patent/JP2010199106A/ja
Application granted granted Critical
Publication of JP5401119B2 publication Critical patent/JP5401119B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns

Landscapes

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

Description

本発明は、半導体集積回路の設計方法、設計プログラム、及び半導体集積回路に関し、特に半導体集積回路のスキャンテストのためのテスト容易化設計方法に関する。
半導体集積回路の製造後、製品中に遅延故障(delay fault)や縮退故障(stuck−at fault)が発生しているか否かを確認するため、テスト回路を設計段階で予め組み込んでおく設計技術が知られている。そのような設計技術は、テスト容易化設計(DFT:Design For Testability)と呼ばれている。
テスト容易化設計の一手法として、「スキャン設計」が知られている。スキャン設計によれば、設計回路内のフリップフロップの全て又は一部が、スキャンセル(スキャンフリップフロップとも呼ばれる)に置き換えられ、スキャンチェーン(スキャンパスとも呼ばれる)を構成する。
図1を参照して、本発明に関連するスキャンチェーンについて説明する。スキャンチェーンは、半導体集積回路内の組み合わせ回路C1〜C3の間に設けられたフリップフロップFF1〜FF4を利用して構成される。詳細には、フリップフロップFF1〜FF4のそれぞれは、入力端子がセレクタM1〜M4(マルチプレクサ)を介して直列接続されることでスキャンセル1〜4として機能する。直列接続されたスキャンセル1〜4シフトレジスタとして動作するスキャンチェーンを構成する。スキャンチェーンは、スキャンインされるテストパタンデータをシフト動作により組み合わせ回路に入力する。又、スキャンチェーンは、スキャンイネーブル信号ENに応じて、組み合わせ回路からデータD1〜D4を取り込み(キャプチャ)、取り込んだデータをシフト動作により外部に取り出す。
スキャンイネーブル信号ENは、セレクタM1〜M4の信号選択動作を制御し、キャプチャ動作(データ入力動作)とシフト動作とを切り替える。例えば、スキャンセル1は、セレクタM1を介して組み合わせ回路C1からデータD1をキャプチャする。キャプチャされたデータD1は、入力されるスキャンインデータSIによって、次段のスキャンセル2、3、4にシフトし、スキャンアウトデータSOとして外部に取り出される。スキャンセル2〜4も同様に動作する。
スキャンテストでは、スキャンチェーンのシフト動作によって、テストパタンデータを組み合わせ回路に入力し、キャプチャ動作によって組み合わせ回路の出力データがスキャンセル(フリップフロップ)に取り出される。次に、スキャンセルに取り出された出力データは、シフト動作によって外部に出力される。このように外部に取り出されたデータ(スキャンアウトデータ)とその期待値とを比較することにより、テスト対象回路内の論理回路の良否を判定することができる。
図2を参照して、従来技術によるスキャンテストの動作の詳細を説明する。図2は、スキャンチェーンの一例を示す図である。ここでは、8つのスキャンセル1〜8を備えるスキャンチェーンを一例に説明する。先ず、テストパタンデータがスキャンチェーンにセットされ(スキャンイン)、その応答結果がスキャンセル1〜8のそれぞれに取り出される(キャプチャ)。
キャプチャ結果は、シフト動作によって外部に取り出される(スキャンアウト)。データがスキャンインやスキャンアウトされる際のシフト動作に伴い、スキャンセル内で保持するデータ値は変化する(トグル)。このトグル回数が多いと消費電力が増大する。このため、シフト動作させるためにスキャンチェーンにスキャンインされるデータ(スキャンインデータSI)の値を適切な値にすることでトグル回数を減らし、消費電力の増大を抑制することができる。
このようなトグル数を低減する方法の一例として、同値Fillを利用した方法がある。同値Fillとは、ドントケアビットのデータ値をケアビットと同じ値としたパタンのスキャンインデータを、スキャンインする方法である。ここでケアビットとは、パタンデータにおいて、故障検出に必要なスキャンセルに対応するビット位置を示す。尚、同値Fillは、他にもminimum transition fill、repeat fill、又はadjacent fillと呼ばれることもある。
例えば、図2に示すスキャンチェーンにおいて、スキャンイン側から4番目と8番目のスキャンセル4、8を故障検出に利用する場合、それぞれに対応するパタン上の位置がケアビットとして設定される。この場合、1ビット目と4ビット目をケアビットとし、それ以外をドントケアビットとしたパタンデータがスキャンインされる。例えば、1ビット目のデータ値を“1”、4ビット目のデータ値を“0”とすると、2〜3ビット目のドントケアビットは1ビット目と同じ“1”に設定され、5〜8ビット目のドントケアビットは4ビット目と同じ“0”に設定される。すなわち、パタンデータ“11110000”がスキャンインされる。
同値Fillを利用してスキャンセル1〜8にデータをセットする際、スキャンセルには同じデータが連続してシフト入力される。このため、スキャンセルのトグル数は減少し、スキャンインによる消費電力は抑制される。同値Fillを利用したトグル数の低減方法は、例えばLaung−Terng Wang, Charles E. Stroud, Nur A. Touba、“SYSTEM ON CHIP TEST ARCHITECTURES”、MORGAN KAUFFMAN、NOV、2007に記載されている(非特許文献1参照)。
Laung−Terng Wang, Charles E. Stroud, Nur A. Touba、"SYSTEM ON CHIP TEST ARCHITECTURES"、MORGAN KAUFFMAN、NOV、2007
スキャンインデータSIのパタンは、ユーザ(設計者)が任意に設定可能なため、上述のように同値Fillを利用することでトグル回数を減少させることが可能である。しかし、キャプチャデータは、任意に設定することができないランダムな値であるため、スキャンアウトデータによるスキャンセルのトグル回数を制御することは困難である。
このように、従来技術では、スキャンインのときの消費電力を低減することは可能であるが、キャプチャしたデータを外部に取り出すスキャンアウト時に消費電力を低減することは困難である。スキャンテストにおける消費電力を低減するためには、スキャンアウト時においても消費電力を低減することが望まれる。
本発明による半導体集積回路の設計方法は、ケアビットと同値のデータをドントケアビットにスキャン入力するスキャンテストが行われる半導体集積回路の設計方法である。本発明による半導体集積回路の設計方法は、同一のクロック信号によって動作するフリップフロップ群を有するスキャンチェーンを作成するステップを具備する。スキャンチェーンを作成するステップは、保持するデータの変化に伴って駆動する後段ゲートの数が、フリップフロップ群において最も多いフリップフロップを、第1フリップフロップ(パワー大FF)として決定するステップと、第1フリップフロップを、フリップフロップ群において最もスキャンイン側に配置するステップとを備える。
スキャンテストにおけるスキャンアウト動作では、ランダムなキャプチャデータがスキャンチェーンのシフト動作によって外部に取り出される。この際、スキャンチェーン内のフリップフロップのデータが変化する(トグル)。ケアビットと同値のデータをドントケアビットにスキャン入力する方法では、スキャンアウト時、フリップフロップにおけるトグル回数はスキャンイン側の方がスキャンアウト側よりも少なくなる。このため、保持するデータの変化に伴って駆動する後段ゲートの数が、基準値以上のフリップフロップをスキャンイン側に配置することで、後段ゲートの駆動回数を抑制し消費電力を低減できる。
本発明による半導体集積回路の設計方法は、コンピュータに実行させる設計プログラムによって実現されることが好ましい。
本発明による半導体集積回路は、同一のクロック信号によって動作するフリップフロップ群を有するスキャンチェーンを具備する。このフリップフロップ群は、保持するデータの変化に伴って駆動する後段ゲートの数が、前記フリップフロップ群において最も多い第1フリップフロップを備える。又、第1フリップフロップは、フリップフロップ群において最もスキャンイン側に配置される。
本発明による半導体集積回路の設計方法、設計プログラム、及び半導体集積回路によれば、スキャンテストにおける消費電力を低減できる。
図1は、本発明に係る半導体集積回路及びスキャンチェーンの一例を示す図である。 図2は、本発明に係るスキャンチェーンの一例を示す図である。 図3は、本発明による設計支援装置の実施の形態における構成を示す図である。 図4は、本発明による回路設計プログラムの実施の形態における機能を示す図である。 図5は、本発明に係るパワー大FFを説明する図である。 図6は、スキャンテストにおいて、スキャンセルで保持するデータ値の変遷の一例を示す図である。 図7は、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。 図8は、本発明による設計支援装置によって設計されたリオーダ前のスキャンチェーンの一例を示す図である。 図9は、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。 図10は、本発明による設計支援装置によって設計されたリオーダ前のスキャンチェーンの一例を示す図である。 図11は、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。 図12は、本発明による設計支援装置によって設計されたリオーダ前のスキャンチェーンの一例を示す図である。 図13は、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。 図14は、本発明による設計支援装置によって設計されたリオーダ前のスキャンチェーンの一例を示す図である。 図15Aは、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。 図15Bは、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。 図16は、本発明による設計支援装置によって設計されたリオーダ前のスキャンチェーンの一例を示す図である。 図17は、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。 図18は、本発明による設計支援装置によってリオーダされたスキャンチェーンの一例を示す図である。
以下、添付図面を参照して、本発明による半導体集積回路の設計方法、設計プログラム、設計支援装置の実施の形態を説明する。本実施の形態では、テスト容易化設計によって、MUX(マルチプレクサ)スキャン方式のスキャンテストが行なわれるスキャンチェーンが、半導体集積回路上に設計される。
(設計支援装置の構成)
図3及び図4を参照して、本発明による半導体回路設計支援装置10(以下、設計支援装置10と称す)の実施の形態における構成を説明する。図3は、本発明による設計支援装置10の実施の形態における構成図である。設計支援装置10は、バス16を介して相互に接続されるCPU11と、RAM12と、記憶装置13と、入力装置14と、出力装置15とを具備する。記憶装置13はハードディスクやメモリ等に例示される外部記憶装置である。又、入力装置14は、キーボードやマウス等のユーザによって操作されることで、各種データをCPU11や記憶装置13に出力する。出力装置15は、モニタやプリンタに例示され、CPU11から出力される半導体装置のレイアウト結果をユーザに対し視認可能に出力する。
CPU11は、入力装置14からの入力に応答して、記憶装置13内の回路設計プログラム23を実行し、テスト容易化設計(ここでは、スキャンチェーンの設計)を行う。この際、記憶装置13からの各種データやプログラムはRAM12に一時格納され、CPU11は、RAM12内のデータを用いて各種処理を実行する。
記憶装置13は、ネットリスト21、回路設計プログラム22を格納している。ネットリスト21は、設計対象回路を構成する素子の接続や種類、サイズ(素子数)等が記述されたエレメントカードと、その回路を構成する素子の内で、ダイオードやトランジスタなどの非線形能動素子のデバイスモデルのパラメータと、回路の解析方法を制御する条件情報(初期値等)を含む。
回路設計プログラム22は、CPU11によって実行されることで、設計対象の半導体集積回路上にスキャンチェーンを生成するツールとして機能を有する。詳細には、回路設計プログラム22は、CPU11に実行されることで図4に示すスキャンチェーン設計部221、パワー大FF決定部222、リオーダ部223の各機能を実現する。
スキャンチェーン設計部221は、論理合成の途中、又は論理合成後の段階で、ゲートレベルのネットリストにスキャンイネーブル信号SEによって制御されるセレクタ(マルチプレクサ)、スキャンイン端子、スキャンアウト端子等を挿入して、スキャンチェーンを生成する。スキャンチェーン設計部221は、従来技術と同様な方法及び条件(例えばスキャンセル間の配線長)によりスキャンチェーンを生成し、ネットリスト21を更新する。又、スキャンチェーン設計部221は、スキャンテストを行なうときに入力するテストパタンをネットリスト21から自動生成する。
パワー大FF決定部222は、生成された(又は、予め用意された)スキャンチェーンを構成するスキャンセル(フリップフロップ)を検索し、パワー大FF(第1フリップフロップ)を決定する。ここで、パワー大FFとは、保持するデータが変化することで、回路の消費電力を大きく増加させるスキャンセル(フリップフロップ)を示す。例えば、スキャンチェーンを構成するスキャンセルの中で、自身が保持するデータが変化に伴って駆動する後段ゲートの数が、基準値以上のスキャンセル(フリップフロップ)が、パワー大FFとして選択される。すなわち、トグル1回当たりの消費電力(半導体集積回路の消費電力)が大きいスキャンセルをパワー大FFとして定義する。
パワー大FFを決定する方法の一例としては、スキャンセルのファンアウトコーンに含まれるゲート数(以下、パワーと称す)をカウントし、その数が基準値以上であるスキャンセルをパワー大FFとする方法がある。詳細には、図5を参照して、スキャンセル1のファンアウトコーンに含まれるゲート素子は、ゲート素子E1、E2、E3の3つであり、これをパワー=3とする。又、スキャンセル2のファンアウトコーンに含まれるゲート素子は、ゲート素子E3の1つであり、これをパワー=1とする。ここで、パワー大FFとする基準値がパワー=2に設定されている場合、スキャンセル1がパワー大FFとして選択される。あるいは、パワー大FFとする基準値がスキャンチェーン内の全てのスキャンセル1〜4の中で最も大きいパワーに設定されている場合、パワーが最大のスキャンセル1がパワー大FFとして選択される。更に、パワー大FFとする基準値が、同一のクロック信号によって動作するフリップフロップ群毎に設定されていても良い。例えば、基準値がフリップフロップ群内の全てのスキャンセルの中で最も大きいパワーに設定されている場合、フリップフロップ群内においてパワーが最大のスキャンセルがパワー大FFとして選択される。
リオーダ部223は、生成された(又は、予め用意された)スキャンチェーンにおけるスキャンセルの配置を変更する(リオーダ)。詳細には、リオーダ部223は、スキャンチェーンが付加されたネットリスト21を参照し、パワー大FFがスキャンチェーンにおいてスキャンイン側に配置されるようにスキャンセルの配置を変更し、ネットリスト21を更新する。
(パワー大FFをスキャンイン側に配置する効果)
図6を参照して、パワー大FFをスキャンイン側に配置する効果について説明する。
図6は、図2に示すスキャンチェーンSC10に対して行なわれたスキャンテストにおいて、スキャンセル1〜8で保持するデータ値の変遷の一例を示す図である。図6を参照して、スキャンセル1〜8でキャプチャされたデータがスキャンアウトされるまでの間におけるデータの変遷の一例を説明する。ここでスキャンセル1、2、3、4、5、6、7、8は順に、データ“0”、“1”、“0”、“1”、“0”、“1”、“0”、“1”をキャプチャしたものとする。
スキャンセル1〜8がキャプチャしたデータ“01010101”を外部へ取り出す場合、スキャンデータSIによって、スキャンセル1〜8で保持されたデータはシフトし、スキャンアウトデータ“10101010”として外部に出力される。ここで、スキャンインによる消費電力を軽減するため、同値Fillを利用してキャプチャデータを取り出すことが好ましい。同値Fillによってキャプチャデータを外部に取り出す場合、スキャンセルには同じデータが連続してシフト入力される。このため、スキャンセルにおけるトグル数を減少させることができる。図6に示す例では、図2に示すスキャンチェーンにおいて、スキャンイン側から4番目と8番目のスキャンセル4、8に対応するパタン上の位置がケアビットとして設定され、パタンデータ“11110000”がスキャンインされる。
スキャンセルの前段(入力側)に接続するスキャンセル数は、スキャンイン側の方がスキャンアウト側よりもが少ない。このため、スキャンアウトの際、キャプチャイン側のスキャンセルにシフト入力されるキャプチャデータの数は、スキャンアウト側よりも少なくなる。一方、スキャンインアウトの際、スキャンイン側にシフト入力されるスキャンインデータSIの数は、スキャンアウト側より多くなる。
同値Fillを利用することでスキャンインデータSIがシフトする際のトグル数を低減することができる。一方、ユーザ(設計者)が任意に設定できるスキャンインデータSIと異なり、キャプチャデータはランダムの値であるため、キャプチャデータがシフトする際のトグル回数を制御することは困難である。
以上のことから、同値Fillを利用することで、スキャンイン側のトグル数は、スキャンアウト側のトグル数よりも少なくなる。特に、最もスキャンイン側のスキャンセル1は、他のスキャンセルからキャプチャデータがシフト入力されることがなく、スキャンインデータSIの入力のみであるため、そのトグル回数は、自身がキャプチャしたデータとスキャンインデータSIのみで決定する。このため、スキャンインデータSIのパタンを適切な値に設定することにより、最もスキャンイン側のスキャンセル1のトグル回数を最も少なくすることができる。図6に示す例では、スキャンイン側のスキャンセル1、2、3のトグル数は、順に2回、3回、4回であるのに対し、スキャンアウト側のスキャンセル6、7、8のトグル数は、6回、7回、8回であり、スキャンイン側のトグル数は、スキャンアウト側より少なくなることが分かる。
本発明では、リオーダ部223によって、パワー大FFがスキャンチェーンにおけるスキャンイン側に配置される。すなわち、トグル回数の少ない位置にパワー大FFが配置される。例えば、図2に示すスキャンチェーンSC10のスキャンセル5、7がパワー大FFである場合、図7に示すスキャンチェーンSC100のスキャンイン側にスキャンセル5、7(パワー大FF)が配置され、他のスキャンセル1〜4、6、8は、その後段となるようにリオーダされる。
図2に示すスキャンチェーンSC10の場合、スキャンイン側から5番目(トグル数5)と7番目(トグル数7)にパワー大FFが配置されている。すなわち、スキャンチェーンにおけるパワー大FFのトグル数は5+7=12となる。一方、図7に示すリオーダ後のスキャンチェーンSC100の場合、スキャンイン側から1番目(トグル数2)と2番目(トグル数3)にパワー大FFが配置される。すなわち、パワー大FFのトグル数は2+3=5となり、後段に接続されたゲートのトグルに起因する駆動回数は少なくなる。
このように、本発明では、トグル1回当たりの消費電力が大きいパワー大FFをトグル数の少ないスキャンイン側に配置することで、スキャンアウト(キャプチャデータの取り出し)時における半導体集積回路全体の消費電力を低減することができる。
又、パワー大FF決定部222は、トグル1回当たりの半導体集積回路の消費電力が基準値以下のスキャンセルを選択しても構わない。この場合、リオーダ部223は、トグル1回当たりの消費電力が小さいスキャンセルをトグル数の多いスキャンアウト側に配置する。これを上述したパワー大FFの配置位置の変更とあわせて行なうことにより、スキャンアウト(キャプチャデータの取り出し)時における半導体集積回路全体の消費電力を更に低減することができる。
(リオーダ方法)
図8から図18を参照して、パワー大FFの配置位置を変更する方法の例を説明する。
リオーダ例1
図8は、スキャンチェーン設計部221によって設計された2本のスキャンチェーンSC11、SC21を示す図である。ここで、パワー大FF決定部222は、スキャンチェーンSC11におけるスキャンイン側(SI1)から1番目、5番目、6番目のスキャンセル1、5、6と、スキャンチェーンSC21におけるスキャンイン側(SI2)から7番目のスキャンセル17をパワー大FFとして選択する。又、2本のスキャンチェーンSC11、SC21は同じクロック信号に同期して動作するものとする。
リオーダ部223は、スキャンチェーンSC11、SC21内のスキャンセルを並び替えて図9に示す2本のスキャンチェーンSC110、SC210を生成する。リオーダ部223は、動作クロックが同一の複数のスキャンチェーンがある場合、スキャンチェーン同士でスキャンセルを入れ替えることが可能であることが好ましい。このような場合、少しでも多くのパワー大FFがスキャンイン側に配置されるように、スキャンチェーン毎のパワー大FFの数を均一化することが好ましい。
スキャンチェーンSC11には3つ、スキャンチェーンSC21には1つのパワー大FFが存在している。又、スキャンチェーンSC11、SC21は同一のクロック信号に応じて動作するため、スキャンセルの入れ替えが可能である。従ってリオーダ部223は、パワー大FFであるスキャンセル1、6をスキャンチェーンSC110の最もスキャンイン側(SI1)に配置し、パワー大FFであるスキャンセル5、17をスキャンチェーンSC210の最もスキャンイン側(SI2)に配置する。この際、スキャンセル5が他のスキャンチェーンSC210に配置されたため、パワー小のスキャンセル(ここではスキャンセル18)が110に配置される。
リオーダ例2
図10は、スキャンチェーン設計部221によって設計されたスキャンチェーンSC13を示す図である。スキャンチェーンSC13は、クロック信号CLK1で動作するクロックドメインCD1(スキャンセル1〜4)と、クロック信号CLK2で動作するクロックドメインCD2(スキャンセル5〜8)とを備える。クロックドメインCD1とクロックドメインCD2との間は、ロックアップセルR1が挿入されている。尚、ロックアップセルR1は、同一極性のクロックドメイン間に挿入されるシフトタイミング保障用のラッチ又はフリップフロップである。
ここで、パワー大FF決定部222は、スキャンチェーンSC13におけるスキャンイン側(SI1)から4番目、5番目、8番目のスキャンセル4、5、8をパワー大FFとして選択する。
リオーダ部223は、スキャンチェーンSC13内のスキャンセルを並び替えて図11に示すスキャンチェーンSC130を生成する。1つのスキャンチェーンに複数のクロックドメインが存在する場合、リオーダ部223は、クロックドメインの順番の入れ替えも考慮してパワー大FFの配置を変更する。ここで、クロックドメイン内のスキャンセルの数が同じである場合、パワー大FFの数が多いクロックドメインをスキャンイン側に配置する。これにより、より多くのパワー大FFをトグル数の少ないスキャンイン側に配置できる。
スキャンチェーンSC13内のクロックドメインCD1とクロックドメインCD2内のスキャンセル数は同じである。このため、リオーダ部223は、パワー大FFの数が多いクロックドメインCD2をスキャンイン側に配置し、パワー大FFであるスキャンセル5、8をクロックドメインCD2内で最もスキャンイン側に配置する。これにより、スキャンセル5、8は、スキャンチェーンSC130の最もスキャンイン側(SI1)に配置される。又、リオーダ部223は、パワー大FFの数が少ないクロックドメインCD2をスキャンアウト側に配置し、パワー大FFであるスキャンセル4をクロックドメインCD2内で最もスキャンイン側に配置する。
リオーダ例3
図12は、スキャンチェーン設計部221によって設計されたスキャンチェーンSC14を示す図である。スキャンチェーンSC14は、クロック信号CLK1で動作するクロックドメインCD1(スキャンセル1〜6)と、クロック信号CLK2で動作するクロックドメインCD2(スキャンセル7〜8)とを備える。クロックドメインCD1とクロックドメインCD2との間は、ロックアップセルR1が挿入されている。
ここで、パワー大FF決定部222は、スキャンチェーンSC14におけるスキャンイン側(SI1)から4番目、5番目、8番目のスキャンセル4、5、8をパワー大FFとして選択する。
リオーダ部223は、スキャンチェーンSC14内のスキャンセルを並び替えて図13に示すスキャンチェーンSC140を生成する。1つのスキャンチェーンに複数のクロックドメインが存在する場合、リオーダ部223は、クロックドメインの順番の入れ替えも考慮してパワー大FFの配置を変更する。ここで、クロックドメイン内のスキャンセルの数が異なる場合、スキャンセル数が少ないクロックドメインをスキャンイン側に配置する方が消費電力を低減できる場合がある。
例えば、図12を参照して、スキャンチェーンSC14内のクロックドメインCD1におけるパワー大FF以外のスキャンセル1、2、3、6は多く存在する。この場合、クロックドメインCD1をスキャンイン側に配置すると、消費電力の少ないスキャンセルの多くがスキャンイン側に配置され、クロックドメインCD2内のパワー大FFは、スキャンイン側から遠ざかり、トグル数の多い位置に配置されてしまう。一方、クロックドメインCD2におけるパワー大FF以外のスキャンセル7は1つと少ないため、クロックドメインCD2をスキャンイン側に配置しても、クロックドメインCD1内のパワー大FFは、スキャンイン側からスキャンセル1つ分しか遠ざからない位置に配置されることとなる。すなわち、多くのパワー大FFを少しでもスキャンイン側に配置するように考慮して、クロックドメインの位置及びパワー大FFの位置が変更されることが好ましい。
図13に示すように、リオーダ部223は、クロックドメインCD2をスキャンイン側に配置し、パワー大FFであるスキャンセル8をクロックドメインCD2内で最もスキャンイン側に配置する。これにより、スキャンセル8は、スキャンチェーンSC140の最もスキャンイン側(SI1)に配置される。又、リオーダ部223は、クロックドメインCD1をスキャンアウト側に配置し、パワー大FFであるスキャンセル4、5をクロックドメインCD2内で最もスキャンイン側に配置する。
リオーダ例4
図14は、スキャンチェーン設計部221によって設計されたスキャンチェーンSC15を示す図である。スキャンチェーンSC15は、クロック信号CLK1の立下りエッジで動作するクロックドメイン(NEG)CD1(スキャンセル1〜3)と、クロック信号CLK2の立上りエッジで動作するクロックドメイン(POS)CD2(スキャンセル4、5)と、クロック信号CLK1の立上りエッジで動作するクロックドメイン(POS)CD3(スキャンセル6〜8)とを備える。クロックドメイン(POS)CD2とクロックドメイン(POS)CD3との間は、ロックアップセルR1が挿入されている。
ここで、パワー大FF決定部222は、スキャンチェーンSC15におけるスキャンイン側(SI1)から3番目、6番目、8番目のスキャンセル3、6、8をパワー大FFとして選択する。
スキャンチェーン内にクロックの立下りエッジで動作するスキャンセル(POS)と立下りエッジで動作するスキャンセル(NEG)が混在する場合、リオーダ部223は、スキャンセル(NEG)とスキャンセル(POS)の順を入れ替え可能であることが好ましい。しかし、現在用いられているDFT/ATPGツールの中には、スキャンセル(POS)をスキャンイン側、スキャンセル(NEG)をスキャンアウト側とする構成は禁止されているものがある。このような場合、リオーダ部223は、図15Aに示すように、クロックドメイン(NEG)CD1とクロックドメイン(POS)との入れ替えは行なわず、必要に応じてクロックドメイン(POS)のみの入れ替えを行なう。
ここで、リオーダ部223は、スキャンチェーンSC14内のスキャンセルを並び替えて図15Aに示すスキャンチェーンSC151を生成する。図15Aを参照して、クロックドメイン(POS)CD2には、パワー大FFが存在しないため、リオーダ部223は、パワー大FFを2つ有するクロックドメイン(POS)CD3との位置を入れ替える。又、スキャンセル6、8をクロックドメイン(POS)CD3の最もスキャンイン側に配置する。更に、リオーダ部223は、クロックドメイン(NEG)CD1の位置は変更せず、スキャンセル3をクロックドメイン(NEG)CD1の最もスキャンイン側に配置する。これにより、スキャンセル3は、スキャンチェーンSC151の最もスキャンイン側(SI1)に配置される。
一方、リオーダ部223が、スキャンセル(NEG)とスキャンセル(POS)の順を入れ替え可能な機能を搭載している場合、スキャンチェーンSC14内のスキャンセルを並び替えて図15Bに示すスキャンチェーンSC152を生成する。図15Bを参照してクロックドメイン(POS)CD2には、パワー大FFが存在しないため、リオーダ部223は、クロックドメイン(POS)CD2をスキャンチェーンSC152における最もスキャンアウト側にクロックドメイン(POS)CD2を配置する。又、スキャンチェーンSC14内のクロックドメイン(NEG)CD1とクロックドメイン(POS)CD2内のスキャンセル数は同じである。このため、リオーダ部223は、パワー大FFの数が多いクロックドメイン(POS)CD3をスキャンイン側に配置し、パワー大FFであるスキャンセル6、8をクロックドメイン(POS)CD3内で最もスキャンイン側に配置する。これにより、スキャンセル6、8は、スキャンチェーンSC152の最もスキャンイン側(SI1)に配置される。又、リオーダ部223は、パワー大FFの数が少ないクロックドメイン(NEG)CD1をクロックドメイン(POS)CD3に対しスキャンアウト側に配置し、パワー大FFであるスキャンセル3をクロックドメイン(NEG)CD1内で最もスキャンイン側に配置する。更に、クロックドメイン(POS)CD3とクロックドメイン(NEG)CD1との間、及びクロックドメイン(NEG)CD1とクロックドメイン(POS)CD3との間に、それぞれクロックの位相を保障する新たなロックアップセルR2、R3が挿入される。
以上のように、本発明によれば、リオーダ部223に与えられた制限の中で最も消費電力を低減できる配置にリオーダすることができる。
リオーダ例5
図16は、スキャンチェーン設計部221によって設計された2本のスキャンチェーンSC16、SC26を示す図である。スキャンチェーンSC16は、クロック信号CLK1で動作するクロックドメインCD1(スキャンセル1〜4)と、クロック信号CLK2で動作するクロックドメインCD2(スキャンセル5〜8)とを備える。クロックドメインCD1とクロックドメインCD2との間は、ロックアップセルR1が挿入されている。又、スキャンチェーンSC26は、クロック信号CLK3で動作するクロックドメインCD3(スキャンセル11〜14)と、クロック信号CLK4で動作するクロックドメインCD4(スキャンセル15〜18)とを備える。クロックドメインCD3とクロックドメインCD4との間は、ロックアップセルR2が挿入されている。
ここで、パワー大FF決定部222は、スキャンチェーンSC16におけるスキャンイン側(SI1)から1番目、3番目、5番目、8番目のスキャンセル1、3、5、8をパワー大FFとして選択する。
リオーダ部223は、スキャンチェーンSC16、SC26内のスキャンセルを並び替えて図17に示す2本のスキャンチェーンSC160、SC260を生成する。リオーダ部223は、複数のスキャンチェーン間で、クロックドメインの入れ替えが可能なことが好ましい。少しでも多くのパワー大FFが配置されるように、クロックドメインを他のスキャンチェーンのスキャンイン側に配置することで、スキャンチェーン毎に配置するパワー大FFの数を均一化することが好ましい。
スキャンチェーンSC16には4つのパワー大FFが存在し、スキャンチェーンSC26にはパワー大FFが存在しない。このような場合、クロックドメインごと他のスキャンチェーンと入れ替えて、パワー大FFをスキャンチェーンにおける最もスキャンイン側に配置する。ここでは、リオーダ部223は、クロックドメインCD2をスキャンチェーンSC26のスキャンイン側に配置し、クロックドメインCD3をスキャンチェーンSC160のスキャンアウト側に配置する。この際、リオーダ前のスキャンチェーンSC16、26において、クロックドメインCD1とクロックドメインCD2との間、及びクロックドメインCD3とクロックドメインCD4との間に挿入されたロックアップセルR1、R2は、クロックドメインCD1とクロックドメインCD3との間、及びクロックドメインCD2とクロックドメインCD4との間に挿入される適切な構成のロックアップセルR3、R4に変更される。又、リオーダ部223は、パワー大FFであるスキャンセル1、3をクロックドメインCD1の最もスキャンイン側(SI1)に配置し、パワー大FFであるスキャンセル5、8をクロックドメインCD2の最もスキャンイン側(SI2)に配置する。これにより、パワー大FFであるスキャンセル1、3はスキャンチェーンSC160の最もスキャンイン側(SI1)に配置され、パワー大FFであるスキャンセル5、8はスキャンチェーンSC210の最もスキャンイン側(SI2)に配置される。
リオーダ例6
上述の例では、パワー大FFとそれ以外のスキャンセルという2種類に分類してリオーダしていたがこれに限らず、消費電力が大きい順(例えばファンアウトコーン内のゲート数が大きい順)にスキャンイン側からスキャンセルを配置しても構わない。この場合、配線長を短くするという従来技術によるリオーダの効果を考慮して、消費電力の大きさ(例えばファンアウトコーン内のゲート数)と配線長による評価関数を用いてスキャンセルの配置を決定しても良い。
図18は、図2に示すスキャンチェーンSC10をリオーダ部223によって配置換えされたスキャンチェーンSC101を示す図である。ここでは、パワー大FFであるスキャンセル5、7に停止回路STが接続される。停止回路STは、スキャンイネーブル信号SEに応じてスキャンセル5、7の動作を停止する。これにより、パワー大FFは、スキャンテストの際、動作しなくなるため消費電力を低減できる。この際、パワー大FF決定部222は、他のスキャンセル1〜4、6、8の中で最も消費電力(トグル1回当たりの半導体集積回路の消費電力)が大きいスキャンセルをパワー準大FFとして選択する。リオーダ部223は、パワー準大FFとして選択されたスキャンセル2、4をスキャンチェーンSC101で最もスキャンイン側に配置する。停止回路STが接続されたスキャンセル5、7は、スキャンチェーンSC101内で最も消費電力が少ないスキャンセルと認識されるため、スキャンチェーンSC101における最もスキャンアウト側に配置される。
以上のように、本発明による半導体集積回路の設計方法、設計プログラム、及び半導体集積回路によれば、スキャンアウトに伴うトグルの回数が少ない位置に、トグルによる消費電力が大きいスキャンセル(パワー大FF)を配置することで、スキャンテストにおける消費電力を低減できる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。上述のリオーダ例は、技術的に矛盾がない範囲で組み合せて適用できる。
10:半導体集積回路設計支援装置
11:CPU
12:RAM
13:記憶装置
14:入力装置
15:出力装置
21:ネットリスト
22:回路設計プログラム
221:スキャンチェーン設計部
222:パワー大FF決定部
223:リオーダ部

Claims (9)

  1. ケアビットと同値のデータをドントケアビットにスキャン入力するスキャンテストが行われる半導体集積回路の設計方法において、
    同一のクロック信号によって動作するフリップフロップ群を有するスキャンチェーンを作成するステップを具備し、
    前記スキャンチェーンを作成するステップは、
    保持するデータの変化に伴って駆動する後段ゲートの数が、前記フリップフロップ群において最も多いフリップフロップを第1フリップフロップとして決定するステップと、
    前記第1フリップフロップを、前記フリップフロップ群において最もスキャンイン側に配置するステップと、
    を備える
    半導体集積回路の設計方法。
  2. 請求項1に記載の半導体集積回路の設計方法において、
    前記スキャンチェーンを作成するステップは、前記第1フリップフロップを、前記スキャンチェーンにおいて最もスキャンイン側に配置するステップを備える
    半導体集積回路の設計方法。
  3. 請求項1又は2に記載の半導体集積回路の設計方法において、
    前記スキャンチェーンを作成するステップは、
    予め、複数のフリップフロップを用いてスキャンチェーンを作成するステップと、
    前記第1フリップフロップが、前記フリップフロップ群において最もスキャンイン側に配置されるように前記複数のフリップフロップの配列を変更するステップと、
    を更に備える半導体集積回路の設計方法。
  4. 請求項3に記載の半導体集積回路の設計方法において、
    前記予め作成されたスキャンチェーンは、それぞれが前記第1フリップフロップを有する複数のフリップフロップ群を有し、
    前記スキャンチェーンを作成するステップは、前記複数のフリップフロップ群のうち、フリップフロップ数の少ないフリップフロップ群を、前記スキャンチェーンにおいて最もスキャンイン側に配置するステップを更に備える
    半導体集積回路の設計方法。
  5. 請求項3又は4に記載の半導体集積回路の設計方法において、
    前記スキャンチェーンを作成するステップは、
    予め作成された他のスキャンチェーンにおいて最もスキャンイン側に位置し、前記第1フリップフロップを含まないフリップフロップ群と、前記第1フリップフロップを有するフリップフロップ群とを置換するステップを更に備える
    半導体集積回路の設計方法。
  6. 請求項1から5のいずれか1項に記載の半導体集積回路の設計方法をコンピュータに実行させる設計プログラム。
  7. 同一のクロック信号によって動作するフリップフロップ群を有するスキャンチェーンを具備し、
    前記フリップフロップ群は、保持するデータの変化に伴って駆動する後段ゲートの数が、前記フリップフロップ群において最も多い第1フリップフロップを備え、
    前記第1フリップフロップは、前記フリップフロップ群において最もスキャンイン側に配置される
    半導体集積回路。
  8. 請求項7に記載の半導体集積回路において、
    前記第1フリップフロップは、前記スキャンチェーンにおいて最もスキャンイン側に配置される
    半導体集積回路。
  9. 請求項7又は8に記載の半導体集積回路において、
    前記スキャンチェーンは、それぞれが前記第1フリップフロップを有する複数のフリップフロップ群を有し、
    前記複数のフリップフロップ群のうち、フリップフロップ数の少ないフリップフロップ群は、前記スキャンチェーンにおいて最もスキャンイン側に配置される
    半導体集積回路。
JP2009038811A 2009-02-23 2009-02-23 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路 Expired - Fee Related JP5401119B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009038811A JP5401119B2 (ja) 2009-02-23 2009-02-23 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路
US12/709,924 US8281278B2 (en) 2009-02-23 2010-02-22 System and method for supporting design of semiconductor integrated circuit including processing scan chains

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009038811A JP5401119B2 (ja) 2009-02-23 2009-02-23 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路

Publications (2)

Publication Number Publication Date
JP2010199106A JP2010199106A (ja) 2010-09-09
JP5401119B2 true JP5401119B2 (ja) 2014-01-29

Family

ID=42631971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009038811A Expired - Fee Related JP5401119B2 (ja) 2009-02-23 2009-02-23 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路

Country Status (2)

Country Link
US (1) US8281278B2 (ja)
JP (1) JP5401119B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8381144B2 (en) * 2010-03-03 2013-02-19 Qualcomm Incorporated System and method of test mode gate operation
US8793546B2 (en) 2011-06-20 2014-07-29 Lsi Corporation Integrated circuit comprising scan test circuitry with parallel reordered scan chains
US8671320B2 (en) 2011-06-21 2014-03-11 Lsi Corporation Integrated circuit comprising scan test circuitry with controllable number of capture pulses
US8615693B2 (en) 2011-08-31 2013-12-24 Lsi Corporation Scan test circuitry comprising scan cells with multiple scan inputs
US9383408B2 (en) 2012-05-23 2016-07-05 Japan Science And Technology Agency Fault detection system, generation circuit, and program
TWI477794B (zh) * 2012-10-02 2015-03-21 Realtek Semiconductor Corp 積體電路掃描時脈域分配方法以及相關機器可讀媒體
US9086457B2 (en) 2013-03-26 2015-07-21 International Business Machines Corporation Scan chain latch design that improves testability of integrated circuits
JP6506010B2 (ja) * 2014-10-30 2019-04-24 株式会社メガチップス 半導体集積回路の消費電力見積もり技術
JP2017106826A (ja) * 2015-12-10 2017-06-15 株式会社リコー スキャンテスト回路生成装置およびスキャンテスト回路生成方法
KR102583916B1 (ko) * 2021-10-26 2023-09-26 연세대학교 산학협력단 저전력 테스트를 위한 스캔 상관관계 기반 스캔 클러스터 리오더링 방법 및 장치
CN117852495B (zh) * 2024-03-08 2024-07-09 中科鉴芯(北京)科技有限责任公司 电路的插链方法、装置、设备及计算机可读介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02236779A (ja) * 1989-03-10 1990-09-19 Nec Corp スキャンパス接続方式
US6405355B1 (en) * 1999-03-24 2002-06-11 Synopsys, Inc. Method for placement-based scan-in and scan-out ports selection
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
US6954887B2 (en) * 2001-03-22 2005-10-11 Syntest Technologies, Inc. Multiple-capture DFT system for scan-based integrated circuits
JP2002311092A (ja) * 2001-04-11 2002-10-23 Matsushita Electric Ind Co Ltd スキャンフリップフロップと、スキャンパス回路およびその設計方法
US7200784B2 (en) * 2003-01-24 2007-04-03 On-Chip Technologies, Inc. Accelerated scan circuitry and method for reducing scan test data volume and execution time
JP4416469B2 (ja) * 2003-10-07 2010-02-17 パナソニック株式会社 半導体集積回路およびその設計方法
US7945833B1 (en) * 2004-05-24 2011-05-17 Syntest Technologies, Inc. Method and apparatus for pipelined scan compression
JP4473163B2 (ja) * 2005-03-18 2010-06-02 富士通マイクロエレクトロニクス株式会社 スキャンチェーンのホールドエラー解消方法
JP5066684B2 (ja) * 2006-03-28 2012-11-07 国立大学法人九州工業大学 生成装置、生成方法、生成方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
WO2008100520A2 (en) * 2007-02-12 2008-08-21 Mentor Graphics Corporation Low power scan testing techniques and apparatus
US7937634B2 (en) * 2009-02-17 2011-05-03 Almukhaizim Sobeeh A Circuit and method providing dynamic scan chain partitioning

Also Published As

Publication number Publication date
US8281278B2 (en) 2012-10-02
JP2010199106A (ja) 2010-09-09
US20100218060A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
JP5401119B2 (ja) 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路
JP5131997B2 (ja) 透過的なテスト法及びスキャンフリップフロップ
US6766501B1 (en) System and method for high-level test planning for layout
JP3851782B2 (ja) 半導体集積回路及びそのテスト方法
US8875071B2 (en) Deployment of custom shift array macro cells in automated application specific integrated circuit design flow
US8726108B2 (en) Scan test circuitry configured for bypassing selected segments of a multi-segment scan chain
US20140101500A1 (en) Circuits and methods for functional testing of integrated circuit chips
US8645778B2 (en) Scan test circuitry with delay defect bypass functionality
US6311318B1 (en) Design for test area optimization algorithm
US7584393B2 (en) Scan test circuit and method of arranging the same
EP0330841B1 (en) Logic circuit with a test function
JP4131651B2 (ja) スキャン機能を有する集積回路のレイアウト方法
JP7204697B2 (ja) 半導体集積回路
JP6544958B2 (ja) 半導体装置及び設計装置、スキャンフリップフロップ
US20120210286A1 (en) Adding fine grain tuning circuitry to integrated circuit design
JP2011149775A (ja) 半導体集積回路及びコアテスト回路
JP5099869B2 (ja) 半導体集積回路および半導体集積回路のテスト方法
JP2002312410A (ja) 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体
Vranken et al. Impact of test point insertion on silicon area and timing during layout
Sinanoglu Scan architecture with align-encode
US20140201584A1 (en) Scan test circuitry comprising at least one scan chain and associated reset multiplexing circuitry
US8082535B1 (en) Method and apparatus for testing programmable integrated circuits
BREZEANU et al. Improved Serial Peripheral Interface Controller Based on Scan Architecture
Sinanoglu Scan to nonscan conversion via test cube analysis
JP4193501B2 (ja) 集積回路の設計システム及び集積回路の設計プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130821

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131028

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees