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 ->[iord,iowr,eprd,inta,iordy,recv1);

[c,h,h,h,h,h,h,h,h,ll ->[h,h,h,h,h,h1; [c,h,h,h,h,h,h,h,h,ll ->[h,h,h,h,h,h1; {c,h,h,h,h,h,h,h,h,ll ->[h,h,h,h,h,h1;

[c,h,h,h,l,l,h,h,l,ll ->(h,h, 1,h,h,h1; (c,h,h,h,l,l,h,h,l.ll ->(h,h, 1 ,h,h,h1; [c,h,h,h,l,l,h,h,l,ll ->[h,h, 1 ,h,h,h1; [c,h,h,h,l,l,h,h,l,ll ->[h,h, 1,h,h,h1; [c,h,h,h,l,l,h,l,l,ll ->[h,h,1,h,1,h1; [c,h,h,h,h,h,h,h, h, 11 ->[h,h,h,h,h,h1;

[c,h,h,l,l,h,l,h,l,ll ->[1 ,h,h,h,h,h1; [c,h,h,l,l,h,l,h,l,ll ->[1 ,h,h,h,h,h1; [c,h,h,l,l,h,l,h,l,ll ->[l,h,h,h,h,h1; [c,h,h,l,l,h,l,h,l,ll ->[1,h,h,h,h,h1; [c,h,h,l,l,h,l,l,l,lJ ->[l,h,h,h,1,h1; [c,h,h,h,h,h,h,h,h,ll ->[h,h,h,h,h,ll; [c,h,h,h,h,h,h,h ,h, 11 ->[h,h,h,h,h,lJ ; (c,h,h,h,h,h,h,l,h,ll ->[h,h,h,h,h,h1;

[c,h,h,l,h,h,l,h,l,ll ->[h,1,h,h,h,h1; [c,h,h,l,h,h,l,h,l,ll ->[h,1,h,h,h,h1; [c,h,h,l,h,h,l,h,l,ll ->[h,1,h,h,h,h1; [c,h,h,l,h,h,l,h,l,ll ->(h,1,h,h,h,h1; [c,h,h,l,h,h,l,l,l,ll ->[h,h,h,h,1,h1; [c,h,h,l,h,h,h,h,h,ll ->[h,h,h,h,h,ll; [c,h,h,h,h,h,h,h,h,ll ->[h,h,h,h,h,ll; [c,h,h,h,h,h,h,l,h,ll ->[h,h,h,h,h,h1;

[c,h,h,l,l,l,l,h,l,ll ->[h,h,h,1,h,h1; [c,h,h,l,l,l,l,h,l,ll ->[h,h,h, 1,h,h1; [c,h,h,l,l,l,l,h,l,lJ ->[h,h,h,1,h,h1; [c,h,h,l,l,l,l,h,l,ll ->[h,h,h,1,h,h1; [c,h,h,l,l,l,l,l,l,ll ->[h,h,h,1,1,h1; [c,h,h,h,h,h,h,h,h,ll ->[h,h,h,h,h,lJ ; [c,h,h,h,h,h,h,h,h,ll ->[h,h,h,h,h,ll; [c,h,h,h,h,h,h,l,h,ll ->[h,h,h,h,h,h1;

[c,h,h,h,h,l,l,h,l,ll ->[h,h,h,h,1,h1;

,'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

Figure A-1. IOPLD1 Equations (Contd.)

A-4

Page 266
Image 266
Intel 386 manual Figure A-1. IOPLD1 Equations Contd