(57)【要約】【課題】ＬＳＩ機能記述レベル回路と論理シミュレータによりＲＡＭ−ＢＩＳＴ制御回路を用いて行うＲＡＭマクロの検査領域検証において、検証ミスや検証漏れを無くし、短期間で検証を行う。【解決手段】ＬＳＩ機能記述レベル回路１０３はＲＡＭ−ＢＩＳＴ制御回路１０１と検査領域検証用ＲＡＭマクロ１０５とを含み、検査領域検証用ＲＡＭマクロ１０５はＲＡＭマクロ１０２とＲＡＭ検査領域検証回路１０４を含むように構成する。論理シミュレータ１００によりＲＡＭ−ＢＩＳＴ制御回路１０１を動作させてＲＡＭマクロ１０２を検査する際に、ＲＡＭ−ＢＩＳＴ制御回路１０１が生成するアドレス、入力データ、チップイネーブル、ライトイネーブルをＲＡＭ検査領域検証回路１０４でモニタし、テストシーケンスごとに被検査領域の判定を行う。【選択図】  図１
2005050145.tif 000002
【特許請求の範囲】
【請求項１】
論理シミュレータにより動作するＲＡＭ−ＢＩＳＴ制御回路により検査領域検証用ＲＡＭマクロに含まれるＲＡＭマクロを検証するＲＡＭ検査領域検証方法であって、前記ＲＡＭマクロの入力信号をモニタして被検査領域の判定およびテストシーケンスの判定を行うＲＡＭ検査領域検証方法。
【請求項２】
請求項１記載のＲＡＭ検査領域検証方法を実施するＲＡＭ検査領域検証回路であって、前記ＲＡＭマクロの入力信号をモニタして被検査領域の判定を行うアドレス確認回路と、テストシーケンスの判定を行うテストシーケンス判定回路とを備えるＲＡＭ検査領域検証回路。
【請求項３】
前記アドレス確認回路は、検査開始アドレスおよび検査終了アドレスを検出するカウンタ制御回路と、ライト数とリード数をカウントするクロックカウンタと、前記ライト数とリード数をＲＡＭマクロ全領域検査時の期待値と比較判定するカウント結果判定回路とを備える請求項２記載のＲＡＭ検査領域検証回路。
【請求項４】
前記テストシーケンス判定回路は、入力データ格納レジスタと、アドレス格納レジスタと、入力データ照合回路と、アドレス照合回路と、照合結果判定回路とを備える請求項２記載のＲＡＭ検査領域検証回路。
【請求項５】
前記検査領域検証用ＲＡＭマクロを複数備える請求項２から４のいずれか一項記載のＲＡＭ検査領域検証回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の論理検証技術に係り、特にＢＩＳＴ方式にてＲＡＭマクロを検査する場合のＲＡＭマクロ検査領域検証方法および回路に関するものである。
【背景技術】
【０００２】
従来、ＬＳＩ内に自己診断用テストパターン発生回路を搭載したＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）方式にてＲＡＭマクロを検査する場合、ＲＡＭ−ＢＩＳＴ制御回路がＲＡＭマクロの全領域を検査しているかどうか検証する手段として、論理シミュレータを用いてＲＡＭマクロの信号をダンプし、目視にて検証を行っている。
【０００３】
図７は従来のＲＡＭ検査領域検証方法の構成を示すブロック図である。図７において、１００は論理シミュレータ、１０１はＲＡＭ−ＢＩＳＴ制御回路、１０２はＲＡＭマクロ、１０３はＬＳＩ機能記述レベル回路である。また、図８はＲＡＭマクロの動作を説明するタイミングチャートである。
【０００４】
以下、図７および図８を用いて、従来のＲＡＭ検査領域検証について説明する。ＲＡＭ−ＢＩＳＴ制御回路１０１はＲＡＭマクロ１０２を検査するためのテストシーケンスを有しており、そのテストシーケンスに従ってＲＡＭマクロ１０２の全領域を検査する。
【０００５】
まず、論理シミュレータ１００にて、ＬＳＩ機能記述レベル回路１０３内のＲＡＭ−ＢＩＳＴ制御回路１０１を動作させるための信号を入力する。ＲＡＭ−ＢＩＳＴ制御回路１０１は、論理シミュレータ１００からの信号を受け動作を開始し、テストシーケンスに従いアドレス、入力データ、ライトイネーブル、チップイネーブルを生成し、ＲＡＭマクロ１０２に入力する。ライトイネーブルがアクティブのとき、クロックの立ち上がりエッジで検査開始アドレスに入力データをライトする。
【０００６】
次に、ライトイネーブルが非アクティブのとき、クロックの立ち上がりエッジで検査開始アドレスにライトされたデータをリードする。リードされた出力データはＲＡＭ−ＢＩＳＴ制御回路１０１にフィードバックされ、ＲＡＭ−ＢＩＳＴ制御回路１０１は出力データを期待値と比較することにより、ＲＡＭマクロ１０２が正常にリード動作およびライトの動作を行っているか検査する。
【０００７】
この一連の動作をそれぞれのテストシーケンスごとに行い、ＲＡＭマクロ１０２の全領域を検査する。その際、ＲＡＭマクロ１０２に入力される信号とＲＡＭマクロ１０２から出力される信号を論理シミュレーションにてダンプし、ダンプした信号波形を目視チェックすることにより、ＲＡＭ−ＢＩＳＴ制御回路１０１がＲＡＭマクロ１０２を全領域検査しているかどうか検証する。
【先行技術文献】
【０００８】
特開２０００−１５５７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記従来のＲＡＭ検査領域検証は、論理シミュレーションにてＲＡＭマクロの信号波形をダンプし、目視チェックすることによりＲＡＭ−ＢＩＳＴ制御回路がＲＡＭマクロを全領域検査しているかどうか検証している。
【００１０】
しかしながら、従来のＲＡＭ検査領域検証では、目視チェックによる検証のため検証に要する時間が膨大である。また、目視チェックのため、検証漏れや検証ミスが発生する。その結果、ＬＳＩ開発期間が増大するといった問題や、ＲＡＭマクロ全領域を検査していないＲＡＭ−ＢＩＳＴ制御回路をＬＳＩに実装してＬＳＩを製造、検査、出荷してしまうといった問題がある。
【００１１】
本発明は、上記従来の問題点を解決するもので、ＲＡＭ−ＢＩＳＴ制御回路によるＲＡＭマクロの検査領域検証を短期間で確実に行うことが可能なＲＡＭ検査領域検証方法および回路を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のＲＡＭ検査領域検証方法は、論理シミュレータにより動作するＲＡＭ−ＢＩＳＴ制御回路により検査領域検証用ＲＡＭマクロに含まれるＲＡＭマクロを検証するＲＡＭ検査領域検証方法であって、前記ＲＡＭマクロの入力信号をモニタして被検査領域の判定およびテストシーケンスの判定を行う。
【００１３】
上記構成によれば、ＲＡＭ−ＢＩＳＴ制御回路によりＲＡＭマクロを検査する論理シミュレーションを行う際に、ＲＡＭマクロが全領域検査されているかどうかを検査領域検証用ＲＡＭマクロを用いて確認するため、検証漏れや検証ミスを無くすことができる。また、検証時間も削減することができるためＬＳＩ開発期間を短縮することが可能となる。
【００１４】
本発明のＲＡＭ検査領域検証回路は、本発明のＲＡＭ検査領域検証方法を実施するＲＡＭ検査領域検証回路であって、前記ＲＡＭマクロの入力信号をモニタして被検査領域の判定を行うアドレス確認回路と、テストシーケンスの判定を行うテストシーケンス判定回路とを備える。さらに、前記アドレス確認回路は、検査開始アドレスおよび検査終了アドレスを検出するカウンタ制御回路と、ライト数とリード数をカウントするクロックカウンタと、前記ライト数とリード数をＲＡＭマクロ全領域検査時の期待値と比較判定するカウント結果判定回路とを備える。さらに、前記テストシーケンス判定回路は、入力データ格納レジスタと、アドレス格納レジスタと、入力データ照合回路と、アドレス照合回路と、照合結果判定回路とを備える。
【００１５】
上記構成によれば、検査対象ＲＡＭマクロが全領域検査されているかどうかを検証する回路を簡易な回路で容易に構成することができる。
【００１６】
さらに、本発明のＲＡＭ検査領域検証回路は、前記検査領域検証用ＲＡＭマクロを複数備える。
【００１７】
上記構成によれば、複数のＲＡＭマクロをＲＡＭ−ＢＩＳＴ制御回路で検査する場合にも、各ＲＡＭマクロが全領域検査されているかどうかを、それぞれの検査領域検証用ＲＡＭマクロを用いて確認するため、検証漏れや検証ミスを無くすことができる。
【発明の効果】
【００１８】
本発明によれば、検査領域検証用ＲＡＭマクロを用いることにより、ＲＡＭマクロがＲＡＭ−ＢＩＳＴ制御回路により全領域検査できているかどうかを論理シミュレータにより検証できるため、検証漏れや検証ミスを無くすことができる。また、検証時間も削減することができるためＬＳＩ開発期間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面を参照しながら説明する。図１は本発明の実施の形態１に係るＲＡＭ検査領域検証方法の構成を示すブロック図である。図１において、１００は論理シミュレータ、１０１はＲＡＭ−ＢＩＳＴ制御回路、１０２はＲＡＭマクロ、１０３はＬＳＩ機能記述レベル回路、１０４はＲＡＭ検査領域検証回路、１０５は検査領域検証用ＲＡＭマクロである。ここで、図７と同じ構成要素には同一符号を付している。
【００２０】
以上のように構成されたＲＡＭ検査領域検証方法について、以下、その動作を説明する。まず、論理シミュレータ１００でＬＳＩ機能記述レベル回路１０３内のＲＡＭ−ＢＩＳＴ制御回路１０１を動作させ、テストシーケンスごとにアドレス、入力データ、ライトイネーブル、チップイネーブルを生成し、ＲＡＭマクロ１０２を検査する。
【００２１】
ＲＡＭマクロ１０２の出力データはＲＡＭ−ＢＩＳＴ制御回路１０１にフィードバックされ、ＲＡＭ−ＢＩＳＴ制御回路１０１にて期待値と比較される。この際、検査領域検証用ＲＡＭマクロ内のＲＡＭ検査領域検証回路１０４にて、アドレス、入力データ、ライトイネーブル、チップイネーブルをモニタし、ＲＡＭマクロ１０２が検査される領域の判定と、検査時のテストシーケンスの判定を行い、検査領域判定結果を検査領域確認信号として論理シミュレータ１００に出力する。
【００２２】
テストシーケンスの判定制御信号であるテストシーケンス判定イネーブルについてもＲＡＭ検査領域検証回路１０４で生成し、論理シミュレータ１００に出力する。これらの検査領域確認信号とテストシーケンス判定イネーブルを論理シミュレータでモニタすることにより、それぞれのテストシーケンスにおいてＲＡＭマクロ１０２が全領域検査されているかどうかを検証することができる。
【００２３】
以上のように、本実施の形態のＲＡＭ検査領域検証方法によれば、ＲＡＭ−ＢＩＳＴ制御回路１０１による各テストシーケンスでのＲＡＭマクロ１０２の検査領域検証を、検査領域検証用ＲＡＭマクロ１０５を使用して行うことにより、ＲＡＭマクロの検査領域が論理シミュレーションにて検証できるため、検証時間を大幅に短縮することが可能である。また、検査領域検証用ＲＡＭマクロ１０５を使用して論理シミュレーションにて検証を行うことにより、検証漏れや検証ミスを無くすことができる。
【００２４】
次に、検査領域検証用ＲＡＭマクロ１０５の動作について詳細に説明する。図２はＲＡＭ検査領域検証回路１０４の構成例を示すブロック図である。図２において、２００はアドレス確認回路、２０１はテストシーケンス判定回路である。
【００２５】
まず、ＲＡＭ検査領域検証回路１０４の動作について説明する。ＲＡＭ−ＢＩＳＴ制御回路１０１で生成するアドレス、入力データ、ライトイネーブル、チップイネーブル信号と、ＲＡＭマクロ１０２からの出力データと、論理シミュレータで生成するクロックをＲＡＭ検査領域検証回路１０４に入力する。
【００２６】
入力した信号のうち、アドレス確認回路２００には、アドレス、クロック、ライトイネーブル、チップイネーブル、テストシーケンス判定回路２０１からのテストシーケンス判定信号を入力する。一方、テストシーケンス判定回路２０１にはアドレス、入力データ、クロック、アドレス確認回路２００からのテストシーケンス判定イネーブルを入力する。
【００２７】
次に、アドレス確認回路２００の動作について説明する。アドレス確認回路２００は、検査開始アドレスが入力されるとクロックのカウントを開始し、検査終了アドレスが入力されるとカウントを終了する。さらに、検査終了アドレス入力後のクロックカウント数が現在のテストシーケンスにおいて全領域検査した場合のカウント数と一致するかどうかを判定し、判定結果を検査領域確認信号として論理シミュレータに出力する。
【００２８】
また、アドレス確認回路２００は、テストシーケンス判定回路２０１と論理シミュレータ１００に対してテストシーケンス判定イネーブルを出力しており、検査開始アドレスが入力されてから検査終了アドレスが入力されるまでの間は、テストシーケンス判定イネーブルはアクティブである。
【００２９】
次に、テストシーケンス判定回路２０１の動作について詳細に説明する。まず、アドレス確認回路２００からのテストシーケンス判定イネーブルがアクティブのときに、アドレスと入力データからＲＡＭ−ＢＩＳＴ制御回路１０１が現在どのテストシーケンスでＲＡＭマクロ１０２を検査しているか判定し、判定結果をテストシーケンス判定信号としてアドレス確認回路２００に出力する。
【００３０】
以上のように本実施の形態によれば、検査領域確認信号とテストシーケンス判定イネーブルを論理シミュレータ１００にてモニタすることで、各テストシーケンスにおいてＲＡＭマクロ１０２を全領域検査しているかどうか確認することができる。
【００３１】
次に、アドレス確認回路２００の動作について詳細に説明する。図３はアドレス確認回路２００の構成例を示すブロック図である。図３において、３００はカウンタ制御回路、３０１はクロックカウンタ、３０２はカウント結果判定回路である。
【００３２】
まず、カウンタ制御回路３００に、ＲＡＭ−ＢＩＳＴ制御回路１０１からのアドレス、ライトイネーブル、チップイネーブル信号と、論理シミュレータ１００からのクロックを入力する。
【００３３】
また、クロックカウンタ３０１に、カウンタ制御回路３００からのカウントイネーブルと、ライト回数カウントイネーブルと、リード回数カウントイネーブルと、論理シミュレータ１００からのクロックを入力する。
【００３４】
さらに、カウント結果判定回路３０２に、テストシーケンス判定回路２０１からのテストシーケンス判定信号と、クロックカウンタ３０１からのライト回数カウント値と、リード回数カウント値と、論理シミュレータからのクロックを入力する。
【００３５】
図５はアドレス確認回路２００およびテストシーケンス判定回路２０１の動作を説明するタイミングチャートである。以下、このタイミングチャートに沿って各回路の動作を説明する。
【００３６】
まず、カウンタ制御回路３００は、検査開始アドレスと検査終了アドレスを検出し、カウントイネーブルとテストシーケンス判定イネーブルを生成する。カウントイネーブルはクロックカウンタ３０１に出力され、テストシーケンス判定イネーブルは論理シミュレータに出力される。ここで、検査開始アドレス検出から検査終了アドレス検出までの間、カウントイネーブルとテストシーケンス判定イネーブルはアクティブである。
【００３７】
また、カウンタ制御回路３００は、ＲＡＭ−ＢＩＳＴ回路１０１からのライトイネーブルより、ライト回数カウントイネーブルと、リード回数カウントイネーブルを生成し、クロックカウンタ３０１に出力する。
【００３８】
次に、クロックカウンタ３０１は、カウントイネーブルがアクティブ、かつライト回数カウントイネーブルがアクティブのときに、入力されたクロックの回数をライト数カウント値としてカウントする。
【００３９】
また、カウントイネーブルがアクティブ、かつリード回数カウントイネーブルがアクティブのときに、入力されたクロックの回数をリード数カウント値としてカウントする。カウントイネーブルが非アクティブになったときに、ライト数カウント値とリード数カウント値をカウント結果判定回路３０２に出力する。
【００４０】
次に、カウント結果判定回路３０２は、カウンタ制御回路３００からのカウントイネーブルが非アクティブのときに、ライト数カウント値とリード数カウント値を取り込む。カウント結果判定回路３０２は、ＲＡＭマクロ１０２を全領域検査したときのテストシーケンスごとのカウント数期待値を所有しており、テストシーケンス判定信号からどのテストシーケンスの期待値と比較すべきか判断し、取り込んだライト数カウント値とリード数カウント値について期待値比較を行う。期待値と一致した場合は、テストシーケンス判定イネーブルが非アクティブの区間で、これを示す検査領域確認信号を論理シミュレータに出力する。
【００４１】
以上のように本実施の形態によれば、ＲＡＭ−ＢＩＳＴ制御１０１から出力される信号をアドレス確認回路２００に取り込んで判定動作を行うことにより、ＲＡＭマクロ１０２の全領域を各テストシーケンスにおいて検査しているかどうかを、検査領域確認信号とテストシーケンス判定イネーブルを論理シミュレーションでモニタすることにより確認することができる。
【００４２】
次に、テストシーケンス判定回路２０１の動作について詳細に説明する。図４はテストシーケンス判定回路２０１の構成例を示すブロック図である。図４において、４００は入力データ格納レジスタ、４０１はアドレス格納レジスタ、４０２は入力データ照合回路、４０３はアドレス照合回路、４０４は照合結果判定回路である。
【００４３】
まず、ＲＡＭ−ＢＩＳＴ制御回路１０１からＲＡＭマクロ１０２に入力される入力データおよびアドレスと、論理シミュレータ１００で生成するクロックと、アドレス確認回路２００で生成するテストシーケンス判定イネーブルをテストシーケンス判定回路２０１に入力する。
【００４４】
次に、図５のタイミングチャートに沿って各回路の動作を説明する。まず、入力データの数アドレス分を入力データ格納レジスタ４００に格納する。一度に格納する入力データ数は、テストシーケンスを判定する上で最低限必要な数に設定する。本説明では格納する入力データ数を４サイクル分として動作説明をする。
【００４５】
入力データ照合回路４０２は各テストシーケンスの入力データを所有しており、格納した入力データと所有している入力データを照合し、照合結果を照合結果判定回路４０４に出力する。
【００４６】
一方、アドレス信号についても入力データと同様に、アドレス格納レジスタ４０１に数アドレス格納する。一度に格納するアドレス数は、入力データと同様にテストシーケンスを判定する上で最低限必要な数に設定する。本説明では格納するアドレス数を４サイクル分として動作説明をする。
【００４７】
アドレス照合回路４０３は各テストシーケンスのアドレスを所有しており、格納したアドレスと所有しているアドレスを照合し、照合結果を照合結果判定回路４０４に出力する。
【００４８】
照合結果判定回路４０４は入力データ照合回路４０２とアドレス照合回路４０３での照合結果より、現在どのテストシーケンスで検査しているか判定し、判定結果をテストシーケンス判定信号としてアドレス確認回路２００に出力する。
【００４９】
以上のように本実施の形態によれば、ＲＡＭ−ＢＩＳＴ制御回路１０１からＲＡＭマクロ１０２に出力される信号をテストシーケンス判定回路２０１でモニタすることにより、どのテストシーケンスでＲＡＭ−ＢＩＳＴ制御回路１０１が検査しているか確認することができる。
【００５０】
図６は本発明の実施の形態２に係るＲＡＭ検査領域検証方法の構成を示すブロック図である。本実施の形態は、１つのＲＡＭ−ＢＩＳＴ制御回路１０１で複数のＲＡＭマクロ１０２を検査する場合のＲＡＭ検査領域検証方法である。本実施の形態により、複数のＲＡＭマクロ１０２をＲＡＭ−ＢＩＳＴ制御回路１０１で検査する場合にも、実施の形態１と同じ要領で、各テストシーケンスにおいて全領域を検査しているかどうか検証することができる。
【産業上の利用可能性】
【００５１】
本発明に係るＲＡＭ検査領域検証方法および回路は、検査領域検証用ＲＡＭマクロを用いることにより、ＲＡＭマクロがＲＡＭ−ＢＩＳＴ制御回路により全領域検査できているかどうかを論理シミュレータにより検証できるため、検証漏れや検証ミスを無くすことができ、また、検証時間も削減することができるためＬＳＩ開発期間を短縮することが可能となるという効果を有し、半導体集積回路の論理検証技術等として有用である。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態１に係るＲＡＭ検査領域検証方法の構成を示すブロック図。
【図２】ＲＡＭ検査領域検証回路の構成例を示すブロック図。
【図３】アドレス確認回路の構成例を示すブロック図。
【図４】テストシーケンス判定回路の構成例を示すブロック図。
【図５】アドレス確認回路およびテストシーケンス判定回路の動作を説明するタイミングチャート。
【図６】本発明の実施の形態２に係るＲＡＭ検査領域検証方法の構成を示すブロック図。
【図７】従来のＲＡＭ検査領域検証方法の構成を示すブロック図。
【図８】従来のＲＡＭ検査領域検証方法におけるＲＡＭマクロの動作を説明するタイミングチャート。
【符号の説明】
【００５３】
１００  論理シミュレータ
１０１  ＲＡＭ−ＢＩＳＴ制御回路
１０２  ＲＡＭマクロ
１０３  ＬＳＩ機能記述レベル回路
１０４  ＲＡＭ検査領域検証回路
１０５  検査領域検証用ＲＡＭマクロ
２００  アドレス確認回路
２０１  テストシーケンス判定回路
３００  カウンタ制御回路
３０１  クロックカウンタ
３０２  カウント結果判定回路
４００  入力データ格納レジスタ
４０１  アドレス格納レジスタ
４０２  入力データ照合回路
４０３  アドレス照合回路
４０４  照合結果判定回路
【図１】
2005050145.tif 000003
【図２】
2005050145.tif 000004
【図３】
2005050145.tif 000005
【図４】
2005050145.tif 000006
【図５】
2005050145.tif 000007
【図６】
2005050145.tif 000008
【図７】
2005050145.tif 000009
【図８】
2005050145.tif 000010