!!!! 6 0 1 990203800 V6368 ! Device : 74F547 ! Function : Octal Decoder/Demultiplexer,Address Latches and Acknowledge ! revision : B.01.00 ! safeguard : standard_fttl ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." sequential assign VCC to pins 20 assign GND to pins 10 assign A20 to pins 17,7,6 assign O70bar to pins 11,9,8,18,19,1,2,12 assign O_D0 to pins 12 !AT Added for minimum pin test. assign O_D1 to pins 2 !AT Added for minimum pin test. assign O_D2 to pins 1 !AT Added for minimum pin test. assign O_D3 to pins 19 !AT Added for minimum pin test. assign O_D4 to pins 18 !AT Added for minimum pin test. assign O_D5 to pins 8 !AT Added for minimum pin test. assign O_D6 to pins 9 !AT Added for minimum pin test. assign O_D7 to pins 11 !AT Added for minimum pin test. assign E1bar to pins 15 assign E32 to pins 13,14 assign LE to pins 16 assign RDbar to pins 5 assign WRbar to pins 4 assign ACKbar to pins 3 assign WRDbar to pins 4,5 !warning "Please confirm ACKbar is pulled up, <= 1k ohms." family TTL power VCC, GND inputs E1bar,E32,LE,RDbar,WRbar,A20,WRDbar outputs ACKbar,O70bar outputs O_D0, O_D1, O_D2, O_D3 !AT Added for minimum pin test. outputs O_D4, O_D5, O_D6, O_D7 !AT Added for minimum pin test. disable ACKbar with E1bar to "1" disable ACKbar with E32 to "00" disable ACKbar with E32 to "01" disable ACKbar with E32 to "10" disable ACKbar with WRDbar to "11" when E1bar is "1" inactive ACKbar when E32 is "00" inactive ACKbar when E32 is "01" inactive ACKbar when E32 is "10" inactive ACKbar when WRDbar is "11" inactive ACKbar trace ACKbar, O70bar to E1bar,E32,LE,RDbar,WRbar,A20,WRDbar set load on groups ACKbar to pull up !******************************************************************************* !******************************************************************************* ! Condition vector Initial_Set set E1bar to "1" set E32 to "00" set LE to "1" set RDbar to "1" set WRbar to "1" set A20 to "000" end vector vector Keep_Control set E1bar to "k" set E32 to "kk" set LE to "k" set RDbar to "k" set WRbar to "k" set A20 to "kkk" end vector vector Enable initialize to Keep_Control set E1bar to "0" set E32 to "11" end vector ! Control vector LE_true initialize to Keep_Control set LE to "1" set E1bar to "z" end vector vector LE_false initialize to Keep_Control set LE to "0" set E1bar to "z" end vector vector E1bar_true initialize to Keep_Control set LE to "z" set E1bar to "0" end vector vector E1bar_false initialize to Keep_Control set LE to "z" set E1bar to "1" end vector vector E32_true initialize to Keep_Control set E32 to "11" end vector vector E32_false_1 initialize to Keep_Control set E32 to "0z" end vector vector E32_false_2 initialize to Keep_Control set E32 to "z0" end vector vector RDbar_true initialize to Keep_Control set RDbar to "0" end vector vector RDbar_false initialize to Keep_Control set RDbar to "1" end vector vector WRbar_true initialize to Keep_Control set WRbar to "0" end vector vector WRbar_false initialize to Keep_Control set WRbar to "1" end vector ! Address vector A_1 initialize to Keep_Control set A20 to "001" end vector vector A_2 initialize to Keep_Control set A20 to "010" end vector vector A_3 initialize to Keep_Control set A20 to "011" end vector vector A_4 initialize to Keep_Control set A20 to "100" end vector vector A_5 initialize to Keep_Control set A20 to "101" end vector vector A_6 initialize to Keep_Control set A20 to "110" end vector vector A_7 initialize to Keep_Control set A20 to "111" end vector ! Status vector ACKbar_true initialize to Keep_Control set ACKbar to "0" end vector vector ACKbar_false initialize to Keep_Control set ACKbar to "1" end vector vector O70_11111111 initialize to Keep_Control set O70bar to "11111111" end vector vector O70_11111110 initialize to Keep_Control set O70bar to "11111110" end vector vector O70_11111101 initialize to Keep_Control set O70bar to "11111101" end vector vector O70_11111011 initialize to Keep_Control set O70bar to "11111011" end vector vector O70_11110111 initialize to Keep_Control set O70bar to "11110111" end vector vector O70_11101111 initialize to Keep_Control set O70bar to "11101111" end vector vector O70_11011111 initialize to Keep_Control set O70bar to "11011111" end vector vector O70_10111111 initialize to Keep_Control set O70bar to "10111111" end vector vector O70_01111111 initialize to Keep_Control set O70bar to "01111111" end vector !AT The following vectors have been added for a minimum pins test. Any !AT vectors that references the data bus was copied and modified to reference !AT only a single pin of the data bus. vector O_D0_0 initialize to Keep_Control set O_D0 to "0" end vector vector O_D0_1 initialize to Keep_Control set O_D0 to "1" end vector vector O_D1_0 initialize to Keep_Control set O_D1 to "0" end vector vector O_D1_1 initialize to Keep_Control set O_D1 to "1" end vector vector O_D2_0 initialize to Keep_Control set O_D2 to "0" end vector vector O_D2_1 initialize to Keep_Control set O_D2 to "1" end vector vector O_D3_0 initialize to Keep_Control set O_D3 to "0" end vector vector O_D3_1 initialize to Keep_Control set O_D3 to "1" end vector vector O_D4_0 initialize to Keep_Control set O_D4 to "0" end vector vector O_D4_1 initialize to Keep_Control set O_D4 to "1" end vector vector O_D5_0 initialize to Keep_Control set O_D5 to "0" end vector vector O_D5_1 initialize to Keep_Control set O_D5 to "1" end vector vector O_D6_0 initialize to Keep_Control set O_D6 to "0" end vector vector O_D6_1 initialize to Keep_Control set O_D6 to "1" end vector vector O_D7_0 initialize to Keep_Control set O_D7 to "0" end vector vector O_D7_1 initialize to Keep_Control set O_D7 to "1" end vector !******************************************************************************* !******************************************************************************* !AT The following AwareTest units have been added for minimum pins tests. Each !AT unit tests a separate data pin starting with D0. unit "awaretest D0 Test" execute Initial_Set execute LE_true execute E1bar_true execute O_D0_1 execute E32_true execute O_D0_0 end unit unit "awaretest D1 Test" execute Initial_Set execute LE_true execute E1bar_true execute E32_true execute O_D1_1 execute A_1 execute O_D1_0 end unit unit "awaretest D2 Test" execute Initial_Set execute LE_true execute E1bar_true execute E32_true execute A_1 execute O_D2_1 execute A_2 execute O_D2_0 end unit unit "awaretest D3 Test" execute Initial_Set execute LE_true execute E1bar_true execute E32_true execute A_2 execute O_D3_1 execute A_3 execute O_D3_0 end unit unit "awaretest D4 Test" execute Initial_Set execute LE_true execute E1bar_true execute E32_true execute A_3 execute O_D4_1 execute A_4 execute O_D4_0 end unit unit "awaretest D5 Test" execute Initial_Set execute LE_true execute E1bar_true execute E32_true execute A_4 execute O_D5_1 execute A_5 execute O_D5_0 end unit unit "awaretest D6 Test" execute Initial_Set execute LE_true execute E1bar_true execute E32_true execute A_5 execute O_D6_1 execute A_6 execute O_D6_0 end unit unit "awaretest D7 Test" execute Initial_Set execute LE_true execute E1bar_true execute E32_true execute A_6 execute O_D7_1 execute A_7 execute O_D7_0 end unit unit "Address Test" execute Initial_Set execute LE_true execute LE_false execute E1bar_true execute O70_11111111 execute E32_true execute O70_11111110 execute E1bar_false execute E32_false_1 execute A_1 execute LE_true execute LE_false execute E1bar_true execute E32_true execute O70_11111101 execute E1bar_false execute E32_false_2 execute A_2 execute LE_true execute LE_false execute E1bar_true execute E32_true execute O70_11111011 execute E1bar_false execute E32_false_1 execute A_3 execute LE_true execute LE_false execute E1bar_true execute E32_true execute O70_11110111 execute E1bar_false execute E32_false_2 execute A_4 execute LE_true execute LE_false execute E1bar_true execute E32_true execute O70_11101111 execute E1bar_false execute E32_false_1 execute A_5 execute LE_true execute LE_false execute E1bar_true execute E32_true execute O70_11011111 execute E1bar_false execute E32_false_2 execute A_6 execute LE_true execute LE_false execute E1bar_true execute E32_true execute O70_10111111 execute E1bar_false execute E32_false_1 execute A_7 execute LE_true execute LE_false execute E1bar_true execute E32_true execute O70_01111111 execute E1bar_false execute E32_false_2 end unit unit "Transparent Test" execute Initial_Set execute LE_true execute E1bar_true execute O70_11111111 execute E32_true execute O70_11111110 execute A_1 execute O70_11111101 execute A_2 execute O70_11111011 execute A_3 execute O70_11110111 execute A_4 execute O70_11101111 execute A_5 execute O70_11011111 execute E32_false_1 execute O70_11111111 execute E32_true execute A_6 execute O70_10111111 execute E32_false_2 execute O70_11111111 execute E32_true execute A_7 execute O70_01111111 execute LE_false execute A_6 execute O70_01111111 end unit unit "Acknowledge Test" execute Initial_Set execute ACKbar_false execute E1bar_true execute ACKbar_false execute E32_true execute ACKbar_false execute RDbar_true execute ACKbar_true execute RDbar_false execute ACKbar_false execute WRbar_true execute ACKbar_true execute E1bar_false execute ACKbar_false end unit ! End of Test