128MbitあたりのSDRAMでちょっと遊んでみようかと思っているのですが、
セルフリフレッシュの動作の詳細がわかりません。これが短時間に分割
された場合、リフレッシュは過不足なく行われるのでしょうか。
20年位前の8bit機(z80)に接続することを考えています。
コントローラは、VHDLで書いてFPGAに乗せようと思います。
CPUのリフレッシュタイミングでは頻度が高すぎるので、アクセスして
いない期間は、セルフリフレッシュにしておこうかと考えました。
リフレッシュをDRAMに任せることで、余計なコードを書かずに、
それでいてある程度の低消費電力化ができそうです。
また、動作クロックもかなり適当に決められるようになります。
……100nsリード、2μsセルフリフレッシュ、100nsライト、1μsセルフ…
とかいったような雰囲気になりそうです。
セルフリフレッシュは、フリーランに15μs程度毎に内部発生される信号に
従って、分散リフレッシュが行われていると想像します。
もし、このタイミングの時にセルフリフレッシュモードでなければ、
当然にリフレッシュは行われないわけですが、例えばそのタイミングの
200ns後にセルフリフレッシュモードに入った場合、リフレッシュは
行われるのでしょうか。
もし行われないとすると、ずーっとリフレッシュが無い状態が続く可能性が
出てきてしまいます。
もう一点。
パワーオンシーケンスですが、数回のオートリフレッシュ(CBRリフレッシュ)が
必須となっています。調べてみると、エルピーダでは8回、三菱では2回と
差があります。一般に何回程度見ておけばいいものでしょうか。
--
K-ichi
# 今日買って来ました
# PC133CL3、珍しく8チップ載ったもの \1,880-
# MOSEL製チップで、8bitタイプ
> 128MbitあたりのSDRAMでちょっと遊んでみようかと思っているのですが、
> セルフリフレッシュの動作の詳細がわかりません。これが短時間に分割
> された場合、リフレッシュは過不足なく行われるのでしょうか。
三菱から回答をもらいました。
セルフリフレッシュに入った時点で、いったんリフレッシュが行われる。
その後は内蔵のオートタイマにより、一定時間毎にリフレッシュが行われる。
セルフリフレッシュから抜けると、オートタイマはリセットされる。
ただし、リフレッシュアドレスは保持される。
再びセルフリフレッシュに入ると、保持されているアドレスから
セルフリフレッシュが行われる。
# オートリフレッシュ、セルフリフレッシュ共に、
# 共通のリフレッシュカウンタを使っているものと想像する
> 20年位前の8bit機(z80)に接続することを考えています。
> CPUのリフレッシュタイミングでは頻度が高すぎるので、アクセスして
> いない期間は、セルフリフレッシュにしておこうかと考えました。
ということで、そんなことをすると輪をかけてリフレッシュ過多になります。
一発160mA。あぁ、もったいない。
> パワーオンシーケンスですが、数回のオートリフレッシュ(CBRリフレッシュ)が
> 必須となっています。調べてみると、エルピーダでは8回、三菱では2回と
> 差があります。一般に何回程度見ておけばいいものでしょうか。
MOSELだと、200μsNOP+8回リフレッシュ、
ELPIDAだと、100μsNOP+8回リフレッシュ、
三菱だと、100μsNOP+2回リフレッシュでした。
「信頼の三菱チップ使用」と銘打って、千円以上高値をつけるだけのことは
あります……?
--
K-ichi