たなかさんへ。再び野中です。
> すいません認識違いであったかもしれませんが・・・・
> これはCPU⇔PLD⇔CPUの意味なのでしょうか?(ここの辺りが理解
そうです。ピンポン。わかっていただけて幸いです。
> 後バスは双方向のようですが書き込んだデータをCPUで
> またリードするのでしょうか?
違います。
双方向にすると、アクセスしない方のバスを切り離さなければならなく
なるので面倒だと感じました。本当にそうなのかは知りません。
> D[15:0] 16ビット BIDIR
> A[3:0] 4ビット INPUT
> CS 1ビット INPUT
> WR 1ビット INPUT
> >? CLK 1ビット INPUT
>
> >??? 読み込み用セレクタ 3ピン
> RD 1ビット INPUT とかではだめですか?
> それとも読み込み対象が3つあるのでしょうか?
3ピンということは8通りなのでアドレスみたいにして
8個の16ビットデータのどれを読み込むかセレクトするための
ものです。
読み込むときは
for(select=0;select<8;select++){
SELECT=select;
for(i=0;i<10;i++);//wait
kakudo[select]=DOUT;
}
SELECTとDOUTはPLDと直結したポートです。
みたいな感じの予定です。
DIN[15:0] INPUT
A[2:0] INPUT
CS INPUT
WR INPUT
CLK INPUT
DOUT[15:0] OUTPUT
SELECT[2:0] INPUT
CPU⇔PLD⇔CPUとすることで、PLDにラッチ機能を
持たせることにより、書き込むタイミングと読み出すタイミングを
意識しなくてよくなると思っています。