module _iodec
title 'exm12 iodec pal
(c) Copyright 1991, RadiSys Corp.'

_031500 device 'P20l8';

sa0 pin 1;
sa1 pin 2;
sa2 pin 3;
sa3 pin 4;
sa4 pin 5;
sa5 pin 6;
sa6 pin 7;
sa7 pin 8;
sa8 pin 9;
sa9 pin 10;
sa15 pin 11;
cden pin 13;
!ior pin 14;
!iow pin 23;
!acmid pin 18;
aen pin 17;

!sden1 pin 22;
!sddir1 pin 21;
!cs_10X pin 15;
!iospare1 pin 20;
!iospare0 pin 19;

!iospare2 pin 16;

x = .x.;
ioadr = [sa9,sa8,sa7,sa6,sa5,sa4,sa3,sa2,sa1,sa0];

equations
sddir1 = ior;
sden1 = (cden & !aen & (ioadr >= ^h2C0) & (ioadr <= ^h2C7) & (ior # iow))
	 # !aen & ior & (ioadr == ^h100) & acmid
	 # (!aen & (ioadr == ^h102) & acmid & (ior # iow));
cs_10X = !aen & (ior & (ioadr == ^h100) # (ioadr == ^h102)) & acmid;
iospare0 = cden & !aen & (ioadr >= ^h2C0) & (ioadr <= ^h2C7);
iospare1 = 1;
iospare2 = 1;

test_vectors 

([cden,aen,ioadr,ior,acmid,iow] -> [sddir1,sden1,iospare0,cs_10X])
 [ 1  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 0  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 1 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 1 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
"7
 [ 1  , 0 ,^h2c1, 0 ,  1  , 1 ] -> [  0  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c1, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c1, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c3, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c2, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c6, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c4, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c5, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c7, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2cf, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2ce, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2cc, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2cd, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2c9, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2cb, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2ca, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h2c8, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
"24
 [ 1  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c0, 0 ,  1  , 1 ] -> [  0  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c0, 1 ,  0  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c0, 1 ,  0  , 0 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h2c0, 0 ,  0  , 0 ] -> [  0  ,  0  ,    1    ,  0   ];
"30
 [ 1  , 0 ,^h2c0, 1 ,  1  , 1 ] -> [  1  ,  1  ,    1    ,  0   ];
 [ 1  , 0 ,^h0c0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h1c0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h180, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
"34
 [ 1  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 0  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 1  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 1  , 1 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 1  , 0 ,^h100, 0 ,  1  , 1 ] -> [  0  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 1  , 0 ,^h100, 1 ,  0  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
"43
 [ 1  , 0 ,^h101, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h103, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];

 [ 1  , 0 ,^h102, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 1  , 0 ,^h102, 1 ,  0  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h102, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 1  , 0 ,^h102, 0 ,  1  , 1 ] -> [  0  ,  1  ,    0    ,  1   ];
 [ 1  , 0 ,^h102, 0 ,  1  , 0 ] -> [  0  ,  0  ,    0    ,  1   ];

 [ 1  , 0 ,^h106, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h104, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h105, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h107, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h10f, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h10e, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h10c, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h10d, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h109, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h10b, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h10a, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h108, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];
 [ 1  , 0 ,^h110, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h130, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h120, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h160, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h140, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h150, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h170, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h1f0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h1e0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h1c0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h1d0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h190, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h1b0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h1a0, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h180, 1 ,  1  , 1 ] -> [  1  ,  0  ,    0    ,  0   ];
 [ 1  , 0 ,^h100, 1 ,  1  , 1 ] -> [  1  ,  1  ,    0    ,  1   ];

end _iodec;

