kitune-sanの日記: PC/XTのDMAとDRAMリフレッシュ 4
8237AをSystemVerilogで書き始めるにあたって、
理解がおざなりになっていたDMAとDRAMについて調べた。
回路図とデータシートを眺めてわかってきたことのメモ。
PC/XTのDMAには8237Aが使われている。
DMA0がDRAMリフレッシュに割り当てられており、その他のDMA1-DMA3はXTバスを通して外部から使用できるようになっている。
8237Aへのクロックは8284AのCLKから直接接続されておらず、ディレイラインと若干ややこしいゲートを通って供給されている。これはクロックのHIGH時間を長くするように働く。
調べていくうちに、どうやら8237Aの制約によるものらしいことがわかった。8237Aへ供給するクロックのTCHおよびTCLはそれぞれ80nsと67ns以上にする必要があり、
4.77MHzの周期の1/3の時間の69.88nsのHIGH出力では、使用条件を満たすことができないからである。