!!!! 6 0 1 990120412 V413c !----------------------------------------------------------------------- ! Copyright (c) Hewlett-Packard Co. 1992 ! ! All Rights Reserved. Reproduction, adaptation, or translation ! without prior written permission is prohibited, except as allowed ! under the copyright laws. ! !----------------------------------------------------------------------- ! ! Device : 28f020 ! Function : EPROM 256k * 8 ! revision : B.01.00 ! safeguard : standard_hcmos ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." ! !----------------------------------------------------------------------- ! ! Additional Comments: ! !----------------------------------------------------------------------- sequential assign VCC to pins 32 assign GND to pins 16 assign VPP to pins 1 assign Upper_Address_Bus to pins 30, 2 assign Address_Bus to pins 3, 29, 28, 4, 25, 23, 26, 27 assign Address_Bus to pins 5, 6, 7, 8, 9, 10, 11, 12 assign Data_Bus to pins 21, 20, 19, 18, 17, 15, 14, 13 assign Data_D0 to pins 13 !AT Added for minimum pin test. assign Data_D1 to pins 14 !AT Added for minimum pin test. assign Data_D2 to pins 15 !AT Added for minimum pin test. assign Data_D3 to pins 17 !AT Added for minimum pin test. assign Data_D4 to pins 18 !AT Added for minimum pin test. assign Data_D5 to pins 19 !AT Added for minimum pin test. assign Data_D6 to pins 20 !AT Added for minimum pin test. assign Data_D7 to pins 21 !AT Added for minimum pin test. assign Chip_Enable_Bar to pins 22 assign Output_Enable_Bar to pins 24 assign Write_Enable_Bar to pins 31 family TTL power VCC, GND inputs Upper_Address_Bus inputs Address_Bus, VPP, Chip_Enable_Bar, Output_Enable_Bar, Write_Enable_Bar outputs Data_Bus outputs Data_D0, Data_D1, Data_D2, Data_D3 !AT Added for minimum pin test. outputs Data_D4, Data_D5, Data_D6, Data_D7 !AT Added for minimum pin test. format hexadecimal Address_Bus, Data_Bus disable Data_Bus with Output_Enable_Bar to "1" disable Data_Bus with Chip_Enable_Bar to "1" when Output_Enable_Bar is "1" inactive Data_Bus when Chip_Enable_Bar is "1" inactive Data_Bus trace Data_Bus to Address_Bus, Chip_Enable_Bar trace Data_Bus to Output_Enable_Bar, Write_Enable_Bar warning "This test requires pullups on pins 19,18,17,16,15,13,12,11" warning "which are the data lines. The only unit that needs pullups" warning "to run is the very last which checks for a high-z outputs." warning "This test does not test pins 1 or 31. These are the " warning "electrical erase and write enable control pins. " !********************************************************************** !**************** VECTOR SECTION **************************** !********************************************************************** vector Keep set Chip_Enable_Bar to "k" set Output_Enable_Bar to "k" set Upper_Address_Bus to "kk" set Address_Bus to "kkkk" end vector vector Chip_enabled set Chip_Enable_Bar to "0" set Output_Enable_Bar to "0" end vector vector Count_Address_Up initialize to Chip_enabled set Upper_Address_Bus to "00" set Address_Bus to "0000" upcounter Address_Bus end vector vector Count_Address_down initialize to Chip_enabled set Upper_Address_Bus to "11" set Address_Bus to "ffff" downcounter Address_Bus end vector vector Address_Pattern_15555 initialize to Chip_enabled set Upper_Address_Bus to "01" set Address_Bus to "5555" set Data_Bus to "00" end vector vector Address_Pattern_2AAAA initialize to Chip_enabled set Upper_Address_Bus to "10" set Address_Bus to "AAAA" set Data_Bus to "00" end vector vector Address_Pattern_02492 initialize to Chip_enabled set Upper_Address_Bus to "00" set Address_Bus to "2492" set Data_Bus to "00" end vector vector Address_Pattern_04924 initialize to Chip_enabled set Upper_Address_Bus to "00" set Address_Bus to "4924" set Data_Bus to "00" end vector vector Chip_enable_hi initialize to Keep set Chip_Enable_Bar to "1" end vector vector Output_enable_low initialize to Keep set Output_Enable_Bar to "0" end vector vector Chip_enable_low initialize to Keep set Chip_Enable_Bar to "0" end vector vector Output_enable_hi initialize to Keep set Output_Enable_Bar to "1" end vector vector Test_address initialize to Keep set Upper_Address_Bus to "00" set Address_Bus to "0000" end vector vector Data_outputs initialize to Keep set Data_Bus to "00" end vector vector Data_FF initialize to Keep set Data_Bus to "FF" 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 Data_outputs_D0 initialize to Keep set Data_D0 to "0" end vector vector Data_outputs_D1 initialize to Keep set Data_D1 to "0" end vector vector Data_outputs_D2 initialize to Keep set Data_D2 to "0" end vector vector Data_outputs_D3 initialize to Keep set Data_D3 to "0" end vector vector Data_outputs_D4 initialize to Keep set Data_D4 to "0" end vector vector Data_outputs_D5 initialize to Keep set Data_D5 to "0" end vector vector Data_outputs_D6 initialize to Keep set Data_D6 to "0" end vector vector Data_outputs_D7 initialize to Keep set Data_D7 to "0" end vector !********************************************************************** !****************** UNIT SECTION ************************** !********************************************************************** !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 Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D0 compress count Count_Address_up end repeat end unit unit "awaretest D1 Test" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D1 compress count Count_Address_up end repeat end unit unit "awaretest D2 Test" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D2 compress count Count_Address_up end repeat end unit unit "awaretest D3 Test" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D3 compress count Count_Address_up end repeat end unit unit "awaretest D4 Test" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D4 compress count Count_Address_up end repeat end unit unit "awaretest D5 Test" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D5 compress count Count_Address_up end repeat end unit unit "awaretest D6 Test" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D6 compress count Count_Address_up end repeat end unit unit "awaretest D7 Test" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs_D7 compress count Count_Address_up end repeat end unit !This test checks the upper and lower 256 addresses. unit "Count up" execute Chip_enabled preset counter Count_Address_up repeat 256 times execute Data_outputs compress count Count_Address_up end repeat end unit unit "Preset Addresses" execute Address_Pattern_15555 compress !This unit toggles consecutive execute Address_Pattern_2AAAA compress !address pins, as well as pins with execute Address_Pattern_02492 compress !one and two pins between them. execute Address_Pattern_04924 compress end unit unit "Count down" execute Chip_enabled preset counter Count_Address_down repeat 256 times execute Data_outputs compress count Count_Address_down end repeat end unit !This unit requires pullups on the 8 data lines. !This unit requires that the address "00000" !contains data that is not all 1's. unit "Test data lines" execute Test_address execute Chip_enable_hi execute Output_enable_low execute Data_FF execute Test_address execute Chip_enable_low execute Output_enable_hi execute Data_FF end unit ! ! End of test !