(57)【要約】【課題】  リフレッシュ間隔を実際の利用と同等にして検証可能とするＳＤＲＡＭリフレッシュ回路を提供する。【解決手段】ＳＤＲＡＭリフレッシュ回路は、論理エミュレータ１からＳＤＲＡＭ３へ発行されるリフレッシュ・コマンドを監視するコマンド監視部１１と、コマンド監視部１１によりリフレッシュ・コマンドが検出された場合に補充リフレッシュ・コマンドを発行する補充リフレッシュ・コマンド発行部１２と、補充リフレッシュ・コマンド発行部１２により補充リフレッシュ・コマンドが発行可能な状態になったときは補充リフレッシュ・コマンドを選択し、補充リフレッシュ・コマンドが発行可能な状態でないときは論理エミュレータ１からのコマンドを選択するコマンド選択部１３とを備える。【選択図】  図１
2011034656.tif 000002
【特許請求の範囲】
【請求項１】
論理エミュレータからＳＤＲＡＭへ発行されるリフレッシュ・コマンドを監視するコマンド監視部と、前記コマンド監視部によりリフレッシュ・コマンドが検出された場合に補充リフレッシュ・コマンドを発行する補充リフレッシュ・コマンド発行部と、前記補充リフレッシュ・コマンド発行部により前記補充リフレッシュ・コマンドが発行可能な状態になったときは前記補充リフレッシュ・コマンドを選択し、前記補充リフレッシュ・コマンドが発行可能な状態でないときは論理エミュレータからのコマンドを選択するコマンド選択部とを備えたことを特徴とするＳＤＲＡＭリフレッシュ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大容量のシンクロナス・ダイナミック・ランダム・アクセス・メモリ（以下ＳＤＲＡＭという）のリフレッシュ回路に関するものである。
【背景技術】
【０００２】
昨今、種々のディジタルマルチメディア製品や情報通信機器の多くにおいて、クロック同期で動作制御が容易なこと、高速のデータ転送が可能なこと、メモリ容量が大規模なこと等から、ＳＤＲＡＭが多く使用されている。
ＳＤＲＡＭは、メモリ構造上、メモリのデータを保持するため、定期的な、一般的には６５．６ｍｓ毎の、リフレッシュを必要とする。
【０００３】
一方、ディジタルマルチメディア製品や情報通信機器は、長大な音声データ，動画像データ，フレームデータ等を取り扱うため、新規開発時の論理検証では、長時間の動作が必要となり、そのため、最終的なシステムレベルの確認においては、高速な論理エミュレーションが行われることが多くなっている。現在、論理エミュレーションを行う論理エミュレータは各社から種々のものが販売されているが、その何れの論理エミュレータも、原理上、実際の装置より処理速度が遅い。
【０００４】
例えば、実際の装置は１００ＭＨｚのクロックでＳＤＲＡＭをアクセスするものでも、現状の論理エミュレータでは、最速のものでも１０〜２０ＭＨｚ程度、一般的には、種々の制約から、１ＭＨｚ弱での動作のものが多い。この様な論理エミュレータでＳＤＲＡＭを含む装置の論理エミュレーションを行うと、実際の装置では間に合うリフレッシュの間隔が、論理エミュレーションでは間延びし、リフレッシュが間に合わなくなり、そのため、ＳＤＲＡＭのデータが消滅してしまう。
【０００５】
この問題への対応策として、現在は、下記の方法がある。
（ａ）ＳＤＲＡＭ全体を論理記述言語で記述し、被検証論理と一緒に論理エミュレータの中に展開させる。
（ｂ）大容量のメモリ部分のみを一般の実メモリで構成し、その周りのＳＤＲＡＭとしての制御動作を論理記述言語で記述し、被検証論理と一緒に論理エミュレータの中に展開し、動作させる。
【０００６】
しかし、上記（ａ）の方法の場合、メモリ素子用に非常に多くの論理エミュレータのリソースを消費してしまう問題があり、このため通常は、実際のＳＤＲＡＭのメモリ容量よりかなり縮減したメモリ容量でしか動作することができない問題があった。また、上記（ｂ）の方法では、ＳＤＲＡＭ全体、若しくは、実メモリを使用する場合はメモリ周りの制御動作を論理記述言語で記述し、被検証論理と一緒に論理エミュレータの中に展開し動作させる為、論理エミュレータのリソースを無駄に消費してしまう問題があった。
【０００７】
これらの問題を解決するため、例えば特開２００２−２４５７９４号公報に記載の技術では、論理回路からＳＤＲＡＭへ発行されるコマンドを監視し、リフレッシュ可能な状態を検知するコマンド監視部がリフレッシュ可能な状態になった時、強制的にリフレッシュ・コマンドを発行する強制リフレッシュ・コマンド発行機能を具備する。この方式により、下記の（ｃ）〜（ｅ）が可能になり上記問題が解決される。
（ｃ）論理エミュレータのリソースを無駄に消費することを防止することが可能になる。
（ｄ）実際のＳＤＲＡＭを使用し、設計が意図した大容量のメモリによる動作確認が可能になる。
（ｅ）実際のＳＤＲＡＭを使用し、被検証論理がＳＤＲＡＭへ発行するコマンドそのままで、被検証論理の動作確認を行うことが可能になる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−２４５７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の技術方式は、リフレッシュ可能な状態を検知したら強制リフレッシュ・コマンドを発行することから、強制リフレッシュ・コマンドを挿入しなくても良い、または挿入してほしくないタイミングでも無条件にリフレッシュ・コマンドを発行することがおこり得る。このため、被検証論理のリフレッシュ・コマンド発行回路に、リフレッシュ・コマンド発行不足の論理不良があったとしても、強制リフレッシュ・コマンド発行回路が不足分のリフレッシュ・コマンドを発行するため、論理不良を見逃すことがおこり得る。
本発明の目的は、リフレッシュ間隔を実際の利用と同等にして検証可能とするＳＤＲＡＭリフレッシュ回路を提供することにある。
【課題を解決するための手段】
【００１０】
リフレッシュ間隔を実際の利用と同等にして検証できるようにするために、意図しないタイミングで強制リフレッシュ・コマンドを発行せずに、補充リフレッシュ・コマンドを発行するＳＤＲＡＭリフレッシュ回路を設ける。ＳＤＲＡＭリフレッシュ回路は、リフレッシュ間隔を実際の利用と同等にするため、被検証論理からのリフレッシュ・コマンドが発行されたときのみＳＤＲＡＭに対して補充リフレッシュ・コマンドを発行する。このときＳＤＲＡＭリフレッシュ回路は、被検証論理からのリフレッシュ・コマンド１個に対して、論理エミュレーション側のクロックとＳＤＲＡＭのクロックの速度差分だけ、補充リフレッシュ・コマンドを繰り返して発行する。すなわち、本発明に係るＳＤＲＡＭリフレッシュ回路は、論理エミュレータからＳＤＲＡＭへ発行されるリフレッシュ・コマンドを監視するコマンド監視部と、前記コマンド監視部によりリフレッシュ・コマンドが検出された場合に補充リフレッシュ・コマンドを発行する補充リフレッシュ・コマンド発行部と、前記補充リフレッシュ・コマンド発行部により前記補充リフレッシュ・コマンドが発行可能な状態のときは前記補充リフレッシュ・コマンドを選択し、前記補充リフレッシュ・コマンドが発行可能な状態でないときは論理エミュレータからのコマンドを選択するコマンド選択部とを備えるものである。
【００１１】
ＳＤＲＡＭのリフレッシュのタイミングは、一定期間内にすべての行の数に相当する回数を実行しなければならない。代表的な方法としては、集中的に実行する方法と、一定の間隔で実行する方法とがある。どちらの方法にせよ、論理エミュレータ上から外部接続のＳＤＲＡＭにアクセスすると、被検証論理からＳＤＲＡＭに発行されるリフレッシュ・コマンドのタイミングは、理論的に論理エミュレータ上の速度が遅いために守らなければならないリフレッシュ発行回数に届かなくなってしまうことがある。例として、論理エミュレータ側が１ＭＨｚ、ＳＤＲＡＭ側が１００ＭＨｚで動作する速度差になると、一定期間内にＳＤＲＡＭ側で受け取るリフレッシュ・コマンドの数は約１／１００回になってしまう。
【００１２】
そこで、被検証論理がリフレッシュ・コマンドをＳＤＲＡＭ側に発行したならば、リフレッシュ・コマンド補充回路が一旦受け取り、この回路からＳＤＲＡＭへ、論理エミュレータ側とＳＤＲＡＭ側の速度差の割合だけ、リフレッシュ・コマンドを繰り返して発行する機能を設ける。このことにより、速度差の分だけリフレッシュ・コマンドが補充して発行されるため、一定期間内に必要な数が実行されることになる。また、補充して発行したリフレッシュ・コマンドは、被検証論理側のリフレッシュ発行クロック内で完了するため、被検証論理側から見た場合、リフレッシュ・コマンド発行後から次のリフレッシュ・コマンド発行するまでに、意図としないリフレッシュ・コマンドが入らないことになる。
【発明の効果】
【００１３】
本発明によれば、被検証論理からのリフレッシュ・コマンド発行のタイミングのときのみ、ＳＤＲＡＭに対して補充リフレッシュ・コマンドを発行するため、リフレッシュ間隔を実製品化時と同等の条件にすることが可能になる。また、被検証論理のリフレッシュ・コマンド発行回路に、リフレッシュ・コマンドの発行不足の不良がある場合、動作不良を見つけることが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るＳＤＲＡＭリフレッシュ回路の一実施例を示すブロック構成図である。
【図２】コマンド監視部の構成例を示す図である。
【図３】補充リフレッシュ・コマンド発行部の構成例を示す図である。
【図４】コマンド選択部の構成例を示す図である。
【図５】ＳＤＲＡＭリフレッシュ回路のタイミング・チャートの一例を示す図である。
【発明を実施するための形態】
【００１５】
論理エミュレータとＳＤＲＡＭの間にＳＤＲＡＭリフレッシュ回路を接続し、リフレッシュ・コマンドを制御することで、ＳＤＲＡＭを接続した論理エミュレータ環境でのリフレッシュ間隔を実製品と同等にすることが可能となる。以下、本発明の実施例について図を用いて説明する。
【００１６】
図１は、本発明に係るＳＤＲＡＭリフレッシュ回路の一実施例を示すブロック構成図である。図中、論理エミュレータ１は、内部に被検証論理を展開しており、被検証論理からクロック（ＣＬＫ）５、コマンド６、アドレス７、データ８を発行する。ＳＤＲＡＭリフレッシュ回路２は、リフレッシュ・コマンドの制御に使用する高速クロック（ＦＣＬＫ）１６をクロック・ジェネレータ（ＣＬＫＧＥＮ）４より入力するものであり、内部にはコマンド監視部１１、補充リフレッシュ・コマンド発行部１２およびコマンド選択部１３を具備し、実部品であるＳＤＲＡＭ３に、クロック９、コマンド１０を送出する。アドレス７とデータ８については、論理エミュレータ１からの値をそのままＳＤＲＡＭ３に送出する。
【００１７】
すなわち、ＳＤＲＡＭリフレッシュ回路２は、論理エミュレータ１からＳＤＲＡＭ３へ発行されるリフレッシュ・コマンドを監視するコマンド監視部１１と、コマンド監視部１１によりリフレッシュ・コマンドが検出された場合に補充リフレッシュ・コマンドを発行する補充リフレッシュ・コマンド発行部１２と、補充リフレッシュ・コマンド発行部１２により補充リフレッシュ・コマンドが発行可能な状態になったときは補充リフレッシュ・コマンドを選択し、補充リフレッシュ・コマンドが発行可能な状態でないときは論理エミュレータ１からのコマンドを選択するコマンド選択部１３とを備えるものである。以下詳述する。
【００１８】
まず、論理エミュレータ１内の被検証論理からＳＤＲＡＭリフレッシュ回路２に、ＳＤＲＡＭ３アクセス用のクロック（ＣＬＫ）５、コマンド６、アドレス７、データ８が送出される。コマンド監視部１１は、コマンド６を監視し、コマンド６からリフレッシュ・コマンドが発行されたならば、それを検出し、ＲＥＦＥＮ１４を‘１’にセットする。ＲＥＦＥＮ１４が‘１’にセットされたならば、それを受けて補充リフレッシュ・コマンド発行部１２からＲＥＦＣＭＤ１５に補充用のリフレッシュ・コマンド列を発行する。
【００１９】
このとき、コマンド選択部１３では、ＳＤＲＡＭ３に送出するクロック９、コマンド１０を論理エミュレータ１内の被検証論理から発行された本来のクロック５、コマンド６から、補充リフレッシュ・コマンド発行部１２が発行したＲＥＦＣＭＤ１５と高速クロック（ＦＣＬＫ）１６に切り替えて、ＳＤＲＡＭ３に送出する。以下、論理エミュレータ１内の被検証論理から発行されたリフレッシュ・コマンドの検出方法および補充用のリフレッシュ・コマンド発行方法について、図２および図３を用いて説明する。
【００２０】
図２は、コマンド監視部の構成例を示す図である。図中、論理エミュレータ１内の被検証論理からＳＤＲＡＭ３に対し、ＣＫＥ１７、ＣＳ１８、ＲＡＳ１９、ＣＡＳ２０、ＷＥ２１などの信号の組み合わせによるコマンド６が発行される。リフレッシュ・コマンドが発行されたかどうかの判定方法は、個々のＳＤＲＡＭメーカ間で基本的に同一であり、ＣＫＥが‘１’、ＣＳが‘０’、ＲＡＳが‘０’、ＣＡＳが‘０’、ＷＥが‘１’になったとき発行されたと判定される。コマンド６が上記の状態になったときＲＥＦＥＮ１４に‘１’をセットする。
【００２１】
図３は、補充リフレッシュ・コマンド発行部の構成例を示す図である。補充リフレッシュ・コマンド発行部１２において、補充リフレッシュ・コマンドの発行は、ＳＤＲＡＭ実部品の動作速度が論理エミュレータの動作速度より１００倍程度速いことを利用しておこなう。すなわち、論理エミュレータの１サイクル（１クロック分）の間に高速クロック（ＦＣＬＫ）１６に同期して、リフレッシュに必要なコマンド列（ここでは、全バンク・プリチャージ用のＰＡＬＬ２８コマンドとリフレッシュ用のＲＥＦ２９コマンドとする）を発行する。図中、カウンタ２２（ＣＴＲ）は、補充リフレッシュ・コマンドが発行可能な状態でないとき（ＲＥＦＥＮ１４＝‘０’）は、リセットされ動作せず、補充リフレッシュ・コマンドが発行可能な状態になったとき（ＲＥＦＥＮ１４＝‘１’）初めて、高速クロック（ＦＣＬＫ）１６でカウントアップを始める。ＰＡＬＬ２８コマンドとＲＥＦ２９コマンドを発行する場合、ＳＤＲＡＭの動作仕様では前後のコマンドとの間に、それぞれ何もしない待ち時間を確保することが規定されている。ここでは、それぞれ５サイクルとする。
【００２２】
高速クロック（ＦＣＬＫ）１６でカウントアップし、その結果をデコーダ（ＤＥＣ）２３で解読し、カウンタ値が５になったならば、ＰＡＬＬＣＭＤＥＮ２４信号を‘１’にセットし、ＰＡＬＬＣＭＤＧＥＮ２６にてＰＡＬＬ２８コマンドを生成する。カウンタ値が１０になったならば、ＲＥＦＣＭＤＥＮ２５信号を‘１’にセットし、ＲＥＦＣＭＤＧＥＮ２７にてＲＥＦ２９コマンドを生成する。また同時に、カウンタ値が１０になったならば、カウンタ（ＣＴＲ）２２をリセットし、０からカウントを始める。これにより、論理エミュレータ１サイクル（１クロック分）の間に、補充リフレッシュに必要なコマンド列を繰り返し発行することができる。補充リフレッシュ・コマンド（ＲＥＦＣＭＤ）１５は、カウンタ（ＣＴＲ）２２が５のときは、ＰＡＬＬ２８コマンドを選択し、カウンタ（ＣＴＲ）２２が１０のときは、ＲＥＦ２９コマンドを選択する。
【００２３】
図４は、コマンド選択部の構成例を示す図である。コマンド選択部１３では、補充リフレッシュ・コマンドが発行可能な状態でないとき（ＲＥＦＥＮ１４＝‘０’）は、論理エミュレータ１内の被検証論理からＳＤＲＡＭ３に対して発行された本来のクロック（ＣＬＫ）５とコマンド６を選択し、補充リフレッシュ・コマンドが発行可能な状態になったとき（ＲＥＦＥＮ１４＝‘１’）は、補充リフレッシュに必要な高速クロック（ＦＣＬＫ）１６と補充リフレッシュ・コマンド（ＲＥＦＣＭＤ）１５のコマンド列を選択し、それぞれクロック（ＣＬＫ）９、コマンド１０として、ＳＤＲＡＭ３の実部品へ送出する。
【００２４】
図５は、ＳＤＲＡＭリフレッシュ回路のタイミング・チャートの一例を示す図である。以下、ＳＤＲＡＭリフレッシュ回路の動作を本図にそって説明する。ここでは、説明の容易化のため、ＦＣＬＫ１６は、ＣＬＫ５の２０倍の周波数とする。論理エミュレータからのコマンド６がリフレッシュ・コマンドのときは、コマンド監視部１１においてこれが検出され、ＲＥＦＥＮ１４が‘１’にセットされる。ＲＥＦＥＮ１４を入力した補充リフレッシュ・コマンド発行部１２内のカウンタ（ＣＴＲ）２２の値が５、１０になったらＰＡＬＬ２８コマンド、ＲＥＦ２９コマンドを発行し、ＲＥＦＣＭＤ１５としてコマンド選択部１３に渡す。コマンド選択部１３では、ＦＣＬＫ１６をＣＬＫ９、ＲＥＦＣＭＤ１５をコマンド１０としてＳＤＲＡＭ３に設定する。論理エミュレータからのコマンド６がリフレッシュ・コマンド以外のときは、ＣＬＫ５とコマンド６の値をコマンド選択部１３において選択し、ＳＤＲＡＭ３に設定する。
【産業上の利用可能性】
【００２５】
本発明は、論理エミュレータ以外にも論理シミュレーションに置き換えて適用できるこが可能である。また本発明は、高速なＡＳＩＣで作成予定の製品を、ＡＳＩＣより速度が遅いＦＰＧＡで、動作確認やプロトタイプとして製品開発する場合においても、利用可能である。
【符号の説明】
【００２６】
１  論理エミュレータ
２  ＳＤＲＡＭリフレッシュ回路
３  ＳＤＲＡＭ
４  ＣＬＫＧＥＮ
５、９  クロック（ＣＬＫ）
６、１０  コマンド
７  アドレス
８  データ
１１  コマンド監視部
１２  補充リフレッシュ・コマンド発行部
１３  コマンド選択部
１４  ＲＥＦＥＮ
１５  ＲＥＦＣＭＤ
１６  高速クロック（ＦＣＬＫ）
１７  ＣＫＥ
１８  ＣＳ
１９  ＲＡＳ
２０  ＣＡＳ
２１  ＷＥ
２２  ＣＴＲ
２３  ＤＥＣ
２４  ＰＡＬＬＣＭＤＥＮ
２５  ＲＥＦＣＭＤＥＮ
２６  ＰＡＬＬＣＭＤＧＥＮ
２７  ＲＥＦＣＭＤＧＥＮ
２８  ＰＡＬＬ
２９  ＲＥＦ
【図１】
2011034656.tif 000003
【図２】
2011034656.tif 000004
【図３】
2011034656.tif 000005
【図４】
2011034656.tif 000006
【図５】
2011034656.tif 000007