(57)【要約】  外部入出力信号とＤＲＡＭリフレッシュ発行タイミングとを同期化させるため、ＤＲＡＭリフレッシュ発行のタイミングをリフレッシュタイマ（１０２）で決定するＬＳＩにおいて、リフレッシュタイマ（１０２）の値をＣＰＵ（１０１）より任意のタイミングで制御できる回路構成を採用する。あるいは、リフレッシュタイマ（１０２）の値を外部端子より任意のタイミングで制御できる回路構成、又はリフレッシュタイマ（１０２）を介さずにリフレッシュ発行タイミングを外部端子から直接制御できる回路構成を採用する。
2009107172.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭと、前記ＤＲＡＭから命令をフェッチして動作するＣＰＵと、前記ＣＰＵからのアクセス信号に従ってＤＲＡＭアクセスコマンドを発行し、かつ定期的にＤＲＡＭリフレッシュコマンドを発行するためのＤＲＡＭコントローラと、複数の外部端子とを有する半導体回路であって、
前記複数の外部端子のうちのいくつかの入出力信号と前記ＤＲＡＭリフレッシュコマンドとの再同期化をすることによって、前記ＣＰＵが前記ＤＲＡＭ上の同じ内容の命令を複数回実行した際の命令実行時間を毎回同じ長さにすることを特徴とする半導体回路。
【請求項２】
請求項１記載の半導体回路において、
前記ＣＰＵが前記ＤＲＡＭ上の同じ内容の命令を複数回実行した際の前記入出力信号に関する動作時間は、命令実行の開始タイミングによらず常に一意に定まることを特徴とする半導体回路。
【請求項３】
請求項１記載の半導体回路において、
前記ＤＲＡＭリフレッシュコマンドの発行タイミングを決定するためのリフレッシュタイマを更に有することを特徴とする半導体回路。
【請求項４】
請求項３記載の半導体回路において、
前記ＣＰＵからの命令で前記リフレッシュタイマをある値に初期化することを特徴とする半導体回路。
【請求項５】
請求項３記載の半導体回路において、
前記複数の外部端子のうちの１つから信号を入力することにより、前記リフレッシュタイマをある値に初期化することを特徴とする半導体回路。
【請求項６】
請求項３記載の半導体回路において、
前記複数の外部端子のうちの１つから信号を入力することにより、前記リフレッシュタイマを使用することなく前記ＤＲＡＭリフレッシュコマンドの発行を直接制御することを特徴とする半導体回路。
【請求項７】
請求項１記載の半導体回路と、前記半導体回路に対して前記複数の外部端子のうちの１つから入力信号を供給して前記半導体回路を動作させる外部装置とを備えたことを特徴とするシステム。
【請求項８】
請求項７記載のシステムにおいて、
前記外部装置は、前記半導体回路に対して前記入力信号を供給して固定時間後に前記半導体回路からの出力信号を判定してその後の動作を決める外部判定装置であることを特徴とするシステム。
【請求項９】
請求項７記載のシステムにおいて、
前記外部装置は、半導体テスト装置であることを特徴とするシステム。
【請求項１０】
請求項７記載のシステムにおいて、
前記外部装置は、ＦＰＧＡ又はＣＰＬＤといったプログラマブルなハードウェアであることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（central processing unit）とＤＲＡＭ（dynamic random access memory）との接続を有し、かつＣＰＵがＤＲＡＭから命令をフェッチして動作する半導体回路において、ＤＲＡＭリフレッシュの発行タイミング制御に関するものである。
【背景技術】
【０００２】
従来技術は、ＤＲＡＭリフレッシュ発行タイミングを制御し、ＤＲＡＭへのアクセス発行とリフレッシュ発行とを衝突させないようにすることでＤＲＡＭアクセス効率の向上を図ることを目的としていた。【０００３】
前記従来技術は、ＤＲＡＭリフレッシュ発行周期を予めリフレッシュタイマにて設定しておき、リフレッシュタイマがその周期を計測し終わるごとにＤＲＡＭリフレッシュコマンドを発行していたが、本来リフレッシュを発行するべきタイミングにＤＲＡＭアクセスが実行中である場合に限り、その回のリフレッシュ発行をストップしてＤＲＡＭアクセスを優先させて、次回以降のリフレッシュ発行のタイミングにおいて、ストップしたリフレッシュ発行の回数分の集中リフレッシュを発行することで、ＤＲＡＭリフレッシュ発行によってＤＲＡＭアクセスが妨げられる事態を無くすことにより前記目的を実現していた（特許文献１参照）。
【特許文献１】特開２００４−１９２７２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記従来技術では、外部入出力信号とＤＲＡＭリフレッシュ発行タイミングを同期させることができなかった。【０００５】
そのため、ＣＰＵとＤＲＡＭとの接続を有するＬＳＩ（large-scale integrated circuit）に対して外部から入力信号を供給し、固定時間後にＬＳＩからの出力信号を判定して次の動作を決定するような外部判定装置をＬＳＩに接続して使用するシステムにおいては、同じＬＳＩが同じ命令を実行する場合でも、ＤＲＡＭリフレッシュと外部入出力信号とのタイミング関係によっては、命令実行のタイミングがずれ、その結果外部判定装置に対する出力信号のタイミングがずれてしまい、最終的には接続した外部判定装置が想定した動作を実行しない等の問題が発生する。【０００６】
ここで、図７及び図８を参照して、この問題を詳細に説明する。【０００７】
図７は、従来のシステム構成図である。図７のシステムは、ＬＳＩ１００に外部判定装置１０５を接続したものである。外部判定装置１０５は、例えばＬＳＩ１００のテスタである。ＬＳＩ１００は、ＣＰＵ１０１と、リフレッシュタイマ１０２と、ＤＲＡＭコントローラ１０３と、ＤＲＡＭ１０４と、ＰＬＬ（phase-locked loop）回路１１３とを有する。１０〜１３は外部判定装置１０５の入出力端子であり、２０〜２３はＬＳＩ１００の外部端子である。【０００８】
リフレッシュタイマ１０２は、最大値がＮの、ＬＳＩ動作クロック１１４に同期して動作するダウンカウンタであり、カウント値が「０」になった時点でリフレッシュタイマアンダーフロー信号１１１を発行するものとする。【０００９】
図７のシステムにて、以下に示した一連の動作（１）〜（５）を複数回、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間にＬＳＩ１００へハードウェアリセット信号１０９を発行することなく連続して繰り返して行う。【００１０】
（１）ＬＳＩ１００に対して、外部判定装置１０５がＬＳＩ１００のハードウェアリセット信号１０９を解除した後、ＰＬＬ回路１１３から安定したＬＳＩ動作クロック１１４の供給が開始される。【００１１】
（２）その後、外部判定装置１０５からＤＲＡＭ１０４へＣＰＵ１０１がフェッチ及び実行する命令がダウンロード信号１１６として供給される。【００１２】
（３）次に外部判定装置１０５からＬＳＩ１００に入力信号１０６が供給される。【００１３】
（４）ＣＰＵ１０１はＤＲＡＭ１０４にダウンロードされた命令をフェッチし、指定された処理を開始する。【００１４】
（５）外部判定装置１０５から入力信号１０６が供給されてからある一定時間Ｔの後に、外部判定装置１０５がＬＳＩ１００からの出力信号１０７を判定する。【００１５】
すなわち、ＬＳＩ１００に対して外部判定装置１０５から入力信号１０６を供給してＬＳＩ１００の動作を開始させ、固定時間Ｔの後に、ＬＳＩ１００が動作した結果出力される出力信号１０７を外部判定装置１０５が判定し、その結果を元に外部判定装置１０５の次の動作を決定するという一連の動作を、ＬＳＩ１００のハードウェアリセットを実行することなく、連続で複数回実行するものである。【００１６】
なお、ＤＲＡＭコントローラ１０３はＣＰＵ１０１からのアクセス信号１１５に従ってＤＲＡＭアクセスコマンド１１７を発行し、外部判定装置１０５からの入力信号１０６を受けてＣＰＵ１０１がＤＲＡＭ１０４からフェッチ、実行する命令は毎回全く同じ内容であるものとする。【００１７】
図８は、図７におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。時刻ｔ１ではＬＳＩ動作クロック１１４の供給が開始し、時刻ｔ３では外部判定装置１０５からＬＳＩ１００への１回目の入力信号１０６の供給がなされ、時刻ｔ４では外部判定装置１０５がＬＳＩ１００からの１回目の出力信号１０７を判定し、時刻ｔ６では外部判定装置１０５からＬＳＩ１００への２回目の入力信号１０６の供給がなされ、時刻ｔ７では外部判定装置１０５がＬＳＩ１００からの２回目の出力信号１０７を判定する。【００１８】
図８に示すように、１回目の命令実行の際（時刻ｔ３と時刻ｔ４との間）にはＤＲＡＭリフレッシュコマンド１１２とＤＲＡＭアクセスコマンド１１７とは競合していないが、２回目の命令実行の際（時刻ｔ６と時刻ｔ７との間）にはＤＲＡＭリフレッシュコマンド１１２とＤＲＡＭアクセスコマンド１１７との競合が発生している。【００１９】
ＤＲＡＭリフレッシュコマンド１１２はリフレッシュタイマ１０２のカウント値が０になった時に定期的に発行されるが、外部判定装置１０５からＬＳＩ１００に入力信号１０６を供給する際のリフレッシュタイマ１０２のカウント値が１回目の命令実行の場合と２回目以降の命令実行の場合とでは異なることがあるため、ＤＲＡＭアクセスコマンド１１７とＤＲＡＭリフレッシュコマンド１１２との発行されるタイミングが１回目の命令実行時と２回目の命令実行時とで異なることがあるのである。なお、図８では、１回目（時刻ｔ３）のカウント値はＡ、２回目（時刻ｔ６）のカウント値はＣとしているが、Ａ≠Ｃの場合を想定している。【００２０】
このため、上記の一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合状態が１回目と２回目以降の命令実行の場合とで異なり、その結果として競合する回数も異なるという現象が起こり得る。なお、図８には、２回目の方が１回目よりも競合回数が多い例を示している。【００２１】
一般的に、ＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合が起こると、その度にＣＰＵ１０１の命令フェッチ・命令実行のタイミングが競合無しの場合よりも遅れてしまう。【００２２】
そのため、図８に示したような、ＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合回数が１回目と２回目以降とで異なる場合には、競合回数が多い方の上記一連の動作開始から完了までにかかる時間が、少ない方でかかる時間よりも増大してしまう。その結果、ＬＳＩ１００から外部判定装置１０５への出力信号１０７のタイミングが１回目と２回目以降とではずれてしまうため、ＬＳＩ１００に入力信号１０６を供給してから、固定時間Ｔ後にＬＳＩ１００からの出力信号１０７を判定するような外部判定装置１０５では、正しいタイミングで出力信号１０７を判定できず、正しく次の動作を実行できないという問題が起こり得る。図８の例では、時刻ｔ７にて出力信号１０７の遅延により誤判定が生じる。【００２３】
なお、上記一連の動作において、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に毎回ＬＳＩ１００へハードウェアリセット信号１０９を発行することによっても、前記一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合状態を常に同じにするという目的を達成することが可能である。【００２４】
ただし、前記一連の動作において、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に毎回ＬＳＩ１００へハードウェアリセット信号１０９を発行すると、次の命令の実行を開始するまでの間に、ＰＬＬ回路１１３が安定したＬＳＩ動作クロック１１４を供給できる状態になるまでの待ち時間と、外部判定装置１０５からＤＲＡＭ１０４に対してＣＰＵ１０１がフェッチ・実行する命令をダウンロード完了するまでの待ち時間とが発生することになり、その結果前記一連の動作を完了するまでにかかる時間が増大してしまう。【００２５】
本発明は、このような課題を容易に解決する回路構成及びその手法を提案するものである。
【課題を解決するための手段】
【００２６】
本発明では、外部入出力信号とＤＲＡＭリフレッシュ発行タイミングを同期化させて、同じＬＳＩが同じ命令を実行している際の外部入出力信号とＤＲＡＭリフレッシュ発行とのタイミングを一意に決定することにより、前記課題を解決する。【００２７】
外部入出力信号とＤＲＡＭリフレッシュ発行タイミングを同期化させる具体的な方法としては、以下の２つが挙げられる。【００２８】
（１）リフレッシュタイマでＤＲＡＭリフレッシュ発行のタイミングを決定する半導体回路において、リフレッシュタイマの値をＣＰＵ又は外部端子より任意のタイミングで制御できる回路構成を採用する。【００２９】
（２）リフレッシュタイマを介さずに外部端子からＤＲＡＭリフレッシュ発行タイミングを直接制御できる回路構成を採用する。
【発明の効果】
【００３０】
本発明により、ＣＰＵとＤＲＡＭとの接続を有するＬＳＩに対して外部から入力信号を供給し、固定時間後にＬＳＩからの出力信号を判定して次の動作を決定するような外部判定装置をＬＳＩに接続して使用する際には、外部入出力信号とＤＲＡＭリフレッシュ発行とのタイミングの変化による悪影響を全く受けないシステムを構築することが可能である。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明の実施の形態１のシステム構成図である。
【図２】図２は、図１におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【図３】図３は、本発明の実施の形態２のシステム構成図である。
【図４】図４は、図３におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【図５】図５は、本発明の実施の形態３のシステム構成図である。
【図６】図６は、図５におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【図７】図７は、従来のシステム構成図である。
【図８】図８は、図７におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【符号の説明】
【００３２】
１０〜１４  外部判定装置の入出力端子
２０〜２４  ＬＳＩの外部端子
１００  ＬＳＩ
１０１  ＣＰＵ
１０２  リフレッシュタイマ
１０３  ＤＲＡＭコントローラ
１０４  ＤＲＡＭ
１０５  外部判定装置
１０６  外部判定装置からＬＳＩへの入力信号
１０７  ＬＳＩから外部判定装置への出力信号
１０８  ＣＰＵが発行するリフレッシュタイマ初期化命令
１０９  ハードウェアリセット信号
１１０  リフレッシュタイマリセット信号
１１１  リフレッシュタイマアンダーフロー信号
１１２  ＤＲＡＭリフレッシュコマンド
１１３  ＰＬＬ回路
１１４  ＬＳＩ動作クロック
１１５  ＣＰＵからＤＲＡＭへのアクセス信号
１１６  外部判定装置からＬＳＩへのダウンロード信号
１１７  ＤＲＡＭアクセスコマンド
１２０，１２１  ＯＲ回路
２０８  外部判定装置からＬＳＩへのリフレッシュタイマ初期化信号
３０８  外部判定装置からＬＳＩへのＤＲＡＭリフレッシュ発行要求信号
３１８  ＤＲＡＭコントローラへのＤＲＡＭリフレッシュタイミング信号
【発明を実施するための最良の形態】
【００３３】
《実施の形態１》
図１は、本発明の実施の形態１のシステム構成図である。図１のシステムでは、ＬＳＩ１００中にＯＲ回路１２０を設け、外部判定装置１０５からのハードウェアリセット信号１０９又はＣＰＵ１０１からのリフレッシュタイマ初期化命令１０８によってリフレッシュタイマリセット信号１１０を生成し、リフレッシュタイマ１０２をある値（例えば「０」）に初期化する。【００３４】
図２は、図１におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。図２に示した通り、例えば時刻ｔ３，ｔ６にて外部判定装置１０５からＬＳＩ１００に対して入力信号１０６を供給する直前の時刻ｔ２，ｔ５にＣＰＵ１０１からリフレッシュタイマ初期化命令１０８を発行することによって、外部判定装置１０５からＬＳＩ１００に入力信号１０６を供給する際のリフレッシュタイマ１０２のカウント値を、１回目の命令実行の場合（時刻ｔ３）と２回目以降の命令実行の場合（時刻ｔ６）とで常に「０」にして一致させることが可能となる。【００３５】
このため、前記一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとが競合する回数を、常に同じにすることが可能である。また、競合の結果によるＣＰＵ１０１の命令フェッチ、命令実行のタイミングの遅れも１回目と２回目以降とで常に一致するため、前記一連の動作にかかる時間は１回目と２回目以降とで常に一致する。その結果、ＬＳＩ１００から外部判定装置１０５に出力信号１０７を供給するタイミングもまた常に同じタイミングであり、外部判定装置１０５が常に正しいタイミング（時刻ｔ４，ｔ７）で出力信号１０７を判定するため、外部判定装置１０５の誤動作を防ぐことが可能となる。【００３６】
《実施の形態２》
図３は、本発明の実施の形態２のシステム構成図である。図３のシステムでは、外部判定装置１０５からのハードウェアリセット信号１０９又は外部判定装置１０５からのリフレッシュタイマ初期化信号２０８によって、リフレッシュタイマ１０２をある値（例えば「０」）に初期化する。ハードウェアリセット信号１０９はＬＳＩ１００全体の動作に対するリセット信号であるのに対し、リフレッシュタイマ初期化信号２０８はリフレッシュタイマ１０２のカウント値に対してのみ有効なリセット信号であり、この点において両者の機能に差違がある。１４は外部判定装置１０５に付加された入出力端子であり、２４はＬＳＩ１００に付加された外部端子である。【００３７】
図４は、図３におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。図４に示した通り、例えば時刻ｔ３，ｔ６にて外部判定装置１０５からＬＳＩ１００に対して入力信号１０６を供給する直前の時刻ｔ２，ｔ５に、外部判定装置１０５からＬＳＩ１００に対してリフレッシュタイマ初期化信号２０８を発行することによって、外部判定装置１０５からＬＳＩ１００に入力信号１０６を供給する際のリフレッシュタイマ１０２のカウント値を、１回目の命令実行の場合（時刻ｔ３）と２回目以降の命令実行の場合（時刻ｔ６）とで常に「０」にして一致させることが可能となる。したがって、実施の形態１と同様の効果が得られる。【００３８】
《実施の形態３》
図５は、本発明の実施の形態３のシステム構成図である。図５のシステムでは、ＬＳＩ１００中にＯＲ回路１２１を設け、リフレッシュタイマ１０２からのリフレッシュタイマアンダーフロー信号１１１又は外部判定装置１０５からのＤＲＡＭリフレッシュ発行要求信号３０８によってＤＲＡＭリフレッシュタイミング信号３１８を生成し、このＤＲＡＭリフレッシュタイミング信号３１８によりＤＲＡＭリフレッシュコマンド１１２の発行を直接制御する。１４は外部判定装置１０５に付加された入出力端子であり、２４はＬＳＩ１００に付加された外部端子である。【００３９】
図６は、図５におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。図６に示した通り、例えばリフレッシュタイマ１０２の動作を停止させてリフレッシュタイマ１０２からリフレッシュタイマアンダーフロー信号１１１を発行しないようにしたうえで、時刻ｔ３，ｔ６にて外部判定装置１０５からＬＳＩ１００に対して入力信号１０６を供給する直前の時刻ｔ２，ｔ５等の適切なタイミングに、外部判定装置１０５からＬＳＩ１００に対してＤＲＡＭリフレッシュ発行要求信号３０８を発行することによって、前記一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとが競合する回数を、常に同じにすることが可能となる。したがって、実施の形態１と同様の効果が得られる。【００４０】
上記各実施の形態で説明した技術を採用すれば、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に待ち時間は発生しないため、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に毎回ＬＳＩ１００へハードウェアリセット信号１０９を発行する方法を採用した場合に比べて前記一連の動作完了までにかかる時間を短縮できる。【００４１】
なお、ここでは同じ命令をＬＳＩ１００へハードウェアリセット信号１０９を発行することなく連続して複数回実行する場合を例として挙げたが、ハードウェアリセット信号１０９を発行することなく異なる内容の命令を連続して実行する場合においても、本発明の機能を活用しない場合には、図８を用いて説明したような問題が起こり得る。【００４２】
例えば、命令Ａ、命令Ｂという２つの命令をＬＳＩ１００へハードウェアリセット信号１０９を発行することなく連続して実行する場合を考えると、本発明の機能を活用しない場合は命令Ａ・命令Ｂの順番で命令を実行する場合と、命令Ｂ・命令Ａの順番で実行する場合とでは、命令Ａ、命令Ｂそれぞれを実行中に発生するリフレッシュの回数が異なることが起こり得るため、外部判定装置１０５が正しく動作しなくなるという現象が起こり得る。このような問題についても、本発明により解決することが可能である。【００４３】
なお、上記外部判定装置１０５は例えば半導体テスト装置（いわゆるテスタ）であるが、外部判定装置１０５に代えて、ＦＰＧＡ（field programmable gate array）又はＣＰＬＤ（complex programmable logic device）といったプログラマブルなハードウェアをＬＳＩ１００に外部装置として接続することも可能である。
【産業上の利用の可能性】
【００４４】
本発明の半導体回路をＬＳＩに実装することにより、例えばＬＳＩに対してテスタを接続して使用したＬＳＩのテストを実施する際に、ＬＳＩに対してリセットを発行することなく複数回のテストを連続で実施することが可能となるため、各テストごとの、ＬＳＩのリセット解除からＣＰＵ動作開始にかかる時間を短縮することが可能となり、その結果テスト時間の短縮によるテストコストの削減を実現することができる。
【図１】
2009107172.tif 000003
【図２】
2009107172.tif 000004
【図３】
2009107172.tif 000005
【図４】
2009107172.tif 000006
【図５】
2009107172.tif 000007
【図６】
2009107172.tif 000008
【図７】
2009107172.tif 000009
【図８】
2009107172.tif 000010
【手続補正書】
【提出日】平成22年5月21日(2010.5.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（central processing unit）とＤＲＡＭ（dynamic random access memory）との接続を有し、かつＣＰＵがＤＲＡＭにアクセスして動作する半導体回路において、ＤＲＡＭリフレッシュの発行タイミング制御に関するものである。
【背景技術】
【０００２】
従来技術は、ＤＲＡＭリフレッシュ発行タイミングを制御し、ＤＲＡＭへのアクセス発行とリフレッシュ発行とを衝突させないようにすることでＤＲＡＭアクセス効率の向上を図ることを目的としていた。
【０００３】
前記従来技術は、ＤＲＡＭリフレッシュ発行周期を予めリフレッシュタイマにて設定しておき、リフレッシュタイマがその周期を計測し終わるごとにＤＲＡＭリフレッシュコマンドを発行していたが、本来リフレッシュを発行するべきタイミングにＤＲＡＭアクセスが実行中である場合に限り、その回のリフレッシュ発行をストップしてＤＲＡＭアクセスを優先させて、次回以降のリフレッシュ発行のタイミングにおいて、ストップしたリフレッシュ発行の回数分の集中リフレッシュを発行することで、ＤＲＡＭリフレッシュ発行によってＤＲＡＭアクセスが妨げられる事態を無くすことにより前記目的を実現していた（特許文献１参照）。
【特許文献１】特開２００４−１９２７２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記従来技術では、外部入出力信号とＤＲＡＭリフレッシュ発行タイミングを同期させることができなかった。
【０００５】
そのため、ＣＰＵとＤＲＡＭとの接続を有するＬＳＩ（large-scale integrated circuit）に対して外部から入力信号を供給し、固定時間後にＬＳＩからの出力信号を判定して次の動作を決定するような外部判定装置をＬＳＩに接続して使用するシステムにおいては、同じＬＳＩが同じ命令を実行する場合でも、ＤＲＡＭリフレッシュと外部入出力信号とのタイミング関係によっては、命令実行のタイミングがずれ、その結果外部判定装置に対する出力信号のタイミングがずれてしまい、最終的には接続した外部判定装置が想定した動作を実行しない等の問題が発生する。
【０００６】
ここで、図７及び図８を参照して、この問題を詳細に説明する。
【０００７】
図７は、従来のシステム構成図である。図７のシステムは、ＬＳＩ１００に外部判定装置１０５を接続したものである。外部判定装置１０５は、例えばＬＳＩ１００のテスタである。ＬＳＩ１００は、ＣＰＵ１０１と、リフレッシュタイマ１０２と、ＤＲＡＭコントローラ１０３と、ＤＲＡＭ１０４と、ＰＬＬ（phase-locked loop）回路１１３とを有する。１０〜１３は外部判定装置１０５の入出力端子であり、２０〜２３はＬＳＩ１００の外部端子である。
【０００８】
リフレッシュタイマ１０２は、最大値がＮの、ＬＳＩ動作クロック１１４に同期して動作するダウンカウンタであり、カウント値が「０」になった時点でリフレッシュタイマアンダーフロー信号１１１を発行するものとする。
【０００９】
図７のシステムにて、以下に示した一連の動作（１）〜（５）を複数回、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間にＬＳＩ１００へハードウェアリセット信号１０９を発行することなく連続して繰り返して行う。
【００１０】
（１）ＬＳＩ１００に対して、外部判定装置１０５がＬＳＩ１００のハードウェアリセット信号１０９を解除した後、ＰＬＬ回路１１３から安定したＬＳＩ動作クロック１１４の供給が開始される。
【００１１】
（２）その後、外部判定装置１０５からＤＲＡＭ１０４へＣＰＵ１０１の動作に必要なデータがダウンロード信号１１６として供給される。
【００１２】
（３）次に外部判定装置１０５からＬＳＩ１００に入力信号１０６が供給される。
【００１３】
（４）ＣＰＵ１０１はＤＲＡＭ１０４にダウンロードされたデータにアクセスし、指定された処理を開始する。
【００１４】
（５）外部判定装置１０５から入力信号１０６が供給されてからある一定時間Ｔの後に、外部判定装置１０５がＬＳＩ１００からの出力信号１０７を判定する。
【００１５】
すなわち、ＬＳＩ１００に対して外部判定装置１０５から入力信号１０６を供給してＬＳＩ１００の動作を開始させ、固定時間Ｔの後に、ＬＳＩ１００が動作した結果出力される出力信号１０７を外部判定装置１０５が判定し、その結果を元に外部判定装置１０５の次の動作を決定するという一連の動作を、ＬＳＩ１００のハードウェアリセットを実行することなく、連続で複数回実行するものである。
【００１６】
なお、ＤＲＡＭコントローラ１０３はＣＰＵ１０１からのアクセス信号１１５に従ってＤＲＡＭアクセスコマンド１１７を発行し、外部判定装置１０５からの入力信号１０６を受けてＣＰＵ１０１が実行するＤＲＡＭ１０４に対するアクセスの内容は毎回全く同じであるものとする。
【００１７】
図８は、図７におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。時刻ｔ１ではＬＳＩ動作クロック１１４の供給が開始し、時刻ｔ３では外部判定装置１０５からＬＳＩ１００への１回目の入力信号１０６の供給がなされ、時刻ｔ４では外部判定装置１０５がＬＳＩ１００からの１回目の出力信号１０７を判定し、時刻ｔ６では外部判定装置１０５からＬＳＩ１００への２回目の入力信号１０６の供給がなされ、時刻ｔ７では外部判定装置１０５がＬＳＩ１００からの２回目の出力信号１０７を判定する。
【００１８】
図８に示すように、１回目の命令実行の際（時刻ｔ３と時刻ｔ４との間）にはＤＲＡＭリフレッシュコマンド１１２とＤＲＡＭアクセスコマンド１１７とは競合していないが、２回目の命令実行の際（時刻ｔ６と時刻ｔ７との間）にはＤＲＡＭリフレッシュコマンド１１２とＤＲＡＭアクセスコマンド１１７との競合が発生している。
【００１９】
ＤＲＡＭリフレッシュコマンド１１２はリフレッシュタイマ１０２のカウント値が０になった時に定期的に発行されるが、外部判定装置１０５からＬＳＩ１００に入力信号１０６を供給する際のリフレッシュタイマ１０２のカウント値が１回目の命令実行の場合と２回目以降の命令実行の場合とでは異なることがあるため、ＤＲＡＭアクセスコマンド１１７とＤＲＡＭリフレッシュコマンド１１２との発行されるタイミングが１回目の命令実行時と２回目の命令実行時とで異なることがあるのである。なお、図８では、１回目（時刻ｔ３）のカウント値はＡ、２回目（時刻ｔ６）のカウント値はＣとしているが、Ａ≠Ｃの場合を想定している。
【００２０】
このため、上記の一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合状態が１回目と２回目以降の命令実行の場合とで異なり、その結果として競合する回数も異なるという現象が起こり得る。なお、図８には、２回目の方が１回目よりも競合回数が多い例を示している。
【００２１】
一般的に、ＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合が起こると、その度にＣＰＵ１０１のＤＲＡＭ１０４に対するアクセス実行のタイミングが競合無しの場合よりも遅れてしまう。
【００２２】
そのため、図８に示したような、ＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合回数が１回目と２回目以降とで異なる場合には、競合回数が多い方の上記一連の動作開始から完了までにかかる時間が、少ない方でかかる時間よりも増大してしまう。その結果、ＬＳＩ１００から外部判定装置１０５への出力信号１０７のタイミングが１回目と２回目以降とではずれてしまうため、ＬＳＩ１００に入力信号１０６を供給してから、固定時間Ｔ後にＬＳＩ１００からの出力信号１０７を判定するような外部判定装置１０５では、正しいタイミングで出力信号１０７を判定できず、正しく次の動作を実行できないという問題が起こり得る。図８の例では、時刻ｔ７にて出力信号１０７の遅延により誤判定が生じる。
【００２３】
なお、上記一連の動作において、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に毎回ＬＳＩ１００へハードウェアリセット信号１０９を発行することによっても、前記一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとの競合状態を常に同じにするという目的を達成することが可能である。
【００２４】
ただし、前記一連の動作において、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に毎回ＬＳＩ１００へハードウェアリセット信号１０９を発行すると、次の命令の実行を開始するまでの間に、ＰＬＬ回路１１３が安定したＬＳＩ動作クロック１１４を供給できる状態になるまでの待ち時間と、外部判定装置１０５からＤＲＡＭ１０４に対してＣＰＵ１０１の動作に必要なデータをダウンロード完了するまでの待ち時間とが発生することになり、その結果前記一連の動作を完了するまでにかかる時間が増大してしまう。
【００２５】
本発明は、このような課題を容易に解決する回路構成及びその手法を提案するものである。
【課題を解決するための手段】
【００２６】
本発明では、外部入出力信号とＤＲＡＭリフレッシュ発行タイミングを同期化させて、同じＬＳＩが同じ命令を実行している際の外部入出力信号とＤＲＡＭリフレッシュ発行とのタイミングを一意に決定することにより、前記課題を解決する。
【００２７】
外部入出力信号とＤＲＡＭリフレッシュ発行タイミングを同期化させる具体的な方法としては、以下の２つが挙げられる。
【００２８】
（１）リフレッシュタイマでＤＲＡＭリフレッシュ発行のタイミングを決定する半導体回路において、リフレッシュタイマの値をＣＰＵ又は外部端子より任意のタイミングで制御できる回路構成を採用する。
【００２９】
（２）リフレッシュタイマを介さずに外部端子からＤＲＡＭリフレッシュ発行タイミングを直接制御できる回路構成を採用する。
【発明の効果】
【００３０】
本発明により、ＣＰＵとＤＲＡＭとの接続を有するＬＳＩに対して外部から入力信号を供給し、固定時間後にＬＳＩからの出力信号を判定して次の動作を決定するような外部判定装置をＬＳＩに接続して使用する際には、外部入出力信号とＤＲＡＭリフレッシュ発行とのタイミングの変化による悪影響を全く受けないシステムを構築することが可能である。
【発明を実施するための最良の形態】
【００３１】
《実施の形態１》
図１は、本発明の実施の形態１のシステム構成図である。図１のシステムでは、ＬＳＩ１００中にＯＲ回路１２０を設け、外部判定装置１０５からのハードウェアリセット信号１０９又はＣＰＵ１０１からのリフレッシュタイマ初期化命令１０８によってリフレッシュタイマリセット信号１１０を生成し、リフレッシュタイマ１０２をある値（例えば「０」）に初期化する。
【００３２】
図２は、図１におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。図２に示した通り、例えば時刻ｔ３，ｔ６にて外部判定装置１０５からＬＳＩ１００に対して入力信号１０６を供給する直前の時刻ｔ２，ｔ５にＣＰＵ１０１からリフレッシュタイマ初期化命令１０８を発行することによって、外部判定装置１０５からＬＳＩ１００に入力信号１０６を供給する際のリフレッシュタイマ１０２のカウント値を、１回目の命令実行の場合（時刻ｔ３）と２回目以降の命令実行の場合（時刻ｔ６）とで常に「０」にして一致させることが可能となる。
【００３３】
このため、前記一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとが競合する回数を、常に同じにすることが可能である。また、競合の結果によるＣＰＵ１０１の命令フェッチ、命令実行のタイミングの遅れも１回目と２回目以降とで常に一致するため、前記一連の動作にかかる時間は１回目と２回目以降とで常に一致する。その結果、ＬＳＩ１００から外部判定装置１０５に出力信号１０７を供給するタイミングもまた常に同じタイミングであり、外部判定装置１０５が常に正しいタイミング（時刻ｔ４，ｔ７）で出力信号１０７を判定するため、外部判定装置１０５の誤動作を防ぐことが可能となる。
【００３４】
《実施の形態２》
図３は、本発明の実施の形態２のシステム構成図である。図３のシステムでは、外部判定装置１０５からのハードウェアリセット信号１０９又は外部判定装置１０５からのリフレッシュタイマ初期化信号２０８によって、リフレッシュタイマ１０２をある値（例えば「０」）に初期化する。ハードウェアリセット信号１０９はＬＳＩ１００全体の動作に対するリセット信号であるのに対し、リフレッシュタイマ初期化信号２０８はリフレッシュタイマ１０２のカウント値に対してのみ有効なリセット信号であり、この点において両者の機能に差違がある。１４は外部判定装置１０５に付加された入出力端子であり、２４はＬＳＩ１００に付加された外部端子である。
【００３５】
図４は、図３におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。図４に示した通り、例えば時刻ｔ３，ｔ６にて外部判定装置１０５からＬＳＩ１００に対して入力信号１０６を供給する直前の時刻ｔ２，ｔ５に、外部判定装置１０５からＬＳＩ１００に対してリフレッシュタイマ初期化信号２０８を発行することによって、外部判定装置１０５からＬＳＩ１００に入力信号１０６を供給する際のリフレッシュタイマ１０２のカウント値を、１回目の命令実行の場合（時刻ｔ３）と２回目以降の命令実行の場合（時刻ｔ６）とで常に「０」にして一致させることが可能となる。したがって、実施の形態１と同様の効果が得られる。
【００３６】
《実施の形態３》
図５は、本発明の実施の形態３のシステム構成図である。図５のシステムでは、ＬＳＩ１００中にＯＲ回路１２１を設け、リフレッシュタイマ１０２からのリフレッシュタイマアンダーフロー信号１１１又は外部判定装置１０５からのＤＲＡＭリフレッシュ発行要求信号３０８によってＤＲＡＭリフレッシュタイミング信号３１８を生成し、このＤＲＡＭリフレッシュタイミング信号３１８によりＤＲＡＭリフレッシュコマンド１１２の発行を直接制御する。１４は外部判定装置１０５に付加された入出力端子であり、２４はＬＳＩ１００に付加された外部端子である。
【００３７】
図６は、図５におけるＬＳＩ１００の内部動作及び外部判定装置１０５とＬＳＩ１００との間の信号の入出力についてのタイミングチャート図である。図６に示した通り、例えばリフレッシュタイマ１０２の動作を停止させてリフレッシュタイマ１０２からリフレッシュタイマアンダーフロー信号１１１を発行しないようにしたうえで、時刻ｔ３，ｔ６にて外部判定装置１０５からＬＳＩ１００に対して入力信号１０６を供給する直前の時刻ｔ２，ｔ５等の適切なタイミングに、外部判定装置１０５からＬＳＩ１００に対してＤＲＡＭリフレッシュ発行要求信号３０８を発行することによって、前記一連の動作の間に発行されるＤＲＡＭリフレッシュとＣＰＵ１０１からＤＲＡＭ１０４へのアクセスとが競合する回数を、常に同じにすることが可能となる。したがって、実施の形態１と同様の効果が得られる。
【００３８】
上記各実施の形態で説明した技術を採用すれば、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に待ち時間は発生しないため、ＣＰＵ１０１の命令実行終了から次の命令実行開始までの間に毎回ＬＳＩ１００へハードウェアリセット信号１０９を発行する方法を採用した場合に比べて前記一連の動作完了までにかかる時間を短縮できる。
【００３９】
なお、ここでは同じ命令をＬＳＩ１００へハードウェアリセット信号１０９を発行することなく連続して複数回実行する場合を例として挙げたが、ハードウェアリセット信号１０９を発行することなく異なる内容の命令を連続して実行する場合においても、本発明の機能を活用しない場合には、図８を用いて説明したような問題が起こり得る。
【００４０】
例えば、命令Ａ、命令Ｂという２つの命令をＬＳＩ１００へハードウェアリセット信号１０９を発行することなく連続して実行する場合を考えると、本発明の機能を活用しない場合は命令Ａ・命令Ｂの順番で命令を実行する場合と、命令Ｂ・命令Ａの順番で実行する場合とでは、命令Ａ、命令Ｂそれぞれを実行中に発生するリフレッシュの回数が異なることが起こり得るため、外部判定装置１０５が正しく動作しなくなるという現象が起こり得る。このような問題についても、本発明により解決することが可能である。
【００４１】
なお、上記外部判定装置１０５は例えば半導体テスト装置（いわゆるテスタ）であるが、外部判定装置１０５に代えて、ＦＰＧＡ（field programmable gate array）又はＣＰＬＤ（complex programmable logic device）といったプログラマブルなハードウェアをＬＳＩ１００に外部装置として接続することも可能である。
【産業上の利用可能性】
【００４２】
本発明の半導体回路をＬＳＩに実装することにより、例えばＬＳＩに対してテスタを接続して使用したＬＳＩのテストを実施する際に、ＬＳＩに対してリセットを発行することなく複数回のテストを連続で実施することが可能となるため、各テストごとの、ＬＳＩのリセット解除からＣＰＵ動作開始にかかる時間を短縮することが可能となり、その結果テスト時間の短縮によるテストコストの削減を実現することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態１のシステム構成図である。
【図２】図１におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【図３】本発明の実施の形態２のシステム構成図である。
【図４】図３におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【図５】本発明の実施の形態３のシステム構成図である。
【図６】図５におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【図７】従来のシステム構成図である。
【図８】図７におけるＬＳＩ内部動作及び外部判定装置とＬＳＩとの間の信号の入出力についてのタイミングチャート図である。
【符号の説明】
【００４４】
１０〜１４  外部判定装置の入出力端子
２０〜２４  ＬＳＩの外部端子
１００  ＬＳＩ
１０１  ＣＰＵ
１０２  リフレッシュタイマ
１０３  ＤＲＡＭコントローラ
１０４  ＤＲＡＭ
１０５  外部判定装置
１０６  外部判定装置からＬＳＩへの入力信号
１０７  ＬＳＩから外部判定装置への出力信号
１０８  ＣＰＵが発行するリフレッシュタイマ初期化命令
１０９  ハードウェアリセット信号
１１０  リフレッシュタイマリセット信号
１１１  リフレッシュタイマアンダーフロー信号
１１２  ＤＲＡＭリフレッシュコマンド
１１３  ＰＬＬ回路
１１４  ＬＳＩ動作クロック
１１５  ＣＰＵからＤＲＡＭへのアクセス信号
１１６  外部判定装置からＬＳＩへのダウンロード信号
１１７  ＤＲＡＭアクセスコマンド
１２０，１２１  ＯＲ回路
２０８  外部判定装置からＬＳＩへのリフレッシュタイマ初期化信号
３０８  外部判定装置からＬＳＩへのＤＲＡＭリフレッシュ発行要求信号
３１８  ＤＲＡＭコントローラへのＤＲＡＭリフレッシュタイミング信号
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＤＲＡＭと、前記ＤＲＡＭに対してアクセスを実行するＣＰＵと、前記ＣＰＵからのアクセス信号に従ってＤＲＡＭアクセスコマンドを発行し、かつ定期的にＤＲＡＭリフレッシュコマンドを発行するためのＤＲＡＭコントローラと、複数の外部端子と、前記ＤＲＡＭリフレッシュコマンドの発行タイミングを決定するためのリフレッシュタイマとを有する半導体回路であって、
前記ＣＰＵからの命令で前記リフレッシュタイマをある値に初期化して前記複数の外部端子のうちのいくつかの入出力信号と前記ＤＲＡＭリフレッシュコマンドとの同期化をすることによって、
前記ＣＰＵが前記ＤＲＡＭに対する同じ内容のアクセスを複数回実行した際の命令実行時間を毎回同じ長さにすることを特徴とする半導体回路。
【請求項２】
ＤＲＡＭと、前記ＤＲＡＭに対してアクセスを実行するＣＰＵと、前記ＣＰＵからのアクセス信号に従ってＤＲＡＭアクセスコマンドを発行し、かつ定期的にＤＲＡＭリフレッシュコマンドを発行するためのＤＲＡＭコントローラと、複数の外部端子と、前記ＤＲＡＭリフレッシュコマンドの発行タイミングを決定するためのリフレッシュタイマとを有する半導体回路であって、
前記複数の外部端子のうちの１つから信号を入力して前記リフレッシュタイマをある値に初期化し、前記複数の外部端子のうちのいくつかの入出力信号と前記ＤＲＡＭリフレッシュコマンドとの同期化をすることによって、
前記ＣＰＵが前記ＤＲＡＭに対する同じ内容のアクセスを複数回実行した際の命令実行時間を毎回同じ長さにすることを特徴とする半導体回路。
【請求項３】
ＤＲＡＭと、前記ＤＲＡＭに対してアクセスを実行するＣＰＵと、前記ＣＰＵからのアクセス信号に従ってＤＲＡＭアクセスコマンドを発行し、かつ定期的にＤＲＡＭリフレッシュコマンドを発行するためのＤＲＡＭコントローラと、複数の外部端子と、前記ＤＲＡＭリフレッシュコマンドの発行タイミングを決定するためのリフレッシュタイマとを有する半導体回路であって、
前記複数の外部端子のうちの１つから信号を入力して前記リフレッシュタイマを使用することなく前記ＤＲＡＭリフレッシュコマンドの発行を直接制御し、前記複数の外部端子のうちのいくつかの入出力信号と前記ＤＲＡＭリフレッシュコマンドとの同期化をすることによって、
前記ＣＰＵが前記ＤＲＡＭに対する同じ内容のアクセスを複数回実行した際の命令実行時間を毎回同じ長さにすることを特徴とする半導体回路。
【請求項４】
請求項１記載の半導体回路において、
前記ＣＰＵが前記ＤＲＡＭに対する同じ内容のアクセスを複数回実行した際の前記入出力信号に関する動作時間は、命令実行の開始タイミングによらず常に一意に定まることを特徴とする半導体回路。
【請求項５】
請求項２記載の半導体回路において、
前記ＣＰＵが前記ＤＲＡＭに対する同じ内容のアクセスを複数回実行した際の前記入出力信号に関する動作時間は、命令実行の開始タイミングによらず常に一意に定まることを特徴とする半導体回路。
【請求項６】
請求項３記載の半導体回路において、
前記ＣＰＵが前記ＤＲＡＭに対する同じ内容のアクセスを複数回実行した際の前記入出力信号に関する動作時間は、命令実行の開始タイミングによらず常に一意に定まることを特徴とする半導体回路。
【請求項７】
請求項１〜３のいずれか１項に記載の半導体回路と、前記半導体回路に対して前記複数の外部端子のうちの１つから入力信号を供給して前記半導体回路を動作させる外部装置とを備えたことを特徴とするシステム。
【請求項８】
請求項７記載のシステムにおいて、
前記外部装置は、前記半導体回路に対して前記入力信号を供給して固定時間後に前記半導体回路からの出力信号を判定してその後の動作を決める外部判定装置であることを特徴とするシステム。
【請求項９】
請求項７記載のシステムにおいて、
前記外部装置は、半導体テスト装置であることを特徴とするシステム。
【請求項１０】
請求項７記載のシステムにおいて、
前記外部装置は、ＦＰＧＡ又はＣＰＬＤといったプログラマブルなハードウェアであることを特徴とするシステム。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009107172.tif 000011
【図２】
2009107172.tif 000012
【図３】
2009107172.tif 000013
【図４】
2009107172.tif 000014
【図５】
2009107172.tif 000015
【図６】
2009107172.tif 000016
【図７】
2009107172.tif 000017
【図８】
2009107172.tif 000018
【国際調査報告】
2009107172.tif 000019
2009107172.tif 000020
2009107172.tif 000021
2009107172.tif 000022