home *** CD-ROM | disk | FTP | other *** search
- module dmux1t8
- title '1 to 8 line demultiplexer
- Charles Olivier Data I/O Corp. Redmond WA 24 Feb 1984'
-
- "Description
- " This is an example of a 1 to 8 line demultiplexer using a PAL16L8.
- " When the enable line goes low, the outputs will be high impedance.
-
- "declarations
- DM1 device 'P16L8';
-
- y0,y1,y2,y3 pin 12,13,14,15;
- y4,y5,y6,y7 pin 16,17,18,19;
- s0,s1,s2 pin 1,2,3;
- data,enb pin 4,5;
-
- H,L,Z = 1,0,.Z.;
- select = [s2, s1, s0];
- outputs = [y7, y6, y5, y4, y3, y2, y1, y0];
-
- equations
- !y0 = (select == 0) & data;
- !y1 = (select == 1) & data;
- !y2 = (select == 2) & data;
- !y3 = (select == 3) & data;
- !y4 = (select == 4) & data;
- !y5 = (select == 5) & data;
- !y6 = (select == 6) & data;
- !y7 = (select == 7) & data;
-
- enable outputs = enb;
-
- test_vectors 'Test the demuliplexer with a high input'
- ([enb,select,data] -> [y7,y6,y5,y4,y3,y2,y1,y0])
- [H, 0, H] -> [H, H, H, H, H, H, H, L]; "Select y0
- [H, 1, H] -> [H, H, H, H, H, H, L, H]; "Select y1
- [H, 2, H] -> [H, H, H, H, H, L, H, H]; "Select y2
- [H, 3, H] -> [H, H, H, H, L, H, H, H]; "Select y3
- [H, 4, H] -> [H, H, H, L, H, H, H, H]; "Select y4
- [H, 5, H] -> [H, H, L, H, H, H, H, H]; "Select y5
- [H, 6, H] -> [H, L, H, H, H, H, H, H]; "Select y6
- [H, 7, H] -> [L, H, H, H, H, H, H, H]; "Select y7
-
- test_vectors 'Test the demuliplexer with a low input'
- ([enb,select,data] -> [y7,y6,y5,y4,y3,y2,y1,y0])
- [H, 0, L] -> [H, H, H, H, H, H, H, H]; "Select y0
- [H, 1, L] -> [H, H, H, H, H, H, H, H]; "Select y1
- [H, 2, L] -> [H, H, H, H, H, H, H, H]; "Select y2
- [H, 3, L] -> [H, H, H, H, H, H, H, H]; "Select y3
- [H, 4, L] -> [H, H, H, H, H, H, H, H]; "Select y4
- [H, 5, L] -> [H, H, H, H, H, H, H, H]; "Select y5
- [H, 6, L] -> [H, H, H, H, H, H, H, H]; "Select y6
- [H, 7, L] -> [H, H, H, H, H, H, H, H]; "Select y7
-
- test_vectors 'Test the enable input'
- ([enb,select,data] -> [y7,y6,y5,y4,y3,y2,y1,y0])
- [L, 0, H] -> [Z, Z, Z, Z, Z, Z, Z, Z];
- [L, 0, L] -> [Z, Z, Z, Z, Z, Z, Z, Z];
- end dmux1t8
-