JP3453068B2 - 半導体集積回路およびテストパターン作成方法 - Google Patents
半導体集積回路およびテストパターン作成方法Info
- Publication number
- JP3453068B2 JP3453068B2 JP24151398A JP24151398A JP3453068B2 JP 3453068 B2 JP3453068 B2 JP 3453068B2 JP 24151398 A JP24151398 A JP 24151398A JP 24151398 A JP24151398 A JP 24151398A JP 3453068 B2 JP3453068 B2 JP 3453068B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- test
- storage means
- data
- value
- 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
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
Description
【0001】
【発明の属する技術分野】この発明は、少ないピン数で
効果的にテストが行われる半導体集積回路およびテスト
パターン作成方法に関するものである。
効果的にテストが行われる半導体集積回路およびテスト
パターン作成方法に関するものである。
【0002】
【従来の技術】従来汎用マイコンでは、ピン数の少ない
品種でも42ピン程度のピン数を有していたため、命令
入力用に8ビット、アドレス出力用に16ビットのピン
を確保することは容易であった。近年半導体の集積度が
上りICカードにマイコンが使用されるようになった
が、ICカードで使用される半導体は、電源端子、発振
端子、リセット端子の他には、データ通信のためにシリ
アルポートを有する程度で、多くのピン数を必要としな
い。そのため、テスト信号の入力を4ピン程度で行わな
ければならない。
品種でも42ピン程度のピン数を有していたため、命令
入力用に8ビット、アドレス出力用に16ビットのピン
を確保することは容易であった。近年半導体の集積度が
上りICカードにマイコンが使用されるようになった
が、ICカードで使用される半導体は、電源端子、発振
端子、リセット端子の他には、データ通信のためにシリ
アルポートを有する程度で、多くのピン数を必要としな
い。そのため、テスト信号の入力を4ピン程度で行わな
ければならない。
【0003】従来の技術で少ないピン数でテストを行う
には、8ビットの命令を4ビットづつ2回に分けて供給
する方法と、内蔵のテストROMでテストする方法と、
スキャンパスを作り込んでテストする方法とがある。
には、8ビットの命令を4ビットづつ2回に分けて供給
する方法と、内蔵のテストROMでテストする方法と、
スキャンパスを作り込んでテストする方法とがある。
【0004】
【発明が解決しようとする課題】しかし、8ビットの命
令を4ビットづつ2回に分けて供給する方法では、テス
ト時間が長くなる。また、内蔵のテストROMでテスト
する方法では、限られたROM容量では故障検出率を向
上させることはできない。そして、スキャンパスを作り
込んでテストする方法では、回路の一部をスキャンパス
用のレジスタで置き換えて設計する必要があり、チップ
面積が増大してしまう。
令を4ビットづつ2回に分けて供給する方法では、テス
ト時間が長くなる。また、内蔵のテストROMでテスト
する方法では、限られたROM容量では故障検出率を向
上させることはできない。そして、スキャンパスを作り
込んでテストする方法では、回路の一部をスキャンパス
用のレジスタで置き換えて設計する必要があり、チップ
面積が増大してしまう。
【0005】この発明は、このような問題を解決するた
めになされたもので、比較的小さなテスト回路を設ける
ことで、テスト時間を長くすることなく、故障検出率を
向上させることができる半導体集積回路およびテストパ
ターン作成方法を提供することを目的とする。
めになされたもので、比較的小さなテスト回路を設ける
ことで、テスト時間を長くすることなく、故障検出率を
向上させることができる半導体集積回路およびテストパ
ターン作成方法を提供することを目的とする。
【0006】
【課題を解決するための手段】請求項1記載の半導体集
積回路は、外部からの信号を入力する入力端子と、テス
トプログラムを格納した第1の記憶手段と、入力端子か
らの値を用いて第1の記憶手段から読み出した値を一部
変更するビット置換制御手段とを備えたものである。
積回路は、外部からの信号を入力する入力端子と、テス
トプログラムを格納した第1の記憶手段と、入力端子か
らの値を用いて第1の記憶手段から読み出した値を一部
変更するビット置換制御手段とを備えたものである。
【0007】請求項1記載の半導体集積回路によれば、
入力端子から値を与えることで第1の記憶手段以外のテ
ストを行うことができ、比較的小さなテスト回路を設け
ることで、テスト時間を長くすることなく、故障検出率
を向上させることができる。請求項2記載の半導体集積
回路は、請求項1において、データを読み書きする第2
の記憶手段を備え、置換制御手段は、さらに入力端子か
らの値と第2の記憶手段から読み出された値とを用いて
第1の記憶手段から読み出した値を一部変更し、変更内
容を第2の記憶手段へ格納するものである。
入力端子から値を与えることで第1の記憶手段以外のテ
ストを行うことができ、比較的小さなテスト回路を設け
ることで、テスト時間を長くすることなく、故障検出率
を向上させることができる。請求項2記載の半導体集積
回路は、請求項1において、データを読み書きする第2
の記憶手段を備え、置換制御手段は、さらに入力端子か
らの値と第2の記憶手段から読み出された値とを用いて
第1の記憶手段から読み出した値を一部変更し、変更内
容を第2の記憶手段へ格納するものである。
【0008】請求項2記載の半導体集積回路によれば、
請求項1と同様な効果のほか、第1の記憶手段から読み
出した値を一部変更するために第2の記憶手段から読み
出された値も用いるので、さらに多くのテストを行うこ
とができる。請求項3記載のテストパターン作成方法
は、命令実行サイクルおよび命令長の一致する命令群を
総称する疑似命令と変数表現されたオペランド対とを用
いて記述されたプログラムを読み込むプログラム読み込
みステップと、疑似命令を命令群のそれぞれの命令に置
き換えるオペコード置き換えステップと、変数表現され
たオペランド対を全てのオペランドの組み合わせに変換
するオペランド置き換えステップと、オペコード置き換
えステップとオペランド置き換えステップとによって得
られた複数の実プログラムを実行してCPUに供給され
る命令バスパターンを複数求める命令バスパターン生成
ステップと、命令バスパターン同士の差分を抽出する置
換情報生成ステップとを含むものである。
請求項1と同様な効果のほか、第1の記憶手段から読み
出した値を一部変更するために第2の記憶手段から読み
出された値も用いるので、さらに多くのテストを行うこ
とができる。請求項3記載のテストパターン作成方法
は、命令実行サイクルおよび命令長の一致する命令群を
総称する疑似命令と変数表現されたオペランド対とを用
いて記述されたプログラムを読み込むプログラム読み込
みステップと、疑似命令を命令群のそれぞれの命令に置
き換えるオペコード置き換えステップと、変数表現され
たオペランド対を全てのオペランドの組み合わせに変換
するオペランド置き換えステップと、オペコード置き換
えステップとオペランド置き換えステップとによって得
られた複数の実プログラムを実行してCPUに供給され
る命令バスパターンを複数求める命令バスパターン生成
ステップと、命令バスパターン同士の差分を抽出する置
換情報生成ステップとを含むものである。
【0009】請求項3記載のテストパターン作成方法に
よれば、小さなサイズのテストROMと多くのテストパ
ターンを効率良く生成することができ、比較的小さなテ
スト回路を設けることで、テスト時間を長くすることな
く、故障検出率を向上させることができる。
よれば、小さなサイズのテストROMと多くのテストパ
ターンを効率良く生成することができ、比較的小さなテ
スト回路を設けることで、テスト時間を長くすることな
く、故障検出率を向上させることができる。
【0010】
【発明の実施の形態】以下、この発明の実施の形態につ
いて、図1から図4を用いて説明する。まず、図1から
図3を用いて、この発明の一実施の形態における半導体
集積回路の構成を説明する。図1は、この発明の一実施
の形態における半導体集積回路の構成を示すブロック図
である。1はこの発明の一実施の形態のマイコンの半導
体集積回路、2はCPU、4はCPU2が実行する命令
コードが置かれたROMで、ユーザのプログラムを収め
た領域とテストプログラムを収めた領域とからなり、テ
ストモード時にはテストプログラムを収めた領域から命
令コードがROMバス106へ読み出される。7〜10
は半導体集積回路1の外部と信号を入出力するための汎
用入出力回路、109は汎用入出力端子7〜10にデー
タを出力するときに出力されるデータ出力制御信号、5
は通常はデータを読み書きする目的で使用され、テスト
モード時はビットごとに読み出し動作か書き込み動作の
いずれかを行うことができるRAM、3はRAM5から
の値と汎用入出力回路7〜10からの値を用いてROM
4から読み出された8ビットのROMバス106の値の
各ビットを反転させるためのビット反転データ105を
出力し、そのとき汎用入出力回路7〜10により与えら
れた情報をデータバス104へ出力しRAM4へ格納す
るビット置換制御回路、6はビット反転データ105と
ROMバス106の値との排他論理和をとって命令バス
103に出力する排他論理和回路、108はCPU2が
データアクセスを行ってデータバス104を使用してい
るときに出力されるデータアクセス制御信号、11はデ
ータアドレスバス101と命令アドレスバス102とを
入力し、データアクセス制御信号108が出力されてい
れば、データアドレスバス101の値をRAM5へ与
え、データアクセス制御信号108が出力されていなけ
れば、命令アドレスバス102の値をRAM5へ与える
アドレス選択回路である。
いて、図1から図4を用いて説明する。まず、図1から
図3を用いて、この発明の一実施の形態における半導体
集積回路の構成を説明する。図1は、この発明の一実施
の形態における半導体集積回路の構成を示すブロック図
である。1はこの発明の一実施の形態のマイコンの半導
体集積回路、2はCPU、4はCPU2が実行する命令
コードが置かれたROMで、ユーザのプログラムを収め
た領域とテストプログラムを収めた領域とからなり、テ
ストモード時にはテストプログラムを収めた領域から命
令コードがROMバス106へ読み出される。7〜10
は半導体集積回路1の外部と信号を入出力するための汎
用入出力回路、109は汎用入出力端子7〜10にデー
タを出力するときに出力されるデータ出力制御信号、5
は通常はデータを読み書きする目的で使用され、テスト
モード時はビットごとに読み出し動作か書き込み動作の
いずれかを行うことができるRAM、3はRAM5から
の値と汎用入出力回路7〜10からの値を用いてROM
4から読み出された8ビットのROMバス106の値の
各ビットを反転させるためのビット反転データ105を
出力し、そのとき汎用入出力回路7〜10により与えら
れた情報をデータバス104へ出力しRAM4へ格納す
るビット置換制御回路、6はビット反転データ105と
ROMバス106の値との排他論理和をとって命令バス
103に出力する排他論理和回路、108はCPU2が
データアクセスを行ってデータバス104を使用してい
るときに出力されるデータアクセス制御信号、11はデ
ータアドレスバス101と命令アドレスバス102とを
入力し、データアクセス制御信号108が出力されてい
れば、データアドレスバス101の値をRAM5へ与
え、データアクセス制御信号108が出力されていなけ
れば、命令アドレスバス102の値をRAM5へ与える
アドレス選択回路である。
【0011】なお、図には示されていないが、半導体集
積回路1には、いくつかのテストモードがあり、リセッ
ト直後の初期化の段階で、汎用入出力回路7〜10を用
いるなどして所定のテストモードにしている。この実施
の形態のテストモードもそのうちの1つであり、あらか
じめ初期化の段階で設定されたものとする。以下、動作
を説明する。
積回路1には、いくつかのテストモードがあり、リセッ
ト直後の初期化の段階で、汎用入出力回路7〜10を用
いるなどして所定のテストモードにしている。この実施
の形態のテストモードもそのうちの1つであり、あらか
じめ初期化の段階で設定されたものとする。以下、動作
を説明する。
【0012】テストモード時は、RAM5の値と汎用入
出力回路7〜10からの値とを用いて、ROM4に置か
れた命令列を変更してCPU2に与えることで、ROM
4に置かれた命令列以外の様々な命令列をCPU2に実
行させることが可能となる。テストモードにおいてCP
U2は命令アドレスバス102に命令アドレスを出力し
てROM4に置かれた命令列を読み出す。データアクセ
ス制御信号108が出力されていなければ、このときの
命令アドレスバス102の値がアドレス選択回路11に
よってRAM5に与えられる。ビット置換制御回路3
は、RAM5から読み出される8ビットデータのうち、
汎用入出力回路7、8からの値で示された位置の2ビッ
トを、汎用入出力回路9、10からの値で置き換えてビ
ット反転データとして出力すると同時に、RAM5に汎
用入出力回路9、10からの値を書き込む。
出力回路7〜10からの値とを用いて、ROM4に置か
れた命令列を変更してCPU2に与えることで、ROM
4に置かれた命令列以外の様々な命令列をCPU2に実
行させることが可能となる。テストモードにおいてCP
U2は命令アドレスバス102に命令アドレスを出力し
てROM4に置かれた命令列を読み出す。データアクセ
ス制御信号108が出力されていなければ、このときの
命令アドレスバス102の値がアドレス選択回路11に
よってRAM5に与えられる。ビット置換制御回路3
は、RAM5から読み出される8ビットデータのうち、
汎用入出力回路7、8からの値で示された位置の2ビッ
トを、汎用入出力回路9、10からの値で置き換えてビ
ット反転データとして出力すると同時に、RAM5に汎
用入出力回路9、10からの値を書き込む。
【0013】図2は、この発明の一実施の形態における
排他論理和回路およびビット置換制御回路の具体的な構
成例を示すブロック図である。以下では、汎用入出力回
路7〜10からの値をそれぞれP3,P2,P1,P0 と呼ぶこと
にする。200は(P3,P2) が(0,0) であればビット0,1
を、(0,1) であればビット2,3を、(1,0) であればビッ
ト4,5 を、(1,1) であればビット6,7 を選択する選択信
号を出力するデコーダ回路、201〜208は、汎用入
出力回路7〜10が出力状態でないときは、選択信号が
入力された場合は、P1,P0 をデータバス231〜238
およびビット反転データ211〜218へ出力し、選択
信号が入力されない場合は、データアクセスが行われて
いなければ、RAM5からデータバス231〜238へ
データを読みだしてビット反転データ211〜218へ
出力するビット反転データ出力回路である。
排他論理和回路およびビット置換制御回路の具体的な構
成例を示すブロック図である。以下では、汎用入出力回
路7〜10からの値をそれぞれP3,P2,P1,P0 と呼ぶこと
にする。200は(P3,P2) が(0,0) であればビット0,1
を、(0,1) であればビット2,3を、(1,0) であればビッ
ト4,5 を、(1,1) であればビット6,7 を選択する選択信
号を出力するデコーダ回路、201〜208は、汎用入
出力回路7〜10が出力状態でないときは、選択信号が
入力された場合は、P1,P0 をデータバス231〜238
およびビット反転データ211〜218へ出力し、選択
信号が入力されない場合は、データアクセスが行われて
いなければ、RAM5からデータバス231〜238へ
データを読みだしてビット反転データ211〜218へ
出力するビット反転データ出力回路である。
【0014】図3は、この発明の一実施の形態における
ビット反転データ出力回路の具体的な構成例を示す図で
ある。304は図2のビット反転データ211〜218
と接続されるビット反転データ、305は図1のデータ
アクセス制御信号108と同一の信号であるデータアク
セス制御信号、306は図2のデータバス231〜23
8と接続されるデータ、307は図2のデコーダ回路2
00の出力する選択信号、308は図1のデータ出力制
御信号109と同一の信号であるデータ出力制御信号、
309はビット反転データ出力回路が図2のビット反転
データ出力回路201、203、205、207である
場合はP1と接続されており、ビット反転データ出力回路
が図2のビット反転データ出力回路202、204、2
06、208である場合はP0と接続されている。また、
310はテストモードのときには値が1であるテストモ
ード信号である。
ビット反転データ出力回路の具体的な構成例を示す図で
ある。304は図2のビット反転データ211〜218
と接続されるビット反転データ、305は図1のデータ
アクセス制御信号108と同一の信号であるデータアク
セス制御信号、306は図2のデータバス231〜23
8と接続されるデータ、307は図2のデコーダ回路2
00の出力する選択信号、308は図1のデータ出力制
御信号109と同一の信号であるデータ出力制御信号、
309はビット反転データ出力回路が図2のビット反転
データ出力回路201、203、205、207である
場合はP1と接続されており、ビット反転データ出力回路
が図2のビット反転データ出力回路202、204、2
06、208である場合はP0と接続されている。また、
310はテストモードのときには値が1であるテストモ
ード信号である。
【0015】301は、汎用入出力回路7〜10が出力
状態でないときはデータ出力制御信号が0 となり、選択
信号307が1 の場合P1,P0 をデータバス231〜23
8およびビット反転データ211〜218へ出力し、選
択信号307が0 の場合データアクセスが行われていな
くてデータアクセス制御信号305の値が0 であればデ
ータ306の値をビット反転データ304へ出力する選
択ゲートである。さらに、選択ゲート301は、汎用入
出力回路7〜10が出力状態のときデータ出力制御信号
308は1 であり、ROM4から読み出された値には変
更を加えない。つまりビット反転データ304には0 を
出力する。また、データアクセスが行われていてデータ
アクセス制御信号305の値が1のときはビット反転デ
ータ304の生成にデータ306の値は用いない、つま
り選択信号307が0 であればビット反転データ304
は0 となる。
状態でないときはデータ出力制御信号が0 となり、選択
信号307が1 の場合P1,P0 をデータバス231〜23
8およびビット反転データ211〜218へ出力し、選
択信号307が0 の場合データアクセスが行われていな
くてデータアクセス制御信号305の値が0 であればデ
ータ306の値をビット反転データ304へ出力する選
択ゲートである。さらに、選択ゲート301は、汎用入
出力回路7〜10が出力状態のときデータ出力制御信号
308は1 であり、ROM4から読み出された値には変
更を加えない。つまりビット反転データ304には0 を
出力する。また、データアクセスが行われていてデータ
アクセス制御信号305の値が1のときはビット反転デ
ータ304の生成にデータ306の値は用いない、つま
り選択信号307が0 であればビット反転データ304
は0 となる。
【0016】302、303は、汎用入出力回路7〜1
0が出力状態でないときで選択信号307が入力された
場合は、データ出力制御信号308が0 、選択信号30
7が1 となり、P1,P0 をデータ306へ出力する。そし
て同時にデータ306へ出力されたP1,P0 の値はRAM
5にも書き込まれる。以上、図1から図3を用いてこの
発明の一実施の形態における半導体集積回路の構成を説
明した。
0が出力状態でないときで選択信号307が入力された
場合は、データ出力制御信号308が0 、選択信号30
7が1 となり、P1,P0 をデータ306へ出力する。そし
て同時にデータ306へ出力されたP1,P0 の値はRAM
5にも書き込まれる。以上、図1から図3を用いてこの
発明の一実施の形態における半導体集積回路の構成を説
明した。
【0017】次に、図4および表1から表3を用いてこ
の発明の一実施の形態におけるテストパターンの生成方
法を説明する。表1は、この発明の一実施の形態におけ
る疑似命令の対応表である。
の発明の一実施の形態におけるテストパターンの生成方
法を説明する。表1は、この発明の一実施の形態におけ
る疑似命令の対応表である。
【0018】
【表1】
【0019】この発明の一実施の形態におけるCPU2
は、データ格納用にD0,D1,D2,D3 の4本の8ビットの汎
用レジスタを持っている。また命令長は4ビット単位で
定義されている。表1の一行目、疑似命令op1 に対応す
るadd Dn,Dm およびaddc Dn,Dmおよびsubc Dn,Dmは、そ
れぞれ、2つのレジスタDn,Dm に対する加算命令、キャ
リー付加算命令、キャリー付減算命令である。ここでD
n,Dm はそれぞれ4本の汎用レジスタD0,D1,D2,D3 のう
ちのいずれかである。
は、データ格納用にD0,D1,D2,D3 の4本の8ビットの汎
用レジスタを持っている。また命令長は4ビット単位で
定義されている。表1の一行目、疑似命令op1 に対応す
るadd Dn,Dm およびaddc Dn,Dmおよびsubc Dn,Dmは、そ
れぞれ、2つのレジスタDn,Dm に対する加算命令、キャ
リー付加算命令、キャリー付減算命令である。ここでD
n,Dm はそれぞれ4本の汎用レジスタD0,D1,D2,D3 のう
ちのいずれかである。
【0020】表2は、この発明の一実施の形態における
命令セット一覧表である。
命令セット一覧表である。
【0021】
【表2】
【0022】add Dn,Dm を2進数で表現すると、001100
11DnDmとなる。ここで、00110011はオペコードであり、
Dn,Dm それぞれは汎用レジスタD0,D1,D2,D3 のうちいず
れかを意味する2ビットのオペランドである。例えば、
D0D3は0011となる。これに対して、addc Dn,Dmは2進数
で表現すると00111011DnDm、subc DnDm は00101011DnD
m、となる。add Dn,Dm とaddc Dn,Dmのオペコードはそ
れぞれ00110011、00111011であり第3ビットのみ値が異
なる。また、subc DnDm のオペコードは00101011であ
り、addc Dn,Dmとは第4ビットのみ値が異なる。
11DnDmとなる。ここで、00110011はオペコードであり、
Dn,Dm それぞれは汎用レジスタD0,D1,D2,D3 のうちいず
れかを意味する2ビットのオペランドである。例えば、
D0D3は0011となる。これに対して、addc Dn,Dmは2進数
で表現すると00111011DnDm、subc DnDm は00101011DnD
m、となる。add Dn,Dm とaddc Dn,Dmのオペコードはそ
れぞれ00110011、00111011であり第3ビットのみ値が異
なる。また、subc DnDm のオペコードは00101011であ
り、addc Dn,Dmとは第4ビットのみ値が異なる。
【0023】表3は、この発明の一実施の形態における
パターン生成元プログラムの表である。
パターン生成元プログラムの表である。
【0024】
【表3】
【0025】この表3には、add Dn,Dm 、addc Dn,Dm、
subc Dn,Dmをテストするためのパターン生成元プログラ
ムの例を示した。ここで、op1 という表現は、異なるオ
ペコードadd 、addc、subcを生成するための表現であ
る。また、dx,dy という表現は、異なる汎用レジスタの
組み合わせを生成するための表現であり、本パターン生
成元プログラムから、(D0,D1), (D2,D1)等の汎用レジス
タの組み合わせをテストする実プログラムを生成する。
subc Dn,Dmをテストするためのパターン生成元プログラ
ムの例を示した。ここで、op1 という表現は、異なるオ
ペコードadd 、addc、subcを生成するための表現であ
る。また、dx,dy という表現は、異なる汎用レジスタの
組み合わせを生成するための表現であり、本パターン生
成元プログラムから、(D0,D1), (D2,D1)等の汎用レジス
タの組み合わせをテストする実プログラムを生成する。
【0026】この発明の一実施の形態におけるテストパ
ターンの作成方法では、動作が似通っていて、コードサ
イズ、実行サイクルの一致する命令群に対して、図1の
ROM4に置かれたプログラムを共有する。図1のビッ
ト置換制御回路3によってオペコードの一部を置き換え
ることで、異なる命令を表現する。以下、詳細にテスト
パターンの作成方法について説明する。
ターンの作成方法では、動作が似通っていて、コードサ
イズ、実行サイクルの一致する命令群に対して、図1の
ROM4に置かれたプログラムを共有する。図1のビッ
ト置換制御回路3によってオペコードの一部を置き換え
ることで、異なる命令を表現する。以下、詳細にテスト
パターンの作成方法について説明する。
【0027】図4は、この発明の一実施の形態における
テストパターン作成方法を示す図である。表3のパター
ン生成元プログラムの最初に現れる、op1 dx,dy という
表現から、複数の実プログラム中のop1 dx,dy という表
現に対応する部分、および、複数のテストパターン中の
op1 dx,dy という表現に対応する部分を生成する方法を
例に、この発明の一実施の形態におけるテストパターン
作成方法を説明する。
テストパターン作成方法を示す図である。表3のパター
ン生成元プログラムの最初に現れる、op1 dx,dy という
表現から、複数の実プログラム中のop1 dx,dy という表
現に対応する部分、および、複数のテストパターン中の
op1 dx,dy という表現に対応する部分を生成する方法を
例に、この発明の一実施の形態におけるテストパターン
作成方法を説明する。
【0028】400は、複数のテストパターンを生成す
る元になるパターン生成元プログラム、401〜412
はパターン生成元プログラム400の疑似命令op1 を命
令add で置き換え、dx,dy と表現された部分を全ての汎
用レジスタの組み合わせで置き換えて生成された実プロ
グラム、421〜432は実プログラムを実行コードに
変換した後、ROM4に実行コードを実装してシミュレ
ーションしたときの図1の命令バス103の値をトレー
スして作成した命令バスパターン、441〜452は各
プログラムを左から右へと次々に実行した場合、命令バ
スパターンを実現するために図1の汎用入出力回路7〜
10へ入力されるテストパターンである。
る元になるパターン生成元プログラム、401〜412
はパターン生成元プログラム400の疑似命令op1 を命
令add で置き換え、dx,dy と表現された部分を全ての汎
用レジスタの組み合わせで置き換えて生成された実プロ
グラム、421〜432は実プログラムを実行コードに
変換した後、ROM4に実行コードを実装してシミュレ
ーションしたときの図1の命令バス103の値をトレー
スして作成した命令バスパターン、441〜452は各
プログラムを左から右へと次々に実行した場合、命令バ
スパターンを実現するために図1の汎用入出力回路7〜
10へ入力されるテストパターンである。
【0029】図1のROM4にはprogram1が実装されて
いるものとする。program1からprogram12 は左から右へ
と次々に実行されるものとする。また、program1を実行
する前に、図1のRAM5の内容は全て0 に初期化され
ているものとする。さらに、それぞれのプログラムで
は、図1の汎用入出力回路7〜10へ入力されるテスト
パターン441〜452と図1のRAM5から読み出さ
れたデータを用いて、図1のROM4の値が一部置き変
わって図1のCPU2に命令として供給される。このと
き、図1のビット反転データ105のうちの2ビットは
図1の汎用入出力回路7〜10へ入力されるテストパタ
ーン441〜452から図1のビット置換制御回路3に
よって生成され、その値が図1のRAM5に格納され
る。
いるものとする。program1からprogram12 は左から右へ
と次々に実行されるものとする。また、program1を実行
する前に、図1のRAM5の内容は全て0 に初期化され
ているものとする。さらに、それぞれのプログラムで
は、図1の汎用入出力回路7〜10へ入力されるテスト
パターン441〜452と図1のRAM5から読み出さ
れたデータを用いて、図1のROM4の値が一部置き変
わって図1のCPU2に命令として供給される。このと
き、図1のビット反転データ105のうちの2ビットは
図1の汎用入出力回路7〜10へ入力されるテストパタ
ーン441〜452から図1のビット置換制御回路3に
よって生成され、その値が図1のRAM5に格納され
る。
【0030】以下、テストパターン441〜452の生
成方法について説明する。実プログラム401はパター
ン生成元プログラム400のop1 をadd にdx,dyをd1,d0
に置き換えることで生成される。ここで、d0、d1、d
2、d3は図5の説明で述べた汎用レジスタD0、D1、D2、D
3と同じものである。実プログラム402〜412につ
いても同様に生成するが、隣り合うプログラムどうしの
違いは、オペランドdx,dy のいずれか一方のみである。
例えば、program6の実プログラム406はadd d0,d1 、
program7の実プログラム407はadd d0,d2 であり、第
2オペランドがd1からd2へと変化している。これは、pr
ogram1からprogram12 へと次々に実行していく際、図1
の汎用入出力回路7〜10へ入力されるテストパターン
によって変更できる図1の命令バス103の値は2ビッ
トに限られているためである。
成方法について説明する。実プログラム401はパター
ン生成元プログラム400のop1 をadd にdx,dyをd1,d0
に置き換えることで生成される。ここで、d0、d1、d
2、d3は図5の説明で述べた汎用レジスタD0、D1、D2、D
3と同じものである。実プログラム402〜412につ
いても同様に生成するが、隣り合うプログラムどうしの
違いは、オペランドdx,dy のいずれか一方のみである。
例えば、program6の実プログラム406はadd d0,d1 、
program7の実プログラム407はadd d0,d2 であり、第
2オペランドがd1からd2へと変化している。これは、pr
ogram1からprogram12 へと次々に実行していく際、図1
の汎用入出力回路7〜10へ入力されるテストパターン
によって変更できる図1の命令バス103の値は2ビッ
トに限られているためである。
【0031】次に、実プログラム401〜412を実行
コードに変換した後、ROMに実行コードを実装してシ
ミュレーションしたときの命令バスの値をトレースして
作成した命令バスパターン421〜432が生成され
る。ここで言うシミュレーションは、図1のビット反転
データを全て0 として行っている。例えば、命令バスパ
ターン421では、1サイクル目の値が00110011、2サ
イクル目の値が0100となっている。これは、add Dn,Dm
の命令長が12ビットであるためであり、最後の4ビッ
トは第1オペランドd1と第2オペランドd0を表してい
る。
コードに変換した後、ROMに実行コードを実装してシ
ミュレーションしたときの命令バスの値をトレースして
作成した命令バスパターン421〜432が生成され
る。ここで言うシミュレーションは、図1のビット反転
データを全て0 として行っている。例えば、命令バスパ
ターン421では、1サイクル目の値が00110011、2サ
イクル目の値が0100となっている。これは、add Dn,Dm
の命令長が12ビットであるためであり、最後の4ビッ
トは第1オペランドd1と第2オペランドd0を表してい
る。
【0032】最後に、各プログラムを左から右へと次々
に実行したとき、命令バスパターン421〜432が実
現する様に図1の汎用入出力回路7〜10へ入力される
テストパターン441〜452を生成する。まず、テス
トパターン441は全て0 である。これは、図1のRO
M4にはprogram1が実装されており、図1の汎用入出力
回路7〜10への入力によって、図1のROMバス10
6の値を一切変更しなくて良いからである。次に、命令
バスパターン421と422とを比較すると、2サイク
ル目の最上位の2ビットが異なる。よって、テストパタ
ーン442の2サイクル目を1111として、最上位2ビッ
トの位置を表す11を図1の汎用入出力回路7、8に、2
ビットとも反転させるために11を図1の汎用入出力回路
9、10に与える。テストパターン443〜452につ
いても同様な操作を行うことで値が求まる。
に実行したとき、命令バスパターン421〜432が実
現する様に図1の汎用入出力回路7〜10へ入力される
テストパターン441〜452を生成する。まず、テス
トパターン441は全て0 である。これは、図1のRO
M4にはprogram1が実装されており、図1の汎用入出力
回路7〜10への入力によって、図1のROMバス10
6の値を一切変更しなくて良いからである。次に、命令
バスパターン421と422とを比較すると、2サイク
ル目の最上位の2ビットが異なる。よって、テストパタ
ーン442の2サイクル目を1111として、最上位2ビッ
トの位置を表す11を図1の汎用入出力回路7、8に、2
ビットとも反転させるために11を図1の汎用入出力回路
9、10に与える。テストパターン443〜452につ
いても同様な操作を行うことで値が求まる。
【0033】以上、図4の前半について説明したが、以
下、後半について説明する。ROM4にはadd Dn,Dm を
意味するオペコードが書かれており、汎用入出力回路7
〜10からの入力によって、addc Dn,Dmを意味するオペ
コードに置き換えて実行する場合を示す。461〜47
2はパターン生成元プログラム400の疑似命令op1 を
命令addcで置き換え、dx,dy と表現された部分を全ての
汎用レジスタの組み合わせで置き換えて生成された実プ
ログラム、481〜492は実プログラムを実行コード
に変換した後、ROM4に実行コードを実装してシミュ
レーションしたときの図1の命令バス103の値をトレ
ースして作成した命令バスパターン、501〜512は
各プログラムを左から右へと次々に実行した場合、命令
バスパターンを実現するために図1の汎用入出力回路7
〜10へ入力されるテストパターンである。
下、後半について説明する。ROM4にはadd Dn,Dm を
意味するオペコードが書かれており、汎用入出力回路7
〜10からの入力によって、addc Dn,Dmを意味するオペ
コードに置き換えて実行する場合を示す。461〜47
2はパターン生成元プログラム400の疑似命令op1 を
命令addcで置き換え、dx,dy と表現された部分を全ての
汎用レジスタの組み合わせで置き換えて生成された実プ
ログラム、481〜492は実プログラムを実行コード
に変換した後、ROM4に実行コードを実装してシミュ
レーションしたときの図1の命令バス103の値をトレ
ースして作成した命令バスパターン、501〜512は
各プログラムを左から右へと次々に実行した場合、命令
バスパターンを実現するために図1の汎用入出力回路7
〜10へ入力されるテストパターンである。
【0034】テストパターン501〜512の生成方法
は以上に述べた方法と同じでなので、以下に、テストパ
ターン501の生成方法についてのみ説明する。実プロ
グラム461はパターン生成元プログラム400のop1
をaddcにdx,dyをd1,d0 に置き換えることで生成され
る。次に、実プログラム461を実行コードに変換した
後、ROM4に実行コードを実装してシミュレーション
したときの命令バスの値をトレースして作成した命令バ
スパターン481が生成される。ここで言うシミュレー
ションは、図1のビット反転データを全て0 として行っ
ている。
は以上に述べた方法と同じでなので、以下に、テストパ
ターン501の生成方法についてのみ説明する。実プロ
グラム461はパターン生成元プログラム400のop1
をaddcにdx,dyをd1,d0 に置き換えることで生成され
る。次に、実プログラム461を実行コードに変換した
後、ROM4に実行コードを実装してシミュレーション
したときの命令バスの値をトレースして作成した命令バ
スパターン481が生成される。ここで言うシミュレー
ションは、図1のビット反転データを全て0 として行っ
ている。
【0035】最後に、テストパターン501を生成す
る。図1のROM4にはprogram1が実装されている。命
令バスパターン421と481とを比較すると、1サイ
クル目の第3ビットが異なる。よって、テストパターン
501の1サイクル目を0110として、第3ビットを含む
2ビットの位置を表す01を図1の汎用入出力回路7、8
に、第3ビットのみ反転させるために10を図1の汎用入
出力回路9、10に与える。
る。図1のROM4にはprogram1が実装されている。命
令バスパターン421と481とを比較すると、1サイ
クル目の第3ビットが異なる。よって、テストパターン
501の1サイクル目を0110として、第3ビットを含む
2ビットの位置を表す01を図1の汎用入出力回路7、8
に、第3ビットのみ反転させるために10を図1の汎用入
出力回路9、10に与える。
【0036】以上、ROM4にはadd Dn,Dm を意味する
オペコードが書かれており、汎用入出力回路7〜10か
らの入力によって、addc Dn,Dmを意味するオペコードに
置き換えて実行する場合を示したが、subc DnDm を意味
するオペコードへの置き換えも同様に可能である。する
と、op1 dx,dy という記述から全部で36のプログラム
を生成できることになり、少ないROM容量で多くのテ
ストパターンを実現でき、故障検出率を容易に改善でき
る。
オペコードが書かれており、汎用入出力回路7〜10か
らの入力によって、addc Dn,Dmを意味するオペコードに
置き換えて実行する場合を示したが、subc DnDm を意味
するオペコードへの置き換えも同様に可能である。する
と、op1 dx,dy という記述から全部で36のプログラム
を生成できることになり、少ないROM容量で多くのテ
ストパターンを実現でき、故障検出率を容易に改善でき
る。
【0037】このように、例えば毎サイクル8ビットの
命令を供給できるので、検査時間が長くならず、検査コ
ストを抑えることがてきる。また例えば512バイトの
テストROMを利用して様々なテストパターンをCPU
に与えることができ、故障検出率を容易に改善できる。
命令を供給できるので、検査時間が長くならず、検査コ
ストを抑えることがてきる。また例えば512バイトの
テストROMを利用して様々なテストパターンをCPU
に与えることができ、故障検出率を容易に改善できる。
【0038】
【発明の効果】請求項1記載の半導体集積回路によれ
ば、入力端子から値を与えることで第1の記憶手段以外
のテストを行うことができ、比較的小さなテスト回路を
設けることで、テスト時間を長くすることなく、故障検
出率を向上させることができる。請求項2記載の半導体
集積回路によれば、請求項1と同様な効果のほか、第1
の記憶手段から読み出した値を一部変更するために第2
の記憶手段から読み出された値も用いるので、さらに多
くのテストを行うことができる。
ば、入力端子から値を与えることで第1の記憶手段以外
のテストを行うことができ、比較的小さなテスト回路を
設けることで、テスト時間を長くすることなく、故障検
出率を向上させることができる。請求項2記載の半導体
集積回路によれば、請求項1と同様な効果のほか、第1
の記憶手段から読み出した値を一部変更するために第2
の記憶手段から読み出された値も用いるので、さらに多
くのテストを行うことができる。
【0039】請求項3記載のテストパターン作成方法に
よれば、小さなサイズのテストROMと多くのテストパ
ターンを効率良く生成することができ、比較的小さなテ
スト回路を設けることで、テスト時間を長くすることな
く、故障検出率を向上させることができる。
よれば、小さなサイズのテストROMと多くのテストパ
ターンを効率良く生成することができ、比較的小さなテ
スト回路を設けることで、テスト時間を長くすることな
く、故障検出率を向上させることができる。
【図1】この発明の一実施の形態における半導体集積回
路の構成を示すブロック図である。
路の構成を示すブロック図である。
【図2】この発明の一実施の形態における排他論理和回
路およびビット置換制御回路の具体的な構成例を示すブ
ロック図である。
路およびビット置換制御回路の具体的な構成例を示すブ
ロック図である。
【図3】この発明の一実施の形態におけるビット反転デ
ータ出力回路の具体的な構成例を示す回路図である。
ータ出力回路の具体的な構成例を示す回路図である。
【図4】この発明の一実施の形態におけるテストパター
ンの作成方法を示す説明図である。
ンの作成方法を示す説明図である。
1 マイコン
2 CPU
3 ビット置換制御回路
4 ROM
5 RAM
6 排他論理和回路
7、8、9、10 汎用入出力回路
11 アドレス選択回路
101 データアドレスバス
102 命令アドレスバス
103 命令バス
104 データバス
105、304 ビット反転データ
106 ROMバス
107 汎用入力データ
108、305 データアクセス制御信号
109、308 データ出力制御信号
110 データ入力制御信号
200 デコーダ回路
201〜208 ビット反転データ出力回路
211〜218 ビット反転データ
221〜228 ROMバス
231〜238 データバス
241〜248 命令バス
301 選択ゲート
302、303 データ出力回路
306 データ
307 選択信号
310 テストモード信号
400 パターン生成元プログラム
401〜412、461〜472 実プログラム
421〜432、481〜492 命令バスパターン
441〜452、501〜512 テストパターン
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
G01R 31/28 - 31/3193
G06F 11/22 - 11/26
G06F 15/78
Claims (3)
- 【請求項1】 外部からの信号を入力する入力端子と、
テストプログラムを格納した第1の記憶手段と、前記入
力端子からの値を用いて前記第1の記憶手段から読み出
した値を一部変更するビット置換制御手段とを備えた半
導体集積回路。 - 【請求項2】 データを読み書きする第2の記憶手段を
備え、ビット置換制御手段は、さらに入力端子からの値
と前記第2の記憶手段から読み出された値とを用いて前
記第1の記憶手段から読み出した値を一部変更し、前記
変更内容を前記第2の記憶手段へ格納する請求項1記載
の半導体集積回路。 - 【請求項3】 命令実行サイクルおよび命令長の一致す
る命令群を総称する疑似命令と変数表現されたオペラン
ド対とを用いて記述されたプログラムを読み込むプログ
ラム読み込みステップと、前記疑似命令を前記命令群の
それぞれの命令に置き換えるオペコード置き換えステッ
プと、前記変数表現されたオペランド対を全てのオペラ
ンドの組み合わせに変換するオペランド置き換えステッ
プと、前記オペコード置き換えステップとオペランド置
き換えステップとによって得られた複数の実プログラム
を実行してCPUに供給される命令バスパターンを複数
求める命令バスパターン生成ステップと、前記命令バス
パターン同士の差分を抽出する置換情報生成ステップと
を含むテストパターン作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24151398A JP3453068B2 (ja) | 1998-08-27 | 1998-08-27 | 半導体集積回路およびテストパターン作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24151398A JP3453068B2 (ja) | 1998-08-27 | 1998-08-27 | 半導体集積回路およびテストパターン作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000074999A JP2000074999A (ja) | 2000-03-14 |
JP3453068B2 true JP3453068B2 (ja) | 2003-10-06 |
Family
ID=17075468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24151398A Expired - Fee Related JP3453068B2 (ja) | 1998-08-27 | 1998-08-27 | 半導体集積回路およびテストパターン作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3453068B2 (ja) |
-
1998
- 1998-08-27 JP JP24151398A patent/JP3453068B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000074999A (ja) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100858382B1 (ko) | 테스터 구축 데이터의 생성방법 및 테스터의 구축방법 및테스트회로 | |
US4899273A (en) | Circuit simulation method with clock event suppression for debugging LSI circuits | |
US5751592A (en) | Apparatus and method of supporting functional design of logic circuit and apparatus and method of verifying functional design of logic circuit | |
US7949909B2 (en) | Address controlling in the MBIST chain architecture | |
US6536031B2 (en) | Method for generating behavior model description of circuit and apparatus for logic verification | |
EP0453394A2 (en) | Dynamic process for the generation of biased pseudo-random test patterns for the functional verification of hardware designs | |
US7865346B2 (en) | Instruction encoding in a hardware simulation accelerator | |
JPS613400A (ja) | チツプ上の高密度メモリを試験する方法と装置 | |
US6751767B1 (en) | Test pattern compression method, apparatus, system and storage medium | |
EP0462446A2 (en) | System for simulating computer program execution | |
US20070234244A1 (en) | System and method for checking equivalence between descriptions | |
JP3453068B2 (ja) | 半導体集積回路およびテストパターン作成方法 | |
US6170071B1 (en) | Method for optimizing test fixtures to minimize vector load time for automated test equipment | |
US20010003209A1 (en) | Efficient generation of optimum test data | |
US6813751B2 (en) | Creating standard VHDL test environments | |
WO2022082768A1 (zh) | 解压缩电路、电路生成方法和ic芯片 | |
US6367066B1 (en) | System for synthesizing a circuit by re-writing signed variables into unsigned variables and sharing resources for identical operations having different timing | |
US20090167346A1 (en) | Reconfigurable circuit, configuration method and program | |
US6445205B1 (en) | Method of testing integrated circuits | |
JPH0877035A (ja) | 中央処理装置及びマイクロコンピュータ | |
KR100396096B1 (ko) | 반도체 집적 회로의 테스트 회로 | |
Refan et al. | Bridging presilicon and postsilicon debugging by instruction-based trace signal selection in modern processors | |
JP2557128B2 (ja) | スキャン・フリップフロップの初期化方式 | |
JP3696302B2 (ja) | テストベクトル生成方法及び生成装置 | |
JP2824853B2 (ja) | パターンデータ書込み方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |