!!!! 6 0 1 974695920 Vd6db ! Device : 74ls446 ! Function : Quadruple Bus Transceivers ! revision : B.01.00 ! safeguard : high_out_lsttl ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." combinatorial !Note: This device has outputs that can be set to the high impedance ! state. To test for a high on the enable pins (GbarAB, GbarBA) ! pullups are needed on A1 and B1. vector cycle 500n receive delay 400n ! warning "Pull-ups are required to test high-impedance outputs." assign VCC to pins 16 assign GND to pins 8 assign A4_A1 to pins 7,5,4,2 assign A4 to pins 7 assign A3 to pins 5 assign A2 to pins 4 assign A1 to pins 2 assign B4_B1 to pins 9,11,12,14 assign B4 to pins 9 assign B3 to pins 11 assign B2 to pins 12 assign B1 to pins 14 assign DIR1 to pins 13 assign DIR2 to pins 3 assign DIR3 to pins 6 assign DIR4 to pins 10 assign GbarBA to pins 1 assign GbarAB to pins 15 family TTL power VCC,GND inputs DIR1, DIR2, DIR3, DIR4, GbarBA, GbarAB bidirectional A4_A1, B4_B1 bidirectional A4, A3, A2, A1, B4, B3, B2, B1 set load on groups A1,B1 to pull up disable A4_A1 with GbarBA to "1" disable B4_B1 with GbarAB to "1" when GbarBA is "1" inactive A4_A1 when GbarAB is "1" inactive B4_B1 when DIR1 is "1" inputs A1 when DIR1 is "1" outputs B1 when DIR1 is "0" inputs B1 when DIR1 is "0" outputs A1 when DIR2 is "1" inputs A2 when DIR2 is "1" outputs B2 when DIR2 is "0" inputs B2 when DIR2 is "0" outputs A2 when DIR3 is "1" inputs A3 when DIR3 is "1" outputs B3 when DIR3 is "0" inputs B3 when DIR3 is "0" outputs A3 when DIR4 is "1" inputs A4 when DIR4 is "1" outputs B4 when DIR4 is "0" inputs B4 when DIR4 is "0" outputs A4 trace A1 to B1, DIR1, GbarBA, GbarAB trace A2 to B2, DIR2, GbarBA, GbarAB trace A3 to B3, DIR3, GbarBA, GbarAB trace A4 to B4, DIR4, GbarBA, GbarAB trace B1 to A1, DIR1, GbarBA, GbarAB trace B2 to A2, DIR2, GbarBA, GbarAB trace B3 to A3, DIR3, GbarBA, GbarAB trace B4 to A4, DIR4, GbarBA, GbarAB !*************************************************************** !*************************************************************** vector Drive_B1_low_receive_A1 drive B1 !AT Modified receive A1 !AT Modified set GbarBA to "0" set DIR1 to "0" set B1 to "0" !AT Modified set A1 to "1" !AT Modified end vector vector Drive_B2_low_receive_A2 drive B2 !AT Modified receive A2 !AT Modified set GbarBA to "0" set DIR2 to "0" set B2 to "0" !AT Modified set A2 to "1" !AT Modified end vector vector Drive_B3_low_receive_A3 drive B3 !AT Modified receive A3 !AT Modified set GbarBA to "0" set DIR3 to "0" set B3 to "0" !AT Modified set A3 to "1" !AT Modified end vector vector Drive_B4_low_receive_A4 drive B4 !AT Modified receive A4 !AT Modified set GbarBA to "0" set DIR4 to "0" set B4 to "0" !AT Modified set A4 to "1" !AT Modified end vector vector Drive_B1_high_receive_A1 drive B1 !AT Modified receive A1 !AT Modified set GbarBA to "0" set DIR1 to "0" set B1 to "1" !AT Modified set A1 to "0" !AT Modified end vector vector Drive_B2_high_receive_A2 drive B2 !AT Modified receive A2 !AT Modified set GbarBA to "0" set DIR2 to "0" set B2 to "1" !AT Modified set A2 to "0" !AT Modified end vector vector Drive_B3_high_receive_A3 drive B3 !AT Modified receive A3 !AT Modified set GbarBA to "0" set DIR3 to "0" set B3 to "1" !AT Modified set A3 to "0" !AT Modified end vector vector Drive_B4_high_receive_A4 drive B4 !AT Modified receive A4 !AT Modified set GbarBA to "0" set DIR4 to "0" set B4 to "1" !AT Modified set A4 to "0" !AT Modified end vector vector Drive_A1_low_receive_B1 drive A1 !AT Modified receive B1 !AT Modified set GbarAB to "0" set DIR1 to "1" set A1 to "0" !AT Modified set B1 to "1" !AT Modified end vector vector Drive_A2_low_receive_B2 drive A2 !AT Modified receive B2 !AT Modified set GbarAB to "0" set DIR2 to "1" set A2 to "0" !AT Modified set B2 to "1" !AT Modified end vector vector Drive_A3_low_receive_B3 drive A3 !AT Modified receive B3 !AT Modified set GbarAB to "0" set DIR3 to "1" set A3 to "0" !AT Modified set B3 to "1" !AT Modified end vector vector Drive_A4_low_receive_B4 drive A4 !AT Modified receive B4 !AT Modified set GbarAB to "0" set DIR4 to "1" set A4 to "0" !AT Modified set B4 to "1" !AT Modified end vector vector Drive_A1_high_receive_B1 drive A1 !AT Modified receive B1 !AT Modified set GbarAB to "0" set DIR1 to "1" set A1 to "1" !AT Modified set B1 to "0" !AT Modified end vector vector Drive_A2_high_receive_B2 drive A2 !AT Modified receive B2 !AT Modified set GbarAB to "0" set DIR2 to "1" set A2 to "1" !AT Modified set B2 to "0" !AT Modified end vector vector Drive_A3_high_receive_B3 drive A3 !AT Modified receive B3 !AT Modified set GbarAB to "0" set DIR3 to "1" set A3 to "1" !AT Modified set B3 to "0" !AT Modified end vector vector Drive_A4_high_receive_B4 drive A4 !AT Modified receive B4 !AT Modified set GbarAB to "0" set DIR4 to "1" set A4 to "1" !AT Modified set B4 to "0" !AT Modified end vector vector Disable_A_bus drive B4_B1 receive A4_A1 set GbarBA to "1" set DIR1 to "0" set B4_B1 to "zzz1" set A4_A1 to "xxx1" end vector vector Disable_B_bus drive A4_A1 receive B4_B1 set GbarAB to "1" set DIR1 to "1" set A4_A1 to "zzz1" set B4_B1 to "xxx1" end vector !*************************************************************** !*************************************************************** !**************************************************************** ! warning "Inorder to test Three State outputs this test needs modification" unit "awaretest B1_A1" !AT Modified the unit name execute Drive_B1_low_receive_A1 execute Drive_B1_high_receive_A1 end unit !AT Added a new "end unit" unit "awaretest B2_A2" !AT Added this unit execute Drive_B2_low_receive_A2 execute Drive_B2_high_receive_A2 end unit !AT Added a new "end unit" unit "awaretest B3_A3" !AT Added this unit execute Drive_B3_low_receive_A3 execute Drive_B3_high_receive_A3 end unit !AT Added a new "end unit" unit "awaretest B4_A4" !AT Added this unit execute Drive_B4_low_receive_A4 execute Drive_B4_high_receive_A4 end unit !AT Added a new "end unit" unit "awaretest A1_B1" !AT Added this unit execute Drive_A1_low_receive_B1 execute Drive_A1_high_receive_B1 end unit !AT Added a new "end unit" unit "awaretest A2_B2" !AT Added this unit execute Drive_A2_low_receive_B2 execute Drive_A2_high_receive_B2 end unit !AT Added a new "end unit" unit "awaretest A3_B3" !AT Added this unit execute Drive_A3_low_receive_B3 execute Drive_A3_high_receive_B3 end unit !AT Added a new "end unit" unit "awaretest A4_B4" !AT Added this unit execute Drive_A4_low_receive_B4 execute Drive_A4_high_receive_B4 end unit unit "unit2 test enables" execute Disable_A_bus execute Disable_B_bus end unit !End of test