たなかさんへ。再び野中です。 > すいません認識違いであったかもしれませんが・・・・ > これは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にラッチ機能を 持たせることにより、書き込むタイミングと読み出すタイミングを 意識しなくてよくなると思っています。