(57)【特許請求の範囲】
【請求項１】
独立した第１と第２のポートから同一の記憶領域にアクセスできる随時読み書き可能なメモリブロックと、
第１のクロック信号に基づいて前記第１のポートを介して前記メモリブロックの記憶領域に対する試験を行う第１の試験回路と、
第２のクロック信号に基づいて前記第２のポートを介して前記メモリブロックの記憶領域に対する試験を行う第２の試験回路と、
前記第１の試験回路の試験動作が終了した後、前記第２の試験回路の試験動作を開始させ、該第２の試験回路の試験動作が終了した後、該第１の試験回路の試験動作を開始させる制御回路とを、
備えたことを特徴とするデュアルポートＲＡＭ。
【請求項２】
前記第１の試験回路は、第１のイネーブル信号に基づいて試験動作を開始し、該第１の試験回路の試験動作が完了したときに第１の完了信号を出力するように構成し、
前記第２の試験回路は、第２のイネーブル信号に基づいて試験動作を開始し、該第２の試験回路の試験動作が完了したときに第２の完了信号を出力するように構成し、
前記制御回路は、前記第１の完了信号に基づいて前記第２のイネーブル信号を出力すると共に前記第１のイネーブル信号を停止し、前記第２の完了信号に基づいて該第１のイネーブル信号を出力すると共に該第２のイネーブル信号を停止するように構成した、
ことを特徴とする請求項１記載のデュアルポートＲＡＭ。
【請求項３】
前記制御回路は、セット・リセット型のフリップフロップで構成したことを特徴とする請求項２記載のデュアルポートＲＡＭ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、独立した２つのポートから同一のメモリを読み書きすることができるデュアルポートＲＡＭ（Random Access Memory）、特にその自己試験機能に関するものである。
【０００２】
【従来の技術】
図２は、従来のデュアルポートＲＡＭの一例を示す構成図である。
このデュアルポートＲＡＭは、Ａ及びＢの２つのポートを備えたメモリブロック１を有している。メモリブロック１のＡポートには、図示しない機能ブロックＡ側のシステムバス２Ａがセレクタ３Ａを介して接続されると共に、クロック信号ＣＫＡが与えられるようになっている。また、メモリブロック１のＢポートには、図示しない機能ブロックＢ側のシステムバス２Ｂがセレクタ３Ｂを介して接続されると共に、クロック信号ＣＫＢがセレクタ４を介して与えられるようになっている。
【０００３】
更に、このデュアルポートＲＡＭは、メモリブロック１を試験するための自己試験回路５を有している。自己試験回路５は、バス６Ａによってセレクタ３Ａを介してメモリブロック１のＡポートに接続されると共に、バス６Ｂによってセレクタ３Ｂを介してメモリブロック１のＢポートに接続されている。また、クロック信号ＣＫＡは、自己試験回路５に与えられると共に、セレクタ４を介してメモリブロック１のＢポートに与えられるようになっている。
【０００４】
セレクタ３Ａ，３Ｂ，４は、通常動作または試験動作を指定するモード信号ＭＯＤによって切り替えられ、通常動作時にはメモリブロック１のＡポート及びＢポートが、それぞれ機能ブロックＡ，Ｂ側に接続されるようになっている。また、試験動作時には、メモリブロック１のＡポート及びＢポートが、それぞれバス６Ａ，６Ｂを介して自己試験回路５に接続され、これらのＡポート及びＢポートには、この自己試験回路５と同様にクロック信号ＣＫＡが与えられるようになっている。
【０００５】
このようなデュアルポートＲＡＭにおいて、モード信号ＭＯＤによって通常動作が指定されると、メモリブロック１のＡポートには、機能ブロックＡのシステムバス２Ａが接続されると共に、クロック信号ＣＫＡが与えられる。メモリブロック１のＢポートには、機能ブロックＢのシステムバス２Ｂが接続されると共に、クロック信号ＣＫＢが与えられる。また、メモリブロック１と自己試験回路２とは、セレクタ３Ａ，３Ｂによって切り離される。
【０００６】
一方、モード信号ＭＯＤによって試験動作が指定されると、メモリブロック１のＡポート及びＢポートは、それぞれセレクタ３Ａ，３Ｂによって機能ブロックＡ，Ｂから切り離され、自己試験回路５に接続される。また、メモリブロック１のＡポートと自己試験回路５には、クロック信号ＣＫＡが供給される。更に、メモリブロック１のＢポートには、クロック信号ＣＫＡがセレクタ４を介して供給される。
【０００７】
ここで、自己試験回路５に試験開始信号ＳＴＡが与えられると、この自己試験回路５によって、メモリブロック１に対するデータの書き込み及び読み出しの試験が行われ、試験結果ＲＥＳが出力される。この自己試験では、Ａポート側から書き込んだデータをＢポート側から読み出して検証したり、その逆にＢポート側から書き込んだデータをＡポート側から読み出して検証する試験が行われる。また、１つの自己試験回路５でメモリブロック１のＡ及びＢポートを同時に制御するため、これらのＡ，Ｂポートは共通のクロック信号ＣＫＡが与えられて読み書きの動作が行われる。
【０００８】
【発明が解決しようとする課題】
しかしながら、従来のデュアルポートＲＡＭでは、次のような課題があった。即ち、自己試験の時に、ＢポートにもＡポートと同じクロック信号ＣＫＡを供給する必要がある。従って、Ｂポート側のクロック供給経路は、セレクタ４によってクロック信号ＣＫＡ，ＣＫＢを切り替えるようになっている。このため、Ａポート側に供給されるクロック信号ＣＫＡと、Ｂポート側に供給されるクロック信号ＣＫＡのタイミングが異なってしまい、特に高速動作時には正常な自己試験が出来なくなるという課題があった。
【０００９】
更に、ＡポートとＢポートとで、異なる速度のクロック信号ＣＫＡ，ＣＫＢを使用する場合の自己試験ができないという課題があった。
【００１０】
本発明は、前記従来技術が持っていた課題を解決し、２つの異なるタイミングのクロック信号によって自己試験を行うことができるデュアルポートＲＡＭを提供するものである。
【００１１】
【課題を解決するための手段】
前記課題を解決するために、本発明の内の第１の発明は、デュアルポートＲＡＭにおいて、独立した第１と第２のポートから同一の記憶領域にアクセスできる随時読み書き可能なメモリブロックと、第１のクロック信号に基づいて前記第１のポートを介して前記メモリブロックの記憶領域に対する試験を行う第１の試験回路と、第２のクロック信号に基づいて前記第２のポートを介して前記メモリブロックの記憶領域に対する試験を行う第２の試験回路と、前記第１の試験回路の試験動作が終了した後、前記第２の試験回路の試験動作を開始させ、該第２の試験回路の試験動作が終了した後、該第１の試験回路の試験動作を開始させる制御回路とを備えている。
【００１２】
第２の発明は、第１の発明における第１の試験回路を、第１のイネーブル信号に基づいて試験動作を開始し、該第１の試験回路の試験動作が完了したときに第１の完了信号を出力するように構成している。また、第２の試験回路を、第２のイネーブル信号に基づいて試験動作を開始し、該第２の試験回路の試験動作が完了したときに第２の完了信号を出力するように構成している。更に、記制御回路を、第１の完了信号に基づいて第２のイネーブル信号を出力すると共に第１のイネーブル信号を停止し、第２の完了信号に基づいて第１のイネーブル信号を出力すると共に第２のイネーブル信号を停止するように構成している。
【００１３】
第３の発明は、第２の発明における制御回路を、セット・リセット型のフリップフロップ（以下、「ＦＦ」という）で構成している。
【００１４】
本発明によれば、以上のようにデュアルポートＲＡＭを構成したので、次のような作用が行われる。
メモリブロックの記憶領域を試験する場合、例えばセット・リセット型のＦＦによる制御回路によって第１の試験回路に第１のイネーブル信号が与えられる。これにより、第１の試験回路からメモリブロックの記憶領域に対する試験が、第１のクロック信号に基づいて第１のポートを介して行われる。第１の試験回路による試験動作が完了すると、この第１の試験回路から第１の完了信号が出力される。
【００１５】
制御回路では、第１の完了信号が与えられると、第２のイネーブル信号が出力されると共に第１のイネーブル信号が停止される。これによって、第２の試験回路からメモリブロックの記憶領域に対する試験が、第２のクロック信号に基づいて第２のポートを介して行われる。第２の試験回路による試験動作が完了すると、この第２の試験回路から第２の完了信号が出力される。
【００１６】
制御回路では、第２の完了信号が与えられると、第１のイネーブル信号が出力されると共に第２のイネーブル信号が停止される。このような繰り返しにより、メモリブロックの記憶領域に対する所定の試験動作が行われる。
【００１７】
【発明の実施の形態】
（第１の実施形態）
図１は、本発明の第１の実施形態を示すデュアルポートＲＡＭの構成図である。
このデュアルポートＲＡＭは、Ａ及びＢの２つのポートを備えたメモリブロック１を有している。メモリブロック１のＡポートには、図示しない機能ブロックＡ側のシステムバス２Ａがセレクタ３Ａを介して接続されると共に、クロック信号ＣＫＡが与えられるようになっている。また、メモリブロック１のＢポートには、図示しない機能ブロックＢ側のシステムバス２Ｂがセレクタ３Ｂを介して接続されると共に、クロック信号ＣＫＢが与えられるようになっている。
【００１８】
更に、このデュアルポートＲＡＭは、メモリブロック１を試験するための自己試験回路１０Ａ，１０Ｂを有している。自己試験回路１０Ａは、クロック信号ＣＫＡが与えられると共に、バス１１Ａによってセレクタ３Ａを介してメモリブロック１のＡポートに接続されている。自己試験回路１０Ｂは、クロック信号ＣＫＢが与えられると共に、バス１１Ｂによってセレクタ３Ｂを介してメモリブロック１のＢポートに接続されている。
【００１９】
セレクタ３Ａ，３Ｂは、端子Ｓに与えられるモード信号ＭＯＤによって、通常動作または試験動作が切り替えられ、通常動作時には端子Ｘ−Ｚ間が接続されてメモリブロック１のＡポート及びＢポートが、それぞれ機能ブロックＡ，Ｂ側に接続されるようになっている。また、試験動作時には、セレクタ３Ａ，３Ｂの端子Ｙ−Ｚ間が接続され、メモリブロック１のＡポート及びＢポートが、それぞれバス１１Ａ，１１Ｂを介して自己試験回路１０Ａ，１０Ｂに接続されるようになっている。
【００２０】
自己試験回路１０Ａは、イネーブル信号ＥＡがレベル“Ｈ”の時に、Ａポートを介してメモリブロック１を所定の手順に従って試験するものである。所定の試験が完了すると、自己試験回路１０Ａから出力される完了信号ＦＡがレベル“Ｌ”から“Ｈ”に変化し、その試験結果ＲＡが出力されるようになっている。同様に、自己試験回路１０Ｂは、イネーブル信号ＥＢが“Ｈ”の時に、Ｂポートを介してメモリブロック１を所定の手順に従って試験するものである。所定の試験が完了すると、自己試験回路１０Ｂから出力される完了信号ＦＢが、“Ｌ”から“Ｈ”に変化し、その試験結果ＲＢが出力されるようになっている。
【００２１】
このデュアルポートＲＡＭは、２つの自己試験回路１０Ａ，１０Ｂを交互に動作させるための試験制御回路２０を有している。
試験制御回路２０は、Ａポート側の完了信号ＦＡが与えられるインバータ２１ａを有し、このインバータ２１ａの出力側に、４段のＦＦ２２ａ，２３ａ，２４ａ，２５ａが接続されている。ＦＦ２２ａ〜２５ａのクロック端子Ｃには、Ｂポート側のクロック信号ＣＫＢが与えられるようになっている。ＦＦ２５ａの出力側は２入力の否定的論理積ゲート（以下、「ＮＡＮＤ」という）２６ａの第１の入力側に接続され、このＮＡＮＤ２６ａの第２の入力側には完了信号ＦＡが与えられるようになっている。
【００２２】
また、試験制御回路２０は、Ｂポート側の完了信号ＦＢをクロック信号ＣＫＢの立ち上がりで保持するＦＦ２７ａを有している。ＦＦ２７ａとＮＡＮＤ２６ａの出力側は、３入力の論理積ゲート（以下、「ＡＮＤ」という）２８ａの第１及び第２の入力側に接続され、このＡＮＤ２８ａの第３の入力側には開始信号ＳＡが与えられるようになっている。そして、ＡＮＤ２８ａの出力側からイネーブル信号ＥＡが出力され、自己試験回路１０Ａに与えられるようになっている。
【００２３】
更に、この試験制御回路２０は、Ｂポート側の完了信号ＦＢが与えられるインバータ２１ｂを有し、このインバータ２１ｂの出力側に、４段のＦＦ２２ｂ，２３ｂ，２４ｂ，２５ｂが接続されている。ＦＦ２２ｂ〜２５ｂのクロック端子Ｃには、Ａポート側のクロック信号ＣＫが与えられるようになっている。ＦＦ２５ｂの出力側は２入力のＮＡＮＤ２６ｂの第１の入力側に接続され、このＮＡＮＤ２６ｂの第２の入力側には完了信号ＦＢが与えられるようになっている。
【００２４】
また、試験制御回路２０は、Ａポート側の完了信号ＦＡをクロック信号ＣＫＡの立ち上がりで保持するＦＦ２７ｂを有している。ＦＦ２７ｂとＮＡＮＤ２６ｂの出力側は、３入力のＡＮＤ２８ｂの第１及び第２の入力側に接続され、このＡＮＤ２８ｂの第３の入力側には開始信号ＳＢが与えられるようになっている。そして、ＡＮＤ２８ｂの出力側からイネーブル信号ＥＢが出力され、自己試験回路１０Ｂに与えられるようになっている。
【００２５】
図３は、図１の自己試験時の動作を示す信号波形図である。以下、この図３を参照しつつ、図１の動作を説明する。
通常動作時には、モード信号ＭＯＤによってセレクタ３Ａ，３Ｂが端子Ｘ側に切り替えられ、メモリブロック１のＡポートには、機能ブロックＡのシステムバス２Ａが接続されると共に、クロック信号ＣＫＡが与えられる。また、メモリブロック１のＢポートには、機能ブロックＢのシステムバス２Ｂが接続されると共に、クロック信号ＣＫＢが与えられる。また、メモリブロック１と自己試験回路１０Ａ，１０Ｂとは、セレクタ３Ａ，３Ｂによって切り離される。
【００２６】
自己試験動作時には、モード信号ＭＯＤによってセレクタ３Ａ，３Ｂが端子Ｙ側に切り替えられ、メモリブロック１のＡポート及びＢポートは、それぞれセレクタ３Ａ，３Ｂによって機能ブロックＡ，Ｂから切り離され、自己試験回路１０Ａ，１０Ｂに接続される。また、メモリブロック１のＡポートと自己試験回路１０Ａにはクロック信号ＣＫＡが供給され、Ｂポートと自己試験回路１０Ｂにはクロック信号ＣＫＢが供給される。
【００２７】
ここで、例えば次のような手順で、メモリブロック１の所定範囲のアドレスの試験を順次繰り返して行うとする。
フェーズ１：Ａポートからデータを読み出して期待値と比較。
フェーズ２：Ｂポートからデータを読み出して期待値と比較。
フェーズ３：Ａポートからデータを書き込む。
フェーズ４：Ａポートからデータを読み出して期待値と比較。
フェーズ５：Ｂポートからデータを読み出して期待値と比較。
【００２８】
この場合、ＡポートからＢポートへのアクセスの変更は、フェーズ１とフェーズ２の間、及びフェーズ４とフェーズ５の間に生ずることになる。また、ＢポートからＡポートへのアクセスの変更は、フェーズ２とフェーズ３の間、及びフェーズ５と次のアドレスのフェーズ１の間に生ずることになる。
【００２９】
まず、例えば“Ｈ”の開始信号ＳＡと、“Ｌ”の開始信号ＳＢが与えられ、自己試験回路１０Ｂは強制的に停止状態にさせられ、自己試験回路１０Ａの動作が開始される。自己試験回路１０Ａの動作が開始した後、開始信号ＳＢは“Ｈ”にセットされる。
【００３０】
図３の時刻ｔ１において、Ａポート側の自己試験回路１０Ａの試験が終ると、完了信号ＦＡが“Ｌ”から“Ｈ”へ変化する。これにより、インバータ２１ａから出力される信号Ｓ２１Ａは、“Ｈ”から“Ｌ”へ変化する。また、ＮＡＮＤ２６ａから出力される信号Ｓ２６Ａも“Ｌ”となり、これによってＡＮＤ２８ａから出力されるイネーブル信号ＥＡは“Ｌ”となる。
【００３１】
その後、時刻ｔ２におけるクロック信号ＣＫＡの立ち上がりによって、ＦＦ２７ｂから出力される信号Ｓ２７Ｂは“Ｌ”から“Ｈ”へ変化し、これによってＡＮＤ２８ｂから出力されるイネーブル信号ＥＢは“Ｈ”となる。
時刻ｔ３において、Ｂポート側のクロック信号ＣＫＢが立ち上がると、自己試験回路１０Ｂの動作が開始され、完了信号ＦＢは“Ｈ”から“Ｌ”へ変化する。これにより、インバータ２１ｂから出力される信号Ｓ２１Ｂは、“Ｌ”から“Ｈ”へ変化する。
【００３２】
時刻ｔ４における次のクロック信号ＣＫＢの立ち上がりにより、ＦＦ２７ａから出力される信号Ｓ２７Ａは“Ｈ”から“Ｌ”へ変化する。
時刻ｔ５において、時刻ｔ１から４回目のクロック信号ＣＫＢの立ち上がりによって、ＦＦ２５ａから出力される信号Ｓ２５Ａは“Ｈ”から“Ｌ”へ変化する。これにより、ＮＡＮＤ２６ａの信号Ｓ２６Ａは“Ｈ”に戻る。しかし、ＦＦ２７ａの信号Ｓ２７Ａは“Ｌ”となっているので、イネーブル信号ＥＡは“Ｌ”のままである。
【００３３】
時刻ｔ６において、時刻ｔ３から４回目のクロック信号ＣＫＡの立ち上がりによって、ＦＦ２５ｂから出力される信号Ｓ２５Ｂは“Ｌ”から“Ｈ”へ変化する。この時、完了信号ＦＢは“Ｌ”であるので、ＮＡＮＤ２６ｂから出力される信号Ｓ２６Ｂは“Ｈ”のままで、イネーブル信号ＥＢは“Ｈ”の状態に維持される。
【００３４】
時刻ｔ７において、Ｂポート側の自己試験回路１０Ｂの試験が終ると、完了信号ＦＢが“Ｌ”から“Ｈ”へ変化する。これにより、インバータ２１ｂの信号Ｓ２１Ｂは、“Ｈ”から“Ｌ”へ変化する。また、ＮＡＮＤ２６ｂの信号Ｓ２６Ｂも“Ｌ”となり、これによってイネーブル信号ＥＢは“Ｌ”となる。
【００３５】
その後、時刻ｔ８におけるクロック信号ＣＫＢの立ち上がりによって、ＦＦ２７ａの信号Ｓ２７Ａは“Ｌ”から“Ｈ”へ変化し、これによってイネーブル信号ＥＡは“Ｈ”となる。
【００３６】
時刻ｔ９において、Ａポート側のクロック信号ＣＫＡが立ち上がると、自己試験回路１０Ａの動作が開始され、完了信号ＦＡは“Ｈ”から“Ｌ”へ変化する。これにより、インバータ２１ａの信号Ｓ２１Ａは、“Ｌ”から“Ｈ”へ変化する。
【００３７】
時刻ｔ１０における次のクロック信号ＣＫＡの立ち上がりにより、ＦＦ２７ｂの信号Ｓ２７Ｂは“Ｈ”から“Ｌ”へ変化する。
【００３８】
以下、同様の繰り返しにより、試験制御回路２０によって自己試験回路１０Ａ，１０Ｂが、交互に試験動作を行うように制御される。
【００３９】
以上のように、この第１の実施形態のデュアルポートＲＡＭは、それぞれＡポート及びＢポートのクロック信号ＣＫＡ，ＣＫＢで動作する自己試験回路１０Ａ，１０Ｂと、これらの自己試験回路１０Ａ，１０Ｂが交互に動作するように制御する試験制御回路２０を有している。これにより、２つの異なるタイミングのクロック信号ＣＫＡ，ＣＫＢによってメモリブロック１の自己試験を行うことができるという利点がある。
【００４０】
（第２の実施形態）
図４は、本発明の第２の実施形態を示すデュアルポートＲＡＭの構成図であり、図１中の要素と共通の要素には共通の符号が付されている。
このデュアルポートＲＡＭは、図１のデュアルポートＲＡＭの試験制御回路２０に代えて、セット・リセット型のＦＦ３０を設けている。
【００４１】
このＦＦ３０は、セット端子Ｓに“Ｈ”のパルスが印加されたときに“Ｈ”のデータが保持され、出力端子Ｑ，／Ｑにそれぞれ“Ｈ”，“Ｌ”の信号を出力し、リセット端子Ｒに“Ｈ”のパルスが印加されたときに“Ｌ”のデータが保持され、出力端子Ｑ，／Ｑにそれぞれ“Ｌ”，“Ｈ”の信号を出力するものである。更に、このＦＦ３０はプリセット端子ＰＳとクリア端子ＣＬを備え、プリセット端子ＰＳに“Ｈ”のパルスを印加することによって保持しているデータを“Ｈ”にセットし、クリア端子ＣＬに“Ｈ”のパルスを印加することによって保持しているデータを“Ｌ”にリセットすることができるようになっている。
【００４２】
ＦＦ３０のセット端子Ｓには自己試験回路１０Ａの完了信号ＦＡが与えられ、リセット端子Ｒには自己試験回路１０Ｂの完了信号ＦＢが与えられるようになっている。また、ＦＦ３０の出力端子Ｑから自己試験回路１０Ｂに対するイネーブル信号ＥＢが出力され、出力端子／Ｑから自己試験回路１０Ａに対するイネーブル信号ＥＡが出力されるようになっている。更に、クリア端子ＣＬとプリセット端子ＰＳには、それぞれ開始信号ＳＡ，ＳＢが与えられるようになっている。その他の構成は、図１と同様である。
【００４３】
図５は、図４の自己試験時の動作を示す信号波形図である。以下、この図５を参照しつつ、図４の自己試験時の動作を説明する。
自己試験の開始時に、開始信号ＳＡを与えることにより、ＦＦ３０がクリアされ、出力端子Ｑから自己試験回路１０Ｂに出力されるイネーブル信号ＥＢは“Ｌ”となり、出力端子／Ｑから自己試験回路１０Ａに出力されるイネーブル信号ＥＡが“Ｈ”となる。これにより、自己試験回路１０Ａによるメモリブロック１の自己試験が、クロック信号ＣＫＡに基づいてＡポートを介して行われる。
【００４４】
自己試験回路１０Ａの動作が完了すると、この自己試験回路１０Ａから完了信号ＦＡのパルスが出力される。これによって、ＦＦ３０はセットされ、出力端子Ｑから自己試験回路１０Ｂに出力されるイネーブル信号ＥＢは“Ｈ”となり、出力端子／Ｑから自己試験回路１０Ａに出力されるイネーブル信号ＥＡが“Ｌ”となる。
【００４５】
イネーブル信号ＥＢが“Ｈ”になると、その次のクロック信号ＣＫＢの立ち上がりのタイミングで、自己試験回路１０Ｂの動作が開始される。そして、自己試験回路１０Ｂによるメモリブロック１の自己試験が、クロック信号ＣＫＢに基づいてＢポートを介して行われる。
【００４６】
自己試験回路１０Ｂの動作が完了すると、この自己試験回路１０Ｂから完了信号ＦＢのパルスが出力される。これによって、ＦＦ３０はリセットされ、出力端子Ｑから自己試験回路１０Ｂに出力されるイネーブル信号ＥＢは“Ｌ”となり、出力端子／Ｑから自己試験回路１０Ａに出力されるイネーブル信号ＥＡが“Ｈ”となる。
以下、同様の繰り返しにより、自己試験回路１０Ａ，１０Ｂが、交互に試験動作を行うように制御される。
【００４７】
以上のように、この第２の実施形態のデュアルポートＲＡＭは、それぞれＡポート及びＢポートのクロック信号ＣＫＡ，ＣＫＢで動作する自己試験回路１０Ａ，１０Ｂと、これらの自己試験回路１０Ａ，１０Ｂが交互に動作するように制御するＦＦ３０を有している。これにより、第１の実施形態と同様の利点に加えて、回路構成を簡素化することができるという利点がある。
【００４８】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（ａ）  図１中の試験制御回路２０の回路構成は、図示したものに限定されない。例えば、ＦＦ２２ａ〜２５ａ等の段数は、クロック信号ＣＫＡ，ＣＫＢの周波数等によって適切な数に設定することができる。また、ＦＦ２２ａ〜２５ａに代えて遅延回路等を用いても良い。
【００４９】
（ｂ）  図４中のＦＦ３０は、最初に自己試験回路１０Ａまたは１０Ｂの一方を起動させるためのプリセット機能を有しているが、別の回路によって自己試験回路１０Ａまたは１０Ｂを起動させるようにしても良い。
【００５０】
【発明の効果】
以上詳細に説明したように、第１の発明によれば、第１のクロック信号に基づいて第１のポートを介してメモリブロックの記憶領域に対する試験を行う第１の試験回路と、第２のクロック信号に基づいて第２のポートを介して前記メモリブロックの記憶領域に対する試験を行う第２の試験回路と、第１の試験回路の試験動作が終了した後、第２の試験回路の試験動作を開始させ、第２の試験回路の試験動作が終了した後、第１の試験回路の試験動作を開始させる制御回路とを有している。これにより、２つの異なるタイミングのクロック信号によって第１及び第２のポートを介してメモリブロックの自己試験を行うことができる。
【００５１】
第２の発明によれば、第１の試験回路は、第１のイネーブル信号に基づいて試験動作を開始し、該試験動作が完了したときに第１の完了信号を出力するように構成し、第２の試験回路は、第２のイネーブル信号に基づいて試験動作を開始し、該試験動作が完了したときに第２の完了信号を出力するように構成している。更に制御回路は、第１の完了信号に基づいて第２のイネーブル信号を出力すると共に第１のイネーブル信号を停止し、第２の完了信号に基づいて第１のイネーブル信号を出力すると共に第２のイネーブル信号を停止するように構成している。これにより、メモリブロックの記憶領域に対する試験が、２つの試験回路によって交互に行われるので、２つの異なるタイミングのクロック信号に対して問題なく試験を行うことができる。
【００５２】
第３の発明によれば、第２の発明における制御回路を、セット・リセット型のＦＦで構成している。これにより、簡単な回路構成で確実な動作が可能になる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すデュアルポートＲＡＭの構成図である。
【図２】従来のデュアルポートＲＡＭの一例を示す構成図である。
【図３】図１の自己試験時の動作を示す信号波形図である。
【図４】本発明の第２の実施形態を示すデュアルポートＲＡＭの構成図である。
【図５】図４の自己試験時の動作を示す信号波形図である。
【符号の説明】
１    メモリブロック
２Ａ，２Ｂ    システムバス
３Ａ，３Ｂ    セレクタ
１０Ａ，１０Ｂ    自己試験回路
１１Ａ，１１Ｂ    バス
２０    試験制御回路
３０    ＦＦ（フリップフロップ）
【図１】
0003854159.tif 000002
【図２】
0003854159.tif 000003
【図３】
0003854159.tif 000004
【図４】
0003854159.tif 000005
【図５】
0003854159.tif 000006