!!!! 6 0 1 986413689 V76c4 ! Device : 74ls200 ! Function : Static RAM 3-state 256 x 1 ! revision : B.01.00 ! safeguard : high_out_lsttl ! sequential ! warning "Pull-ups are required to test high-impedance outputs." assign VCC to pins 16 assign GND to pins 8 assign Data_input to pins 13 assign Data_out_bar to pins 6 assign Address to pins 14,11,10,9,7,15,2,1 assign Chip_select_bar to pins 5,4,3 assign Read_write_bar to pins 12 assign Output_disable to pins 5,4,3,12 family TTL power VCC, GND inputs Data_input, Address, Chip_select_bar, Read_write_bar outputs Data_out_bar when Chip_select_bar is "1XX" inactive Data_out_bar when Chip_select_bar is "X1X" inactive Data_out_bar when Chip_select_bar is "XX1" inactive Data_out_bar trace Data_out_bar to Data_input, Address, Chip_select_bar, Read_write_bar disable Data_out_bar with Chip_select_bar to "1XX" disable Data_out_bar with Chip_select_bar to "X1X" disable Data_out_bar with Chip_select_bar to "XX1" disable Data_out_bar with Output_disable to "0000" !********************************************************************* !********************************************************************* vector Address_00000000 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "00000000" end vector vector Address_00000001 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "00000001" end vector vector Address_00000011 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "00000011" end vector vector Address_00000111 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "00000111" end vector vector Address_00001111 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "00001111" end vector vector Address_00011111 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "00011111" end vector vector Address_00111111 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "00111111" end vector vector Address_01111111 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "01111111" end vector vector Address_11111111 set Read_write_bar to "1" set Chip_select_bar to "111" set Address to "11111111" end vector vector Chip_disable set Read_write_bar to "1" set Chip_select_bar to "111" end vector vector Data_high_read set Read_write_bar to "1" set Chip_select_bar to "000" set Address to "kkkkkkkk" set Data_out_bar to "1" end vector vector Data_high_write set Chip_select_bar to "000" set Address to "kkkkkkkk" set Read_write_bar to "0" set Data_input to "1" end vector vector Data_low_read set Read_write_bar to "1" set Chip_select_bar to "000" set Address to "kkkkkkkk" set Data_out_bar to "0" end vector vector Data_low_write set Chip_select_bar to "000" set Address to "kkkkkkkk" set Read_write_bar to "0" set Data_input to "0" end vector vector Read_write_high set Chip_select_bar to "000" set Address to "kkkkkkkk" set Data_input to "k" set Read_write_bar to "1" end vector !********************************************************************* !********************************************************************* sub Read_data (Address, Data) execute Address execute Data execute Chip_disable end sub sub Write_data (Address, Data) execute Address execute Data execute Read_write_high execute Chip_disable end sub !********************************************************************* unit "RAM test" ! write zeros call Write_data (Address_00000000, Data_low_write) call Write_data (Address_00000001, Data_low_write) call Write_data (Address_00000011, Data_low_write) call Write_data (Address_00000111, Data_low_write) call Write_data (Address_00001111, Data_low_write) call Write_data (Address_00011111, Data_low_write) call Write_data (Address_00111111, Data_low_write) call Write_data (Address_01111111, Data_low_write) call Write_data (Address_11111111, Data_low_write) ! test Address_00000000 call Write_data (Address_00000000, Data_high_write) call Read_data (Address_00000000, Data_low_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_00000000, Data_low_write) ! test Address_00000001 call Write_data (Address_00000001, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_low_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_00000001, Data_low_write) ! test Address_00000011 call Write_data (Address_00000011, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_low_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_00000011, Data_low_write) ! test Address_00000111 call Write_data (Address_00000111, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_low_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_00000111, Data_low_write) ! test Address_00001111 call Write_data (Address_00001111, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_low_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_00001111, Data_low_write) ! test Address_00011111 call Write_data (Address_00011111, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_low_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_00011111, Data_low_write) ! test Address_00111111 call Write_data (Address_00111111, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_low_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_00111111, Data_low_write) ! test Address_01111111 call Write_data (Address_01111111, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_low_read) call Read_data (Address_11111111, Data_high_read) call Write_data (Address_01111111, Data_low_write) ! test Address_11111111 call Write_data (Address_11111111, Data_high_write) call Read_data (Address_00000000, Data_high_read) call Read_data (Address_00000001, Data_high_read) call Read_data (Address_00000011, Data_high_read) call Read_data (Address_00000111, Data_high_read) call Read_data (Address_00001111, Data_high_read) call Read_data (Address_00011111, Data_high_read) call Read_data (Address_00111111, Data_high_read) call Read_data (Address_01111111, Data_high_read) call Read_data (Address_11111111, Data_low_read) end unit ! End of test