LOCAL BUS CONTROL PLD DESCRIPTIONS
"io state machine
state_diagram (iord,iowr,eprd,inta,iordy,recv1; state idle:
case na & !buscyc & pa31 & !wr & clk: epreadl;
na & !buscyc & !pa31 & !mio & dc & wr & clk: iowritel;
na & !buscyc & !pa31 & !mio & dc & !wr & elk: ioreadl;
na & !buscyc & !pa31 & !mio & !dc & !wr & clk: intakl;
na & !buscyc & mio & !dc & wr & clk: iowrite2; "halt endcase;
state epreadl: if (!timedly & clk) then epread2 else epreadl;
state epread2: if (clk) then idle else epread2;
state iowritel: if (!timedly & clk) then iowrite2 else iowritel;
state | iowrite2: if | (!mio & clk) then | recover |
| ||
|
| else if (mio & clk) then idle |
| |||
|
| else iowrite2; |
|
|
| |
state | ioreadl: | if | (!timedly & clk) | then | ioread2 else | ioreadl; |
state | ioread2: | if (clk) then recover else ioread2; |
| |||
state | intakl: | if | (!timedly & clk) | then | intak2 else | intakl; |
state | intak2: | if (clk) then recover else intak2; |
| |||
state | recover: | if | (!timedly & clk) | then | idle else recover; |
test_vectors ([clk2,clk,na,mio,wr,dc,pa31,timedly,buscyc,oe1
[c,h,h,h,h,h,h,h,h,ll
[c,h,h,h,l,l,h,h,l,ll
[c,h,h,l,l,h,l,h,l,ll
[c,h,h,l,h,h,l,h,l,ll
[c,h,h,l,l,l,l,h,l,ll
[c,h,h,h,h,l,l,h,l,ll
,'idle
,'idle
,'idle
I 'eprom read
,'eprom read
,'eprom read
,I eprom read
,'eprom read
,'idle
,'io read
,'io read
,, i a read
,'io read
,'io read
,'recovery
,'recovery
,'recovery
,I io write
,'io write
l' io write
,'io write "io write
,'recovery
,'recovery
,'recovery
"interrupt ack "interrupt ack
,'interrupt ack
,'interrupt ack "interrupt ack "recovery
"recovery
,'recovery
"ha lt or shutdown