(57)【要約】      （修正有）【課題】アドレスとデータとの特定の組み合わせからなる特定のシーケンスが実行されたときにしか生じないようなメモリの故障モードを検出し、当該故障モードを生じさせるシーケンスを特定することが容易なメモリ検査回路を提供する。【解決手段】書込アドレス用乱数発生回路２１、書込データ用乱数発生回路２２、書込制御部２３、書込アドレス用乱数発生回路２１と同じ読出アドレス用乱数発生回路、書込データ用乱数発生回路２２と同じ比較データ用乱数発生回路、読出処理部、判定部、及び乱数生成制御部を備え、乱数生成制御部は、ＲＡＭへのアクセスを再現するときは、書込アドレス用乱数発生回路２１、書込データ用乱数発生回路２２、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する乱数発生回路のＬＦＳＲを、それぞれ順方向とは逆の逆方向にシフトさせるようにした。【選択図】図２
2010055350.tif 000002
【特許請求の範囲】
【請求項１】
ランダムアクセスメモリのアドレスを示す乱数を生成する書込アドレス用乱数発生回路と、
前記ランダムアクセスメモリに書き込むための乱数を生成する書込データ用乱数発生回路と、
前記書込アドレス用乱数発生回路によって生成された前記ランダムアクセスメモリのアドレスへ、前記書込データ用乱数発生回路によって生成された乱数を書き込む書込制御部と、
前記書込アドレス用乱数発生回路と同じ乱数系列を生成する読出アドレス用乱数発生回路と、
前記書込データ用乱数発生回路と同じ乱数系列を生成する比較データ用乱数発生回路と、
前記書込制御部によって前記乱数が書き込まれた後、前記読出アドレス用乱数発生回路によって生成された前記ランダムアクセスメモリのアドレスからデータを読み出す読出処理部と、
前記読出処理部によって読み出されたデータを、前記比較データ用乱数発生回路によって生成された乱数と比較することにより、前記ランダムアクセスメモリの良否を判定する判定部と、
前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路の動作を制御する乱数生成制御部とを備え、
前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路は、排他的論理和回路で帰還をかけたシフトレジスタによって構成されるＬＦＳＲにおいて、シフト方向を逆転可能にされた第１乱数発生回路を用いてそれぞれ構成されており、
前記乱数生成制御部は、
前記ランダムアクセスメモリの検査を行うときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲをそれぞれ予め順方向として設定された方向にシフトさせ、
前記ランダムアクセスメモリへのアクセスを再現するときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを、それぞれ前記順方向とは逆の逆方向にシフトさせること
を特徴とするメモリ検査回路。
【請求項２】
前記各シフトレジスタは、
一方端に位置するレジスタである第１始点レジスタと、
他方端に位置するレジスタである第１終点レジスタと、
前記第１始点レジスタと第１終点レジスタとの間に位置するレジスタである複数の第１中間レジスタとを備え、
前記各第１乱数発生回路のＬＦＳＲは、
前記順方向のとき前記第１終点レジスタの値と当該第１終点レジスタに隣接する第１中間レジスタの値とを排他的論理和した結果を出力する排他的論理和回路である第１始点ＥＸＯＲ回路と、
前記順方向のとき、前記第１始点レジスタの値と、前段の排他的論理和回路の出力とを排他的論理和した結果を当該第１始点レジスタに記憶させる排他的論理和回路である第１終点ＥＸＯＲ回路と、
前記第１始点ＥＸＯＲ回路と前記第１終点ＥＸＯＲ回路との間に位置すると共に、前記順方向のとき前段の排他的論理和回路の出力値と各レジスタの値とを排他的論理和して次段の排他的論理和回路へ出力する複数の第１中間ＥＸＯＲ回路とを備え、
前記書込アドレス用乱数発生回路、及び前記書込データ用乱数発生回路は、
それぞれが備える前記第１始点レジスタの値、前記各第１中間レジスタの値、及び前記第１終点レジスタから得られるビット列を、前記乱数として前記書込制御部へ出力し、
前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路は、
それぞれが備える前記第１始点レジスタの値、前記各第１中間レジスタの値、及び前記第１終点レジスタから得られるビット列を、前記乱数として前記読出処理部及び前記判定部へ出力し、
前記乱数生成制御部は、
前記ランダムアクセスメモリへのアクセスを再現するときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する各第１乱数発生回路において、
前記第１終点ＥＸＯＲ回路によって、前記第１始点レジスタの値と当該第１始点レジスタに隣接する第１中間レジスタの値とを排他的論理和した結果を前記順方向における前段の排他的論理和回路へ出力させ、
前記複数の第１中間ＥＸＯＲ回路によって、前記順方向において各第１中間ＥＸＯＲ回路に対応していたレジスタの次段のレジスタの値と前記順方向における次段の排他的論理和回路の出力値とを排他的論理和して前記順方向における前段の排他的論理和回路へ出力させ、
前記第１始点ＥＸＯＲ回路によって、前記順方向における次段の排他的論理和回路の出力値と、前記第１終点レジスタの値とを排他的論理和した結果を当該第１終点レジスタに記憶させること
を特徴とする請求項１記載のメモリ検査回路。
【請求項３】
前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路の各乱数発生回路は、それぞれ、
排他的論理和回路で帰還をかけたシフトレジスタによって構成されるＬＦＳＲにおいて、シフト方向を逆転可能にされた第２乱数発生回路と、
前記第１乱数発生回路で生成された乱数と前記第２乱数発生回路で生成された乱数とを排他的論理和することによりＧＯＬＤ系列の乱数を生成し、当該生成された乱数を前記各乱数発生回路の生成値として出力するＧＯＬＤ系列生成部とをさらに備えること
を特徴とする請求項２記載のメモリ検査回路。
【請求項４】
前記各第２乱数発生回路のシフトレジスタは、
一方端に位置するレジスタである第２始点レジスタと、
他方端に位置するレジスタである第２終点レジスタと、
前記第２始点レジスタと第２終点レジスタとの間に位置する複数のレジスタである第２中間レジスタとを備え、
前記各第２乱数発生回路のＬＦＳＲは、
前記順方向のとき前記第２終点レジスタの値と当該第２終点レジスタに隣接する第２中間レジスタの値とを排他的論理和した結果を出力する排他的論理和回路である第２始点ＥＸＯＲ回路と、
前記順方向のとき前記第２始点レジスタの値と、前段の排他的論理和回路の出力とを排他的論理和した結果を当該第２始点レジスタに記憶させる排他的論理和回路である第２終点ＥＸＯＲ回路と、
前記第２始点ＥＸＯＲ回路と第２終点ＥＸＯＲ回路との間に位置すると共に、前記順方向のとき前段の排他的論理和回路の出力値と各レジスタの値とを排他的論理和して次段の排他的論理和回路へ出力する複数の第２中間ＥＸＯＲ回路とを備え、
前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路は、
それぞれが備える前記第２始点レジスタの値、前記各第２中間レジスタの値、及び前記第２終点レジスタから得られるビット列を前記乱数として、前記ＧＯＬＤ系列生成部へ出力し、
前記乱数生成制御部は、
前記ランダムアクセスメモリへのアクセスを再現するときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する各第２乱数発生回路において、
前記第２終点ＥＸＯＲ回路によって、前記第２始点レジスタの値と当該第２始点レジスタに隣接する第２中間レジスタの値とを排他的論理和した結果を前記順方向における前段の排他的論理和回路へ出力させ、
前記複数の第２中間ＥＸＯＲ回路によって、前記順方向において各第２中間ＥＸＯＲ回路に対応していたレジスタの次段のレジスタの値と前記順方向における次段の排他的論理和回路の出力値とを排他的論理和して前記順方向における前段の排他的論理和回路へ出力させ、
前記第２始点ＥＸＯＲ回路によって、前記順方向における次段の排他的論理和回路の出力値と、前記第２終点レジスタの値とを排他的論理和した結果を当該第２終点レジスタに記憶させること
を特徴とする請求項３記載のメモリ検査回路。
【請求項５】
前記書込アドレス用乱数発生回路で生成された乱数が予め設定されたアドレス範囲の上限値を超えた場合、当該乱数を破棄して再度当該書込アドレス用乱数発生回路によって乱数を生成させる書込アドレス範囲制限部と、
前記読出アドレス用乱数発生回路で生成された乱数が予め設定されたアドレス範囲の上限値を超えた場合、当該乱数を破棄して再度当該読出アドレス用乱数発生回路によって乱数を生成させる読出アドレス範囲制限部とをさらに備えること
を特徴とする請求項１〜４のいずれか１項に記載のメモリ検査回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランダムアクセスメモリの検査を行うメモリ検査回路に関する。
【背景技術】
【０００２】
従来、ランダムアクセスメモリ（ＲＡＭ）の検査は、乱数をメモリに書き込んだ後、データを読出して正しいデータと比較する、いわゆるライト、リード、ベリファイチェックによって実行されている。このようなメモリの検査を行うメモリ検査回路として、書込データ生成用のＭ系列（Maximal-length sequences）の乱数発生回路と、比較データ生成用のＭ系列の乱数発生回路とを備える技術が知られている（例えば、特許文献１参照。）。
【特許文献１】特開２００６−２８５９１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ＲＡＭの故障モードには、メモリセルやアドレスデコーダ等を構成するトランジスタ等の回路要素が固定的に故障する故障モードと、回路要素が完全に故障するに至らず、特性が劣化したりノイズ耐性が低下したりすることによって動作が不安定になる故障モードとがある。
【０００４】
このような動作が不安定になる故障モードでは、１回のメモリアクセスでは異常が発生せず、まれに複数回のメモリアクセスにおけるアドレスとデータとの特定の組み合わせからなる特定のシーケンスが実行されたときにのみ、メモリが正常に動作しない場合がある。
【０００５】
しかしながら、上述の特許文献１に記載のメモリ検査回路では、アドレスは順次生成するだけなので、上述のように複数回のメモリアクセスにおけるアドレスとデータとの特定の組み合わせからなる特定のシーケンスが実行されたときにしか生じないような故障モードを検出することは困難であるという不都合があった。
【０００６】
また、特許文献１に記載のメモリ検査回路では、たまたまこのような特定のシーケンスで顕在化する故障モードを検出することができたとしても、故障モードを顕在化させるのに必要な最小限のメモリアクセスからなる特定のシーケンスを特定することが困難であるため、故障原因を解析することが困難であるという不都合があった。
【０００７】
本発明の目的は、アドレスとデータとの特定の組み合わせからなる特定のシーケンスが実行されたときにしか生じないようなメモリの故障モードを検出し、当該故障モードを生じさせるシーケンスを特定することが容易なメモリ検査回路を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係るメモリ検査回路は、ランダムアクセスメモリのアドレスを示す乱数を生成する書込アドレス用乱数発生回路と、前記ランダムアクセスメモリに書き込むための乱数を生成する書込データ用乱数発生回路と、前記書込アドレス用乱数発生回路によって生成された前記ランダムアクセスメモリのアドレスへ、前記書込データ用乱数発生回路によって生成された乱数を書き込む書込制御部と、前記書込アドレス用乱数発生回路と同じ乱数系列を生成する読出アドレス用乱数発生回路と、前記書込データ用乱数発生回路と同じ乱数系列を生成する比較データ用乱数発生回路と、前記書込制御部によって前記乱数が書き込まれた後、前記読出アドレス用乱数発生回路によって生成された前記ランダムアクセスメモリのアドレスからデータを読み出す読出処理部と、前記読出処理部によって読み出されたデータを、前記比較データ用乱数発生回路によって生成された乱数と比較することにより、前記ランダムアクセスメモリの良否を判定する判定部と、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路の動作を制御する乱数生成制御部とを備え、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路は、排他的論理和回路で帰還をかけたシフトレジスタによって構成されるＬＦＳＲにおいて、シフト方向を逆転可能にされた第１乱数発生回路を用いてそれぞれ構成されており、前記乱数生成制御部は、前記ランダムアクセスメモリの検査を行うときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲをそれぞれ予め順方向として設定された方向にシフトさせ、前記ランダムアクセスメモリへのアクセスを再現するときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを、それぞれ前記順方向とは逆の逆方向にシフトさせることを特徴としている。
【０００９】
この構成によれば、書込アドレス用乱数発生回路、及び書込データ用乱数発生回路で生成されたアドレスとデータとに基づいて、ランダムなアドレスにランダムなデータが書き込まれる。そして、書込アドレス用乱数発生回路で生成されたアドレスが、読出アドレス用乱数発生回路によって再現されてこのアドレスのデータが読出処理部で読み出され、当該読み出されたデータが、判定部によって、比較データ用乱数発生回路で再現されたデータと比較されることで、ランダムアクセスメモリの良否が判定されるので、アドレスとデータとの特定の組み合わせからなる特定のシーケンスが実行されたときにしか生じないようなメモリの故障モードを検出することができる。
【００１０】
そして、このような故障モードが検出された場合、書込アドレス用乱数発生回路、書込データ用乱数発生回路、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを、それぞれ順方向とは逆の逆方向にシフトさせることで、ランダムアクセスメモリの検査を行うときに書込アドレス用乱数発生回路、書込データ用乱数発生回路、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを順方向にシフトさせることで生成されたアドレスとデータとを、順に遡って各第１乱数発生回路の状態を過去の状態に戻すことができる。そうすると、この過去の状態に戻された各第１乱数発生回路を再び順方向にシフトさせることで、上記故障モードを生じさせたシーケンスを再現することができるので、当該故障モードを生じさせるシーケンスを特定することが容易となる。
【００１１】
また、前記各シフトレジスタは、一方端に位置するレジスタである第１始点レジスタと、他方端に位置するレジスタである第１終点レジスタと、前記第１始点レジスタと第１終点レジスタとの間に位置するレジスタである複数の第１中間レジスタとを備え、前記各第１乱数発生回路のＬＦＳＲは、前記順方向のとき前記第１終点レジスタの値と当該第１終点レジスタに隣接する第１中間レジスタの値とを排他的論理和した結果を出力する排他的論理和回路である第１始点ＥＸＯＲ回路と、前記順方向のとき、前記第１始点レジスタの値と、前段の排他的論理和回路の出力とを排他的論理和した結果を当該第１始点レジスタに記憶させる排他的論理和回路である第１終点ＥＸＯＲ回路と、前記第１始点ＥＸＯＲ回路と前記第１終点ＥＸＯＲ回路との間に位置すると共に、前記順方向のとき前段の排他的論理和回路の出力値と各レジスタの値とを排他的論理和して次段の排他的論理和回路へ出力する複数の第１中間ＥＸＯＲ回路とを備え、前記書込アドレス用乱数発生回路、及び前記書込データ用乱数発生回路は、それぞれが備える前記第１始点レジスタの値、前記各第１中間レジスタの値、及び前記第１終点レジスタから得られるビット列を、前記乱数として前記書込制御部へ出力し、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路は、それぞれが備える前記第１始点レジスタの値、前記各第１中間レジスタの値、及び前記第１終点レジスタから得られるビット列を、前記乱数として前記読出処理部及び前記判定部へ出力し、前記乱数生成制御部は、前記ランダムアクセスメモリへのアクセスを再現するときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する各第１乱数発生回路において、前記第１終点ＥＸＯＲ回路によって、前記第１始点レジスタの値と当該第１始点レジスタに隣接する第１中間レジスタの値とを排他的論理和した結果を前記順方向における前段の排他的論理和回路へ出力させ、前記複数の第１中間ＥＸＯＲ回路によって、前記順方向において各第１中間ＥＸＯＲ回路に対応していたレジスタの次段のレジスタの値と前記順方向における次段の排他的論理和回路の出力値とを排他的論理和して前記順方向における前段の排他的論理和回路へ出力させ、前記第１始点ＥＸＯＲ回路によって、前記順方向における次段の排他的論理和回路の出力値と、前記第１終点レジスタの値とを排他的論理和した結果を当該第１終点レジスタに記憶させることが好ましい。
【００１２】
この構成によれば、書込アドレス用乱数発生回路、書込データ用乱数発生回路、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを、それぞれ順方向とは逆の逆方向にシフトさせることで、ランダムアクセスメモリの検査を行うときに書込アドレス用乱数発生回路、書込データ用乱数発生回路、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを順方向にシフトさせることで生成されたアドレスとデータとを、順に遡って各第１乱数発生回路の状態を過去の状態に戻すことができる。
【００１３】
また、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路の各乱数発生回路は、それぞれ、排他的論理和回路で帰還をかけたシフトレジスタによって構成されるＬＦＳＲにおいて、シフト方向を逆転可能にされた第２乱数発生回路と、前記第１乱数発生回路で生成された乱数と前記第２乱数発生回路で生成された乱数とを排他的論理和することによりＧＯＬＤ系列の乱数を生成し、当該生成された乱数を前記各乱数発生回路の生成値として出力するＧＯＬＤ系列生成部とをさらに備えることが好ましい。
【００１４】
背景技術のように、Ｍ系列の乱数発生回路を用いてテスト用のデータを生成した場合、生成される数列の前後関係は一定となるため、複数のメモリアクセスにおけるデータの変化のバリエーションが貧弱であった。そのため、複数のメモリアクセスにおけるデータの変化の仕方に依存して発生するような不良を検出できないおそれがあった。しかしながら、この構成によれば、メモリの検査に用いられるアドレスとデータとが、Ｇｏｌｄ系列の乱数となるので、複数のメモリアクセスにおけるデータの変化のバリエーション、及びメモリアドレスの変化のバリエーションが背景技術より豊富となり、複数のメモリアクセスにおけるデータの変化の仕方に依存して発生するような不良が検出できないおそれを低減することができる。
【００１５】
また、前記各第２乱数発生回路のシフトレジスタは、一方端に位置するレジスタである第２始点レジスタと、他方端に位置するレジスタである第２終点レジスタと、前記第２始点レジスタと第２終点レジスタとの間に位置する複数のレジスタである第２中間レジスタとを備え、前記各第２乱数発生回路のＬＦＳＲは、前記順方向のとき前記第２終点レジスタの値と当該第２終点レジスタに隣接する第２中間レジスタの値とを排他的論理和した結果を出力する排他的論理和回路である第２始点ＥＸＯＲ回路と、前記順方向のとき前記第２始点レジスタの値と、前段の排他的論理和回路の出力とを排他的論理和した結果を当該第２始点レジスタに記憶させる排他的論理和回路である第２終点ＥＸＯＲ回路と、前記第２始点ＥＸＯＲ回路と第２終点ＥＸＯＲ回路との間に位置すると共に、前記順方向のとき前段の排他的論理和回路の出力値と各レジスタの値とを排他的論理和して次段の排他的論理和回路へ出力する複数の第２中間ＥＸＯＲ回路とを備え、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路は、それぞれが備える前記第２始点レジスタの値、前記各第２中間レジスタの値、及び前記第２終点レジスタから得られるビット列を前記乱数として、前記ＧＯＬＤ系列生成部へ出力し、前記乱数生成制御部は、前記ランダムアクセスメモリへのアクセスを再現するときは、前記書込アドレス用乱数発生回路、前記書込データ用乱数発生回路、前記読出アドレス用乱数発生回路、及び前記比較データ用乱数発生回路を構成する各第２乱数発生回路において、前記第２終点ＥＸＯＲ回路によって、前記第２始点レジスタの値と当該第２始点レジスタに隣接する第２中間レジスタの値とを排他的論理和した結果を前記順方向における前段の排他的論理和回路へ出力させ、前記複数の第２中間ＥＸＯＲ回路によって、前記順方向において各第２中間ＥＸＯＲ回路に対応していたレジスタの次段のレジスタの値と前記順方向における次段の排他的論理和回路の出力値とを排他的論理和して前記順方向における前段の排他的論理和回路へ出力させ、前記第２始点ＥＸＯＲ回路によって、前記順方向における次段の排他的論理和回路の出力値と、前記第２終点レジスタの値とを排他的論理和した結果を当該第２終点レジスタに記憶させることが好ましい。
【００１６】
この構成によれば、書込アドレス用乱数発生回路、書込データ用乱数発生回路、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する第１及び第２乱数発生回路のＬＦＳＲを、それぞれ順方向とは逆の逆方向にシフトさせることで、ランダムアクセスメモリの検査を行うときに生成されたＧｏｌｄ系列の乱数に基づくアドレスとデータとを、順に遡って各第１及び第２乱数発生回路の状態を過去の状態に戻すことができる。
【００１７】
また、前記書込アドレス用乱数発生回路で生成された乱数が予め設定されたアドレス範囲の上限値を超えた場合、当該乱数を破棄して再度当該書込アドレス用乱数発生回路によって乱数を生成させる書込アドレス範囲制限部と、前記読出アドレス用乱数発生回路で生成された乱数が予め設定されたアドレス範囲の上限値を超えた場合、当該乱数を破棄して再度当該読出アドレス用乱数発生回路によって乱数を生成させる読出アドレス範囲制限部とをさらに備えることが好ましい。
【００１８】
この構成によれば、書込アドレス範囲制限部が、書込アドレス用乱数発生回路で生成された乱数が予め設定されたアドレス範囲の上限値を超えた場合、当該乱数を破棄して再度当該書込アドレス用乱数発生回路によって乱数を生成させ、読出アドレス範囲制限部が、読出アドレス用乱数発生回路で生成された乱数が予め設定されたアドレス範囲の上限値を超えた場合、当該乱数を破棄して再度当該読出アドレス用乱数発生回路によって乱数を生成させるので、検査されるアドレス範囲を予め設定されたアドレス範囲に制限することができる。
【発明の効果】
【００１９】
このような構成のメモリ検査回路は、書込アドレス用乱数発生回路、及び書込データ用乱数発生回路で生成されたアドレスとデータとに基づいて、ランダムなアドレスにランダムなデータが書き込まれる。そして、書込アドレス用乱数発生回路で生成されたアドレスが、読出アドレス用乱数発生回路によって再現されてこのアドレスのデータが読出処理部で読み出され、当該読み出されたデータが、判定部によって、比較データ用乱数発生回路で再現されたデータと比較されることで、ランダムアクセスメモリの良否が判定されるので、アドレスとデータとの特定の組み合わせからなる特定のシーケンスが実行されたときにしか生じないようなメモリの故障モードを検出することができる。
【００２０】
そして、このような故障モードが検出された場合、書込アドレス用乱数発生回路、書込データ用乱数発生回路、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを、それぞれ順方向とは逆の逆方向にシフトさせることで、ランダムアクセスメモリの検査を行うときに書込アドレス用乱数発生回路、書込データ用乱数発生回路、読出アドレス用乱数発生回路、及び比較データ用乱数発生回路を構成する第１乱数発生回路のＬＦＳＲを順方向にシフトさせることで生成されたアドレスとデータとを、順に遡って各第１乱数発生回路の状態を過去の状態に戻すことができる。そうすると、この過去の状態に戻された各第１乱数発生回路を再び順方向にシフトさせることで、上記故障モードを生じさせたシーケンスを再現することができるので、当該故障モードを生じさせるシーケンスを特定することが容易となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図１は、本発明の一実施形態に係るメモリ検査回路１の構成の一例を示すブロック図である。図１に示すメモリ検査回路１は、書込処理部２、読出比較処理部３、乱数生成制御部４、アクセス順序制御部５、調停部７、及びインバータ８を備えている。そして、調停部７には、検査対象となるＲＡＭ１００が接続されている。
【００２２】
乱数生成制御部４は、ＲＡＭ１００の検査を行うときは、順方向の乱数生成を指示するシフト方向指示信号ＳＲを書込処理部２、読出比較処理部３、及びアクセス順序制御部５へ出力し、ＲＡＭ１００へのアクセスを再現するときは、逆方向の乱数生成を指示するシフト方向指示信号ＳＲを書込処理部２、読出比較処理部３、及びアクセス順序制御部５へ出力する。
【００２３】
アクセス順序制御部５は、書込処理部２、及び読出比較処理部３にメモリアクセスを指示するためのアクセス制御信号Ｒ／Ｗを、書込処理部２、及びインバータ８へ出力する。アクセス順序制御部５は、例えば、書込処理部２にＲＡＭ１００への書込処理をさせるときは、アクセス制御信号Ｒ／Ｗをハイレベルで出力し、読出比較処理部３にＲＡＭ１００からの読出し及び比較処理をさせるときは、アクセス制御信号Ｒ／Ｗをローレベルで出力する。
【００２４】
書込処理部２は、例えば、アクセス制御信号Ｒ／Ｗがハイレベルになると、乱数を生成し、当該乱数を用いてランダムなアドレスにランダムなデータを書き込む。また、例えば、アクセス制御信号Ｒ／Ｗがローレベルになると、インバータ８によってアクセス制御信号Ｒ／Ｗが反転されて、ハイレベルの信号が読出比較処理部３へ出力される。読出比較処理部３は、反転されたアクセス制御信号Ｒ／Ｗがハイレベル（アクセス制御信号Ｒ／Ｗがローレベル）になると、書込処理部２と同一の乱数系列の乱数を用いてＲＡＭ１００のアドレスと比較用のデータとを生成し、ＲＡＭ１００からデータを読み出すと共に比較用のデータと比較する。
【００２５】
この場合、インバータ８によって、アクセス制御信号Ｒ／Ｗが反転されて読出比較処理部３に出力されるので、書込処理部２と読出比較処理部３とが同時に動作してＲＡＭ１００をアクセスしないようになっている。
【００２６】
また、アクセス順序制御部５は、ＲＡＭ１００のアドレス空間を領域Ａ（第１領域）と領域Ｂ（第２領域）とに分離し、書込処理部２及び読出比較処理部３に対してそれぞれアクセスすべき領域を指示する領域制御信号を出力する。
【００２７】
アクセス順序制御部５は、書込処理部２が領域Ａに書込処理を実行している期間中、読出比較処理部３が領域Ｂからの読出し処理、及び比較処理を実行し、書込処理部２が領域Ｂに書込処理を実行している期間中、読出比較処理部３が領域Ａからの読出し処理、及び比較処理を実行するように、書込処理部２及び読出比較処理部３に対して領域を指定する。
【００２８】
また、アクセス順序制御部５は、書込処理部２による書込処理を領域Ａ，Ｂのいずれか一方の領域に対して実行させた後、読出比較処理部３による当該一方の領域からの読出処理と書込処理部２による他方の領域への書込処理とをランダムな順序で実行させる。
【００２９】
図２は、図１に示す書込処理部２の構成の一例を示すブロック図である。書込処理部２は、書込アドレス用乱数発生回路２１、書込データ用乱数発生回路２２、及び書込制御部２３を備えている。
【００３０】
書込アドレス用乱数発生回路２１は、第１乱数発生回路２１１、第２乱数発生回路２１２、ＧＯＬＤ系列生成部２１３、比較器２１４（書込アドレス範囲制限部）、及び上限アドレス設定レジスタ２１５を備えている。第１乱数発生回路２１１と第２乱数発生回路２１２とは、いわゆるＬＦＳＲ（Linear Feedback Shift Register）を用いて構成されたＭ系列の乱数発生回路である。
【００３１】
そして、第１乱数発生回路２１１と第２乱数発生回路２１２とが備えるＬＦＳＲは、乱数生成制御部４からのシフト方向指示信号ＳＲに応じて、順方向又は逆方向にシフトする。
【００３２】
第２乱数発生回路２１２は、ｎ個のレジスタ（フリップフロップ）Ｂ０〜Ｂｎ−１が連結されたシフトレジスタと、ＬＦＳＲを構成するｎ−１個のＥＸＯＲ（Exclusive OR）ゲートＳ０〜Ｓｎ−２とを備えている。そして、レジスタＢ０（第２終点レジスタ）と、レジスタＢｎ−１（第２始点レジスタ）と、レジスタＢ０とレジスタＢｎ−１との間に位置する複数のレジスタＢ１〜Ｂｎ−２（第２中間レジスタ）とが連結されてシフトレジスタを構成している。
【００３３】
なお、符号ｆ０〜ｆｎ−１は、それぞれレジスタＢ０〜Ｂｎ−１の値（０ｏｒ１）を示している。
【００３４】
また、第２乱数発生回路２１２のＬＦＳＲは、レジスタＢ０（第２終点レジスタ）の値とレジスタＢ０に隣接するレジスタＢ１（第２中間レジスタ）の値とを排他的論理和した結果を出力する排他的論理和回路であるＥＸＯＲゲートＳ０（第２始点ＥＸＯＲ回路）と、レジスタＢｎ−１（第２始点レジスタ）の値と、前段のＥＸＯＲゲートＳｎ−２の出力とを排他的論理和した結果をレジスタＢｎ−１（第２始点レジスタ）に記憶させるＥＸＯＲゲートＳｎ−１（第２終点ＥＸＯＲ回路）と、前段の排他的論理和回路の出力値と各レジスタの値とを排他的論理和して次段の排他的論理和回路へ出力するＥＸＯＲゲートＳ１〜Ｓｎ−２（第２中間ＥＸＯＲ回路）とから構成されている。
【００３５】
そして、レジスタＢ０〜Ｂｎ−１の各ビット値からなるビット列が、第２乱数発生回路２１２で生成された乱数としてＧＯＬＤ系列生成部２１３へ出力される。
【００３６】
さらに、第２乱数発生回路２１２のＬＦＳＲは、乱数生成制御部４からのシフト方向指示信号ＳＲが逆方向を指示する場合、すなわちＲＡＭ１００へのアクセスを再現するときは、ＥＸＯＲゲートＳｎ−１（第２終点ＥＸＯＲ回路）が、レジスタＢｎ−１（第２始点レジスタ）の値とレジスタＢｎ−２（第２中間レジスタ）の値とを排他的論理和した結果を順方向における前段のＥＸＯＲゲートＳｎ−２へ出力し、ＥＸＯＲゲートＳ１〜Ｓｎ−２（第２中間ＥＸＯＲ回路）のそれぞれが、順方向においてＥＸＯＲゲートＳ１〜Ｓｎ−２にそれぞれ対応していたレジスタＢ０〜Ｂｎ−３の次段のレジスタＢ１〜Ｂｎ−２の値と順方向における次段のＥＸＯＲゲートＳ２〜Ｓｎ−１の出力値とを排他的論理和して順方向における前段のＥＸＯＲゲートＳ０〜Ｓｎ−３へ出力し、ＥＸＯＲゲートＳ０（第２始点ＥＸＯＲ回路）が、順方向における次段のＥＸＯＲゲートＳ１の出力値とレジスタＢ０に隣接するレジスタＢ１（第２中間レジスタ）の値とを排他的論理和した結果をレジスタＢ０（第２終点レジスタ）に記憶させる。
【００３７】
第２乱数発生回路２１２のＬＦＳＲは、例えばシフト方向指示信号ＳＲに応じてレジスタＢ０〜Ｂｎ−１やＥＸＯＲゲートＳ０〜Ｓｎ−１の入出力の接続先を切り替える切換回路を備えていてもよく、例えばＥＸＯＲゲートＳ０〜Ｓｎ−１を順方向用と逆方向用とで２つずつ設けておき、シフト方向指示信号ＳＲに応じて使用するＥＸＯＲゲートＳ０〜Ｓｎ−１を選択するようにしたりすることで、シフト方向指示信号ＳＲに応じてシフト方向を順方向と逆方向とに切り替え可能にされていてもよい。
【００３８】
第１乱数発生回路２１１は、ｎ−１ビットのＬＦＳＲと、乱数の最下位ビット（ＬＳＢ）を生成するｎ個のＥＸＯＲゲートＬ０〜Ｌｎ−１とを備えている。第１乱数発生回路２１１におけるＬＦＳＲは、第２乱数発生回路２１２からレジスタＢｎ−１とＥＸＯＲゲートＳｎ−１とを取り除いた構成となっている。この場合、レジスタＢ０が第１終点レジスタ、レジスタＢｎ−２が第１始点レジスタ、レジスタＢ１〜レジスタＢｎ−３が第１中間レジスタに相当し、ＥＸＯＲゲートＳ０が第１始点ＥＸＯＲ回路、ＥＸＯＲゲートＳｎ−２が第１終点ＥＸＯＲ回路、ＥＸＯＲゲートＳ２〜Ｓｎ−３が第１中間ＥＸＯＲ回路に相当している。
【００３９】
また、第１乱数発生回路２１１は、レジスタＢ０（第１終点レジスタ）の値とレジスタＢ１の値とを排他的論理和した結果を出力するＥＸＯＲゲートＬ０（領域分離用始点ＥＸＯＲ回路）と、レジスタＢｎ−２（第１始点レジスタ）の値と、前段のＥＸＯＲゲートＬｎ−３の出力とを排他的論理和した結果を出力するＥＸＯＲゲートＬｎ−２（領域分離用終点ＥＸＯＲ回路）と、ＥＸＯＲゲートＬ０とＥＸＯＲゲートＬｎ−２との間に位置すると共に前段の排他的論理和回路の出力値と各レジスタの値とを排他的論理和して次段の排他的論理和回路へ出力するＥＸＯＲゲートＬ１〜Ｌｎ−３（領域分離用中間ＥＸＯＲ回路）と、ＥＸＯＲゲートＬｎ−２の出力値とアクセス順序制御部５から出力された領域制御信号とを排他的論理和して出力するＥＸＯＲゲートＬｎ−１（領域指定用ＥＸＯＲ回路）とを備えて構成されている。
【００４０】
そして、レジスタＢ０〜Ｂｎ−２の各ビット値からなるビット列に、最下位ビットとしてＥＸＯＲゲートＬｎ−１の出力値を付加したビット列が、第１乱数発生回路２１１で生成された乱数としてＧＯＬＤ系列生成部２１３へ出力される。
【００４１】
ＧＯＬＤ系列生成部２１３は、第１乱数発生回路２１１から出力された乱数と第２乱数発生回路２１２から出力された乱数とを排他的論理和して、アドレス信号ＡｄｄＷとして書込制御部２３及び比較器２１４へ出力する。この場合、アドレス信号ＡｄｄＷは、Ｇｏｌｄ系列として知られている乱数となる。
【００４２】
上限アドレス設定レジスタ２１５には、ＲＡＭ１００の、検査しようとするアドレス範囲の上限値ＡｄｄＵが予め設定されている。比較器２１４は、ＧＯＬＤ系列生成部２１３から出力されたアドレス信号ＡｄｄＷと上限アドレス設定レジスタ２１５に設定されている上限値ＡｄｄＵとを比較し、アドレス信号ＡｄｄＷが上限値ＡｄｄＵを超えると、第１乱数発生回路２１１及び第２乱数発生回路２１２によって再び乱数を生成させ、ＧＯＬＤ系列生成部２１３によってアドレス信号ＡｄｄＷを再度生成させることで、アドレス信号ＡｄｄＷを、上限値ＡｄｄＵ以下の範囲になるように制限する。
【００４３】
これにより、上限アドレス設定レジスタ２１５に設定する上限値ＡｄｄＵによって、テストするアドレス範囲を柔軟に設定することが可能となっている。
【００４４】
書込データ用乱数発生回路２２は、第１乱数発生回路２２１、第２乱数発生回路２２２、及びＧＯＬＤ系列生成部２２３を備えている。第１乱数発生回路２２１と第２乱数発生回路２２２とは、書込アドレス用乱数発生回路２１における第２乱数発生回路２１２と同様に構成されたＭ系列の乱数発生回路である。
【００４５】
そして、第１乱数発生回路２２１と第２乱数発生回路２２２とが備えるＬＦＳＲは、乱数生成制御部４からのシフト方向指示信号ＳＲに応じて、順方向又は逆方向にシフトする。
【００４６】
ＧＯＬＤ系列生成部２２３は、第１乱数発生回路２２１から出力された乱数と第２乱数発生回路２２２から出力された乱数とを排他的論理和して、データ信号ＤａｔａＷとして書込制御部２３へ出力する。この場合、データ信号ＤａｔａＷは、Ｇｏｌｄ系列として知られている乱数となる。
【００４７】
書込制御部２３は、例えばＤＭＡＣ（Direct Memory Access Controler）等を用いて構成された制御回路であり、書込アドレス用乱数発生回路２１から出力されたアドレス信号ＡｄｄＷと、書込データ用乱数発生回路２２から出力されたデータ信号ＤａｔａＷとに基づいてＲＡＭ１００へのアクセス要求を調停部７へ出力することによって、ＲＡＭ１００へのデータ書込処理を実行する。
【００４８】
図３は、図１に示す読出比較処理部３の構成の一例を示すブロック図である。読出比較処理部３は、読出アドレス用乱数発生回路３１、比較データ用乱数発生回路３２、読出処理部３３、及び判定部３４を備えている。
【００４９】
読出アドレス用乱数発生回路３１は、第１乱数発生回路３１１、第２乱数発生回路３１２、ＧＯＬＤ系列生成部３１３、比較器３１４（読出アドレス範囲制限部）、及び上限アドレス設定レジスタ３１５を備えている。比較データ用乱数発生回路３２は、第１乱数発生回路３２１、第２乱数発生回路３２２、及びＧＯＬＤ系列生成部３２３を備えている。
【００５０】
第１乱数発生回路３１１は、書込アドレス用乱数発生回路２１における第１乱数発生回路２１１と同様に構成されたＭ系列の乱数発生回路である。そして、第１乱数発生回路３１１が備えるＥＸＯＲゲートＬｎ−１には、アクセス順序制御部５から出力された領域制御信号が入力されるようになっている。
【００５１】
第２乱数発生回路３１２、第１乱数発生回路３２１、及び第２乱数発生回路３２２は、読出アドレス用乱数発生回路３１における第２乱数発生回路２１２と同様に構成されたＭ系列の乱数発生回路である。
【００５２】
そして、ＧＯＬＤ系列生成部３１３は、第１乱数発生回路３１１から出力された乱数と第２乱数発生回路３１２から出力された乱数とを排他的論理和して、アドレス信号ＡｄｄＲとして読出処理部３３及び比較器３１４へ出力する。この場合、アドレス信号ＡｄｄＲは、Ｇｏｌｄ系列として知られている乱数となる。
【００５３】
上限アドレス設定レジスタ３１５には、書込アドレス用乱数発生回路２１における上限アドレス設定レジスタ２１５と同じ上限値ＡｄｄＵが予め設定されている。これにより、読出アドレス用乱数発生回路３１は、書込アドレス用乱数発生回路２１におけるアドレス信号ＡｄｄＷと同じ乱数をアドレス信号ＡｄｄＲとして生成することができる。
【００５４】
また、ＧＯＬＤ系列生成部３２３は、第１乱数発生回路３２１から出力された乱数と第２乱数発生回路３２２から出力された乱数とを排他的論理和して、比較用のデータ信号ＤａｔａＣとして判定部３４へ出力する。この場合、データ信号ＤａｔａＣは、Ｇｏｌｄ系列として知られている乱数となる。これにより、比較データ用乱数発生回路３２は、書込データ用乱数発生回路２２におけるデータ信号ＤａｔａＷと同じ乱数をデータ信号ＤａｔａＣとして生成することができる。
【００５５】
読出処理部３３は、例えばＤＭＡＣ等を用いて構成された制御回路であり、読出アドレス用乱数発生回路３１から出力されたアドレス信号ＡｄｄＲに基づいてＲＡＭ１００へのアクセス要求を調停部７へ出力することによって、ＲＡＭ１００からのデータ読出し処理を実行する。そして、読出処理部３３によってＲＡＭ１００から読み出されたデータ信号ＤａｔａＲは、判定部３４へ出力される。
【００５６】
判定部３４は、例えば比較回路を用いて構成されている。そして、判定部３４は、読出処理部３３によってＲＡＭ１００から読み出されたデータ信号ＤａｔａＲと、比較データ用乱数発生回路３２から出力されたデータ信号ＤａｔａＣとを比較し、不一致であった場合、ＲＡＭ１００が不良であることを示す判定信号Ｓｊを出力する。
【００５７】
図４は、図１に示すアクセス順序制御部５におけるアクセス制御信号Ｒ／Ｗの生成回路であるＲＷ制御部５１の一例を示す回路図である。ＲＷ制御部５１は、第１乱数発生回路５１１、第２乱数発生回路５１２、及びＲＷ信号生成部５１３を備えて構成されている。第１乱数発生回路５１１と第２乱数発生回路５１２とは、書込アドレス用乱数発生回路２１における第２乱数発生回路２１２と同様に構成されたＭ系列の乱数発生回路である。
【００５８】
ＲＷ信号生成部５１３は、第１乱数発生回路５１１から出力された乱数と第２乱数発生回路５１２から出力された乱数とを排他的論理和してＧｏｌｄ系列の乱数を生成し、この乱数の１ビットをアクセス制御信号Ｒ／Ｗとして書込処理部２及びインバータ８へ出力する。そして、第１乱数発生回路５１１と第２乱数発生回路５１２とが備えるＬＦＳＲは、乱数生成制御部４からのシフト方向指示信号ＳＲに応じて、順方向又は逆方向にシフトする。
【００５９】
これにより、ＲＷ制御部５１は、乱数生成制御部４から逆方向を指示するシフト方向指示信号ＳＲが出力されると、アクセス制御信号Ｒ／Ｗを逆方向に遡って再現することができるので、書込処理部２による書込処理と読出比較処理部３による読出し処理との実行順序を遡って再現することができる。
【００６０】
なお、図２，図３，図４において、第１乱数発生回路２１１，２２１，３１１，３１２，５１１、第２乱数発生回路２１２，２２２，３１２，３２２，５１２のＬＦＳＲは、順方向が反時計回りのシフト方向、逆方向が時計回りのシフト方向を示している。
【００６１】
また、アクセス順序制御部５は、例えば図略の加減算可能なカウンタ回路を用いて領域制御信号を生成するようになっている。アクセス順序制御部５は、例えば、書込処理部２及び読出比較処理部３によるＲＡＭ１００へのアクセス回数を上述のカウンタ回路で計数し、当該計数値が予め設定された設定回数になる一定の区間毎に、領域制御信号の信号レベルを反転すると共にカウンタ値をリセットする。
【００６２】
また、アクセス順序制御部５は、乱数生成制御部４から逆方向を指示するシフト方向指示信号ＳＲが出力されると、上述のカウンタ回路を減算することで、領域制御信号を逆方向に遡って再現するようになっている。
【００６３】
次に、図１に示すメモリ検査回路１の動作について説明する。図５は、図１に示すメモリ検査回路１によって、ＲＡＭ１００の検査を行う際の動作を説明するための説明図である。図５において、上段は書込処理部２によるＲＡＭ１００へのデータ書込処理を示し、下段は読出比較処理部３によるＲＡＭ１００からのデータ読出し処理を示している。また、図５の縦軸方向は、領域Ａ，Ｂ内でのアドレスの値を示している。そして、「Ｗａ１」は領域Ａのアドレスａ１への書込処理を示し、「Ｗｂ３」は領域Ｂのアドレスｂ３への書込処理を示し、「Ｒａ２」は領域Ｂのアドレスａ２からの読出処理を示し、「Ｒｂ５」は領域Ｂのアドレスｂ５からの読出処理を示している。
【００６４】
なお、図５におけるａ１〜ａ８、ｂ１〜ｂ６はランダムなアドレスを示しており、１〜８、１〜６といった数字の並び順のアドレスを示している訳ではない。
【００６５】
まず、乱数生成制御部４によって、ＲＡＭ１００の検査を行うべく、順方向の乱数生成を指示するシフト方向指示信号ＳＲが書込処理部２、読出比較処理部３、及びアクセス順序制御部５へ出力され、区間Ｔ１の処理が開始される。
【００６６】
そうすると、アクセス順序制御部５によって、アクセス制御信号Ｒ／Ｗがハイレベルにされると共に書込処理部２へ領域Ａを指定する領域制御信号（０）が出力される。このとき、アクセス順序制御部５は、第１乱数発生回路２１１，２２１、第２乱数発生回路２１２，２２２の各レジスタＢ０〜Ｂｎ−１に、それぞれ初期値（種）Ｘ１，Ｘ２，Ｘ３，Ｘ４を設定する。
【００６７】
そうすると、書込処理部２によって、書込アドレス用乱数発生回路２１でアドレス信号ＡｄｄＷとして生成されたアドレスａ１に、書込データ用乱数発生回路２２で生成されたデータ信号ＤａｔａＷが書き込まれる。以下同様に、アドレスａ２，ａ３，ａ４に、書込データ用乱数発生回路２２で生成されたデータ信号ＤａｔａＷが書き込まれる。
【００６８】
このとき、第１乱数発生回路２１１では、ＥＸＯＲゲートＬｎ−１には、領域制御信号として「０」が入力されるので、第１乱数発生回路２１１から出力される乱数のＬＳＢは、ＥＸＯＲゲートＬｎ−２の出力値がそのまま用いられることとなる。
【００６９】
なお、説明の都合上、一つの区間で実行されるアクセス回数が４回の例を示したが、１区間で実行されるアクセス回数は、書込アドレス用乱数発生回路２１や読出アドレス用乱数発生回路３１で生成される乱数の周期より少なければよく、例えば検査対象のアドレス範囲の半分に相当するアクセス回数を、１区間で実行するようにしてもよい。
【００７０】
次に、区間Ｔ２の処理が開始され、アクセス順序制御部５によって、読出比較処理部３の第１乱数発生回路３１１，３２１、第２乱数発生回路３１２，３２２の各レジスタＢ０〜Ｂｎ−１に、一つ前の区間で第１乱数発生回路２１１，２２１、第２乱数発生回路２１２，２２２に設定されたのと同じ初期値Ｘ１，Ｘ２，Ｘ３，Ｘ４が設定される。一方、アクセス順序制御部５によって、第１乱数発生回路２１１に、Ｘ１とは異なる初期値Ｘ５が設定され、第２乱数発生回路２１２には、再び初期値Ｘ２が設定される。
【００７１】
ここで、検査領域を切り替えて検査する際に、第１乱数発生回路２１１に設定する初期値を変化させることで、メモリアドレスの乱雑さを増大させて、より実際の使用条件に近いメモリの検査を行うことが可能となる。
【００７２】
そして、アクセス順序制御部５によって、読出比較処理部３に対して領域Ａを指定する領域制御信号（０）が出力され、書込処理部２に対して領域Ｂを指定する領域制御信号（１）が出力される。さらに、アクセス順序制御部５によって、アクセス制御信号Ｒ／Ｗがランダムに出力される。
【００７３】
そうすると、区間Ｔ２において、ＲＡＭ１００の領域Ａに対する読出比較処理部３の読出しアクセスと、ＲＡＭ１００の領域Ｂに対する書込処理部２の書込アクセスとがランダムに混在して実行される。そうすると、従来、メモリの検査として行われているような、メモリの全記憶領域に連続してデータを書き込んでからデータを読み出して比較する検査方法よりも、実際の装置の動作に近いメモリアクセスを再現して、メモリへのライトアクセスとリードアクセスとが混在して実行された場合に生じる不具合を検出することが可能となる。
【００７４】
このとき、読出比較処理部３における読出アドレス用乱数発生回路３１、及び比較データ用乱数発生回路３２は、一つ前の区間Ｔ１での書込処理部２における書込アドレス用乱数発生回路２１、及び書込データ用乱数発生回路２２と同じ乱数を生成するので、読出比較処理部３によって、書込処理部２が一つ前の区間でデータ信号ＤａｔａＷの書込を行った領域Ａのアドレスａ１，ａ２，ａ３，ａ４からデータが読み出されて、書込処理部２が一つ前の区間で領域Ａのアドレスａ１，ａ２，ａ３，ａ４に書き込んだデータと比較され、ＲＡＭ１００の良否が判定される。
【００７５】
一方、読出比較処理部３による領域Ａのアドレスａ１，ａ２，ａ３，ａ４の検査と並行して、書込処理部２によって、書込アドレス用乱数発生回路２１でアドレス信号ＡｄｄＷとして生成されたアドレスｂ１に、書込データ用乱数発生回路２２で生成されたデータ信号ＤａｔａＷが書き込まれる。以下同様に、アドレスｂ２，ｂ３，ｂ４に、書込データ用乱数発生回路２２で生成されたデータ信号ＤａｔａＷが書き込まれる。
【００７６】
このとき、第１乱数発生回路２１１では、ＥＸＯＲゲートＬｎ−１には、領域制御信号として「１」が入力されるので、第１乱数発生回路２１１から出力される乱数のＬＳＢは、ＥＸＯＲゲートＬｎ−２の出力値が反転されて用いられることとなる。このように、領域Ａをアクセスするときは、第１乱数発生回路２１１から出力される乱数のＬＳＢとして、ＥＸＯＲゲートＬｎ−２の出力値がそのまま用いられ、領域Ｂをアクセスするときは、第１乱数発生回路２１１から出力される乱数のＬＳＢとして、ＥＸＯＲゲートＬｎ−２の出力値が反転されて用いられることで、図６に示すように、ＲＡＭ１００のアドレス空間が乱雑に入り組んだ状態で領域Ａと領域Ｂとの２つの空間に分離される。
【００７７】
また、もし仮に、ＲＡＭ１００のアドレス空間を領域Ａ，Ｂに分離せずに、区間Ｔ２において、書込処理部２と読出比較処理部３とが同じ領域に対してデータの書込とデータの読出しとをランダムな順序で実行すると、区間Ｔ１において書込処理部２によりデータが書き込まれたアドレスに、読出比較処理部３によるデータの読出しが実行される前に新たなデータが書き込まれてしまい、データが不一致になるおそれがある。
【００７８】
しかしながら、区間Ｔ２においては、書込処理部２と読出比較処理部３とが異なる領域に対してアクセスを行うようにされているので、読出比較処理部３によるデータの読出しが実行される前に新たなデータが書き込まれてデータが不一致になることが防止されるようになっている。
【００７９】
次に、区間Ｔ３の処理が開始され、アクセス順序制御部５によって、読出比較処理部３の第１乱数発生回路３１１，３２１、第２乱数発生回路３１２，３２２の各レジスタＢ０〜Ｂｎ−１に、一つ前の区間で第１乱数発生回路２１１，２２１、第２乱数発生回路２１２，２２２に設定されたのと同じ初期値Ｘ５，Ｘ２，Ｘ３，Ｘ４が設定される。一方、アクセス順序制御部５によって、第１乱数発生回路２１１，２２１、第２乱数発生回路２１２，２２２に、初期値Ｘ６，Ｘ２，Ｘ３，Ｘ４が設定される。
【００８０】
そして、アクセス順序制御部５によって、読出比較処理部３に対して領域Ｂを指定する領域制御信号（１）が出力され、書込処理部２に対して領域Ａを指定する領域制御信号（０）が出力される。さらに、アクセス順序制御部５によって、アクセス制御信号Ｒ／Ｗがランダムに出力される。
【００８１】
そうすると、区間Ｔ３において、ＲＡＭ１００の領域Ｂに対する読出比較処理部３の読出しアクセスと、ＲＡＭ１００の領域Ａに対する書込処理部２の書込アクセスとがランダムに混在して実行される。
【００８２】
このとき、読出比較処理部３における読出アドレス用乱数発生回路３１、及び比較データ用乱数発生回路３２は、一つ前の区間Ｔ２での書込処理部２における書込アドレス用乱数発生回路２１、及び書込データ用乱数発生回路２２と同じ乱数を生成するので、読出比較処理部３によって、書込処理部２がデータ信号ＤａｔａＷの書込を行った領域Ｂのアドレスｂ１，ｂ２，ｂ３，ｂ４からデータが読み出されて、書込処理部２が領域Ｂのアドレスｂ１，ｂ２，ｂ３，ｂ４に書き込んだデータと比較され、ＲＡＭ１００の良否が判定される。
【００８３】
一方、読出比較処理部３による領域Ｂのアドレスｂ１，ｂ２，ｂ３，ｂ４の検査と並行して、書込処理部２によって、書込アドレス用乱数発生回路２１でアドレス信号ＡｄｄＷとして生成されたアドレスａ５に、書込データ用乱数発生回路２２で生成されたデータ信号ＤａｔａＷが書き込まれる。以下同様に、アドレスａ６，ａ７，ａ８に、書込データ用乱数発生回路２２で生成されたデータ信号ＤａｔａＷが書き込まれる。
【００８４】
このように、予め設定されたアクセス回数で規定される区間毎に、書込処理部２によりデータが書き込まれる領域と、読出比較処理部３によりデータが読み出される領域とが切り替えられるようになっている。そして、各区間において、データの書込と読出しの実行順序がランダムにされているので、実際の装置の動作に近いメモリアクセスを再現して、メモリへのライトアクセスとリードアクセスとが混在して実行された場合に生じる不具合を検出することが可能となり、アドレスとデータとの特定の組み合わせからなる特定のシーケンスが実行されたときにしか生じないようなメモリの故障モードを検出することが可能となる。
【００８５】
また、背景技術のように、Ｍ系列の乱数発生回路を用いてテスト用のデータを生成した場合、生成される数列の前後関係は一定となるため、複数のメモリアクセスにおけるデータの変化のバリエーションが貧弱であった。そのため、複数のメモリアクセスにおけるデータの変化の仕方に依存して発生するような不良を検出できないおそれがあった。
【００８６】
しかしながら、図２、図３に示す書込処理部２、読出比較処理部３は、乱数生成にＧｏｌｄ系列の乱数発生回路を用いているので、複数のメモリアクセスにおけるデータの変化のバリエーション、及びメモリアドレスの変化のバリエーションが背景技術より豊富となり、複数のメモリアクセスにおけるデータの変化の仕方に依存して発生するような不良が検出できないおそれを低減することができる。
【００８７】
次に、読出比較処理部３によってＲＡＭ１００の不良が検出された場合に、不良解析のためにＲＡＭ１００へのアクセスを再現するときの動作について説明する。図７は、逆方向に動作させた場合の書込処理部２、読出比較処理部３、及びアクセス順序制御部５の動作を説明するための説明図である。
【００８８】
まず、不良を生じたＲＡＭ１００へのアクセスを再現する場合、乱数生成制御部４によって、逆方向の乱数生成を指示するシフト方向指示信号ＳＲが、書込処理部２、読出比較処理部３、及びアクセス順序制御部５へ出力される。
【００８９】
例えば、図７に示す区間Ｔ３の、読出比較処理部３によるアドレスｂ４からのデータの読出し（Ｒｂ４）でデータの不一致が検出された場合、乱数生成制御部４は、逆方向の乱数生成を指示するシフト方向指示信号ＳＲを書込処理部２、読出比較処理部３、及びアクセス順序制御部５へ出力して、第１乱数発生回路２１１，２２１，３１１，３１２，５１１、第２乱数発生回路２１２，２２２，３１２，３２２，５１２のＬＦＳＲを、逆方向（時計回り）にシフトさせる。
【００９０】
そうすると、アクセス順序制御部５から出力されるアクセス制御信号Ｒ／Ｗがハイレベルになり、書込処理部２による書込アクセスに戻る。このとき、書込アドレス用乱数発生回路２１によりアドレスａ５が再現されると共に、書込データ用乱数発生回路２２により前回アドレスａ５に書き込んだデータ信号ＤａｔａＷが再現される。
【００９１】
次に、乱数生成制御部４は、順逆方向の乱数生成を指示するシフト方向指示信号ＳＲを書込処理部２、読出比較処理部３、及びアクセス順序制御部５へ出力して、第１乱数発生回路２１１，２２１，３１１，３１２，５１１、第２乱数発生回路２１２，２２２，３１２，３２２，５１２のＬＦＳＲを、順方向（半時計回り）にシフトさせる。
【００９２】
そうすると、書込処理部２による領域Ａのアドレスａ５への書込処理（Ｗａ５）と、読出比較処理部３による領域Ｂのアドレスｂ４からの読出処理（Ｒｂ４）とが再現されるので、故障モードを顕在化させるのに必要な最小限のメモリアクセスからなる特定のシーケンスを再現させることができる結果、故障モードを顕在化させるシーケンスを特定することが容易となる。
【００９３】
なお、逆方向で１回分のアクセスを元に戻す例に限られず、２回以上のアクセスを逆方向に戻すようにしてもよい。
【００９４】
背景技術に係るメモリ検査回路の乱数発生回路では、故障モードを検出しても、このような故障モードを生じさせるシーケンスを再現させるためには、乱数系列を初期化して最初のアクセスから全て実行し直す必要があった。しかしながら、図１に示すメモリ検査回路１は、不良が検出されたときから逆に乱数を遡って再現させることができるので、背景技術に係るメモリ検査回路よりも、故障モードを顕在化させるのに必要な最小限のメモリアクセスからなる特定のシーケンスを再現させることが容易となる。
【００９５】
また、読出比較処理部３によって、データの不一致が検出された場合、第１乱数発生回路２１１，２２１，３１１，３１２，５１１、第２乱数発生回路２１２，２２２，３１２，３２２，５１２のＬＦＳＲにおける各レジスタＢ０〜Ｂｎ−１の値を読み出して、図略のメモリに記憶させておくようにすれば、後日、ＲＡＭ１００の不良を再現する際にメモリに記憶させておいた各レジスタＢ０〜Ｂｎ−１の値をそれぞれレジスタＢ０〜Ｂｎ−１に設定することで、メモリ検査回路１を不良検出時の状態に戻して逆方向に動作させることで、何度でも、ＲＡＭ１００の不良動作を再現することが可能となる。
【００９６】
なお、例えば、図８に示す書込処理部２ａのように、書込アドレス用乱数発生回路２１ａは、第２乱数発生回路２１２及びＧＯＬＤ系列生成部２１３を備えず、第１乱数発生回路２１１で生成された乱数をそのままアドレス信号ＡｄｄＷとして用いる構成としてもよい。また、書込データ用乱数発生回路２２ａは、第２乱数発生回路２２２及びＧＯＬＤ系列生成部２２３を備えず、第１乱数発生回路２２１で生成された乱数をそのままデータ信号ＤａｔａＷとして用いる構成としてもよい。
【００９７】
同様に、図９に示す読出比較処理部３ａのように、読出アドレス用乱数発生回路３１ａは、第２乱数発生回路３１２及びＧＯＬＤ系列生成部３１３を備えず、第１乱数発生回路３１１で生成された乱数をそのままアドレス信号ＡｄｄＲとして用いる構成としてもよい。また、比較データ用乱数発生回路３２ａは、第２乱数発生回路３２２及びＧＯＬＤ系列生成部３２３を備えず、第１乱数発生回路３２１で生成された乱数をそのままデータ信号ＤａｔａＣとして用いる構成としてもよい。
【００９８】
また、図１０に示すＲＷ制御部５１ａのように、第２乱数発生回路５１２及びＲＷ信号生成部５１３を備えず、例えば第１乱数発生回路５１１におけるレジスタＢ０〜Ｂｎ−１の出力値のうち１ビット、例えばレジスタＢ０の出力信号を、そのままアクセス制御信号Ｒ／Ｗとして用いる構成としてもよい。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施形態に係るメモリ検査回路の構成の一例を示すブロック図である。
【図２】図１に示す書込処理部の構成の一例を示すブロック図である。
【図３】図１に示す読出比較処理部の構成の一例を示すブロック図である。
【図４】図１に示すアクセス順序制御部におけるアクセス制御信号Ｒ／Ｗの生成回路であるＲＷ制御部の一例を示す回路図である。
【図５】図１に示すメモリ検査回路によって、ＲＡＭの検査を行う際の動作を説明するための説明図である。
【図６】ＲＡＭのアドレス空間における領域Ａと領域Ｂとの配置の一例を示す説明図である。
【図７】逆方向に動作させた場合の書込処理部、読出比較処理部、及びアクセス順序制御部の動作を説明するための説明図である。
【図８】図２に示す書込処理部の他の一例を示すブロック図である。
【図９】図３に示す読出比較処理部の他の一例を示すブロック図である。
【図１０】図４に示すアクセス順序制御部におけるアクセス制御信号Ｒ／Ｗの生成回路であるＲＷ制御部の他の一例を示す回路図である。
【符号の説明】
【０１００】
１  メモリ検査回路
２  書込処理部
３  読出比較処理部
４  乱数生成制御部
５  アクセス順序制御部
７  調停部
８  インバータ
２１  書込アドレス用乱数発生回路
２２  書込データ用乱数発生回路
２３  書込制御部
３１  読出アドレス用乱数発生回路
３２  比較データ用乱数発生回路
３３  読出処理部
３４  判定部
５１  制御部
１００  ＲＡＭ
２１１，２２１，３１１，３２１，５１１  第１乱数発生回路
２１２，２２２，３１２，３２２，５１２  第２乱数発生回路
２１３，２２３，３１３，３２３  ＧＯＬＤ系列生成部
２１４，３１４  比較器
２１５，３１５  上限アドレス設定レジスタ
５１３  ＲＷ信号生成部
Ａ，Ｂ  領域
ＡｄｄＲ  アドレス信号
ＡｄｄＵ  上限値
ＡｄｄＷ  アドレス信号
Ｂ０〜Ｂｎ−１  レジスタ
ＤａｔａＣ，ＤａｔａＲ，ＤａｔａＷ  データ信号
ＥＸＯＲゲートＬ０〜Ｌｎ−１
ＥＸＯＲゲートＳ０〜Ｓｎ−１
Ｒ／Ｗ  アクセス制御信号
ＳＲ  シフト方向指示信号
Ｓｊ  判定信号
Ｔ１，Ｔ２，Ｔ３  区間
Ｘ１〜Ｘ６  初期値
ａ１〜ａ７，ｂ１〜ｂ６  アドレス
【図１】
2010055350.tif 000003
【図２】
2010055350.tif 000004
【図３】
2010055350.tif 000005
【図４】
2010055350.tif 000006
【図５】
2010055350.tif 000007
【図６】
2010055350.tif 000008
【図７】
2010055350.tif 000009
【図８】
2010055350.tif 000010
【図９】
2010055350.tif 000011
【図１０】
2010055350.tif 000012