JP4223319B2 - Semiconductor integrated circuit and test generation program - Google Patents

Semiconductor integrated circuit and test generation program Download PDF

Info

Publication number
JP4223319B2
JP4223319B2 JP2003111407A JP2003111407A JP4223319B2 JP 4223319 B2 JP4223319 B2 JP 4223319B2 JP 2003111407 A JP2003111407 A JP 2003111407A JP 2003111407 A JP2003111407 A JP 2003111407A JP 4223319 B2 JP4223319 B2 JP 4223319B2
Authority
JP
Japan
Prior art keywords
embedded core
test
output
flip
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
JP2003111407A
Other languages
Japanese (ja)
Other versions
JP2004320433A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003111407A priority Critical patent/JP4223319B2/en
Publication of JP2004320433A publication Critical patent/JP2004320433A/en
Application granted granted Critical
Publication of JP4223319B2 publication Critical patent/JP4223319B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、埋め込みコアを内蔵した半導体集積回路のテストを容易に行うための半導体集積回路およびテスト生成プログラムに関するものである。
【0002】
【従来の技術】
近年、半導体製造の多層配線技術や微細化技術の向上により、半導体集積回路の1チップにマイクロプロセッサ、DSP、アナログ回路、メモリなどの機能コアを搭載して、1つのシステムが実現可能となっている。一方、1チップの搭載ゲート規模が大きくなったことにより、製造後の半導体集積回路のテスト方法が問題となっている。
【0003】
通常、半導体集積回路をテストする場合、アンド(AND)回路,オア(OR)回路,フリップフロップなどの論理回路を用いて設計するカスタムロジック部と、マイクロプロセッサ、DSP(Digital Signal Processor)、アナログ回路、メモリなどの機能コアとは、別のテスト方法が用いられる。
【0004】
カスタムロジック部のテストは、高い故障検出率を得るために、スキャンパステスト方式が用いられる。カスタムロジック部の論理回路は、一般的に、フリップフロップなどの順序回路と、AND回路、OA回路などの組合せ回路で構成される。スキャンパステスト方式では、カスタムロジック部の論理回路を順序回路と組合せ回路の2つに分けてテストする。
【0005】
具体的には、カスタムロジック部の全て、もしくは一部のフリップフロップをセレクタ付のスキャンフリップフロップに置き換えるか、フリップフロップの前段にセレクタを挿入する。そして、これらのフリップフロップをチェーン接続してシフトレジスタ(スキャンチェーン)を構成する。テスト時には、このシフトレジスタに組合せ回路のテストパターンをシリアルに入力し、シフト動作により、フリップフロップにテストパターンを設定する。そして、1クロックだけ通常動作を行い、組合せ回路を動作させてフリップフロップに組合せ回路の動作結果をラッチする。ふたたび、シフト動作により設定したテストパターンにより動作した組合せ回路の出力結果を外部端子に出力する。この出力を予め準備した期待値と比較する。このような動作を繰り返すことにより、テスト動作か通常動作を指定する入力端子、シリアルにテストパターンを入力するテストパターンの入力端子およびテスト結果を出力する出力端子を追加するだけで、カスタムロジック部のテストを行うことができる。
【0006】
また、スキャンパステスト方式の回路においては、スキャンパス回路の構築ならびにテストベクタの生成を、EDA(Electronic Design Automation)ツールによって自動的に行うことが可能である。これによって、回路設計者は通常のシステム動作を実現する為の回路設計に注力でき、テスト回路およびテストパターンを設計する手間を大幅に削減できる。
【0007】
スキャンパス回路を有さない一般的な同期設計の論理回路をスキャンパス方式の回路に変換する手順を説明する。まず、カスタムロジック部の各フリップフロップの前段にセレクタを挿入する。各セレクタのセレクト端子とテストモード切替信号を入力する外部端子と接続する。テストモード切替信号がテストモードを示す信号の場合に選択されるセレクタの入力には、テストパターンを入力する入力端子、他のフリップフロップの端子を接続する。テストモード切替信号が通常モードを示す信号の場合に選択されるセレクタの入力には、セレクタを挿入する前にフリップフロップに入力されていた信号を接続する。そして、最終段となるフリップフロップの出力を外部端子に接続する。これにより、スキャンチェーンを構成することができる。
【0008】
なお、スキャンパス回路においては、セレクタとフリップフロップを統合した機能セルであるスキャンフリップフロップを用いるのが一般的である。この場合の変換手順を説明する。まず、カスタムロジック部の各フリップフロップをスキャンフリップフロップに置き換える。続いて、全スキャンフリップの選択端子にテストモード切替信号を接続する。そして、テストモード切替信号がテストモードを示す信号の場合に選択されるセレクタの入力には、テストパターンを入力する入力端子、他のスキャンフリップフロップの端子を、テストモード切替信号が通常モードを示す信号の場合に選択されるセレクタの入力には、スキャンフリップフロップに置き換える前にフリップフロップに入力されていた信号を接続する。そして、最終段となるスキャンフリップフロップの出力を外部端子に接続する。このように、スキャンフリップフロップの出力による経路が、チェーン構造になる様に接続することで、スキャンパス方式回路への変換が完了する。
【0009】
つぎに、1または複数の機能コアを有する埋め込みコアを効率よくテストする従来技術を説明する。従来の半導体集積回路は、複数のマルチプレクサで構成されたテスト・モード・マトリクスと、埋め込みコアと、カスタムロジック部と、半導体集積回路の外部端子とカスタムロジック部のインターフェースを有するI/O回路とを備えている。テスト・モード・マトリクスは、複数のマルチプレクサで構成され、埋め込みコアと、カスタムロジック部と、I/O回路とを相互接続する。I/O回路を外部試験器に接続することにより、標準のテスト・ベクトルを使用して埋め込みコアのテストと通常の回路オペレーションを行う。テスト・モード・マトリックスは、外部端子からI/O回路を介して伝達される制御信号により選択された特定のモードに基づいて、埋め込みコアとカスタムロジック部との接続を行うようにしている(たとえば、特許文献1参照)。
【0010】
また、別の半導体集積回路では、複数の機能コアをテストするために、2つのモードを備えている。第1モードは、各コアがこれらの各コアをテストモードに制御するためのそれぞれのコアテスト制御ブロック(TCB)に関連づけられ、各機能コアがテスト制御データを保持するためのコアシフトレジスタを備え、前記機能コアがチェーン内に直列にリンクされ、前記各機能コアがテスト制御データをチェーンに沿ってシフトする。第2モードは、テスト制御データを関連するコアに供給する。チェーンにシステムTCBを設け、そのシステムTCBの出力端子を各機能コアに接続して、システムTCBがある特定のテスト制御データセットを受取ったら、機能コアにシステムテストホールド信号を供給して、機能コアを第1モードか、第2モードのいずれかに切り換えるようにしている(たとえば、特許文献2参照)。
【0011】
【特許文献1】
特開平09−054705号公報
【特許文献2】
特開平11−525783号公報
【0012】
【発明が解決しようとする課題】
前者の従来技術では、I/O回路を介して入力される制御信号に基づいてテスト・モード・マトリクスが埋め込みコアとカスタムロジック部を接続してテストを行うことで、半導体集積回路の完全なテスタビリティを維持することができる。
【0013】
また、後者の従来技術のアーキテクチャは、各機能コアにテスト制御データを供給するための、境界走査テスト標準規格にしたがう機能コアの複雑な状態マシーンを必要とせず、また、様々な機能コアとシステムとの間の相互接続部の数を抑えることができる。
【0014】
しかしながら、両者の従来技術では、半導体集積回路内のカスタムロジック部と埋め込みコアとを別々にテストしなければならない。そのため、カスタムロジック部と埋め込みコアそれぞれに、テスト用専用端子やテスト回路を備えなければならないという問題があった。すなわち、半導体集積回路のテストを行うためにテスト専用端子が増えたり、テストベクタの長大化によるテスト時間の増大といった問題があった。
【0015】
また、機能コアの入出力端子に半導体集積回路外部から直接アクセスする為のテスト回路を設け、この回路を使用してテストする場合には、半導体集積回路に、機能コアの入出力端子と同等以上の入出力端子が必要となる。これにより、半導体集積回路の入出力端子数が少なく、複数個のコアが内蔵されるような場合など、テスト回路やその制御方法が複雑化され回路規模の増大を招くという問題があった。
【0016】
この発明は上記に鑑みてなされたもので、カスタムロジック部と埋め込みコアを有する半導体集積回路において、カスタムロジック部と埋め込みコア部とを分離して効率よく埋め込みコアをテストする半導体集積回路およびテスト生成プログラムを得ることを目的としている。
【0017】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる半導体集積回路は、1または複数の機能コアを有する埋め込みコアと、組合せ回路と複数のスキャンフリップフロップがチェーン接続されるスキャンパス回路とを有するカスタムロジック部と、を備える半導体集積回路において、前記カスタムロジック部と前記埋め込みコアとの間に、前記埋め込みコアのそれぞれの入力端子に接続される入力用レジスタと、前記埋め込みコアのそれぞれの出力端子に接続される出力用レジスタとを有し、前記埋め込みコアのテスト動作時には、前記各入力用レジスタと前記各出力用レジスタとがチェーン接続されてスキャンパスを構成し、シリアルに入力される前記埋め込みコアのテストパターンをシフト動作により該各入力用レジスタに設定し、設定した前記埋め込みコアのテストパターンを埋め込みコアに出力するためのゲート信号がアサートの時に、前記各入力用レジスタに設定した埋め込みコアのテストパターンで前記埋め込みコアを動作させ、その出力を前記各出力用レジスタにラッチして、前記ゲート信号がネゲートの時に、ラッチした埋め込みコアの出力をシフト動作により外部端子と前記スキャンパス回路の初段のスキャンフリップフロップとに出力するテスト用シフトレジスタを備えることを特徴とする。
【0018】
この発明によれば、半導体集積回路は、カスタムロジック部と埋め込みコアとの間に、埋め込みコアのテスト時には、埋め込みコアの入力端子に接続される各入力用レジスタと、埋め込みコアの出力端子に接続される各出力用レジスタとがチェーン接続されてシリアルに入力される埋め込みコアのテストパターンをシフト動作により各入力用レジスタに設定する。そして、設定した埋め込みコアのテストパターンを埋め込みコアに出力するためのゲート信号がアサートの時に、各入力用レジスタに設定した埋め込みコアのテストパターンで埋め込みコアを動作させ、その出力を前記各出力用レジスタにラッチして、ゲート信号がネゲートの時に、ラッチした埋め込みコアの出力をシフト動作により外部端子に出力するようにしている。
【0019】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる半導体集積回路およびテスト生成プログラムの好適な実施の形態を詳細に説明する。
【0020】
実施の形態1.
図1〜図6を用いてこの発明の実施の形態1を説明する。図1は、この発明における実施の形態1の半導体集積回路1の構成を示すブロック図である。この発明における実施の形態1の半導体集積回路1は、埋め込みコア11と、カスタムロジック部12と、テスト用シフトレジスタ13とを備えている。
【0021】
埋め込みコア11は、マイクロプロセッサ、DSP、アナログ回路、メモリなどの機能コアを備えている。
【0022】
カスタムロジック部12は、図2に示すように、AND回路、OR回路などの組み合わせ回路121と、フリップフロップをチェーン接続したスキャンパス回路122とを備えている。
【0023】
スキャンパス回路122は、複数(この場合は3つ)のフリップフロップ1221〜1223と、フリップフロップ1221〜1223の入力端子Dに接続されているマルチプレクサ1224〜1226とを備えている。
【0024】
マルチプレクサ1224は、スキャンイネーブル信号SEがアサート(この場合は“1”)の時にテスト用シフトレジスタ13の出力であるスキャンアウトCSOを、スキャンイネーブル信号SEがネゲート(この場合は“0”)の時に組み合わせ回路121の出力を選択して、フリップフロップ1221に出力する。フリップフロップ1221は、クロックCLKの立ち上がりでマルチプレクサ1224の出力をラッチして、組み合わせ回路121とマルチプレクサ1225とに出力する。マルチプレクサ1225は、スキャンイネーブル信号SEが“1”の時にフリップフロップ1221の出力を、スキャンイネーブル信号SEが“0”の時に組み合わせ回路121の出力を選択して、フリップフロップ1222に出力する。フリップフロップ1222は、クロックCLKの立ち上がりでマルチプレクサ1225の出力をラッチして、組み合わせ回路121とマルチプレクサ1226とに出力する。マルチプレクサ1226は、スキャンイネーブル信号SEが“1”の時にフリップフロップ1222の出力を、スキャンイネーブル信号SEが“0”の時に組み合わせ回路121の出力を選択して、フリップフロップ1223に出力する。フリップフロップ1223は、クロックCLKの立ち上がりでマルチプレクサ1226の出力をラッチする。そして、スキャンパス回路122の出力となるスキャンアウトSOを組み合わせ回路121と半導体集積回路1の外部端子とに出力する。
【0025】
テスト用シフトレジスタ13は、半導体集積回路1の外部端子から入力されるスキャンイネーブル信号SE、テストイネーブル信号TE、ゲート信号Gateに基づいて埋め込みコア11の入出力信号を制御して、半導体集積回路1の外部端子から入力されるシリアル入力信号SIを埋め込みコア11に入力するとともに、シリアル入力信号SIで動作した埋め込みコア11の出力をラッチする。そして、ラッチした埋め込みコア11の出力をシリアルに出力する。このシリアル出力であるスキャンアウトCSOは、半導体集積回路1の外部端子とスキャンパス回路122とに出力される。
【0026】
図3は、テスト用シフトレジスタ13の構成を示すブロック図である。テスト用シフトレジスタ13は、埋め込みコア11の入力端子に接続される入力用レジスタ131〜134と、埋め込みコア11の出力端子に接続される出力用レジスタ135,136とを備えている。入力用レジスタ131〜134は、同一の機能を備えている。また、出力用レジスタ135,136は同一の機能を備えている。
【0027】
入力用レジスタ131〜134は、スキャンイネーブル信号SE、テストイネーブル信号TE、ゲート信号Gateに基づいて埋め込みコア11に入力する信号を制御する。出力用レジスタ135,136は、スキャンイネーブル信号SE、テストイネーブル信号TEに基づいて、埋め込みコア11の出力を制御する。また、入力用レジスタ131〜134と出力用レジスタ135,136は、スキャンイネーブル信号SEに基づいて、入力用レジスタ131、132、出力用レジスタ135,136、入力用レジスタ133,134の順にチェーン接続されてシフトレジスタ回路を構成する。入力用レジスタ131〜134および出力用レジスタ135,136は、IEEE(Institute of Electrical and Electronics Engineers)の標準規格1149.1に規定されているような周知の境界走査セルの構成を用いてもよい。
【0028】
図4は、入力用レジスタ131の一例を示す回路図である。入力用レジスタ131は、フリップフロップ1311と、ゲート回路1312と、マルチプレクサ1313,1314とを備えている。
【0029】
マルチプレクサ1313は、スキャンイネーブル信号SEが “1”の時にシリアル入力信号SIを、スキャンイネーブル信号SEが “0”の時にカスタムロジック部12から入力される信号を選択してフリップフロップ1311に出力する。フリップフロップ1311は、クロックCLKの立ち上がりでマルチプレクサ1313の出力をラッチして、ゲート回路1312と後段の入力用レジスタまたは出力用レジスタとに出力する。ゲート回路1312は、ゲート信号Gateが“1”の時にフリップフロップ1311の出力をスルーにし、ゲート信号Gateが“0”の時にフリップフロップ1311の出力をラッチしてマルチプレクサ1314に出力する。マルチプレクサ1314は、テストイネーブル信号TEがアサート(この場合は“1”)の時にゲート回路1312の出力を、テストイネーブル信号TEがネゲート(この場合は“0”)の時にカスタムロジック部12の出力を選択して埋め込みコア11に出力する。
【0030】
図5は、出力用レジスタ135の一例を示す回路図である。出力用レジスタ135は、フリップフロップ1315と、マルチプレクサ1316,1317とを備えている。
【0031】
マルチプレクサ1316は、スキャンイネーブル信号SEが“1”の時にシリアル入力信号SIを、スキャンイネーブル信号SEが“0”の時に埋め込みコア11から入力される信号を選択してフリップフロップ1315に出力する。フリップフロップ1315は、クロックCLKの立ち上がりでマルチプレクサ1316の出力をラッチして、マルチプレクサ1317と後段の入力用レジスタまたは出力用レジスタとに出力する。マルチプレクサ1317は、テストイネーブル信号TEが“1”の時にフリップフロップ1315の出力を選択し、テストイネーブル信号TEが“0”の時に埋め込みコア11の出力を選択してカスタムロジック部12に出力する。
【0032】
つぎに、半導体集積回路1の動作を説明する。まず、半導体集積回路1の通常動作を説明する。半導体集積回路1の通常動作時には、テストイネーブル信号TEを“0”にする。したがって、入力用レジスタ131〜134のマルチプレクサ1314は、カスタムロジック部12の出力を選択して埋め込みコア11に出力する。出力用レジスタ135,136のマルチプレクサ1317は、埋め込みコア11の出力を選択してカスタムロジック部12に出力する。これにより、カスタムロジック部12と埋め込みコア11とが接続され、半導体集積回路1は通常動作をする。
【0033】
つぎに、図6のタイムチャートを参照して、埋め込みコア11のテスト動作を説明する。時刻t1において、テストイネーブル信号TEを“0”から“1”にする。これにより、半導体集積回路1はテスト動作となり、テスト用シフトレジスタ13内部の入力用レジスタ131〜134のマルチプレクサ1314はゲート回路1312の出力を、出力用レジスタ135,136のマルチプレクサ1317は、フリップフロップ1315の出力を選択する。
【0034】
時刻t2において、スキャンイネーブル信号SEを“0”から“1”にするとともに、シリアル入力信号SIにデータを入力する。入力用レジスタ131〜134のマルチプレクサ1313はシリアル入力信号SIを選択してフリップフロップ1311に出力する。出力用レジスタ135,136のマルチプレクサ1316は、シリアル入力信号SIを選択してフリップフロップ1315に出力する。これにより、入力用レジスタ131のフリップフロップ1311、入力用レジスタ132のフリップフロップ1311、出力用レジスタ135のフリップフロップ1315、出力用レジスタ136のフリップフロップ1315、入力用レジスタ133のフリップフロップ1311、入力用レジスタ134のフリップフロップ1311の順に接続され、シフトレジスタとして動作する。すなわち、外部端子より入力される埋め込みコア11のテストパターンであるシリアル入力信号SIが、クロックCLKの立ち上がりに同期してD0,D1,D2,D3,D4、D5の順に取り込まれてシフトされ、入力用レジスタ131〜134のフリップフロップ1311に設定される。
【0035】
時刻t3において、シフトレジスタ構成の最終段の入力用レジスタ134のフリップフロップ1311にデータD0が入力される。このタイミングで、スキャンイネーブル信号SEを“1”から“0”にする。これにより、入力用レジスタ131〜134と出力用レジスタ135,136はシフト動作を停止する。また、ゲート信号Gateを“0”から“1”にする。これにより、入力用レジスタ131〜134のゲート回路1312は、フリップフロップ1311の出力をスルーにし、マルチプレクサ1314はゲート回路1312の出力を選択して埋め込みコア11に入力パターンを出力する。埋め込みコア11は、入力パターンで動作を開始する。一方、出力用レジスタ135,136のマルチプレクサ1316は、埋め込みコア11の出力を選択し、フリップフロップ1315は、クロックCLKの立ち上がりでマルチプレクサ1316の出力をラッチする。すなわち、埋め込みコア11の出力パターンをクロックCLKの立ち上がりでサンプリングする。
【0036】
時刻t4において、ゲート信号Gateを“1”から“0”にする。入力用レジスタ131〜134のゲート回路1312は、フリップフロップ1311の出力をラッチして、埋め込みコア11の入力を固定する。
【0037】
時刻t5において、時刻t3で入力された入力―パターンでの埋め込みコア11の出力パターンが確定する。時刻t3から時刻t5は、埋め込みコア11の動作遅延であり、埋め込みコア11により異なる。
【0038】
埋め込みコア11の動作が確定した後の時刻t6において、出力用レジスタ135,136のフリップフロップ1315は、埋め込みコア11の出力パターンをラッチする。同時に、スキャンイネーブル信号SEを“0”から“1”にする。これにより、入力用レジスタ131〜134と出力用レジスタ135,136はシフト動作となり、シフトレジスタの最終段となる出力用レジスタ136のフリップフロップ1315は、半導体集積回路1の外部端子に埋め込みコア11の出力パターンであるスキャンアウトCSOを、DO0,DO1,DO2,DO3,DO4,DO5の順に出力する。スキャンアウトCSOをあらかじめ用意しておいた動作期待値と比較する。
【0039】
一方、シリアル入力信号SIに埋め込みコア11のつぎの入力パターンとなるD6,D7,D8,D9,D10,D11をクロックCLKの立ち上がりに同期して順に入力し、入力用レジスタ131〜134のフリップフロップ1311に設定する。このような動作を繰り返し、シリアル入力信号SIをクロックCLKの立ちあがりエッジに同期して入力することにより、連動して埋め込みコア11の動作テストを行うことができる。
【0040】
つぎに、半導体集積回路1内部のカスタムロジック部12のテスト動作を説明する。カスタムロジック部12のテスト時には、半導体集積回路1の外部から入力されるスキャンイネーブル信号SEを“1”にする。これにより、マルチプレクサ1224は、テスト用シフトレジスタ13の出力であるスキャンアウトCSOを選択する。また、マルチプレクサ1225,1226は、フリップフロップ1221,1222の出力を選択する。すなわち、スキャンパス回路122のフリップフロップ1221〜1223は、チェーン接続となりシフトレジスタを構成する。
【0041】
クロックCLKに同期して、シリアル入力信号SIを入力し、テスト用シフトレジスタ13を介してフリップフロップ1221〜1223にテストパターンを入力する。スキャンパス回路122の最終段のフリップフロップ1223にテストパターンが設定されたら、スキャンイネーブル信号SEを“0”にする。これにより、マルチプレクサ1224〜1226は、組合せ回路121の出力を選択する。したがって、フリップフロップ1221〜1223は、テストパターンで動作した組合せ回路121の出力をラッチする。
【0042】
つぎに、スキャンイネーブル信号SEを“1”にする。これにより、スキャンパス回路122のフリップフロップ1221〜1223は、チェーン接続されシフトレジスタを構成する。クロックCLKに同期して、フリップフロップ1221〜1223は、ラッチした組合せ回路121の出力を順次シフトしてスキャンアウトSOとして半導体集積回路1の外部端子に出力する。スキャンアウトSOを期待値と比較する。このような動作を繰り返し、カスタムロジック部12をテストする。
【0043】
カスタムロジック部12をテストするためには、埋め込みコア11とのインターフェース信号の制御および観測が必要となる。そこで、この実施の形態1の半導体集積回路1においては、埋め込みコア11のテスト用シフトレジスタ13の入力用レジスタ131〜134と出力用レジスタ135,136で構成されるシフトレジスタをテストイネーブル信号TEおよびスキャンイネーブル信号SEで制御可能とし、かつ、テスト用シフトレジスタ13の入力用レジスタ134内のフリップフロップ1311(テスト用シフトレジスタ13の最終段のフリップフロップ)の出力をスキャンパス回路122のフリップフロップ1221〜1223で構成されるシフトレジスタの初段のフリップフロップ1221に接続してテスト用シフトレジスタ13とスキャンパス回路122とをチェーン接続しているため、スキャンイネーブル信号SEに基づいて半導体集積回路1全体のシフト動作を制御することができ、カスタムロジック部12のフルスキャンパステストを可能としている。また、テスト用シフトレジスタ13の最終段のフリップフロップ1311の出力を外部端子に出力することで、テスト用シフトレジスタ13の終端点を観測できるようにしている。
【0044】
このようにこの実施の形態1では、埋め込みコア11とカスタムロジック部12との間に、入力用レジスタおよび出力用レジスタで埋め込みコア11テスト用のスキャンパス回路を構成するテスト用シフトレジスタ13を備え、テスト用シフトレジスタ13の最終段の入力用レジスタ内のフリップフロップまたは出力用レジスタ内のフリップフロップの出力を、半導体集積回路1の外部端子に出力するようにしている。これにより、埋め込みコア11のテストパターンを短縮することができる。
【0045】
また、カスタムロジック部12内のスキャンパス回路122の初段のフリップフロップとテスト用シフトレジスタ13の最終段のフリップフロップとを接続して、スキャンイネーブル信号SEによりテスト用シフトレジスタ13とスキャンパス回路122を複合動作させることにより、カスタムロジック部12のテスト効率を上げることができる。
【0046】
さらに、入力用レジスタをチェーン接続してシフトレジスタを構成するためのスキャンフリップフロップと埋め込みコア11にテストパターンを出力するゲート回路とで構成するようにしたため、シフト動作に影響されることなく、埋め込みコア11への入力信号を制御することができる。
【0047】
実施の形態2.
図7を用いてこの発明の実施の形態2を説明する。この実施の形態2における半導体集積回路2では、実施の形態1において半導体集積回路の外部端子から入力していた制御信号を削減するために、テストコントロールモジュール(以下、TCMとする)21と、セレクタ22とが追加されている。実施の形態1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【0048】
TCM21は、テストモードセレクトTMSとクロックCLKとシリアル入力信号SIからなるシーケンス回路で、テスト用シフトレジスタ13、スキャンパス回路122およびセレクタ22の制御信号を生成する。テストモードセレクトTMSをクロックCLKの立ち上がりで取り込み、そのときのテストモードセレクトTMSのレベル(“0”または“1”)によりシーケンスを遷移させ、制御信号を出力する。具体的には、TCM21は、半導体集積回路2の外部端子から入力されるテストモードセレクトTMS、シリアル入力信号SIおよびクロックCLKに基づいて、テスト用シフトレジスタ13を制御するテストイネーブル信号TE、ゲート信号Gateおよびコアスキャンイネーブル信号CSEと、スキャンパス回路122を制御するスキャンイネーブル信号SEと、セレクタ22を制御する選択信号SELとを生成する。なお、TMC21は、IEEEの標準規格1149.1に規定されているテストアクセスポートコントローラ(TAPコントローラ)と同等の構成で実現することができる。
【0049】
セレクタ22は、選択信号SELに基づいてテスト用シフトレジスタ13の出力とスキャンパス回路の出力との何れかを選択して、スキャンアウトSOを半導体集積回路2の外部端子に出力する。この場合は、選択信号SELが“0”の時にテスト用シフトレジスタ13の出力を、選択信号SELが“1”の時にスキャンパス回路122の出力を選択する。
【0050】
つぎに、半導体集積回路2のテスト動作を説明する。まず、埋め込みコア11のテスト動作時は、テストモードセレクトTMSとクロックCLKに基づいて、TCM21は、テストイネーブル信号TEを“1”にする。これにより、半導体集積回路2は、テスト動作となる。
【0051】
つぎに、テストモードセレクトTMSとクロックCLKに基づいて、TCM21は、コアスキャンイネーブル信号CSEを“1”に、ゲート信号Gateを“0”に、スキャンイネーブル信号SEを“0”に、選択信号SELを“0”にする。テスト用シフトレジスタ13の入力用レジスタ131〜134,出力用レジスタ135,136は、クロックCLKに同期して半導体集積回路2の外部端子から入力されるシリアル入力信号SI(埋め込みコア11のテストパターン)をシフトする。スキャンイネーブル信号SEが“0”であるので、スキャンパス回路122のマルチプレクサ1224〜1226は、組合せ回路121の出力を選択している。したがって、スキャンパス回路122は動作しない。
【0052】
テスト用シフトレジスタ13のシフト動作により埋め込みコア11の全入力端子へのテストパターンが入力用レジスタ131〜134のフリップフロップ1311に設定されると、テストモードセレクトTMSに基づきTMC21は、ゲート信号Gateを“1”にする。これにより、埋め込みコア11にテストパターンが入力される。そして、テストモードセレクトTMSに基づいてTCM21は、ゲート信号Gateを“0”にして、埋め込みコア11に入力するテストパターンを固定するとともに、コアスキャンイネーブル信号CSEを“0”にして出力用レジスタ135,136のフリップフロップ1315に埋め込みコア11の出力をラッチさせる。埋め込みコア11の動作遅延を考慮して入力されるテストモードセレクトTMSに基づきTMC21は、コアスキャンイネーブル信号CSEを“1”にして、テスト用シフトレジスタ13の入力用レジスタ131〜134,出力用レジスタ135,136はシフト動作をおこない、シリアル入力信号SIを入力用レジスタ131〜134のフリップフロップ1311に設定するとともに、出力用レジスタ135,136のフリップフロップ1315の埋め込みコア11の出力をセレクタ22とカスタムロジック部12のスキャンパス回路122とに出力する。このような動作を繰り返して、半導体集積回路2の外部端子から入力されるシリアル入力信号SIを埋め込みコア11に入力して、埋め込みコア11をテストする。
【0053】
一方、選択信号SELが“0”であるので、半導体集積回路2の外部端子にスキャンアウトSOを出力するセレクタ22は、テスト用シフトレジスタ13の出力を選択する。したがって、テスト用シフトレジスタ13のシフト動作により、出力用レジスタ135,136のフリップフロップ1315にラッチされた埋め込みコア11の出力は、半導体集積回路2の外部端子に出力される。スキャンアウトSOを予め準備されている期待値と比較することで、埋め込みコア11をテストすることができる。
【0054】
つぎに、カスタムロジック部12のテスト動作について説明する。テストモードセレクトTMSとクロックCLKに基づいて、TCM21は、テストイネーブル信号TE、コアスキャンイネーブル信号CSE、スキャンイネーブル信号SEおよび選択信号SELとを“1”にする。これにより、テスト用シフトレジスタ13とスキャンパス回路122のフリップフロップ1221〜1223とは、チェーン接続されシフトレジスタを構成する。シフト動作によりシリアル入力信号SIはテスト用シフトレジスタ13を介してスキャンパス回路122のフリップフロップ1221〜1223に設定される。
【0055】
TCM21は、テストモードセレクトTMSに基づいてスキャンイネーブル信号SEを“0”にする。これにより、マルチプレクサ1224〜1225は、組合せ回路121に出力を選択する。したがって、フリップフロップ1221〜1223は、テストパターンで動作した組合せ回路121の出力をラッチする。
【0056】
つぎに、TCM21は、テストモードセレクトTMSに基づいてスキャンイネーブル信号SEを“1”にする。これにより、スキャンパス回路122のフリップフロップ1221〜1223は、チェーン接続されシフトレジスタを構成する。クロックCLKに同期して、フリップフロップ1221〜1223は、ラッチした組合せ回路121の出力を順次シフトして、セレクタ22を介してスキャンアウトSOを半導体集積回路1の外部端子に出力する。スキャンアウトSOを期待値と比較する。このような動作を繰り返し、カスタムロジック部12をテストする。
【0057】
このようにこの実施の形態2では、TCMを用いてテストに必要な外部端子を削減するようにしているため、半導体集積回路の外部端子数に制限がある場合でも、容易に埋め込みコアとカスタムロジック部のテストができる。
【0058】
実施の形態3.
図8〜図11を用いてこの発明の実施の形態3を説明する。この実施の形態3では、所望の機能を実現する半導体集積回路からテスト用シフトレジスタを挿入する方法を説明する。
【0059】
まず、入力用レジスタの挿入について説明する。図8(a)に示す半導体集積回路3は、埋め込みコア31と、カスタムロジック部32とを備えている。カスタムロジック部32から出力された信号33は、埋め込みコア31の入力端子に接続されている。カスタムロジック部32は、内部ロジック321と組合せ回路322とを備えており、信号33は、組合せ回路322から駆動されている。すなわち、信号33は、AND回路やOR回路などで駆動されている。したがって、図8(b)に示すように、埋め込みコア31とカスタムロジック部32との間に、テスト用シフトレジスタを構成するために図4に示した入力用レジスタ131と同様の機能を備える入力用レジスタ34を挿入する。これにより、半導体集積回路3aの通常動作時は、テストイネーブル信号TEが“0”となり、組合せ回路322からの出力はマルチプレクサ1314を介してそのまま埋め込みコア31に入力される。半導体集積回路3aのテスト動作時には、テストイネーブル信号TEが“1”となり、ゲート回路1312の出力がマルチプレクサ1314を介して埋め込みコア31に入力される。また、スキャンイネーブル信号SEが“1”になると、フリップフロップ1311は前段および後段のフリップフロップとチェーン接続されてシフトレジスタを構成する。そして、シリアル入力信号SI経由でクロックCLKの立ち上がりエッジに同期してフリップフロップ1311にデータが設定され、ゲート信号Gateを“1”にすることで、フリップフロップ1311に設定されたデータをゲート回路1312へ伝播させる。
【0060】
また、図9(a)に示す半導体集積回路3のように、カスタムロジック部32内のフリップフロップ323から出力された信号35が埋め込みコア31の入力端子に接続されている場合、図9(b)に示すように、入力用レジスタ34aにフリップフロップ323を用いる。すなわち、図4に示した入力用レジスタのフリップフロップ1311の代わりに、カスタムロジック部32内のフリップフロップ323を利用する。この場合、図9(a)に示したように、通常動作時に埋め込みコア31に入力される信号35は、フリップフロップ323から出力されたものである。したがって、フリップフロップ323を利用した入力用レジスタ34aのマルチプレクサ1314のテストイネーブル信号TEが“0”時に選択される入力端子には、フリップフロップ323の出力を接続する。これにより、半導体集積回路3aの通常動作時は、テストイネーブル信号TEが“0”となり、組合せ回路322の出力はマルチプレクサ1313を介してフリップフロップ323にラッチされる。そして、マルチプレクサ1314を介してフリップフロップ323の出力が埋め込みコア31に入力される。半導体集積回路3aのテスト動作時には、テストイネーブル信号TEが“1”となり、ゲート回路1312にセットされた信号がマルチプレクサ1314を介して埋め込みコア31に入力される。また、スキャンイネーブル信号SEが“1”になると、フリップフロップ323は前段および後段のフリップフロップとチェーン接続されてシフトレジスタを構成する。そして、シリアル入力信号SI経由でクロックCLKの立ち上がりエッジに同期してフリップフロップ323にデータが設定され、ゲート信号Gateを“1”にすることで、フリップフロップ323に設定されたデータをゲート回路1312へ伝播させる。
【0061】
つぎに、出力用レジスタの挿入について説明する。図10(a)に示すように、半導体集積回路3の埋め込みコア31の出力である信号38が、カスタムロジック部32の組合せ回路322を介して内部ロジック321に伝達されている。この場合、図10(b)に示すように、埋め込みコア31と組合せ回路322との間に、テスト用シフトレジスタを構成するために図5に示した出力用レジスタ135と同様の機能を備える出力用レジスタ36を挿入する。これにより、半導体集積回路3aの通常動作時には、テストイネーブル信号TEが“0”となり、埋め込みコア31の出力がマルチプレクサ1317を介して組合せ回路322に入力される。また、半導体集積回路3aのテスト動作時には、テストイネーブル信号TEが“1”となる。スキャンイネーブル信号SEが“0”の期間に、フリップフロップ1315はマルチプレクサ1316を介して埋め込みコア31の出力をラッチする。スキャンイネーブル信号SEが“1”になると、前段および後段のフリップフロップとチェーン接続されてシフトレジスタを構成する。そして、クロックCLKの立ち上がりエッジに同期してスキャンアウトSO経由でラッチした埋め込みコア31の出力を半導体集積回路3aの外部端子に出力する。
【0062】
また、図11(a)に示す半導体集積回路3のように、埋め込みコア31から出力された信号37がカスタムロジック部32内のフリップフロップ324の入力端子に接続されている場合、図11(b)に示すように、出力用レジスタ36aにフリップフロップ324を用いる。すなわち、図5に示した出力用レジスタのフリップフロップ1315の代わりに、カスタムロジック部32内のフリップフロップ324を利用する。この場合、図11(a)に示したように、通常動作時に埋め込みコア31から出力される信号37は、フリップフロップ324に入力され、フリップフロップ234の出力が内部ロジック321に出力されている。したがって、半導体集積回路3aが通常動作時でもテスト動作時でも、フリップフロップ324の出力は、内部ロジックに出力されている。このため、図5に示したマルチプレクサ1317とテストイネーブル信号TEの接続が不要となる。これにより、半導体集積回路3aが通常動作時には、スキャンイネーブル信号SEを“0”とすることで、マルチプレクサ1316を介して埋め込みコア31の出力がフリップフロップ324にラッチされ、内部ロジック321に伝達される。半導体集積回路3aのテスト動作時には、スキャンイネーブル信号SEが“0”の期間に、フリップフロップ324はマルチプレクサ1316を介して埋め込みコア31の出力をラッチする。スキャンイネーブル信号SEが“1”になると、前段および後段のフリップフロップとチェーン接続されてシフトレジスタを構成する。そして、クロックCLKの立ち上がりエッジに同期してスキャンアウトSO経由でラッチした埋め込みコア31の出力を半導体集積回路3aの外部端子に出力する。
【0063】
このようにこの実施の形態3では、テスト用シフトレジスタを構成する入力用レジスタを挿入する際には、埋め込みコアへの入力信号がフリップフロップの出力である場合、そのフリップフロップを入力用レジスタのフリップフロップとして利用する。一方、テスト用シフトレジスタを構成する出力用レジスタを挿入する際には、埋め込みコアの出力信号がフリップフロップに入力されている場合、そのフリップフロップを出力用レジスタのフリップフロップとして利用する。これにより、テスト用シフトレジスタのフリップフロップおよびマルチプレクサを削減することができる。すなわち、半導体集積回路のテストのための回路規模を削減することができる。
【0064】
実施の形態4.
図12〜図22を用いてこの発明の実施の形態4を説明する。図12は、この発明におけるテスト生成プログラムおよびその入出力を示す概念図である。
【0065】
回路接続情報40には、対象となる半導体集積回路が所望の機能を実現するための埋め込みコアと機能セルとを定義するセル情報および埋め込みコアと機能セルとの間の接続を示す接続情報が定義される。
【0066】
フロアプラン情報41には、対象となる半導体集積回路のレイアウトにおいて埋め込みコアがどの位置に配置されているかの位置情報、埋め込みコアの入出力端子の位置情報、カスタムロジック部の機能セルの位置情報および半導体集積回路の外部端子の位置情報が定義される。
【0067】
ライブラリ情報42には、埋め込みコアおよび機能セルの論理情報、遅延情報、端子属性などのテクノロジ情報が定義される。
【0068】
埋め込みコア機能テストパターン43には、人手設計または回路シミュレーション結果から作成された埋め込みコアのテストパターンが定義される。埋め込みコア機能テストパターン43は、定められた周期内に全信号に対する入力信号の印加おび出力信号の期待値比較を行うためのパラレル形式のパターンである。
【0069】
つぎに、テスト回路挿入プログラムの動作を説明する。埋め込みコアテストセル挿入処理(ステップS1)では、回路接続情報40、フロアプラン情報41およびライブラリ情報42に基づいて埋め込みコアのテスト回路を挿入して、埋め込みコアテストセルのレイアウト指定情報44と、埋め込みコアテストセルのスキャンパス接続順番情報45と、埋め込みコアテストセル挿入後の回路接続情報46とを生成する。
【0070】
図13のフローチャートを参照して、埋め込みコアテストセル挿入処理の動作を詳細に説明する。回路接続情報40およびライブラリ情報42を読み込み(ステップS100)、埋め込みコアテストセルを未挿入の埋め込みコア端子を選択する(ステップS101)。
【0071】
ライブラリ情報42に基づいて選択した埋め込みコアの端子の端子方向を確認する(ステップS102)。選択した埋め込みコアの端子が入力端子の場合、入力用の埋め込みコアテストセルを選択する(ステップS103)。入力用の埋め込みコアテストセル6aは、図14に示すように、フリップフロップ61と、ゲート回路62と、マルチプレクサ63とで構成される下位階層の展開が可能な、いわゆる、ソフトマクロである。
【0072】
図16の半導体集積回路7の場合は、埋め込みコア71の端子C,E,Fが入力端子である。したがって、埋め込みコア71の端子C,E,Fが埋め込みコアテストセルを未挿入の端子に選択された場合には、入力用の埋め込みコアテストセルを選択する。
【0073】
選択した埋め込みコアの端子が出力端子の場合、出力用の埋め込みコアテストセルを選択する(ステップS104)。出力用の埋め込みコアテストセル6bは、図15に示すように、フリップフロップ65とマルチプレクサ66とで構成される下位階層の展開が可能な、いわゆる、ソフトマクロである。
【0074】
図16の半導体集積回路7の場合は、埋め込みコア71の端子A,B,Dが出力端子である。したがって、埋め込みコア71の端子A,B,Dが埋め込みコアテストセルを未挿入の端子に選択された場合には、出力用の埋め込みコアテストセルを選択する。
【0075】
回路接続情報40およびライブラリ情報42に基づいて埋め込みコアの端子が組合せ回路と接続されているか否かを判定する(ステップS105)。判定の結果、選択した埋め込みコアの端子が組合せ回路と接続されている場合には、選択した埋め込みコアテストセルを挿入することを決定し(ステップS106)、回路接続情報40を選択した埋め込みコアテストセルを挿入した回路接続情報に変更する。
【0076】
図16の半導体集積回路7の場合は、埋め込みコア71の入力端子C,Eは、組合せ回路75と配線720,721でそれぞれ接続されている。したがって、配線720,721に入力用の埋め込みコアテストセルを挿入する。また、埋め込みコア71の出力端子Bは、組合せ回路75と配線711で接続されている。したがって、出力用の埋め込みコアテストセルを挿入する。すなわち、図17に示すように、埋め込みコア71の出力端子Bと組合せ回路75の配線711には出力用の埋め込みコアテストセル743を、埋め込みコア71の入力端子Cと組合せ回路75の配線720には入力用の埋め込みコアテストセル731を、埋め込みコア71の入力端子Eと組合せ回路75の配線721には入力用の埋め込みコアテストセル732を、それぞれ挿入する。
【0077】
判定の結果、埋め込みコアの端子が組合せ回路と接続されていない場合、すなわち、フリップフロップと接続されている場合には、そのフリップフロップを埋め込みコアテストセルのフリップフロップに置き換えて埋め込みコアテストセルを挿入する(ステップS107)。具体的には、実施の形態3で説明したように、埋め込みコアの入力端子の場合には、埋め込みコアの入力端子に接続されているフリップフロップを入力用の埋め込みコアテストセル6aのフリップフロップ61に流用し、埋め込みコアの出力端子の場合には、埋め込みコアの出力に接続されているフリップフロップを出力用の埋め込みコアテストセル6bのフリップフロップ65に流用する。そして、それらの接続に対応して回路接続情報40を変更する。
【0078】
図16の半導体集積回路7の埋め込みコア71の入力端子Fは、フリップフロップ74と配線722で接続されている。したがって、フリップフロップ74を図14に示した入力用の埋め込みコアテストセル6aのフリップフロップ61と置き換える。また、埋め込みコア71の出力端子A,Dは、フリップフロップ72,73と配線710,712でそれぞれ接続されている。したがって、フリップフロップ72およびフリップフロップ73を、それぞれの図15に示した出力用の埋め込みコアテストセル6bのフリップフロップ65と置き換える。すなわち、図17に示すように、埋め込みコア71の出力端子Aとフリップフロップ72の配線710には、フリップフロップ72を置き換えた出力用の埋め込みコアテストセル741を、埋め込みコア71の出力端子Dとフリップフロップ73の配線712には、フリップフロップ73を置き換えた出力用の埋め込みコアテストセル742を、埋め込みコア71の入力端子Fとフリップフロップ74の配線722には、フリップフロップ74を置き換えた入力用の埋め込みコアテストセル733を、それぞれ挿入する。
【0079】
変更した回路接続情報40に基づいて、埋め込みコアの全ての端子に埋め込みコアテストセルが挿入されるまで、埋め込みコアテストセルを挿入する動作を繰り返す(ステップS101〜S108)。
【0080】
全ての埋め込みコア端子に対する埋め込みコアテストセルが挿入されると、埋め込みコアテストセル内のフリップフロップのスキャンパス接続順番を抽出する(ステップS109)。具体的には、埋め込みコアのフロアプラン情報41に基づいて、埋め込みコアテストセル内のスキャンフリップフロップ相互間を最短経路でチェーン接続し、その始端を半導体集積回路のスキャンパターンを入力する外部端子に、終端を内部ロジック回路内のスキャンパス回路に接続するための制約条件を生成して、埋め込みコアテストセルのスキャンパス接続順番情報45に出力する。
【0081】
図18は、図16に示した半導体集積回路7のフロアプラン情報41の埋め込みコア71およびシリアル入力信号SIの端子位置を示すフロアプランのイメージ図である。フロアプラン情報41は、半導体集積回路7のシリアル入力信号SIの外部端子は埋め込みコア71の入力端子Cと最も近い位置にあることを示している。したがって、埋め込みコア71周辺の配線の難易度が均一な場合、埋め込みコア71の入力端子Cに接続される埋め込みコアテストセル内にあるフリップフロップをシリアル入力信号SIを入力する端子と接続してスキャンパス回路の始端とすることが最適な接続となる。その他の埋め込みコア71の端子A,B,D,E,Fについては、端子Cを基点に時計回りまたは反時計回りに接続することで、最短配線が実現する。たとえば、反時計回りに接続する場合、図17に示した半導体集積回路7では、埋め込みコアテストセル731,743,741,733,732,742の順となる。この順番をスキャンパス接続処理で使用可能な形式にした埋め込みコアテストセルのスキャンパス接続順番情報45を出力する。なお、配線不能領域など他の優先すべき制約条件が存在する場合は、これを考慮して順番を決定する。
【0082】
スキャンパス接続順番情報45を出力すると、埋め込みコアテストセル内のフリップフロップのレイアウト指定情報を抽出する(ステップS110)。具体的には、埋め込みコアテスト用セルのスキャンパス接続順番情報45の最短配線長を実現するためには、スキャンフリップフロップの配置も最適化する必要がある。すなわち、埋め込みコア周辺のセル配置の難易度が均一な場合、埋め込みコアテストセル内フリップフロップを対応する埋め込みコア端子の近傍に配置するのが望ましい。そのため、フロアプラン情報41のカスタムロジック部のレイアウト情報に基づき、埋め込みコアテストセル内フリップフロップを、関連する埋め込みコア端子に対して最適な位置に配置される制約条件を抽出して、埋め込みコアテストセルのレイアウト指定情報44に出力する。
【0083】
図17の半導体集積回路7の場合、埋め込みコアテストセル741,743,731,742,732,733内のそれぞれのフリップフロップが、埋め込みコアの端子A〜Fの近傍に配置されるように制約条件を埋め込みコアテストセルのレイアウト指定情報44に出力する。なお、配置禁止領域など他の優先すべき制約条件が存在する場合は、これを考慮して配置条件を決定する。
【0084】
レイアウト指定情報44を出力すると、埋め込みコアテストセルの空き端子を接続する(ステップS111)。具体的には、半導体集積回路と挿入した各埋め込みコアテストセルのテストイネーブル信号TE、ゲート信号Gate、クロックCLK、ならびに、最終段の埋め込みコアテストセルの出力と半導体集積回路のスキャンアウトCSOとを接続する。
【0085】
図17の半導体集積回路7の場合には、半導体集積回路7のクロックCLKを入力する外部端子と埋め込みコアテストセル731〜733,741〜743のクロック端子CLKとを配線751で、半導体集積回路7のテストイネーブル信号TEを入力する外部端子と埋め込みコアテストセル731〜733,741〜743のテストイネーブル信号TEが入力される外部端子とを配線752で接続する。半導体集積回路7のゲート信号Gateを入力する外部端子と、埋め込みコアテストセル731〜732のゲート信号Gateを入力する端子とを配線753で接続する。また、スキャンパス接続順番情報45を決定した際に最終段となった埋め込みコアテストセル742の端子DOと、半導体集積回路7のスキャンアウトCSOを出力する外部端子とを配線754で接続する。
【0086】
接続が完了したら、埋め込みコアテスト用回路挿入後の半導体集積回路の接続情報である埋め込みコアテストセル挿入後の回路接続情報46を出力する(ステップS112)。
【0087】
埋め込みコアテストセル挿入処理が完了すると、スキャンパス接続処理(ステップS2)を行う。スキャンパス接続処理では、まず、埋め込みコアテストセル挿入後の回路接続情報46を読み込み、回路内のすべてのフリップフロップを図19に示すような、マルチプレクサ付きのスキャンフリップフロップもしくは論理的に等価な回路に変換する。具体的には、埋め込みコアテストセル挿入処理で挿入された埋め込みコアテストセル6aのフリップフロップ61がスキャンフリップフロップ8に変換され、図4に示した入力用レジスタ131と論理的に等価な回路となる。また、埋め込みコアテスト用セル挿入処理で挿入された埋め込みコアテストセル6bのフリップフロップ65がスキャンフリップフロップ8に変換され、図5に示した出力用レジスタ135と論理的に等価な回路となる。さらに、カスタムロジック部内のフリップフロップも全てスキャンフリップフロップ8に変換される。
【0088】
全てのフリップフロップをスキャンフリップフロップ8に変換した後、スキャンパス接続順番情報45に定義されている接続の順番に基づいてこれらのスキャンフリップフロップ8をチェーン接続する。すなわち、スキャンフリップフロップ8の端子SFSEにスキャンイネーブル信号SEを、初段となるスキャンフリップフロップ8の端子SFSIにシリアル入力信号SIを、そして、他のスキャンフリップフロップ8の端子SFSIに、前段のスキャンフリップフロップ8の出力を、スキャンフリップフロップ8の端子SFDに、通常動作時の信号(埋め込みコア71の入出力信号、組合せ回路75の入出力信号)を接続する。スキャンパスの接続が完了すると、スキャンパス接続後の回路接続情報47を出力する。
【0089】
図20は、図17に示した半導体集積回路7の回路接続情報46に対してスキャンパス接続処理を実行した半導体集積回路7を示す概念図である。埋め込みコアテストセル731a〜733a,741a〜743aは、図17の埋め込みコアテストセル731〜733,741〜743の内部のフリップフロップをスキャンフリップフロップ8に変換した後の埋め込みコアテストセルである。配線760〜766は、スキャンパス接続用の配線であり、スキャンパス接続順番情報45に基づいて半導体集積回路7の外部端子から入力されるシリアル入力信号SIから配線760〜766を用いて埋め込みコアテストセル731a〜733a,741〜743aをチェーン接続する。また、最終段の埋め込みコアテストセル742aから配線766によりロジック回路76のスキャンパス回路に接続される。ロジック回路76のスキャンパスの最終段のスキャンフリップフロップ8からは、配線767によって半導体集積回路7の外部端子にスキャンアウトSOが出力される。これらの配線を反映してスキャンパス接続後の回路接続情報47を出力する。
【0090】
スキャンパス接続処理が終了すると、スキャンパス接続後の回路接続情報47と埋め込みコア機能テストパターン43とに基づいて、埋め込みコアテストパターン変換処理(ステップS3)を実行する。図21のフローチャートを参照して、埋め込みコアテストパターン変換処理の詳細な動作を説明する。
【0091】
まず、スキャンパス接続後の回路接続情報47、ライブラリ情報42および埋め込みコア機能テストパターン43を読み込み(ステップS300)、埋め込みコアテストの対象となる回路を特定する(ステップS301)。具体的には、図20に示した半導体集積回路7の場合、対象となるのは埋め込みコア71であり、対象外となるのは、ロジック回路76および組合せ回路75である。したがって、埋め込みコア71をテスト対象として特定する。
【0092】
埋め込みコアテストの対象となる回路を特定すると、ライブラリ情報42に定義されている埋め込みコアの端子情報と埋め込みコア機能テストパターン43とに基づいて、テストルールチェックを行う(ステップS302)。具体的には、たとえば、埋め込みコア機能テストパターン43に定義されているテストパターンの入出力信号とライブラリ情報42に定義されている埋め込みコア71の端子との対応がとれているか、埋め込みコア機能テストパターン43に定義されている埋め込みコア71に入力する信号の禁止条件のチェック、例えば不定値の入力などを行う。
【0093】
テストルールチェックが終了すると、テストパターンを変換する(ステップS303)。図20に示した半導体集積回路7と図22のタイムチャートを参照して、テストパターンの変換について説明する。埋め込みコア機能テストパターン43には、周期T11ごとに埋め込みコア71の入力端子CにC0,C1,C2,C3を、入力端子EにE0,E1,E2,E3を、入力端子FにF0,F1,F2,F3を入力するように定義されている。そして、出力端子Aの期待値はA0,A1,A2,A3、出力端子Bの期待値はB0,B1,B2,B3、出力端子Dの期待値はD0,D1,D2,D3である。このようなパラレル形式の埋め込みコア機能テストパターンを、半導体集積回路7の外部端子からシリアル入力信号SIとして入力可能なパターンに変換する。すなわち、図20に示した半導体集積回路7の埋め込みコアテストセル731a〜733a,741a〜743aを配線750〜756によりチェーン接続して埋め込みコア71をテストするパターンに変換する。
【0094】
埋め込みコア機能テスト入力パターンの周期T11のパラレル形式の埋め込みコアテストパターン入力C1,E1,F1を、変換後のパターンのシフト期間T12に、埋め込みコアテストパターン期待値A1,B1,D1は、シフト期間T13にそれぞれアサインする。すなわち、パラレル形式の埋め込みテストパターン入力に対してパラレル形式の埋め込みコアテストパターン期待値を、1シフト期間後にアサインする。
【0095】
アサインの順番は、チェーン接続された埋め込みコアテストセルの最も先頭にある埋め込みコアテストセルのフリップフロップ、すなわち、スキャンアウトCSOを出力する半導体集積回路7の外部端子に接続されているフリップフロップからとなる。図20に示した半導体集積回路7の場合は、埋め込みコア71の端子D,E,F,A,B,Cの順にシリアル化する。したがって、シリアル入力信号SIには、端子Dに接続されている埋め込みコアテストセル742a,端子Eに接続されている埋め込みコアテストセル732a,端子Fに接続されている埋め込みコアテストセル733a,端子Aに接続されている埋め込みコアテストセル741a,端子Bに接続されている埋め込みコアテストセル743a,端子Cに接続されている埋め込みコアテストセル731aのそれぞれのスキャンフリップフロップ8の順に設定するデータを入力する。このとき、埋め込みコア71の出力端子D,A,Bに接続された埋め込みコアテストセル742a,741a,743a内のスキャンフリップフロップ8への入力パターンは、“0”、“1”のどちらでもよい。また、埋め込みコア71の入力端子E,F,Cに接続された埋め込みコアテストセル732a,733a,731aのスキャンフリップフロップ8のデータがシフトされスキャンアウトCSOとして出力されるタイミングの期待値は“0”または“1”のいずれでもよいので、このときの期待値はドント・ケア(“x”)とする。
【0096】
制御信号については、テストイネーブル信号TEを“1”固定に、スキャンイネーブル信号SEを“1”に、ゲート信号Gateを“0”にする。そして、シリアル入力信号SIが入力される半導体集積回路7の外部端子に接続されている埋め込みコアテストセル731aに埋め込みコア71の端子Cに入力するテストパターンが設定された後、スキャンイネーブル信号SEを“0”に、ゲート信号Gateを“1”にする。すなわち、埋め込みコアテストセルのフリップフロップにデータを設定するシフト期間T14毎にスキャンイネーブル信号SEを“0”に、ゲート信号Gateを“1”にする。そして、クロックCLKの立下りに同期してゲート信号Gateを“0”にする。また、スキャンイネーブル信号SEについては、埋め込みコア71の動作遅延時間をとった後、クロックCLKの立ち上がりに同期して“1”にする。図22のタイムチャートの場合は、埋め込みコア71の動作遅延時間がクロックCLKの周期内であるので、スキャンイネーブル信号SEは、クロックCLK1周期で“1”となる。埋め込みコア71の動作遅延がクロックCLKの周期のn(0<n,nは自然数)倍未満の場合、スキャンイネーブル信号SEが“0”となるキャプチャ期間T15は、クロックCLKのn個分の周期を要する。埋め込みコア71の動作遅延時間は、ライブラリ情報42に定義されているので、この動作遅延時間に基づいて、キャプチャ期間T15を決定する。
【0097】
このようにして、埋め込みコア機能テストパターン43をスキャンパス接続後の回路接続情報47に対応したテストパターンに変換したスキャンパスを利用した埋め込みコア機能テストパターン48を出力して(ステップS304)、埋め込みコアテストパターン変換処理を終了する。
【0098】
最後に、テストパターン自動生成処理を行う(ステップS4)。テストパターン自動生成処理では、ライブラリ情報42とスキャンパス接続後の回路接続情報47を読み込む。そして、たとえば、ランダムに発生した信号や既存のスキャンテストのテストパターン自動生成手法により生成された信号をスキャンパス回路に入力して、組合せ回路75を動作させて静的シミュレーションを実行する。そして、スキャンパス接続後の回路接続情報47の組合せ回路の故障検出率を算出して、カバレージの高いテストパターンを生成する。そして、生成したテストパターンをスキャンパステストパターン49として出力する。
【0099】
このようにこの実施の形態4では、埋め込みコアテストセル挿入処理において、回路接続情報40と、フロアプラン情報41と、ライブラリ情報とに基づいて、埋め込みコアの入力端子および出力端子にテストセルを挿入し、テストセル挿入後のセル情報および接続情報に変更した回路接続情報46を生成し、スキャンパス接続処理において、テストセル挿入後の接続に変更した回路接続情報46に定義されているフリップフロップをスキャンフリップフロップに置換してチェーン接続し、スキャンパス回路を生成した後のセル情報および接続情報に変更した回路接続情報47を生成するようにしている。これにより、設計時に、テストに必要な回路を意識することなく設計することができ、設計時間を短縮することができる。
【0100】
また、埋め込みコアテストパターン変換処理において、埋め込みコア機能テストパターン43をスキャンパス接続後の回路接続情報47に対応して、埋め込みコアのテストに必要な制御信号を付加し、埋め込みコア機能テストパターン43を変換し、テストパターン自動生成処理において、カスタムロジック部のテストパターンを生成するようにしている。これにより、テストパターンを生成する時間が短縮され、設計効率を上げることができる。
【0101】
なお、実施の形態4では、埋め込みコアテストセル挿入処理、スキャンパス接続処理、埋め込みコアテストパターン変換処理およびテストパターン自動生成処理が個別の処理として動作し、各処理間はファイルなどの外部記憶媒体を介してデータの受け渡しを行う構成として説明した。すなわち、各処理は、個別のプログラムとして動作可能な構成として説明した。しかし、処理を単一のプログラムとして実現し、外部記憶媒体の代わりにメモリ中に構築されたデータとして共有する構成にしても良い。
【0102】
実施の形態5.
実施の形態1〜4においては、単一クロックCLKを用いてスキャンイネーブル信号SEでテスト動作と通常動作の切り替えるスキャンフリップフロップを用いたスキャンパステスト、いわゆるモードセレクト方式をベースに説明した。しかし、本発明における半導体集積回路およびテスト生成プログラムは、テストと通常動作を個別のクロックで制御するクロックセレクト方式にも適用可能である。実施の形態1〜4におけるスキャンイネーブル信号SEをスキャン用クロックに置き換え、同様にスキャンパス設計を行うことで、同様の機能が実現可能であり、実施の形態1〜4と同様の効果を得ることができる。
【0103】
【発明の効果】
以上説明したように、この発明にかかる半導体集積回路によれば、カスタムロジック部と埋め込みコアとの間に、埋め込みコアのテスト時には、埋め込みコアの入力端子に接続される各入力用レジスタと、埋め込みコアの出力端子に接続される各出力用レジスタとがチェーン接続されてシリアルに入力される埋め込みコアのテストパターンをシフト動作により各入力用レジスタに設定する。そして、設定した埋め込みコアのテストパターンを埋め込みコアに出力するためのゲート信号がアサートの時に、各入力用レジスタに設定した埋め込みコアのテストパターンで埋め込みコアを動作させ、その出力を前記各出力用レジスタにラッチして、ゲート信号がネゲートの時に、ラッチした埋め込みコアの出力をシフト動作により外部端子に出力するようにしている。これにより、埋め込みコアのテストパターンを短縮するとともに、効率よく半導体集積回路のテストを行うことができる。
【図面の簡単な説明】
【図1】 この発明における実施の形態1の半導体集積回路の構成を示すブロック図である。
【図2】 図1に示したカスタムロジック部の構成を示すブロック図である。
【図3】 図1に示したテスト用シフトレジスタの構成を示すブロック図である。
【図4】 図3に示した入力用レジスタの一例を示す回路図である。
【図5】 図3に示した出力用レジスタの一例を示す回路図である。
【図6】 この発明における実施の形態1の半導体集積回路の埋め込みコアのテスト動作を説明するためのタイムチャートである。
【図7】 この発明における実施の形態2の半導体集積回路の構成を示すブロック図である。
【図8】 この発明における実施の形態3の半導体集積回路の入力用レジスタの挿入方法を説明するための図である。
【図9】 この発明における実施の形態3の半導体集積回路の入力用レジスタの挿入方法を説明するための図である。
【図10】 この発明における実施の形態3の半導体集積回路の出力用レジスタの挿入方法を説明するための図である。
【図11】 この発明における実施の形態3の半導体集積回路の出力用レジスタの挿入方法を説明するための図である。
【図12】 この発明におけるテスト生成プログラムおよびその入出力を示す概念図である。
【図13】 埋め込みコアテストセル挿入処理の動作を説明するためのフローチャートである。
【図14】 埋め込みコアテストセル挿入処理で挿入される入力用の埋め込みコアテストセルの構成を示す回路図である。
【図15】 埋め込みコアテストセル挿入処理で挿入される出力用の埋め込みコアテストセルの構成を示す回路図である。
【図16】 埋め込みコアテストセルが挿入前の半導体集積回路の構成を示すブロック図である。
【図17】 埋め込みコアテストセルが挿入後の半導体集積回路の構成を示すブロック図である。
【図18】 図16に示した半導体集積回路のフロアプラン情報の埋め込みコアおよびシリアル入力信号の端子位置を示すフロアプランのイメージ図である。
【図19】 スキャンパス接続処理で用いるスキャンフリップフロップの一例を示す回路図である。
【図20】 スキャンパス接続処理後の半導体集積回路の構成を示すブロック図である。
【図21】 埋め込みコア機能テストパターン変換処理の動作を説明するためのフローチャートである。
【図22】 埋め込みコア機能テストパターン変換処理の動作を説明するためのタイムチャートである。
【符号の説明】
1,2,3,3a,7 半導体集積回路、6a,731,732,733 入力用の埋め込みコアテストセル、6b,741,742,743 出力用の埋め込みコアテストセル、8 スキャンフリップフロップ、11,31,71 埋め込みコア、12 カスタムロジック部、13 テスト用シフトレジスタ、21 TCM、22 セレクタ、33,35,37,710,711,712,720,721,722,751,752,753,760,761,762,763,764,765,766 配線、40 回路接続情報、41 フロアプラン情報、42 ライブラリ情報、43 埋め込みコア機能テストパターン、44 レイアウト指定情報、45 スキャンパス接続順番情報、46 埋め込みコアテストセル挿入後の回路接続情報、47 スキャンパス接続後の回路接続情報、48スキャンパスを利用した埋め込みコア機能テストパターン、49 スキャンパステストパターン、75,121,322 組み合わせ回路、122 スキャンパス回路、32,131,132,133,134 入力用レジスタ、36,135,136 出力用レジスタ、321 内部ロジック、61,62,65,72,73,74,1221,1222,1223,1311,1315 フリップフロップ、63,66,1224,1225,1226,1313,1314,1316 マルチプレクサ、1312 ゲート回路。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a semiconductor integrated circuit and a test generation program for easily testing a semiconductor integrated circuit having a built-in embedded core.
[0002]
[Prior art]
In recent years, due to improvements in multilayer wiring technology and miniaturization technology in semiconductor manufacturing, a single system can be realized by mounting functional cores such as a microprocessor, DSP, analog circuit, and memory on one chip of a semiconductor integrated circuit. Yes. On the other hand, since the scale of a single-chip mounting gate has increased, a method for testing a semiconductor integrated circuit after manufacture has become a problem.
[0003]
Usually, when testing a semiconductor integrated circuit, a custom logic unit designed using a logic circuit such as an AND circuit, an OR circuit, a flip-flop, a microprocessor, a DSP (Digital Signal Processor), an analog circuit A test method different from that for a functional core such as a memory is used.
[0004]
The test of the custom logic part uses a scan path test method in order to obtain a high failure detection rate. The logic circuit of the custom logic unit is generally composed of a sequential circuit such as a flip-flop and a combinational circuit such as an AND circuit and an OA circuit. In the scan path test method, the logic circuit of the custom logic section is divided into two circuits, a sequential circuit and a combinational circuit.
[0005]
Specifically, all or part of the custom logic unit is replaced with a scan flip-flop with a selector, or a selector is inserted in front of the flip-flop. These flip-flops are connected in a chain to form a shift register (scan chain). During the test, the test pattern of the combinational circuit is serially input to this shift register, and the test pattern is set in the flip-flop by the shift operation. Then, the normal operation is performed for one clock, the combinational circuit is operated, and the operation result of the combinational circuit is latched in the flip-flop. Again, the output result of the combinational circuit operated by the test pattern set by the shift operation is output to the external terminal. This output is compared with an expected value prepared in advance. By repeating these operations, you can simply add an input terminal that specifies the test operation or normal operation, a test pattern input terminal that inputs the test pattern serially, and an output terminal that outputs the test result. Test can be done.
[0006]
In a scan path test circuit, the construction of a scan path circuit and generation of a test vector can be automatically performed by an EDA (Electronic Design Automation) tool. As a result, the circuit designer can concentrate on circuit design for realizing normal system operation, and can greatly reduce the effort for designing a test circuit and a test pattern.
[0007]
A procedure for converting a general synchronous design logic circuit having no scan path circuit into a scan path circuit will be described. First, a selector is inserted before each flip-flop of the custom logic unit. Connects to the select terminal of each selector and an external terminal for inputting a test mode switching signal. The input of the selector selected when the test mode switching signal is a signal indicating the test mode is connected to an input terminal for inputting a test pattern and a terminal of another flip-flop. The signal input to the flip-flop before the selector is inserted is connected to the input of the selector that is selected when the test mode switching signal is a signal indicating the normal mode. Then, the output of the flip-flop as the final stage is connected to the external terminal. As a result, a scan chain can be configured.
[0008]
In the scan path circuit, a scan flip-flop, which is a functional cell in which a selector and a flip-flop are integrated, is generally used. A conversion procedure in this case will be described. First, each flip-flop of the custom logic unit is replaced with a scan flip-flop. Subsequently, a test mode switching signal is connected to a selection terminal of all scan flips. The selector selected when the test mode switching signal is a signal indicating the test mode includes an input terminal for inputting a test pattern and a terminal of another scan flip-flop, and the test mode switching signal indicates the normal mode. The signal input to the flip-flop before the replacement with the scan flip-flop is connected to the input of the selector selected in the case of a signal. Then, the output of the scan flip-flop as the final stage is connected to the external terminal. In this way, the conversion to the scan path circuit is completed by connecting the paths by the output of the scan flip-flops so as to have a chain structure.
[0009]
Next, a conventional technique for efficiently testing an embedded core having one or a plurality of functional cores will be described. A conventional semiconductor integrated circuit includes a test mode matrix composed of a plurality of multiplexers, an embedded core, a custom logic unit, and an I / O circuit having an interface between the external terminal of the semiconductor integrated circuit and the custom logic unit. I have. The test mode matrix is composed of a plurality of multiplexers, and interconnects the embedded core, the custom logic unit, and the I / O circuit. By connecting the I / O circuit to an external tester, standard test vectors are used for embedded core testing and normal circuit operation. The test mode matrix performs connection between the embedded core and the custom logic unit based on a specific mode selected by a control signal transmitted from an external terminal via an I / O circuit (for example, , See Patent Document 1).
[0010]
Another semiconductor integrated circuit has two modes for testing a plurality of functional cores. The first mode is associated with a respective core test control block (TCB) for each core to control each of these cores to the test mode, and each core has a core shift register for holding test control data. The functional cores are linked in series in the chain, and each functional core shifts test control data along the chain. The second mode provides test control data to the associated core. A system TCB is provided in the chain, and the output terminal of the system TCB is connected to each functional core. When the system TCB receives a specific test control data set, a system test hold signal is supplied to the functional core, and the functional core Is switched to either the first mode or the second mode (see, for example, Patent Document 2).
[0011]
[Patent Document 1]
JP 09-0454705 A
[Patent Document 2]
Japanese Patent Application Laid-Open No. 11-525783
[0012]
[Problems to be solved by the invention]
In the former prior art, a test mode matrix connects a buried core and a custom logic unit based on a control signal input via an I / O circuit to perform a test, thereby completing a complete tester for a semiconductor integrated circuit. Maintainability.
[0013]
In addition, the latter prior art architecture does not require a complex state machine of functional cores according to the boundary scan test standard for supplying test control data to each functional core, and various functional cores and systems. The number of interconnections between the two can be reduced.
[0014]
However, in both conventional technologies, the custom logic unit and the embedded core in the semiconductor integrated circuit must be tested separately. Therefore, there has been a problem that the custom logic unit and the embedded core must each have a dedicated test terminal and a test circuit. That is, there are problems that the number of dedicated test terminals increases for testing the semiconductor integrated circuit, and that the test time increases due to the increase in the length of the test vector.
[0015]
In addition, a test circuit for directly accessing the input / output terminals of the functional core from the outside of the semiconductor integrated circuit is provided. I / O terminals are required. As a result, when the number of input / output terminals of the semiconductor integrated circuit is small and a plurality of cores are incorporated, there is a problem that the test circuit and its control method are complicated and the circuit scale is increased.
[0016]
The present invention has been made in view of the above, and in a semiconductor integrated circuit having a custom logic portion and an embedded core, a semiconductor integrated circuit and a test generation for efficiently testing the embedded core by separating the custom logic portion and the embedded core portion The purpose is to obtain a program.
[0017]
[Means for Solving the Problems]
To achieve the above object, a semiconductor integrated circuit according to the present invention includes a custom logic having an embedded core having one or a plurality of functional cores, and a scan path circuit in which a combinational circuit and a plurality of scan flip-flops are chain-connected. In a semiconductor integrated circuit comprising: an input register connected to each input terminal of the embedded core, and connected to each output terminal of the embedded core, between the custom logic unit and the embedded core Output registers, and during the embedded core test operation, each of the input registers and each of the output registers is connected in a chain to form a scan path, and the embedded cores that are serially input Before setting the test pattern to each input register by shift operation When the gate signal for outputting the embedded core test pattern to the embedded core is asserted, the embedded core is operated with the embedded core test pattern set in each input register, and the output is output to each output register. And a test shift register that latches and outputs the output of the latched embedded core to an external terminal and a first stage scan flip-flop of the scan path circuit by a shift operation when the gate signal is negated. .
[0018]
According to the present invention, the semiconductor integrated circuit is connected between the custom logic unit and the embedded core, each of the input registers connected to the input terminal of the embedded core and the output terminal of the embedded core when testing the embedded core. The test pattern of the embedded core that is serially input by being chain-connected to each output register to be set is set in each input register by a shift operation. When the gate signal for outputting the set test pattern of the embedded core to the embedded core is asserted, the embedded core is operated with the test pattern of the embedded core set in each input register, and the output is used for each output. When latched in a register and the gate signal is negated, the output of the latched embedded core is output to an external terminal by a shift operation.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of a semiconductor integrated circuit and a test generation program according to the present invention will be explained below in detail with reference to the accompanying drawings.
[0020]
Embodiment 1 FIG.
A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram showing a configuration of a semiconductor integrated circuit 1 according to the first embodiment of the present invention. The semiconductor integrated circuit 1 according to the first embodiment of the present invention includes an embedded core 11, a custom logic unit 12, and a test shift register 13.
[0021]
The embedded core 11 includes functional cores such as a microprocessor, a DSP, an analog circuit, and a memory.
[0022]
As shown in FIG. 2, the custom logic unit 12 includes a combinational circuit 121 such as an AND circuit and an OR circuit, and a scan path circuit 122 in which flip-flops are chain-connected.
[0023]
The scan path circuit 122 includes a plurality of (in this case, three) flip-flops 1221 to 1223 and multiplexers 1224 to 1226 connected to the input terminals D of the flip-flops 1221 to 1223.
[0024]
The multiplexer 1224 outputs the scan-out CSO that is the output of the test shift register 13 when the scan enable signal SE is asserted (in this case “1”), and when the scan enable signal SE is negated (in this case “0”). The output of the combinational circuit 121 is selected and output to the flip-flop 1221. The flip-flop 1221 latches the output of the multiplexer 1224 at the rising edge of the clock CLK and outputs it to the combinational circuit 121 and the multiplexer 1225. The multiplexer 1225 selects the output of the flip-flop 1221 when the scan enable signal SE is “1”, and selects the output of the combinational circuit 121 when the scan enable signal SE is “0”, and outputs the selected output to the flip-flop 1222. The flip-flop 1222 latches the output of the multiplexer 1225 at the rising edge of the clock CLK and outputs it to the combinational circuit 121 and the multiplexer 1226. The multiplexer 1226 selects the output of the flip-flop 1222 when the scan enable signal SE is “1” and the output of the combinational circuit 121 when the scan enable signal SE is “0”, and outputs the selected output to the flip-flop 1223. The flip-flop 1223 latches the output of the multiplexer 1226 at the rising edge of the clock CLK. Then, the scan-out SO that is the output of the scan path circuit 122 is output to the combinational circuit 121 and the external terminal of the semiconductor integrated circuit 1.
[0025]
The test shift register 13 controls the input / output signals of the embedded core 11 based on the scan enable signal SE, the test enable signal TE, and the gate signal Gate input from the external terminals of the semiconductor integrated circuit 1, and the semiconductor integrated circuit 1. The serial input signal SI input from the external terminal is input to the embedded core 11 and the output of the embedded core 11 operated by the serial input signal SI is latched. Then, the latched output of the embedded core 11 is output serially. The serial output scan-out CSO is output to the external terminal of the semiconductor integrated circuit 1 and the scan path circuit 122.
[0026]
FIG. 3 is a block diagram showing the configuration of the test shift register 13. The test shift register 13 includes input registers 131 to 134 connected to the input terminals of the embedded core 11 and output registers 135 and 136 connected to the output terminals of the embedded core 11. The input registers 131 to 134 have the same function. The output registers 135 and 136 have the same function.
[0027]
The input registers 131 to 134 control signals input to the embedded core 11 based on the scan enable signal SE, the test enable signal TE, and the gate signal Gate. The output registers 135 and 136 control the output of the embedded core 11 based on the scan enable signal SE and the test enable signal TE. The input registers 131 to 134 and the output registers 135 and 136 are chain-connected in the order of the input registers 131 and 132, the output registers 135 and 136, and the input registers 133 and 134 based on the scan enable signal SE. To constitute a shift register circuit. The input registers 131 to 134 and the output registers 135 and 136 may have a well-known boundary scan cell configuration as defined in the IEEE (Institute of Electrical and Electronics Engineers) standard 1149.1.
[0028]
FIG. 4 is a circuit diagram showing an example of the input register 131. The input register 131 includes a flip-flop 1311, a gate circuit 1312, and multiplexers 1313 and 1314.
[0029]
The multiplexer 1313 selects the serial input signal SI when the scan enable signal SE is “1”, and selects the signal input from the custom logic unit 12 when the scan enable signal SE is “0”, and outputs the selected signal to the flip-flop 1311. The flip-flop 1311 latches the output of the multiplexer 1313 at the rising edge of the clock CLK, and outputs it to the gate circuit 1312 and the input register or output register in the subsequent stage. The gate circuit 1312 passes through the output of the flip-flop 1311 when the gate signal Gate is “1”, latches the output of the flip-flop 1311 when the gate signal Gate is “0”, and outputs the latch 1314 to the multiplexer 1314. The multiplexer 1314 outputs the output of the gate circuit 1312 when the test enable signal TE is asserted (in this case “1”), and outputs the output of the custom logic unit 12 when the test enable signal TE is negated (in this case “0”). Select and output to the embedded core 11.
[0030]
FIG. 5 is a circuit diagram showing an example of the output register 135. The output register 135 includes a flip-flop 1315 and multiplexers 1316 and 1317.
[0031]
The multiplexer 1316 selects the serial input signal SI when the scan enable signal SE is “1”, and selects the signal input from the embedded core 11 when the scan enable signal SE is “0”, and outputs the selected signal to the flip-flop 1315. The flip-flop 1315 latches the output of the multiplexer 1316 at the rising edge of the clock CLK, and outputs it to the multiplexer 1317 and the input register or output register in the subsequent stage. The multiplexer 1317 selects the output of the flip-flop 1315 when the test enable signal TE is “1”, selects the output of the embedded core 11 when the test enable signal TE is “0”, and outputs it to the custom logic unit 12.
[0032]
Next, the operation of the semiconductor integrated circuit 1 will be described. First, the normal operation of the semiconductor integrated circuit 1 will be described. During normal operation of the semiconductor integrated circuit 1, the test enable signal TE is set to “0”. Therefore, the multiplexer 1314 of the input registers 131 to 134 selects the output of the custom logic unit 12 and outputs it to the embedded core 11. The multiplexer 1317 of the output registers 135 and 136 selects the output of the embedded core 11 and outputs it to the custom logic unit 12. As a result, the custom logic unit 12 and the embedded core 11 are connected, and the semiconductor integrated circuit 1 operates normally.
[0033]
Next, the test operation of the embedded core 11 will be described with reference to the time chart of FIG. At time t1, the test enable signal TE is changed from “0” to “1”. As a result, the semiconductor integrated circuit 1 performs a test operation, the multiplexer 1314 of the input registers 131 to 134 inside the test shift register 13 outputs the output of the gate circuit 1312, and the multiplexer 1317 of the output registers 135 and 136 includes the flip-flop 1315. Select the output.
[0034]
At time t2, the scan enable signal SE is changed from “0” to “1”, and data is input to the serial input signal SI. The multiplexer 1313 of the input registers 131 to 134 selects the serial input signal SI and outputs it to the flip-flop 1311. The multiplexer 1316 of the output registers 135 and 136 selects the serial input signal SI and outputs it to the flip-flop 1315. Accordingly, the flip-flop 1311 of the input register 131, the flip-flop 1311 of the input register 132, the flip-flop 1315 of the output register 135, the flip-flop 1315 of the output register 136, the flip-flop 1311 of the input register 133, and the input The flip-flops 1311 of the register 134 are connected in this order and operate as a shift register. That is, the serial input signal SI that is the test pattern of the embedded core 11 input from the external terminal is taken in and shifted in order of D0, D1, D2, D3, D4, and D5 in synchronization with the rising edge of the clock CLK. Is set in the flip-flop 1311 of the registers 131-134.
[0035]
At time t3, data D0 is input to the flip-flop 1311 of the input register 134 in the final stage of the shift register configuration. At this timing, the scan enable signal SE is changed from “1” to “0”. As a result, the input registers 131 to 134 and the output registers 135 and 136 stop the shift operation. Further, the gate signal Gate is changed from “0” to “1”. As a result, the gate circuit 1312 of the input registers 131 to 134 passes the output of the flip-flop 1311 through, and the multiplexer 1314 selects the output of the gate circuit 1312 and outputs the input pattern to the embedded core 11. The embedded core 11 starts operation with the input pattern. On the other hand, the multiplexer 1316 of the output registers 135 and 136 selects the output of the embedded core 11, and the flip-flop 1315 latches the output of the multiplexer 1316 at the rising edge of the clock CLK. That is, the output pattern of the embedded core 11 is sampled at the rising edge of the clock CLK.
[0036]
At time t4, the gate signal Gate is changed from “1” to “0”. The gate circuit 1312 of the input registers 131 to 134 latches the output of the flip-flop 1311 and fixes the input of the embedded core 11.
[0037]
At time t5, the output pattern of the embedded core 11 with the input-pattern input at time t3 is determined. From time t3 to time t5 is an operation delay of the embedded core 11, and differs depending on the embedded core 11.
[0038]
At time t6 after the operation of the embedded core 11 is confirmed, the flip-flop 1315 of the output registers 135 and 136 latches the output pattern of the embedded core 11. At the same time, the scan enable signal SE is changed from “0” to “1”. As a result, the input registers 131 to 134 and the output registers 135 and 136 perform a shift operation, and the flip-flop 1315 of the output register 136 serving as the final stage of the shift register is embedded in the external terminal of the semiconductor integrated circuit 1. Scanout CSO, which is an output pattern, is output in the order of DO0, DO1, DO2, DO3, DO4, and DO5. The scan-out CSO is compared with the expected operation value prepared in advance.
[0039]
On the other hand, D6, D7, D8, D9, D10, and D11 which are the next input patterns of the embedded core 11 are sequentially input to the serial input signal SI in synchronization with the rising edge of the clock CLK, and the flip-flops of the input registers 131 to 134 are input. Set to 1311. By repeating such an operation and inputting the serial input signal SI in synchronization with the rising edge of the clock CLK, the operation test of the embedded core 11 can be performed in conjunction.
[0040]
Next, a test operation of the custom logic unit 12 in the semiconductor integrated circuit 1 will be described. When the custom logic unit 12 is tested, the scan enable signal SE input from the outside of the semiconductor integrated circuit 1 is set to “1”. As a result, the multiplexer 1224 selects the scan-out CSO that is the output of the test shift register 13. The multiplexers 1225 and 1226 select the outputs of the flip-flops 1221 and 1222. That is, the flip-flops 1221 to 1223 of the scan path circuit 122 are connected in a chain and constitute a shift register.
[0041]
A serial input signal SI is input in synchronization with the clock CLK, and a test pattern is input to the flip-flops 1221 to 1223 via the test shift register 13. When the test pattern is set in the final stage flip-flop 1223 of the scan path circuit 122, the scan enable signal SE is set to "0". As a result, the multiplexers 1224 to 1226 select the output of the combinational circuit 121. Accordingly, the flip-flops 1221 to 1223 latch the output of the combinational circuit 121 that has operated according to the test pattern.
[0042]
Next, the scan enable signal SE is set to “1”. As a result, the flip-flops 1221 to 1223 of the scan path circuit 122 are chain-connected to form a shift register. In synchronization with the clock CLK, the flip-flops 1221 to 1223 sequentially shift the latched output of the combinational circuit 121 and output it to the external terminal of the semiconductor integrated circuit 1 as a scan-out SO. The scan-out SO is compared with the expected value. Such an operation is repeated to test the custom logic unit 12.
[0043]
In order to test the custom logic unit 12, it is necessary to control and observe an interface signal with the embedded core 11. Therefore, in the semiconductor integrated circuit 1 according to the first embodiment, the shift register composed of the input registers 131 to 134 and the output registers 135 and 136 of the test shift register 13 of the embedded core 11 is connected to the test enable signal TE and The output of the flip-flop 1311 (final flip-flop of the test shift register 13) in the input register 134 of the test shift register 13 can be controlled by the scan enable signal SE, and the flip-flop 1221 of the scan path circuit 122 Since the test shift register 13 and the scan path circuit 122 are chain-connected to the first flip-flop 1221 of the shift register composed of ˜1223, the entire semiconductor integrated circuit 1 is based on the scan enable signal SE. It is possible to control the shift operation, thereby enabling a full scan path test of the custom logic unit 12. In addition, by outputting the output of the flip-flop 1311 at the final stage of the test shift register 13 to the external terminal, the end point of the test shift register 13 can be observed.
[0044]
As described above, in the first embodiment, the test shift register 13 that configures the scan path circuit for the embedded core 11 test with the input register and the output register is provided between the embedded core 11 and the custom logic unit 12. The output of the flip-flop in the input register at the final stage of the test shift register 13 or the flip-flop in the output register is output to the external terminal of the semiconductor integrated circuit 1. Thereby, the test pattern of the embedded core 11 can be shortened.
[0045]
Further, the first stage flip-flop of the scan path circuit 122 in the custom logic unit 12 and the last stage flip-flop of the test shift register 13 are connected, and the test shift register 13 and the scan path circuit 122 are connected by the scan enable signal SE. As a result, the test efficiency of the custom logic unit 12 can be increased.
[0046]
Furthermore, since it is configured by a scan flip-flop for chaining input registers to form a shift register and a gate circuit for outputting a test pattern to the embedded core 11, it is embedded without being affected by the shift operation. An input signal to the core 11 can be controlled.
[0047]
Embodiment 2. FIG.
A second embodiment of the present invention will be described with reference to FIG. In the semiconductor integrated circuit 2 according to the second embodiment, a test control module (hereinafter referred to as TCM) 21 and a selector are selected in order to reduce the control signal input from the external terminal of the semiconductor integrated circuit in the first embodiment. 22 is added. Components having the same functions as those in the first embodiment are denoted by the same reference numerals, and redundant description is omitted.
[0048]
The TCM 21 is a sequence circuit composed of a test mode select TMS, a clock CLK, and a serial input signal SI, and generates control signals for the test shift register 13, the scan path circuit 122, and the selector 22. The test mode select TMS is fetched at the rising edge of the clock CLK, the sequence is changed according to the level (“0” or “1”) of the test mode select TMS at that time, and a control signal is output. Specifically, the TCM 21 includes a test enable signal TE that controls the test shift register 13 based on a test mode select TMS, a serial input signal SI, and a clock CLK input from an external terminal of the semiconductor integrated circuit 2, and a gate signal. A gate and core scan enable signal CSE, a scan enable signal SE for controlling the scan path circuit 122, and a selection signal SEL for controlling the selector 22 are generated. The TMC 21 can be realized with a configuration equivalent to a test access port controller (TAP controller) defined in the IEEE standard 1149.1.
[0049]
The selector 22 selects either the output of the test shift register 13 or the output of the scan path circuit based on the selection signal SEL, and outputs the scan-out SO to the external terminal of the semiconductor integrated circuit 2. In this case, the output of the test shift register 13 is selected when the selection signal SEL is “0”, and the output of the scan path circuit 122 is selected when the selection signal SEL is “1”.
[0050]
Next, the test operation of the semiconductor integrated circuit 2 will be described. First, during the test operation of the embedded core 11, the TCM 21 sets the test enable signal TE to “1” based on the test mode select TMS and the clock CLK. As a result, the semiconductor integrated circuit 2 performs a test operation.
[0051]
Next, based on the test mode select TMS and the clock CLK, the TCM 21 sets the core scan enable signal CSE to “1”, the gate signal Gate to “0”, the scan enable signal SE to “0”, and the selection signal SEL. Is set to “0”. The input registers 131 to 134 and the output registers 135 and 136 of the test shift register 13 are serial input signals SI (test patterns of the embedded core 11) input from the external terminals of the semiconductor integrated circuit 2 in synchronization with the clock CLK. To shift. Since the scan enable signal SE is “0”, the multiplexers 1224 to 1226 of the scan path circuit 122 select the output of the combinational circuit 121. Therefore, the scan path circuit 122 does not operate.
[0052]
When the test pattern for all the input terminals of the embedded core 11 is set in the flip-flops 1311 of the input registers 131 to 134 by the shift operation of the test shift register 13, the TMC 21 generates the gate signal Gate based on the test mode select TMS. Set to “1”. As a result, the test pattern is input to the embedded core 11. Based on the test mode select TMS, the TCM 21 sets the gate signal Gate to “0” to fix the test pattern input to the embedded core 11, and sets the core scan enable signal CSE to “0” to the output register 135. , 136 causes the flip-flop 1315 to latch the output of the embedded core 11. Based on the test mode select TMS input in consideration of the operation delay of the embedded core 11, the TMC 21 sets the core scan enable signal CSE to "1", the input registers 131 to 134 of the test shift register 13, and the output register 135 and 136 perform a shift operation, and the serial input signal SI is set in the flip-flop 1311 of the input registers 131 to 134, and the output of the embedded core 11 of the flip-flop 1315 of the output registers 135 and 136 is customized with the selector 22. The data is output to the scan path circuit 122 of the logic unit 12. By repeating such an operation, the serial input signal SI input from the external terminal of the semiconductor integrated circuit 2 is input to the embedded core 11 to test the embedded core 11.
[0053]
On the other hand, since the selection signal SEL is “0”, the selector 22 that outputs the scan-out SO to the external terminal of the semiconductor integrated circuit 2 selects the output of the test shift register 13. Therefore, by the shift operation of the test shift register 13, the output of the embedded core 11 latched in the flip-flop 1315 of the output registers 135 and 136 is output to the external terminal of the semiconductor integrated circuit 2. The embedded core 11 can be tested by comparing the scan-out SO with an expected value prepared in advance.
[0054]
Next, the test operation of the custom logic unit 12 will be described. Based on the test mode select TMS and the clock CLK, the TCM 21 sets the test enable signal TE, the core scan enable signal CSE, the scan enable signal SE, and the selection signal SEL to “1”. As a result, the test shift register 13 and the flip-flops 1221 to 1223 of the scan path circuit 122 are chain-connected to form a shift register. The serial input signal SI is set in the flip-flops 1221 to 1223 of the scan path circuit 122 through the test shift register 13 by the shift operation.
[0055]
The TCM 21 sets the scan enable signal SE to “0” based on the test mode select TMS. As a result, the multiplexers 1224 to 1225 select the output for the combinational circuit 121. Accordingly, the flip-flops 1221 to 1223 latch the output of the combinational circuit 121 that has operated according to the test pattern.
[0056]
Next, the TCM 21 sets the scan enable signal SE to “1” based on the test mode select TMS. As a result, the flip-flops 1221 to 1223 of the scan path circuit 122 are chain-connected to form a shift register. In synchronization with the clock CLK, the flip-flops 1221 to 1223 sequentially shift the output of the latched combinational circuit 121 and output the scan-out SO to the external terminal of the semiconductor integrated circuit 1 via the selector 22. The scan-out SO is compared with the expected value. Such an operation is repeated to test the custom logic unit 12.
[0057]
As described above, in the second embodiment, the number of external terminals necessary for the test is reduced using the TCM. Therefore, even when the number of external terminals of the semiconductor integrated circuit is limited, the embedded core and the custom logic can be easily obtained. You can test the department.
[0058]
Embodiment 3 FIG.
A third embodiment of the present invention will be described with reference to FIGS. In the third embodiment, a method for inserting a test shift register from a semiconductor integrated circuit realizing a desired function will be described.
[0059]
First, the insertion of the input register will be described. The semiconductor integrated circuit 3 shown in FIG. 8A includes an embedded core 31 and a custom logic unit 32. The signal 33 output from the custom logic unit 32 is connected to the input terminal of the embedded core 31. The custom logic unit 32 includes an internal logic 321 and a combinational circuit 322, and the signal 33 is driven from the combinational circuit 322. That is, the signal 33 is driven by an AND circuit or an OR circuit. Therefore, as shown in FIG. 8B, an input having the same function as that of the input register 131 shown in FIG. 4 is provided between the embedded core 31 and the custom logic unit 32 in order to form a test shift register. Register 34 is inserted. As a result, during the normal operation of the semiconductor integrated circuit 3a, the test enable signal TE becomes “0”, and the output from the combinational circuit 322 is directly input to the embedded core 31 via the multiplexer 1314. During the test operation of the semiconductor integrated circuit 3a, the test enable signal TE becomes “1”, and the output of the gate circuit 1312 is input to the embedded core 31 via the multiplexer 1314. When the scan enable signal SE becomes “1”, the flip-flop 1311 is chain-connected to the preceding and succeeding flip-flops to form a shift register. Then, data is set in the flip-flop 1311 in synchronization with the rising edge of the clock CLK via the serial input signal SI, and the gate signal Gate is set to “1”, whereby the data set in the flip-flop 1311 is transferred to the gate circuit 1312. Propagate to.
[0060]
When the signal 35 output from the flip-flop 323 in the custom logic unit 32 is connected to the input terminal of the embedded core 31 as in the semiconductor integrated circuit 3 shown in FIG. ), A flip-flop 323 is used for the input register 34a. That is, the flip-flop 323 in the custom logic unit 32 is used instead of the flip-flop 1311 of the input register shown in FIG. In this case, as shown in FIG. 9A, the signal 35 input to the embedded core 31 during normal operation is output from the flip-flop 323. Therefore, the output of the flip-flop 323 is connected to the input terminal selected when the test enable signal TE of the multiplexer 1314 of the input register 34a using the flip-flop 323 is "0". As a result, during normal operation of the semiconductor integrated circuit 3a, the test enable signal TE becomes “0”, and the output of the combinational circuit 322 is latched in the flip-flop 323 via the multiplexer 1313. Then, the output of the flip-flop 323 is input to the embedded core 31 via the multiplexer 1314. During the test operation of the semiconductor integrated circuit 3a, the test enable signal TE becomes “1”, and the signal set in the gate circuit 1312 is input to the embedded core 31 via the multiplexer 1314. When the scan enable signal SE becomes “1”, the flip-flop 323 is chain-connected to the preceding and subsequent flip-flops to form a shift register. Then, data is set in the flip-flop 323 in synchronization with the rising edge of the clock CLK via the serial input signal SI, and the gate signal Gate is set to “1”, whereby the data set in the flip-flop 323 is transferred to the gate circuit 1312. Propagate to.
[0061]
Next, insertion of an output register will be described. As shown in FIG. 10A, the signal 38 that is the output of the embedded core 31 of the semiconductor integrated circuit 3 is transmitted to the internal logic 321 via the combinational circuit 322 of the custom logic unit 32. In this case, as shown in FIG. 10B, an output having the same function as that of the output register 135 shown in FIG. 5 in order to form a test shift register between the embedded core 31 and the combinational circuit 322. Register 36 is inserted. As a result, during the normal operation of the semiconductor integrated circuit 3a, the test enable signal TE becomes “0”, and the output of the embedded core 31 is input to the combinational circuit 322 via the multiplexer 1317. Further, during the test operation of the semiconductor integrated circuit 3a, the test enable signal TE becomes “1”. During the period when the scan enable signal SE is “0”, the flip-flop 1315 latches the output of the embedded core 31 via the multiplexer 1316. When the scan enable signal SE becomes “1”, it is chain-connected to the preceding and succeeding flip-flops to form a shift register. Then, the output of the embedded core 31 latched via the scan-out SO in synchronization with the rising edge of the clock CLK is output to the external terminal of the semiconductor integrated circuit 3a.
[0062]
Further, when the signal 37 output from the embedded core 31 is connected to the input terminal of the flip-flop 324 in the custom logic section 32 as in the semiconductor integrated circuit 3 shown in FIG. ), A flip-flop 324 is used for the output register 36a. That is, the flip-flop 324 in the custom logic unit 32 is used instead of the flip-flop 1315 of the output register shown in FIG. In this case, as shown in FIG. 11A, the signal 37 output from the embedded core 31 during normal operation is input to the flip-flop 324, and the output of the flip-flop 234 is output to the internal logic 321. Therefore, the output of the flip-flop 324 is output to the internal logic whether the semiconductor integrated circuit 3a is in a normal operation or a test operation. This eliminates the need to connect the multiplexer 1317 and the test enable signal TE shown in FIG. Thus, when the semiconductor integrated circuit 3a is in a normal operation, the scan enable signal SE is set to “0”, whereby the output of the embedded core 31 is latched by the flip-flop 324 via the multiplexer 1316 and transmitted to the internal logic 321. . During the test operation of the semiconductor integrated circuit 3a, the flip-flop 324 latches the output of the embedded core 31 via the multiplexer 1316 while the scan enable signal SE is “0”. When the scan enable signal SE becomes “1”, it is chain-connected to the preceding and succeeding flip-flops to form a shift register. Then, the output of the embedded core 31 latched via the scan-out SO in synchronization with the rising edge of the clock CLK is output to the external terminal of the semiconductor integrated circuit 3a.
[0063]
As described above, in the third embodiment, when the input register constituting the test shift register is inserted, if the input signal to the embedded core is the output of the flip-flop, the flip-flop is connected to the input register. Used as a flip-flop. On the other hand, when inserting the output register constituting the test shift register, if the output signal of the embedded core is input to the flip-flop, the flip-flop is used as the flip-flop of the output register. Thereby, the flip-flops and multiplexers of the test shift register can be reduced. That is, the circuit scale for testing the semiconductor integrated circuit can be reduced.
[0064]
Embodiment 4 FIG.
A fourth embodiment of the present invention will be described with reference to FIGS. FIG. 12 is a conceptual diagram showing the test generation program and its input / output in the present invention.
[0065]
The circuit connection information 40 defines cell information that defines an embedded core and a functional cell for the target semiconductor integrated circuit to realize a desired function, and connection information that indicates a connection between the embedded core and the functional cell. Is done.
[0066]
The floor plan information 41 includes position information indicating where the embedded core is arranged in the layout of the target semiconductor integrated circuit, position information of the input / output terminals of the embedded core, position information of the functional cells of the custom logic unit, and Position information of external terminals of the semiconductor integrated circuit is defined.
[0067]
The library information 42 defines technology information such as embedded core and functional cell logic information, delay information, and terminal attributes.
[0068]
The embedded core function test pattern 43 defines an embedded core test pattern created from a result of manual design or circuit simulation. The embedded core function test pattern 43 is a parallel pattern for applying an input signal to all signals and comparing an expected value of an output signal within a predetermined period.
[0069]
Next, the operation of the test circuit insertion program will be described. In the embedded core test cell insertion process (step S1), an embedded core test circuit is inserted based on the circuit connection information 40, the floor plan information 41, and the library information 42, and the embedded core test cell layout designation information 44 and the embedded core test cell are embedded. The scan path connection order information 45 of the core test cell and the circuit connection information 46 after insertion of the embedded core test cell are generated.
[0070]
The operation of the embedded core test cell insertion process will be described in detail with reference to the flowchart of FIG. The circuit connection information 40 and the library information 42 are read (step S100), and an embedded core terminal in which no embedded core test cell is inserted is selected (step S101).
[0071]
The terminal direction of the terminal of the embedded core selected based on the library information 42 is confirmed (step S102). When the selected embedded core terminal is an input terminal, an embedded core test cell for input is selected (step S103). As shown in FIG. 14, the embedded core test cell 6 a for input is a so-called soft macro capable of developing a lower layer composed of a flip-flop 61, a gate circuit 62, and a multiplexer 63.
[0072]
In the case of the semiconductor integrated circuit 7 of FIG. 16, the terminals C, E, and F of the embedded core 71 are input terminals. Therefore, when the terminals C, E, and F of the embedded core 71 are selected as terminals where the embedded core test cell is not inserted, the input embedded core test cell is selected.
[0073]
If the selected embedded core terminal is an output terminal, an embedded core test cell for output is selected (step S104). As shown in FIG. 15, the embedded core test cell 6b for output is a so-called soft macro capable of developing a lower layer composed of a flip-flop 65 and a multiplexer 66.
[0074]
In the case of the semiconductor integrated circuit 7 of FIG. 16, the terminals A, B, and D of the embedded core 71 are output terminals. Therefore, when the terminals A, B, and D of the embedded core 71 are selected as the terminals where the embedded core test cell is not inserted, the output embedded core test cell is selected.
[0075]
Based on the circuit connection information 40 and the library information 42, it is determined whether or not the terminal of the embedded core is connected to the combinational circuit (step S105). As a result of the determination, if the terminal of the selected embedded core is connected to the combinational circuit, it is determined to insert the selected embedded core test cell (step S106), and the embedded core test in which the circuit connection information 40 is selected is determined. Change to the circuit connection information in which the cell is inserted.
[0076]
In the case of the semiconductor integrated circuit 7 of FIG. 16, the input terminals C and E of the embedded core 71 are connected to the combinational circuit 75 and wirings 720 and 721, respectively. Therefore, an embedded core test cell for input is inserted into the wirings 720 and 721. Further, the output terminal B of the embedded core 71 is connected to the combinational circuit 75 by a wiring 711. Therefore, an embedded core test cell for output is inserted. That is, as shown in FIG. 17, the embedded core test cell 743 for output is connected to the output terminal B of the embedded core 71 and the wiring 711 of the combinational circuit 75, and the input terminal C of the embedded core 71 and the wiring 720 of the combinational circuit 75 are connected. The embedded core test cell 731 for input is inserted, and the embedded core test cell 732 for input is inserted into the input terminal E of the embedded core 71 and the wiring 721 of the combinational circuit 75, respectively.
[0077]
As a result of the determination, if the terminal of the embedded core is not connected to the combinational circuit, that is, if it is connected to a flip-flop, the embedded core test cell is replaced with the flip-flop of the embedded core test cell. Insert (step S107). Specifically, as described in the third embodiment, in the case of the input terminal of the embedded core, the flip-flop 61 of the embedded core test cell 6a for input is connected to the flip-flop connected to the input terminal of the embedded core. In the case of the output terminal of the embedded core, the flip-flop connected to the output of the embedded core is used as the flip-flop 65 of the embedded core test cell 6b for output. And the circuit connection information 40 is changed corresponding to those connections.
[0078]
The input terminal F of the embedded core 71 of the semiconductor integrated circuit 7 in FIG. 16 is connected to the flip-flop 74 and the wiring 722. Therefore, the flip-flop 74 is replaced with the flip-flop 61 of the embedded core test cell 6a for input shown in FIG. The output terminals A and D of the embedded core 71 are connected to the flip-flops 72 and 73 by wirings 710 and 712, respectively. Therefore, the flip-flop 72 and the flip-flop 73 are replaced with the flip-flop 65 of the embedded core test cell 6b for output shown in FIG. That is, as shown in FIG. 17, an output embedded core test cell 741 replacing the flip-flop 72 is connected to the output terminal A of the embedded core 71 and the wiring 710 of the flip-flop 72, and the output terminal D of the embedded core 71. The wiring 712 of the flip-flop 73 has an embedded core test cell 742 for output replacing the flip-flop 73, and the input terminal F of the embedded core 71 and the wiring 722 of the flip-flop 74 have inputs for replacing the flip-flop 74. Embedded core test cells 733 are respectively inserted.
[0079]
Based on the changed circuit connection information 40, the operation of inserting the embedded core test cell is repeated until the embedded core test cell is inserted into all the terminals of the embedded core (steps S101 to S108).
[0080]
When the embedded core test cells for all the embedded core terminals are inserted, the scan path connection order of the flip-flops in the embedded core test cell is extracted (step S109). Specifically, based on the floor plan information 41 of the embedded core, the scan flip-flops in the embedded core test cell are chain-connected with the shortest path, and the start end thereof is connected to an external terminal for inputting a scan pattern of the semiconductor integrated circuit. , A constraint condition for connecting the termination to the scan path circuit in the internal logic circuit is generated and output to the scan path connection order information 45 of the embedded core test cell.
[0081]
FIG. 18 is an image diagram of the floor plan showing the embedded core 71 of the floor plan information 41 of the semiconductor integrated circuit 7 shown in FIG. 16 and the terminal position of the serial input signal SI. The floor plan information 41 indicates that the external terminal of the serial input signal SI of the semiconductor integrated circuit 7 is located closest to the input terminal C of the embedded core 71. Accordingly, when the difficulty of wiring around the embedded core 71 is uniform, the flip-flop in the embedded core test cell connected to the input terminal C of the embedded core 71 is connected to the terminal for inputting the serial input signal SI. The optimal connection is the start of the campus circuit. For the terminals A, B, D, E, and F of the other embedded core 71, the shortest wiring is realized by connecting the terminal C in the clockwise direction or the counterclockwise direction. For example, when connecting in the counterclockwise direction, in the semiconductor integrated circuit 7 shown in FIG. 17, the embedded core test cells 731, 743, 741, 733, 732, and 742 are in this order. The scan path connection order information 45 of the embedded core test cell in which this order is converted into a format that can be used in the scan path connection process is output. If there are other priority conditions such as a non-wiring area, the order is determined taking this into consideration.
[0082]
When the scan path connection order information 45 is output, layout designation information of the flip-flop in the embedded core test cell is extracted (step S110). Specifically, in order to realize the shortest wiring length of the scan path connection order information 45 of the embedded core test cell, it is necessary to optimize the arrangement of the scan flip-flops. That is, when the difficulty of cell placement around the buried core is uniform, it is desirable to place the flip-flop in the buried core test cell in the vicinity of the corresponding buried core terminal. Therefore, based on the layout information of the custom logic part in the floor plan information 41, the embedded core test cell flip-flop is extracted from the embedded core test cell by extracting the constraint condition at the optimum position with respect to the related embedded core terminal. The data is output to the cell layout designation information 44.
[0083]
In the case of the semiconductor integrated circuit 7 of FIG. 17, the constraint condition is that the respective flip-flops in the embedded core test cells 741, 743, 731, 742, 732, and 733 are arranged in the vicinity of the terminals A to F of the embedded core. Is output to the layout specification information 44 of the embedded core test cell. Note that if there are other priority constraints such as placement prohibited areas, the placement conditions are determined in consideration of this.
[0084]
When the layout designation information 44 is output, the empty terminals of the embedded core test cells are connected (step S111). Specifically, the test enable signal TE, the gate signal Gate, the clock CLK of each embedded core test cell inserted into the semiconductor integrated circuit, the output of the embedded core test cell in the final stage, and the scan-out CSO of the semiconductor integrated circuit Connecting.
[0085]
In the case of the semiconductor integrated circuit 7 of FIG. 17, the external terminal for inputting the clock CLK of the semiconductor integrated circuit 7 and the clock terminals CLK of the embedded core test cells 731 to 733 and 741 to 743 are connected by the wiring 751. An external terminal to which the test enable signal TE of the embedded core test cells 731 to 733 and 741 to 743 is input is connected by a wiring 752. An external terminal for inputting the gate signal Gate of the semiconductor integrated circuit 7 and a terminal for inputting the gate signal Gate of the embedded core test cells 731 to 732 are connected by a wiring 753. Further, the terminal DO of the embedded core test cell 742 that is the final stage when the scan path connection order information 45 is determined is connected to the external terminal that outputs the scan-out CSO of the semiconductor integrated circuit 7 by the wiring 754.
[0086]
When the connection is completed, circuit connection information 46 after insertion of the embedded core test cell, which is connection information of the semiconductor integrated circuit after insertion of the embedded core test circuit, is output (step S112).
[0087]
When the embedded core test cell insertion process is completed, a scan path connection process (step S2) is performed. In the scan path connection processing, first, circuit connection information 46 after insertion of the embedded core test cell is read, and all flip-flops in the circuit are scan flip-flops with multiplexers or logically equivalent circuits as shown in FIG. Convert to Specifically, the flip-flop 61 of the embedded core test cell 6a inserted by the embedded core test cell insertion process is converted into the scan flip-flop 8, and a circuit logically equivalent to the input register 131 shown in FIG. Become. Further, the flip-flop 65 of the embedded core test cell 6b inserted by the embedded core test cell insertion process is converted into the scan flip-flop 8, and a circuit logically equivalent to the output register 135 shown in FIG. Further, all the flip-flops in the custom logic unit are also converted into scan flip-flops 8.
[0088]
After all the flip-flops are converted into scan flip-flops 8, these scan flip-flops 8 are chain-connected based on the connection order defined in the scan path connection order information 45. That is, the scan enable signal SE is supplied to the terminal SFSE of the scan flip-flop 8, the serial input signal SI is supplied to the terminal SFSI of the scan flip-flop 8 as the first stage, and the previous scan flip-flop is supplied to the terminal SFSI of the other scan flip-flop 8. The output of the group 8 is connected to the terminal SFD of the scan flip-flop 8 for signals during normal operation (input / output signals of the embedded core 71 and input / output signals of the combinational circuit 75). When the scan path connection is completed, circuit connection information 47 after the scan path connection is output.
[0089]
FIG. 20 is a conceptual diagram showing the semiconductor integrated circuit 7 that has executed the scan path connection process on the circuit connection information 46 of the semiconductor integrated circuit 7 shown in FIG. The embedded core test cells 731a to 733a and 741a to 743a are embedded core test cells after the flip-flops inside the embedded core test cells 731 to 733 and 741 to 743 in FIG. The wirings 760 to 766 are wirings for scan path connection, and embedded core test is performed using the wirings 760 to 766 from the serial input signal SI input from the external terminal of the semiconductor integrated circuit 7 based on the scan path connection order information 45. The cells 731a to 733a and 741 to 743a are chain-connected. Further, the embedded core test cell 742 a at the final stage is connected to the scan path circuit of the logic circuit 76 by the wiring 766. The scan flip-flop 8 at the final stage of the scan path of the logic circuit 76 outputs the scan-out SO to the external terminal of the semiconductor integrated circuit 7 through the wiring 767. Reflecting these wirings, circuit connection information 47 after scan path connection is output.
[0090]
When the scan path connection process ends, the embedded core test pattern conversion process (step S3) is executed based on the circuit connection information 47 after the scan path connection and the embedded core function test pattern 43. The detailed operation of the embedded core test pattern conversion process will be described with reference to the flowchart of FIG.
[0091]
First, the circuit connection information 47, the library information 42, and the embedded core function test pattern 43 after the scan path connection are read (step S300), and the circuit that is the target of the embedded core test is specified (step S301). Specifically, in the case of the semiconductor integrated circuit 7 shown in FIG. 20, the target is the embedded core 71, and the target is the logic circuit 76 and the combinational circuit 75. Therefore, the embedded core 71 is specified as a test target.
[0092]
When the circuit to be embedded core test is specified, a test rule check is performed based on the embedded core terminal information defined in the library information 42 and the embedded core function test pattern 43 (step S302). Specifically, for example, whether the input / output signals of the test pattern defined in the embedded core function test pattern 43 correspond to the terminals of the embedded core 71 defined in the library information 42, or the embedded core function test The prohibition condition of the signal input to the embedded core 71 defined in the pattern 43 is checked, for example, an indefinite value is input.
[0093]
When the test rule check is completed, the test pattern is converted (step S303). Test pattern conversion will be described with reference to the semiconductor integrated circuit 7 shown in FIG. 20 and the time chart of FIG. The embedded core function test pattern 43 includes C0, C1, C2, and C3 at the input terminal C of the embedded core 71, E0, E1, E2, and E3 at the input terminal E, and F0 and F1 at the input terminal F at every cycle T11. , F2 and F3 are defined. The expected values of the output terminal A are A0, A1, A2, and A3, the expected values of the output terminal B are B0, B1, B2, and B3, and the expected values of the output terminal D are D0, D1, D2, and D3. Such a parallel-type embedded core function test pattern is converted into a pattern that can be input from the external terminal of the semiconductor integrated circuit 7 as the serial input signal SI. That is, the embedded core test cells 731a to 733a and 741a to 743a of the semiconductor integrated circuit 7 shown in FIG.
[0094]
The embedded core test pattern inputs C1, E1, and F1 in the parallel format having the period T11 of the embedded core function test input pattern are converted into the shift period T12 of the pattern after conversion, and the embedded core test pattern expected values A1, B1, and D1 are the shift period. Assign to each T13. That is, the expected value of the embedded core test pattern in parallel format is assigned to the input of the embedded test pattern in parallel format after one shift period.
[0095]
The order of assignment is from the flip-flop of the embedded core test cell at the head of the chain-connected embedded core test cells, that is, from the flip-flop connected to the external terminal of the semiconductor integrated circuit 7 that outputs the scan-out CSO. Become. In the case of the semiconductor integrated circuit 7 shown in FIG. 20, serialization is performed in the order of the terminals D, E, F, A, B, and C of the embedded core 71. Therefore, the serial input signal SI includes an embedded core test cell 742a connected to the terminal D, an embedded core test cell 732a connected to the terminal E, an embedded core test cell 733a connected to the terminal F, and a terminal A. The data to be set in the order of the scan flip-flops 8 of the embedded core test cell 741a connected to the terminal B, the embedded core test cell 743a connected to the terminal B, and the embedded core test cell 731a connected to the terminal C are input. To do. At this time, the input pattern to the scan flip-flop 8 in the embedded core test cells 742a, 741a, 743a connected to the output terminals D, A, B of the embedded core 71 may be either “0” or “1”. . The expected value of the timing at which the data of the scan flip-flop 8 of the embedded core test cells 732a, 733a, 731a connected to the input terminals E, F, C of the embedded core 71 is shifted and output as the scan-out CSO is “0”. "1" or "1" may be used, and the expected value at this time is a don't care ("x").
[0096]
For the control signals, the test enable signal TE is fixed to “1”, the scan enable signal SE is set to “1”, and the gate signal Gate is set to “0”. After the test pattern to be input to the terminal C of the embedded core 71 is set in the embedded core test cell 731a connected to the external terminal of the semiconductor integrated circuit 7 to which the serial input signal SI is input, the scan enable signal SE is set. The gate signal Gate is set to “1” to “0”. That is, the scan enable signal SE is set to “0” and the gate signal Gate is set to “1” every shift period T14 in which data is set in the flip-flop of the embedded core test cell. Then, the gate signal Gate is set to “0” in synchronization with the falling edge of the clock CLK. The scan enable signal SE is set to “1” in synchronization with the rising edge of the clock CLK after the operation delay time of the embedded core 71 is taken. In the case of the time chart of FIG. 22, since the operation delay time of the embedded core 71 is within the period of the clock CLK, the scan enable signal SE becomes “1” in the period of the clock CLK1. When the operation delay of the embedded core 71 is less than n (0 <n, n is a natural number) times the period of the clock CLK, the capture period T15 in which the scan enable signal SE is “0” is the period of n clock CLK. Cost. Since the operation delay time of the embedded core 71 is defined in the library information 42, the capture period T15 is determined based on this operation delay time.
[0097]
In this way, the embedded core function test pattern 48 using the scan path obtained by converting the embedded core function test pattern 43 into a test pattern corresponding to the circuit connection information 47 after the scan path connection is output (step S304). The core test pattern conversion process ends.
[0098]
Finally, test pattern automatic generation processing is performed (step S4). In the test pattern automatic generation process, the library information 42 and the circuit connection information 47 after the scan path connection are read. Then, for example, a randomly generated signal or a signal generated by a test pattern automatic generation method of an existing scan test is input to the scan path circuit, and the combinational circuit 75 is operated to execute a static simulation. Then, the failure detection rate of the combinational circuit of the circuit connection information 47 after the scan path connection is calculated, and a test pattern with high coverage is generated. Then, the generated test pattern is output as a scan path test pattern 49.
[0099]
As described above, in the fourth embodiment, in the embedded core test cell insertion process, test cells are inserted into the input terminal and the output terminal of the embedded core based on the circuit connection information 40, the floor plan information 41, and the library information. Then, the circuit connection information 46 changed to the cell information and connection information after the test cell insertion is generated, and the flip-flop defined in the circuit connection information 46 changed to the connection after the test cell insertion in the scan path connection process The circuit connection information 47 changed to the cell information and the connection information after the generation of the scan path circuit is generated by replacing the scan flip-flop with the chain connection. Thereby, it is possible to design without being aware of a circuit necessary for the test at the time of designing, and the design time can be shortened.
[0100]
Also, in the embedded core test pattern conversion process, the embedded core function test pattern 43 is added with a control signal necessary for the embedded core test corresponding to the circuit connection information 47 after the scan path connection, and the embedded core function test pattern 43 And a test pattern of a custom logic part is generated in the test pattern automatic generation process. Thereby, the time for generating the test pattern is shortened, and the design efficiency can be increased.
[0101]
In the fourth embodiment, the embedded core test cell insertion process, the scan path connection process, the embedded core test pattern conversion process, and the test pattern automatic generation process operate as individual processes, and an external storage medium such as a file is used between the processes. In the above description, the data is exchanged via the network. That is, each processing has been described as a configuration that can operate as an individual program. However, the processing may be realized as a single program and shared as data constructed in the memory instead of the external storage medium.
[0102]
Embodiment 5 FIG.
The first to fourth embodiments have been described based on a so-called mode select method using a scan flip-flop that uses a single clock CLK to switch between a test operation and a normal operation using a scan enable signal SE. However, the semiconductor integrated circuit and the test generation program according to the present invention can also be applied to a clock select system in which a test and a normal operation are controlled by individual clocks. By replacing the scan enable signal SE in the first to fourth embodiments with a scan clock and similarly performing a scan path design, the same function can be realized, and the same effect as in the first to fourth embodiments can be obtained. Can do.
[0103]
【The invention's effect】
As described above, according to the semiconductor integrated circuit of the present invention, between the custom logic unit and the embedded core, when testing the embedded core, each input register connected to the input terminal of the embedded core, and the embedded The test pattern of the embedded core that is serially input by being chain-connected to each output register connected to the output terminal of the core is set in each input register by a shift operation. When the gate signal for outputting the set test pattern of the embedded core to the embedded core is asserted, the embedded core is operated with the test pattern of the embedded core set in each input register, and the output is used for each output. When latched in a register and the gate signal is negated, the output of the latched embedded core is output to an external terminal by a shift operation. As a result, the test pattern of the embedded core can be shortened and the semiconductor integrated circuit can be efficiently tested.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a semiconductor integrated circuit according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a custom logic unit shown in FIG.
FIG. 3 is a block diagram showing a configuration of a test shift register shown in FIG. 1;
4 is a circuit diagram showing an example of an input register shown in FIG. 3. FIG.
FIG. 5 is a circuit diagram showing an example of the output register shown in FIG. 3;
6 is a time chart for explaining a test operation of the embedded core of the semiconductor integrated circuit according to the first embodiment of the present invention. FIG.
FIG. 7 is a block diagram showing a configuration of a semiconductor integrated circuit according to a second embodiment of the present invention.
FIG. 8 is a diagram for explaining a method for inserting an input register of a semiconductor integrated circuit according to a third embodiment of the present invention.
FIG. 9 is a diagram for explaining a method for inserting an input register of a semiconductor integrated circuit according to a third embodiment of the present invention.
10 is a diagram for explaining a method for inserting an output register of a semiconductor integrated circuit according to a third embodiment of the present invention; FIG.
11 is a diagram for explaining a method for inserting an output register of a semiconductor integrated circuit according to a third embodiment of the present invention; FIG.
FIG. 12 is a conceptual diagram showing a test generation program and its input / output in the present invention.
FIG. 13 is a flowchart for explaining an operation of an embedded core test cell insertion process;
FIG. 14 is a circuit diagram showing a configuration of an embedded core test cell for input inserted in an embedded core test cell insertion process.
FIG. 15 is a circuit diagram showing a configuration of an embedded core test cell for output inserted in an embedded core test cell insertion process;
FIG. 16 is a block diagram showing a configuration of a semiconductor integrated circuit before an embedded core test cell is inserted.
FIG. 17 is a block diagram showing a configuration of a semiconductor integrated circuit after an embedded core test cell is inserted.
18 is an image of the floor plan showing the embedded core of the floor plan information of the semiconductor integrated circuit shown in FIG. 16 and the terminal position of the serial input signal.
FIG. 19 is a circuit diagram showing an example of a scan flip-flop used in a scan path connection process.
FIG. 20 is a block diagram showing a configuration of a semiconductor integrated circuit after a scan path connection process;
FIG. 21 is a flowchart for explaining an operation of embedded core function test pattern conversion processing;
FIG. 22 is a time chart for explaining the operation of embedded core function test pattern conversion processing;
[Explanation of symbols]
1, 2, 3, 3a, 7 semiconductor integrated circuit, 6a, 731, 732, 733 embedded core test cell for input, 6b, 741, 742, 743 embedded core test cell for output, 8 scan flip-flop, 11, 31, 71 Embedded core, 12 Custom logic section, 13 Test shift register, 21 TCM, 22 Selector, 33, 35, 37, 710, 711, 712, 720, 721, 722, 751, 752, 753, 760, 761 , 762,763,764,765,766 wiring, 40 circuit connection information, 41 floor plan information, 42 library information, 43 embedded core function test pattern, 44 layout designation information, 45 scan campus connection order information, 46 embedded core test cell Circuit connection information after insertion, 47 scan patterns Circuit connection information after connection, embedded core function test pattern using 48 scan paths, 49 scan path test pattern, 75, 121, 322 combination circuit, 122 scan path circuit, 32, 131, 132, 133, 134 input register 36, 135, 136 output register, 321 internal logic, 61, 62, 65, 72, 73, 74, 1221, 1222, 1223, 1311, 1315 flip-flop, 63, 66, 1224, 1225, 1226, 1313 1314, 1316 Multiplexer, 1312 Gate circuit.

Claims (7)

1または複数の機能コアを有する埋め込みコアと、組合せ回路と複数のスキャンフリップフロップがチェーン接続されるスキャンパス回路とを有するカスタムロジック部と、を備える半導体集積回路において、
前記カスタムロジック部と前記埋め込みコアとの間に、前記埋め込みコアのそれぞれの入力端子に接続される入力用レジスタと、前記埋め込みコアのそれぞれの出力端子に接続される出力用レジスタとを有し、前記埋め込みコアのテスト動作時には、前記各入力用レジスタと前記各出力用レジスタとがチェーン接続されてスキャンパスを構成し、シリアルに入力される前記埋め込みコアのテストパターンをシフト動作により該各入力用レジスタに設定し、設定した前記埋め込みコアのテストパターンを埋め込みコアに出力するためのゲート信号がアサートの時に、前記各入力用レジスタに設定した埋め込みコアのテストパターンで前記埋め込みコアを動作させ、その出力を前記各出力用レジスタにラッチして、前記ゲート信号がネゲートの時に、ラッチした埋め込みコアの出力をシフト動作により外部端子と前記スキャンパス回路の初段のスキャンフリップフロップとに出力するテスト用シフトレジスタ、
を備えることを特徴とする半導体集積回路。
In a semiconductor integrated circuit comprising: an embedded core having one or more functional cores; and a custom logic unit having a combination circuit and a scan path circuit in which a plurality of scan flip-flops are chain-connected,
Between the custom logic unit and the embedded core, an input register connected to each input terminal of the embedded core, and an output register connected to each output terminal of the embedded core, At the time of the embedded core test operation, the input registers and the output registers are connected in a chain to form a scan path, and the test pattern of the embedded core that is input serially is shifted by the shift operation. When the gate signal for outputting the set embedded core test pattern to the embedded core is asserted, the embedded core is operated with the embedded core test pattern set in each input register, When the output is latched in each output register and the gate signal is negated , The test shift register for outputting the output of the latched embedded cores by shift operation and the first-stage scan flip-flops of said external terminals scan path circuit,
A semiconductor integrated circuit comprising:
前記入力用レジスタは、
前段および後段の入力用レジスタまたは出力用レジスタとチェーン接続されてシフトレジスタを構成するためのスキャンフリップフロップと、
前記埋め込みコアにテストパターンの出力を制御するゲート回路と、
を備え、
前記出力用レジスタは、
前段および後段の入力用レジスタまたは出力用レジスタとチェーン接続されてシフトレジスタを構成するためのスキャンフリップフロップと、
前記埋め込みコアの出力と前記スキャンフリップフロップの出力とのどちらかを選択して前記カスタムロジック部に出力するマルチプレクサと、
を備えることを特徴とする請求項1に記載の半導体集積回路。
The input register is
A scan flip-flop configured to form a shift register in a chain connection with an input register or output register in the preceding stage and the subsequent stage;
A gate circuit for controlling the output of a test pattern in the embedded core;
With
The output register is
A scan flip-flop configured to form a shift register in a chain connection with an input register or output register in the preceding stage and the subsequent stage;
A multiplexer that selects one of the output of the embedded core and the output of the scan flip-flop and outputs it to the custom logic unit;
The semiconductor integrated circuit according to claim 1, comprising:
外部端子より入力されるテストモードセレクト信号、クロック信号および前記シリアルに入力される埋め込みコアのテストパターンに基づいて、前記テスト用シフトレジスタおよび前記スキャンパス回路を制御するための制御信号を生成するテストコントロールモジュール、
を備えることを特徴とする請求項1または2に記載の半導体集積回路。
A test for generating a control signal for controlling the test shift register and the scan path circuit based on a test mode select signal input from an external terminal, a clock signal, and a test pattern of the embedded core input serially Control module,
The semiconductor integrated circuit according to claim 1, further comprising:
埋め込みコアと機能セルとを定義するセル情報および埋め込みコアと機能セルとの間の接続を示す接続情報が定義されている回路接続情報と、当該回路接続情報に定義されている埋め込みコアおよび機能セルの端子情報と位置情報とが定義されているフロアプラン情報と、埋め込みコアおよび機能セルの論理情報と遅延情報と端子属性とが定義されているライブラリ情報とに基づいて、前記埋め込みコアの入力端子および出力端子にテストセルを挿入し、当該テストセル挿入後のセル情報および接続情報に変更した回路接続情報を生成する埋め込みコアテストセル挿入処理ステップと、
前記テストセル挿入後の接続に変更した回路接続情報に定義されているフリップフロップをスキャンフリップフロップに置換してチェーン接続し、スキャンパス回路を生成した後のセル情報および接続情報に変更した回路接続情報を生成するスキャンパス接続処理ステップと、
前記埋め込みコアをテストするためのテストパターンおよび期待値がパラレル形式で定義されている埋め込みコア機能テストパターンと、前記ライブラリ情報に基づいて、前記スキャンパス回路を生成した後のセル情報および接続情報に変更した回路接続情報の外部端子に対応して、前記埋め込みコアのテストに必要な制御信号を付加し、前記埋め込みコア機能テストパターンを変換する埋め込みコアテストパターン変換処理ステップと、
前記スキャンパス回路を生成した後のセル情報および接続情報に変更した回路接続情報の埋め込みコア以外のカスタムロジック部のテストパターンを生成するテストパターン自動生成処理ステップと、
を備えることを特徴とするテスト生成プログラム。
Cell connection information defining cell information defining the embedded core and the functional cell, connection information indicating connection between the embedded core and the functional cell, and the embedded core and functional cell defined in the circuit connection information Input terminal of the embedded core based on floor plan information in which terminal information and position information of the embedded core are defined, and library information in which logic information, delay information, and terminal attributes of the embedded core and functional cells are defined And an embedded core test cell insertion processing step for inserting a test cell into the output terminal and generating circuit connection information changed to cell information and connection information after the test cell insertion,
The circuit connection changed to the cell information and connection information after generating the scan path circuit by replacing the flip-flop defined in the circuit connection information changed to the connection after the test cell insertion with the scan flip-flop A scan path connection processing step for generating information;
Based on the embedded core function test pattern in which the test pattern for testing the embedded core and the expected value are defined in parallel format, and the library information, the cell information and the connection information after the scan path circuit is generated An embedded core test pattern conversion processing step for converting the embedded core function test pattern by adding a control signal necessary for the embedded core test corresponding to the external terminal of the changed circuit connection information;
Test pattern automatic generation processing step for generating a test pattern of a custom logic unit other than the embedded core of the circuit connection information changed to the cell information and connection information after generating the scan path circuit;
A test generation program comprising:
前記埋め込みコアテストセル挿入ステップは、
前記埋め込みコアの入出力端子にフリップフロップが接続されている場合には、接続されているフリップフロップを前記テストセル内のフリップフロップと共有することを特徴とする請求項4に記載のテスト生成プログラム。
The embedded core test cell insertion step includes:
5. The test generation program according to claim 4, wherein when a flip-flop is connected to an input / output terminal of the embedded core, the connected flip-flop is shared with the flip-flop in the test cell. .
前記埋め込みコアテストセル挿入ステップは、
前記埋め込みコアの端子位置に基づいて、前記各テストセルを接続する配線が最短となるように配置する制約条件であるレイアウト指定情報およびスキャンパス接続順番情報を生成し、
前記スキャンパス接続処理ステップは、
前記レイアウト指定情報および前記スキャンパス接続順番情報に基づいて前記スキャンフリップフロップを接続することを特徴とする請求項4または5に記載のテスト生成プログラム。
The embedded core test cell insertion step includes:
Based on the terminal position of the embedded core, generating layout designation information and scan path connection order information which are constraints that arrange the wirings connecting the test cells to be the shortest,
The scan path connection processing step includes:
6. The test generation program according to claim 4, wherein the scan flip-flop is connected based on the layout designation information and the scan path connection order information.
前記レイアウト指定情報は、
前記カスタムロジック部内に構成されるスキャンパス回路の初段のフリップフロップと前記テストセルが構成するスキャンパス回路の最終段のフリップフロップとを接続する配線が最短となるように配置する制約条件をさらに含むことを特徴とする請求項6に記載のテスト生成プログラム。
The layout designation information is
It further includes a constraint condition that the wiring connecting the first stage flip-flop of the scan path circuit configured in the custom logic unit and the last stage flip-flop of the scan path circuit configured by the test cell is arranged to be the shortest. The test generation program according to claim 6.
JP2003111407A 2003-04-16 2003-04-16 Semiconductor integrated circuit and test generation program Expired - Fee Related JP4223319B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003111407A JP4223319B2 (en) 2003-04-16 2003-04-16 Semiconductor integrated circuit and test generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003111407A JP4223319B2 (en) 2003-04-16 2003-04-16 Semiconductor integrated circuit and test generation program

Publications (2)

Publication Number Publication Date
JP2004320433A JP2004320433A (en) 2004-11-11
JP4223319B2 true JP4223319B2 (en) 2009-02-12

Family

ID=33471970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003111407A Expired - Fee Related JP4223319B2 (en) 2003-04-16 2003-04-16 Semiconductor integrated circuit and test generation program

Country Status (1)

Country Link
JP (1) JP4223319B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007187458A (en) * 2006-01-11 2007-07-26 Nec Electronics Corp Scan flip-flop circuit and semiconductor integrated circuit device
JP4839856B2 (en) * 2006-01-23 2011-12-21 富士通株式会社 Scan chain extraction program, scan chain extraction method, and test apparatus

Also Published As

Publication number Publication date
JP2004320433A (en) 2004-11-11

Similar Documents

Publication Publication Date Title
US6686759B1 (en) Techniques for testing embedded cores in multi-core integrated circuit designs
JP3851782B2 (en) Semiconductor integrated circuit and test method thereof
WO2004057357A1 (en) Connecting multiple test access port controllers through a single test access port
JP2007525684A (en) Test circuit and method for hierarchical core
US5809039A (en) Semiconductor integrated circuit device with diagnosis function
JP2006343151A (en) Scanning test circuit and method for arranging the same
JP2004078759A (en) Method for designing integrated circuit having scan function
JP4512934B2 (en) Layout design and timing adjustment method and apparatus for logically designed integrated circuit, program for executing the method, and computer-readable recording medium on which the program is recorded
US8533548B2 (en) Wrapper cell for hierarchical system on chip testing
JP4223319B2 (en) Semiconductor integrated circuit and test generation program
US6654939B2 (en) Method of designing logic circuit, and computer product
JP5806050B2 (en) Output control scan flip-flop, semiconductor integrated circuit having the same, and method for designing semiconductor integrated circuit
JP2005257366A (en) Semiconductor circuit device and scan test method concerning semiconductor circuit
US20060242507A1 (en) Achieving Desired Synchronization at Sequential Elements While Testing Integrated Circuits Using Sequential Scan Techniques
JPWO2012042586A1 (en) Integrated circuit
JP4610919B2 (en) Semiconductor integrated circuit device
US20040030976A1 (en) Partial BIST with recording of the connections between individual blocks
JPH1173440A (en) Emulation device
JP3278833B2 (en) Logic circuit test method, test input circuit and test output circuit
Habiby et al. RC-IJTAG: A Methodology for Designing Remotely-Controlled IEEE 1687 Scan Networks
JP2009175154A (en) Semiconductor integrated circuit and its design method
US6650139B1 (en) Modular collection of spare gates for use in hierarchical integrated circuit design process
JP2002009238A (en) Scan path design method
JPH0731225B2 (en) Semiconductor integrated circuit device
US20050005212A1 (en) Electronic component with output buffer control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080428

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: 20081118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081119

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees