!!!!    6    0    1  987181510  V9e74                                         

! Device           : 7130a
! Function         : CMOS Dual-Port RAM, 1k x 8-bit, Master
! revision         : B.01.00
! safeguard        : high_out_cmos
! Modifications    : Modified for AwareTest xi
!
  warning           "This library has not been verified with hardware."

!IDT: High Performance CMOS Data Book, 1986

sequential

!*****************48 pin DIP, PLCC, and QFP**************************

assign VCC                    to pins 48
assign GND                    to pins 24

assign CE_bar_left            to pins 1
assign RW_bar_left            to pins 2
assign OE_bar_left            to pins 5
assign Add_left               to pins 15,14,13,12,11
assign Add_left               to pins 10,9,8,7,6

assign BUSY_bar_left          to pins 3
assign INT_bar_left           to pins 4

assign IO_port_left           to pins 23,22,21,20
assign IO_port_left           to pins 19,18,17,16
assign IO_port_left_D0        to pins 16   !AT Added for minimum pin test.
assign IO_port_left_D1        to pins 17   !AT Added for minimum pin test.
assign IO_port_left_D2        to pins 18   !AT Added for minimum pin test.
assign IO_port_left_D3        to pins 19   !AT Added for minimum pin test.
assign IO_port_left_D4        to pins 20   !AT Added for minimum pin test.
assign IO_port_left_D5        to pins 21   !AT Added for minimum pin test.
assign IO_port_left_D6        to pins 22   !AT Added for minimum pin test.
assign IO_port_left_D7        to pins 23   !AT Added for minimum pin test.

assign Disable_pins_left      to pins 1,5,2

assign CE_bar_right           to pins 47
assign RW_bar_right           to pins 46
assign OE_bar_right           to pins 43
assign Add_right              to pins 33,34,35,36,37
assign Add_right              to pins 38,39,40,41,42

assign BUSY_bar_right         to pins 45
assign INT_bar_right          to pins 44

assign IO_port_right          to pins 32,31,30,29
assign IO_port_right          to pins 28,27,26,25
assign IO_port_right_D0       to pins 25   !AT Added for minimum pin test.
assign IO_port_right_D1       to pins 26   !AT Added for minimum pin test.
assign IO_port_right_D2       to pins 27   !AT Added for minimum pin test.
assign IO_port_right_D3       to pins 28   !AT Added for minimum pin test.
assign IO_port_right_D4       to pins 29   !AT Added for minimum pin test.
assign IO_port_right_D5       to pins 30   !AT Added for minimum pin test.
assign IO_port_right_D6       to pins 31   !AT Added for minimum pin test.
assign IO_port_right_D7       to pins 32   !AT Added for minimum pin test.

assign Disable_pins_right     to pins 47,43,46

!***************52 pin PLCC and QFP**********************************
!
!assign GND            to pins 24
!
!assign CE_bar_left            to pins 1
!assign RW_bar_left            to pins 2
!assign OE_bar_left            to pins 6
!assign Add_left               to pins 16,15,14,13,12
!assign Add_left               to pins 11,10,9,8,7
!
!assign BUSY_bar_left          to pins 3
!assign INT_bar_left           to pins 4
!
!assign IO_port_left           to pins 24,23,22,21
!assign IO_port_left           to pins 20,19,18,17
!assign IO_port_left_D0        to pins 17   !AT Added for minimum pin test.
!assign IO_port_left_D1        to pins 18   !AT Added for minimum pin test.
!assign IO_port_left_D2        to pins 19   !AT Added for minimum pin test.
!assign IO_port_left_D3        to pins 20   !AT Added for minimum pin test.
!assign IO_port_left_D4        to pins 21   !AT Added for minimum pin test.
!assign IO_port_left_D5        to pins 22   !AT Added for minimum pin test.
!assign IO_port_left_D6        to pins 23   !AT Added for minimum pin test.
!assign IO_port_left_D7        to pins 24   !AT Added for minimum pin test.
!
!assign Disable_pins_left      to pins 1,6,2
!
!assign CE_bar_right           to pins 51
!assign RW_bar_right           to pins 50
!assign OE_bar_right           to pins 46
!assign Add_right              to pins 36,37,38,39,40
!assign Add_right              to pins 41,42,43,44,45
!
!assign BUSY_bar_right         to pins 49
!assign INT_bar_right          to pins 48
!
!assign IO_port_right          to pins 34,33,32,31
!assign IO_port_right          to pins 30,29,28,27
!assign IO_port_right_D0       to pins 27   !AT Added for minimum pin test.
!assign IO_port_right_D1       to pins 28   !AT Added for minimum pin test.
!assign IO_port_right_D2       to pins 29   !AT Added for minimum pin test.
!assign IO_port_right_D3       to pins 30   !AT Added for minimum pin test.
!assign IO_port_right_D4       to pins 31   !AT Added for minimum pin test.
!assign IO_port_right_D5       to pins 32   !AT Added for minimum pin test.
!assign IO_port_right_D6       to pins 33   !AT Added for minimum pin test.
!assign IO_port_right_D7       to pins 34   !AT Added for minimum pin test.
!
!assign Disable_pins_right     to pins 51,46,50
!
!assign NC                     to pins 5,25,35,47
!
!nondigital NC
!*********************************************************************

inputs RW_bar_left
inputs OE_bar_left,Add_left
inputs RW_bar_right
inputs OE_bar_right,Add_right

outputs BUSY_bar_left,BUSY_bar_right
outputs INT_bar_left,INT_bar_right

bidirectional IO_port_left, IO_port_right,CE_bar_left,CE_bar_right
bidirectional IO_port_right_D0, IO_port_right_D1 !AT Added for min. pin test.
bidirectional IO_port_right_D2, IO_port_right_D3 !AT Added for min. pin test.
bidirectional IO_port_right_D4, IO_port_right_D5 !AT Added for min. pin test.
bidirectional IO_port_right_D6, IO_port_right_D7 !AT Added for min. pin test.
bidirectional IO_port_left_D0, IO_port_left_D1   !AT Added for min. pin test.
bidirectional IO_port_left_D2, IO_port_left_D3   !AT Added for min. pin test.
bidirectional IO_port_left_D4, IO_port_left_D5   !AT Added for min. pin test.
bidirectional IO_port_left_D6, IO_port_left_D7   !AT Added for min. pin test.

format hexadecimal IO_port_left,IO_port_right

family  TTL
power   VCC,GND

!*************      Backtrace Information  ***************************

trace IO_port_left to CE_bar_left,OE_bar_left,RW_bar_left,Add_left
trace IO_port_left to BUSY_bar_left,IO_port_right,RW_bar_right
trace IO_port_left to CE_bar_right,Add_right
trace INT_bar_left to Add_right,RW_bar_right,IO_port_right

trace IO_port_right to CE_bar_right,OE_bar_right,RW_bar_right,Add_right
trace IO_port_right to BUSY_bar_right,IO_port_left,RW_bar_left
trace IO_port_right to CE_bar_left,Add_left
trace INT_bar_right to Add_right,RW_bar_right,IO_port_left

!************     Disable information   ******************************

disable IO_port_left with Disable_pins_left to "1XX"
disable IO_port_left with Disable_pins_left to "011"

disable IO_port_right with Disable_pins_right to "1XX"
disable IO_port_right with Disable_pins_right to "011"

when Disable_pins_left is "0X0" inputs IO_port_left
when Disable_pins_left is "001" outputs IO_port_left
when Disable_pins_left is "1XX" inactive IO_port_left
when Disable_pins_left is "011" inactive IO_port_left

when Disable_pins_right is "0X0" inputs IO_port_right
when Disable_pins_right is "001" outputs IO_port_right
when Disable_pins_right is "1XX" inactive IO_port_right
when Disable_pins_right is "011" inactive IO_port_right

warning "Pull-ups are required on the IO_port_right and IO_port_left pins."
warning "Pull-ups are required on the CE_bar_right and CE_bar_left pins."
warning "Pull-ups are required on the open drain outputs,"
warning "Busy_bar_right, Busy_bar_left, "
warning "INT_bar_right, and INT_bar_left for the test to run."

set load on groups IO_port_right,IO_port_left,CE_bar_right   to pull up
set load on groups CE_bar_left,Busy_bar_right, Busy_bar_left to pull up
set load on groups INT_bar_right, INT_bar_left               to pull up

!**********************************************************************
!***********************   VECTOR   SECTION    ************************
!**********************************************************************

vector Set_values_left
   drive CE_bar_left
   set OE_bar_left     to "0"
   set CE_bar_left     to "0"
   set RW_bar_left     to "1"
   set Add_left        to "0000000000"
end vector

vector Set_values_right
   drive CE_bar_right
   set OE_bar_right    to "0"
   set CE_bar_right    to "0"
   set RW_bar_right    to "1"
   set Add_right       to "0000000000"
end vector

vector UnSet_values_both
   drive CE_bar_right
   drive CE_bar_left
   set CE_bar_right    to "1"
   set CE_bar_left     to "1"
   set RW_bar_left     to "1"
   set RW_bar_right    to "1"
   set OE_bar_left     to "1"
   set OE_bar_right    to "1"
   set Add_right       to "0000000000"
   set Add_left        to "0000000000"
end vector

vector Set_values_both
   drive CE_bar_right
   drive CE_bar_left
   set CE_bar_right    to "0"
   set CE_bar_left     to "0"
   set RW_bar_left     to "1"
   set RW_bar_right    to "1"
   set OE_bar_left     to "0"
   set OE_bar_right    to "0"
   set Add_right       to "0000000000"
   set Add_left        to "0000000000"
end vector

vector Keep_values_left
   drive CE_bar_left
   set OE_bar_left     to "k"
   set CE_bar_left     to "k"
   set RW_bar_left     to "k"
   set Add_left        to "kkkkkkkkkk"
end vector

vector Keep_values_right
   drive CE_bar_right
   set OE_bar_right    to "k"
   set CE_bar_right    to "k"
   set RW_bar_right    to "k"
   set Add_right       to "kkkkkkkkkk"
end vector

vector Keep_values_both
   drive CE_bar_right
   drive CE_bar_left
   set CE_bar_right    to "k"
   set CE_bar_left     to "k"
   set RW_bar_left     to "k"
   set RW_bar_right    to "k"
   set OE_bar_left     to "k"
   set OE_bar_right    to "k"
   set Add_right       to "kkkkkkkkkk"
   set Add_left        to "kkkkkkkkkk"
end vector

vector CE_bar_left_low
   initialize to Keep_values_left
   set CE_bar_left     to "0"
end vector

vector CE_bar_right_low
   initialize to Keep_values_right
   set CE_bar_right    to "0"
end vector

vector CE_bar_left_hi
   initialize to Keep_values_left
   set CE_bar_left     to "1"
end vector

vector CE_bar_right_hi
   initialize to Keep_values_right
   set CE_bar_right    to "1"
end vector

vector OE_bar_left_low
   initialize to Keep_values_left
   set OE_bar_left     to "0"
end vector

vector OE_bar_right_low
   initialize to Keep_values_right
   set OE_bar_right    to "0"
end vector

vector OE_bar_left_hi
   initialize to Keep_values_left
   set OE_bar_left     to "1"
end vector

vector OE_bar_right_hi
   initialize to Keep_values_right
   set OE_bar_right    to "1"
end vector

vector RW_bar_left_low
   initialize to Keep_values_left
   set RW_bar_left     to "0"
end vector

vector RW_bar_right_low
   initialize to Keep_values_right
   set RW_bar_right    to "0"
end vector

vector RW_bar_left_hi
   initialize to Keep_values_left
   set RW_bar_left     to "1"
end vector

vector RW_bar_right_hi
   initialize to Keep_values_right
   set RW_bar_right    to "1"
end vector

vector RW_bar_left_low_B
   initialize to Keep_values_both
   set RW_bar_left     to "0"
end vector

vector RW_bar_right_low_B
   initialize to Keep_values_both
   set RW_bar_right    to "0"
end vector

vector RW_bar_left_hi_B
   initialize to Keep_values_both
   set RW_bar_left     to "1"
end vector

vector RW_bar_right_hi_B
   initialize to Keep_values_both
   set RW_bar_right    to "1"
end vector

vector BUSY_bar_left_low_Spec
   initialize to Keep_values_both
   set BUSY_bar_left   to "0"
   set INT_bar_left    to "1"
end vector

vector BUSY_bar_right_low_Spec
   initialize to Keep_values_both
   set BUSY_bar_right  to "0"
   set INT_bar_right   to "1"
end vector

vector BUSY_bar_left_low
   initialize to Keep_values_both
   set BUSY_bar_left   to "0"
end vector

vector BUSY_bar_right_low
   initialize to Keep_values_both
   set BUSY_bar_right  to "0"
end vector

vector BUSY_bar_left_hi
   initialize to Keep_values_both
   set BUSY_bar_left   to "1"
end vector

vector BUSY_bar_right_hi
   initialize to Keep_values_both
   set BUSY_bar_right  to "1"
end vector

vector INT_bar_left_low
   initialize to Keep_values_both
   set INT_bar_left    to "0"
end vector

vector INT_bar_right_low
   initialize to Keep_values_both
   set INT_bar_right   to "0"
end vector

vector INT_bar_left_hi
   initialize to Keep_values_both
   set INT_bar_left    to "1"
end vector

vector INT_bar_right_hi
   initialize to Keep_values_both
   set INT_bar_right   to "1"
end vector

vector INT_bar_left_low_Setup
   initialize to Keep_values_both
   set Add_right     to "1111111110"
   set RW_bar_right  to "0"
end vector

vector INT_bar_right_low_Setup
   initialize to Keep_values_both
   set Add_left      to "1111111111"
   set RW_bar_left   to "0"
end vector

vector INT_bar_left_hi_Setup
   initialize to Keep_values_both
   set Add_left      to "1111111110"
   set OE_bar_left   to "0"
end vector

vector INT_bar_right_hi_Setup
   initialize to Keep_values_both
   set Add_right     to "1111111111"
   set OE_bar_right  to "0"
end vector

!**********************************************************************

vector Add_left_0000000000
   initialize to Keep_values_left
   set Add_left      to "0000000000"
end vector

vector Add_left_0000000000_B
   initialize to Keep_values_both
   set Add_left      to "0000000000"
end vector

vector Add_left_0000000001
   initialize to Keep_values_left
   set Add_left      to "0000000001"
end vector

vector Add_left_0000000001_B
   initialize to Keep_values_both
   set Add_left      to "0000000001"
end vector

vector Add_left_0000000010
   initialize to Keep_values_left
   set Add_left      to "0000000010"
end vector

vector Add_left_0000000010_B
   initialize to Keep_values_both
   set Add_left      to "0000000010"
end vector

vector Add_left_0000000100
   initialize to Keep_values_left
   set Add_left      to "0000000100"
end vector

vector Add_left_0000001000
   initialize to Keep_values_left
   set Add_left      to "0000001000"
end vector

vector Add_left_0000010000
   initialize to Keep_values_left
   set Add_left      to "0000010000"
end vector

vector Add_left_0000100000
   initialize to Keep_values_left
   set Add_left      to "0000100000"
end vector

vector Add_left_0001000000
   initialize to Keep_values_left
   set Add_left      to "0001000000"
end vector

vector Add_left_0010000000
   initialize to Keep_values_left
   set Add_left      to "0010000000"
end vector

vector Add_left_0100000000
   initialize to Keep_values_left
   set Add_left      to "0100000000"
end vector

vector Add_left_1000000000
   initialize to Keep_values_left
   set Add_left      to "1000000000"
end vector

vector Add_left_1111111110
   initialize to Keep_values_both
   set Add_left      to "1111111110"
end vector

vector Add_left_1111111111
   initialize to Keep_values_both
   set Add_left      to "1111111111"
end vector

vector Add_right_0000000000_B
   initialize to Keep_values_both
   set Add_right     to "0000000000"
end vector

vector Add_right_0000000000
   initialize to Keep_values_right
   set Add_right     to "0000000000"
end vector

vector Add_right_0000000001_B
   initialize to Keep_values_both
   set Add_right     to "0000000001"
end vector

vector Add_right_0000000001
   initialize to Keep_values_right
   set Add_right     to "0000000001"
end vector

vector Add_right_0000000010
   initialize to Keep_values_right
   set Add_right     to "0000000010"
end vector

vector Add_right_0000000010_B
   initialize to Keep_values_both
   set Add_right     to "0000000010"
end vector

vector Add_right_0000000100
   initialize to Keep_values_right
   set Add_right     to "0000000100"
end vector

vector Add_right_0000001000
   initialize to Keep_values_right
   set Add_right     to "0000001000"
end vector

vector Add_right_0000010000
   initialize to Keep_values_right
   set Add_right     to "0000010000"
end vector

vector Add_right_0000100000
   initialize to Keep_values_right
   set Add_right     to "0000100000"
end vector

vector Add_right_0001000000
   initialize to Keep_values_right
   set Add_right     to "0001000000"
end vector

vector Add_right_0010000000
   initialize to Keep_values_right
   set Add_right     to "0010000000"
end vector

vector Add_right_0100000000
   initialize to Keep_values_right
   set Add_right     to "0100000000"
end vector

vector Add_right_1000000000
   initialize to Keep_values_right
   set Add_right     to "1000000000"
end vector

vector Add_right_1111111110
   initialize to Keep_values_both
   set Add_right     to "1111111110"
end vector

vector Add_right_1111111111
   initialize to Keep_values_both
   set Add_right     to "1111111111"
end vector

!**********************************************************************

vector Dat_left_00_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "00"
end vector

vector Dat_left_00_W_B
   initialize to Keep_values_both
   drive IO_port_left
   set IO_port_left  to "00"
end vector

vector Dat_left_01_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "01"
end vector

vector Dat_left_01_W_B
   initialize to Keep_values_both
   drive IO_port_left
   set IO_port_left  to "01"
end vector

vector Dat_left_02_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "02"
end vector

vector Dat_left_04_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "04"
end vector

vector Dat_left_08_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "08"
end vector

vector Dat_left_10_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "10"
end vector

vector Dat_left_20_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "20"
end vector

vector Dat_left_40_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "40"
end vector

vector Dat_left_80_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "80"
end vector

vector Dat_left_81_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "81"
end vector

vector Dat_left_82_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "82"
end vector

vector Dat_left_0F_W
   initialize to Keep_values_both
   drive IO_port_left
   set IO_port_left  to "0F"
end vector

vector Dat_left_FF_W
   initialize to Keep_values_left
   drive IO_port_left
   set IO_port_left  to "FF"
end vector

vector Dat_right_00_W_B
   initialize to Keep_values_both
   drive IO_port_right
   set IO_port_right to "00"
end vector

vector Dat_right_00_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "00"
end vector

vector Dat_right_01_W_B
   initialize to Keep_values_both
   drive IO_port_right
   set IO_port_right to "01"
end vector

vector Dat_right_01_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "01"
end vector

vector Dat_right_02_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "02"
end vector

vector Dat_right_04_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "04"
end vector

vector Dat_right_08_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "08"
end vector

vector Dat_right_10_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "10"
end vector

vector Dat_right_20_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "20"
end vector

vector Dat_right_40_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "40"
end vector

vector Dat_right_80_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "80"
end vector

vector Dat_right_81_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "81"
end vector

vector Dat_right_82_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "82"
end vector

vector Dat_right_0F_W
   initialize to Keep_values_both
   drive IO_port_right
   set IO_port_right to "0F"
end vector

vector Dat_right_FF_W
   initialize to Keep_values_right
   drive IO_port_right
   set IO_port_right to "FF"
end vector

vector Dat_left_00_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "00"
end vector

vector Dat_left_00_R_B
   initialize to Keep_values_both
   receive IO_port_left
   set IO_port_left  to "00"
end vector

vector Dat_left_01_R_B
   initialize to Keep_values_both
   receive IO_port_left
   set IO_port_left  to "01"
end vector

vector Dat_left_01_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "01"
end vector

vector Dat_left_02_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "02"
end vector

vector Dat_left_04_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "04"
end vector

vector Dat_left_08_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "08"
end vector

vector Dat_left_10_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "10"
end vector

vector Dat_left_20_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "20"
end vector

vector Dat_left_40_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "40"
end vector

vector Dat_left_80_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "80"
end vector

vector Dat_left_81_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "81"
end vector

vector Dat_left_82_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "82"
end vector

vector Dat_left_FF_R
   initialize to Keep_values_left
   receive IO_port_left
   set IO_port_left  to "FF"
end vector

vector Dat_left_xx_R
   initialize to Keep_values_both
   receive IO_port_left
   set IO_port_left  to "xx"
end vector

vector Dat_right_00_R_B
   initialize to Keep_values_both
   receive IO_port_right
   set IO_port_right to "00"
end vector

vector Dat_right_00_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "00"
end vector

vector Dat_right_01_R_B
   initialize to Keep_values_both
   receive IO_port_right
   set IO_port_right to "01"
end vector

vector Dat_right_01_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "01"
end vector

vector Dat_right_02_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "02"
end vector

vector Dat_right_04_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "04"
end vector

vector Dat_right_08_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "08"
end vector

vector Dat_right_10_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "10"
end vector

vector Dat_right_20_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "20"
end vector

vector Dat_right_40_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "40"
end vector

vector Dat_right_80_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "80"
end vector

vector Dat_right_81_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "81"
end vector

vector Dat_right_82_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "82"
end vector

vector Dat_right_FF_R
   initialize to Keep_values_right
   receive IO_port_right
   set IO_port_right to "FF"
end vector

vector Dat_right_xx_R
   initialize to Keep_values_both
   receive IO_port_right
   set IO_port_right to "xx"
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 Dat_left_D0_0_W
   initialize to Keep_values_left
   drive IO_port_left_D0
   set IO_port_left_D0     to "0"
end vector

vector Dat_left_D0_1_W
   initialize to Keep_values_left
   drive IO_port_left_D0
   set IO_port_left_D0     to "1"
end vector

vector Dat_right_D0_0_W
   initialize to Keep_values_right
   drive IO_port_right_D0
   set IO_port_right_D0    to "0"
end vector

vector Dat_right_D0_1_W
   initialize to Keep_values_right
   drive IO_port_right_D0
   set IO_port_right_D0    to "1"
end vector

vector Dat_left_D0_0_R
   initialize to Keep_values_left
   receive IO_port_left_D0
   set IO_port_left_D0     to "0"
end vector

vector Dat_left_D0_1_R
   initialize to Keep_values_left
   receive IO_port_left_D0
   set IO_port_left_D0     to "1"
end vector

vector Dat_right_D0_0_R
   initialize to Keep_values_right
   receive IO_port_right_D0
   set IO_port_right_D0    to "0"
end vector

vector Dat_right_D0_1_R
   initialize to Keep_values_right
   receive IO_port_right_D0
   set IO_port_right_D0    to "1"
end vector

vector Dat_left_D1_0_W
   initialize to Keep_values_left
   drive IO_port_left_D1
   set IO_port_left_D1     to "0"
end vector

vector Dat_left_D1_1_W
   initialize to Keep_values_left
   drive IO_port_left_D1
   set IO_port_left_D1     to "1"
end vector

vector Dat_right_D1_0_W
   initialize to Keep_values_right
   drive IO_port_right_D1
   set IO_port_right_D1    to "0"
end vector

vector Dat_right_D1_1_W
   initialize to Keep_values_right
   drive IO_port_right_D1
   set IO_port_right_D1    to "1"
end vector

vector Dat_left_D1_0_R
   initialize to Keep_values_left
   receive IO_port_left_D1
   set IO_port_left_D1     to "0"
end vector

vector Dat_left_D1_1_R
   initialize to Keep_values_left
   receive IO_port_left_D1
   set IO_port_left_D1     to "1"
end vector

vector Dat_right_D1_0_R
   initialize to Keep_values_right
   receive IO_port_right_D1
   set IO_port_right_D1    to "0"
end vector

vector Dat_right_D1_1_R
   initialize to Keep_values_right
   receive IO_port_right_D1
   set IO_port_right_D1    to "1"
end vector

vector Dat_left_D2_0_W
   initialize to Keep_values_left
   drive IO_port_left_D2
   set IO_port_left_D2     to "0"
end vector

vector Dat_left_D2_1_W
   initialize to Keep_values_left
   drive IO_port_left_D2
   set IO_port_left_D2     to "1"
end vector

vector Dat_right_D2_0_W
   initialize to Keep_values_right
   drive IO_port_right_D2
   set IO_port_right_D2    to "0"
end vector

vector Dat_right_D2_1_W
   initialize to Keep_values_right
   drive IO_port_right_D2
   set IO_port_right_D2    to "1"
end vector

vector Dat_left_D2_0_R
   initialize to Keep_values_left
   receive IO_port_left_D2
   set IO_port_left_D2     to "0"
end vector

vector Dat_left_D2_1_R
   initialize to Keep_values_left
   receive IO_port_left_D2
   set IO_port_left_D2     to "1"
end vector

vector Dat_right_D2_0_R
   initialize to Keep_values_right
   receive IO_port_right_D2
   set IO_port_right_D2    to "0"
end vector

vector Dat_right_D2_1_R
   initialize to Keep_values_right
   receive IO_port_right_D2
   set IO_port_right_D2    to "1"
end vector

vector Dat_left_D3_0_W
   initialize to Keep_values_left
   drive IO_port_left_D3
   set IO_port_left_D3     to "0"
end vector

vector Dat_left_D3_1_W
   initialize to Keep_values_left
   drive IO_port_left_D3
   set IO_port_left_D3     to "1"
end vector

vector Dat_right_D3_0_W
   initialize to Keep_values_right
   drive IO_port_right_D3
   set IO_port_right_D3    to "0"
end vector

vector Dat_right_D3_1_W
   initialize to Keep_values_right
   drive IO_port_right_D3
   set IO_port_right_D3    to "1"
end vector

vector Dat_left_D3_0_R
   initialize to Keep_values_left
   receive IO_port_left_D3
   set IO_port_left_D3     to "0"
end vector

vector Dat_left_D3_1_R
   initialize to Keep_values_left
   receive IO_port_left_D3
   set IO_port_left_D3     to "1"
end vector

vector Dat_right_D3_0_R
   initialize to Keep_values_right
   receive IO_port_right_D3
   set IO_port_right_D3    to "0"
end vector

vector Dat_right_D3_1_R
   initialize to Keep_values_right
   receive IO_port_right_D3
   set IO_port_right_D3    to "1"
end vector

vector Dat_left_D4_0_W
   initialize to Keep_values_left
   drive IO_port_left_D4
   set IO_port_left_D4     to "0"
end vector

vector Dat_left_D4_1_W
   initialize to Keep_values_left
   drive IO_port_left_D4
   set IO_port_left_D4     to "1"
end vector

vector Dat_right_D4_0_W
   initialize to Keep_values_right
   drive IO_port_right_D4
   set IO_port_right_D4    to "0"
end vector

vector Dat_right_D4_1_W
   initialize to Keep_values_right
   drive IO_port_right_D4
   set IO_port_right_D4    to "1"
end vector

vector Dat_left_D4_0_R
   initialize to Keep_values_left
   receive IO_port_left_D4
   set IO_port_left_D4     to "0"
end vector

vector Dat_left_D4_1_R
   initialize to Keep_values_left
   receive IO_port_left_D4
   set IO_port_left_D4     to "1"
end vector

vector Dat_right_D4_0_R
   initialize to Keep_values_right
   receive IO_port_right_D4
   set IO_port_right_D4    to "0"
end vector

vector Dat_right_D4_1_R
   initialize to Keep_values_right
   receive IO_port_right_D4
   set IO_port_right_D4    to "1"
end vector

vector Dat_left_D5_0_W
   initialize to Keep_values_left
   drive IO_port_left_D5
   set IO_port_left_D5     to "0"
end vector

vector Dat_left_D5_1_W
   initialize to Keep_values_left
   drive IO_port_left_D5
   set IO_port_left_D5     to "1"
end vector

vector Dat_right_D5_0_W
   initialize to Keep_values_right
   drive IO_port_right_D5
   set IO_port_right_D5    to "0"
end vector

vector Dat_right_D5_1_W
   initialize to Keep_values_right
   drive IO_port_right_D5
   set IO_port_right_D5    to "1"
end vector

vector Dat_left_D5_0_R
   initialize to Keep_values_left
   receive IO_port_left_D5
   set IO_port_left_D5     to "0"
end vector

vector Dat_left_D5_1_R
   initialize to Keep_values_left
   receive IO_port_left_D5
   set IO_port_left_D5     to "1"
end vector

vector Dat_right_D5_0_R
   initialize to Keep_values_right
   receive IO_port_right_D5
   set IO_port_right_D5    to "0"
end vector

vector Dat_right_D5_1_R
   initialize to Keep_values_right
   receive IO_port_right_D5
   set IO_port_right_D5    to "1"
end vector

vector Dat_left_D6_0_W
   initialize to Keep_values_left
   drive IO_port_left_D6
   set IO_port_left_D6     to "0"
end vector

vector Dat_left_D6_1_W
   initialize to Keep_values_left
   drive IO_port_left_D6
   set IO_port_left_D6     to "1"
end vector

vector Dat_right_D6_0_W
   initialize to Keep_values_right
   drive IO_port_right_D6
   set IO_port_right_D6    to "0"
end vector

vector Dat_right_D6_1_W
   initialize to Keep_values_right
   drive IO_port_right_D6
   set IO_port_right_D6    to "1"
end vector

vector Dat_left_D6_0_R
   initialize to Keep_values_left
   receive IO_port_left_D6
   set IO_port_left_D6     to "0"
end vector

vector Dat_left_D6_1_R
   initialize to Keep_values_left
   receive IO_port_left_D6
   set IO_port_left_D6     to "1"
end vector

vector Dat_right_D6_0_R
   initialize to Keep_values_right
   receive IO_port_right_D6
   set IO_port_right_D6    to "0"
end vector

vector Dat_right_D6_1_R
   initialize to Keep_values_right
   receive IO_port_right_D6
   set IO_port_right_D6    to "1"
end vector

vector Dat_left_D7_0_W
   initialize to Keep_values_left
   drive IO_port_left_D7
   set IO_port_left_D7     to "0"
end vector

vector Dat_left_D7_1_W
   initialize to Keep_values_left
   drive IO_port_left_D7
   set IO_port_left_D7     to "1"
end vector

vector Dat_right_D7_0_W
   initialize to Keep_values_right
   drive IO_port_right_D7
   set IO_port_right_D7    to "0"
end vector

vector Dat_right_D7_1_W
   initialize to Keep_values_right
   drive IO_port_right_D7
   set IO_port_right_D7    to "1"
end vector

vector Dat_left_D7_0_R
   initialize to Keep_values_left
   receive IO_port_left_D7
   set IO_port_left_D7     to "0"
end vector

vector Dat_left_D7_1_R
   initialize to Keep_values_left
   receive IO_port_left_D7
   set IO_port_left_D7     to "1"
end vector

vector Dat_right_D7_0_R
   initialize to Keep_values_right
   receive IO_port_right_D7
   set IO_port_right_D7    to "0"
end vector

vector Dat_right_D7_1_R
   initialize to Keep_values_right
   receive IO_port_right_D7
   set IO_port_right_D7    to "1"
end vector

!**********************************************************************
!********************  SUBROUTINE   SECTION     ***********************
!**********************************************************************


sub Write_left(Add,Dat)

   execute Add
   execute RW_bar_left_low
   execute Dat
   execute RW_bar_left_hi

end sub

sub Write_right(Add,Dat)

   execute Add
   execute RW_bar_right_low
   execute Dat
   execute RW_bar_right_hi

end sub

sub Write_left_keep_both(Add,Dat)

   execute Add
   execute RW_bar_left_low_B
   execute Dat
   execute RW_bar_left_hi_B

end sub

sub Write_right_keep_both(Add,Dat)

   execute Add
   execute RW_bar_right_low_B
   execute Dat
   execute RW_bar_right_hi_B

end sub

sub Read_keep_both(Add,Dat)

   execute Add
   execute Dat

end sub

sub Read(Add,Dat)             !Either side

   execute Add
   execute Dat

end sub

!**********************************************************************
!*************************  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 Left D0 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D0_0_W)
   call Read(Add_left_0000000000,Dat_left_D0_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D0_1_W)
   call Read(Add_left_0000000000,Dat_left_D0_1_R)

end unit

unit   "awaretest Left D1 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D1_0_W)
   call Read(Add_left_0000000000,Dat_left_D1_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D1_1_W)
   call Read(Add_left_0000000000,Dat_left_D1_1_R)

end unit

unit   "awaretest Left D2 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D2_0_W)
   call Read(Add_left_0000000000,Dat_left_D2_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D2_1_W)
   call Read(Add_left_0000000000,Dat_left_D2_1_R)

end unit

unit   "awaretest Left D3 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D3_0_W)
   call Read(Add_left_0000000000,Dat_left_D3_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D3_1_W)
   call Read(Add_left_0000000000,Dat_left_D3_1_R)

end unit

unit   "awaretest Left D4 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D4_0_W)
   call Read(Add_left_0000000000,Dat_left_D4_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D4_1_W)
   call Read(Add_left_0000000000,Dat_left_D4_1_R)

end unit

unit   "awaretest Left D5 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D5_0_W)
   call Read(Add_left_0000000000,Dat_left_D5_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D5_1_W)
   call Read(Add_left_0000000000,Dat_left_D5_1_R)

end unit

unit   "awaretest Left D6 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D6_0_W)
   call Read(Add_left_0000000000,Dat_left_D6_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D6_1_W)
   call Read(Add_left_0000000000,Dat_left_D6_1_R)

end unit

unit   "awaretest Left D7 Test"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_D7_0_W)
   call Read(Add_left_0000000000,Dat_left_D7_0_R)

   call Write_left(Add_left_0000000000,Dat_left_D7_1_W)
   call Read(Add_left_0000000000,Dat_left_D7_1_R)

end unit

unit   "awaretest Right D0 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D0_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D0_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D0_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D0_1_R)

end unit

unit   "awaretest Right D1 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D1_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D1_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D1_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D1_1_R)

end unit

unit   "awaretest Right D2 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D2_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D2_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D2_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D2_1_R)

end unit

unit   "awaretest Right D3 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D3_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D3_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D3_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D3_1_R)

end unit

unit   "awaretest Right D4 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D4_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D4_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D4_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D4_1_R)

end unit

unit   "awaretest Right D5 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D5_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D5_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D5_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D5_1_R)

end unit

unit   "awaretest Right D6 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D6_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D6_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D6_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D6_1_R)

end unit

unit   "awaretest Right D7 Test"

   execute Set_values_Right

   call Write_Right(Add_Right_0000000000,Dat_Right_D7_0_W)
   call Read(Add_Right_0000000000,Dat_Right_D7_0_R)

   call Write_Right(Add_Right_0000000000,Dat_Right_D7_1_W)
   call Read(Add_Right_0000000000,Dat_Right_D7_1_R)

end unit

unit "Read and Write Left Port"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_00_W)
   call Write_left(Add_left_1000000000,Dat_left_01_W)
   call Write_left(Add_left_0100000000,Dat_left_02_W)
   call Write_left(Add_left_0010000000,Dat_left_04_W)
   call Write_left(Add_left_0001000000,Dat_left_08_W)
   call Write_left(Add_left_0000100000,Dat_left_10_W)
   call Write_left(Add_left_0000010000,Dat_left_20_W)
   call Write_left(Add_left_0000001000,Dat_left_40_W)
   call Write_left(Add_left_0000000100,Dat_left_80_W)
   call Write_left(Add_left_0000000010,Dat_left_81_W)
   call Write_left(Add_left_0000000001,Dat_left_82_W)

   call Read(Add_left_0000000000,Dat_left_00_R)
   call Read(Add_left_1000000000,Dat_left_01_R)
   call Read(Add_left_0100000000,Dat_left_02_R)
   call Read(Add_left_0010000000,Dat_left_04_R)
   call Read(Add_left_0001000000,Dat_left_08_R)
   call Read(Add_left_0000100000,Dat_left_10_R)
   call Read(Add_left_0000010000,Dat_left_20_R)
   call Read(Add_left_0000001000,Dat_left_40_R)
   call Read(Add_left_0000000100,Dat_left_80_R)
   call Read(Add_left_0000000010,Dat_left_81_R)
   call Read(Add_left_0000000001,Dat_left_82_R)

end unit

unit "Read and Write Right Port"

   execute Set_values_right

   call Write_right(Add_right_0000000000,Dat_right_00_W)
   call Write_right(Add_right_1000000000,Dat_right_01_W)
   call Write_right(Add_right_0100000000,Dat_right_02_W)
   call Write_right(Add_right_0010000000,Dat_right_04_W)
   call Write_right(Add_right_0001000000,Dat_right_08_W)
   call Write_right(Add_right_0000100000,Dat_right_10_W)
   call Write_right(Add_right_0000010000,Dat_right_20_W)
   call Write_right(Add_right_0000001000,Dat_right_40_W)
   call Write_right(Add_right_0000000100,Dat_right_80_W)
   call Write_right(Add_right_0000000010,Dat_right_81_W)
   call Write_right(Add_right_0000000001,Dat_right_82_W)

   call Read(Add_right_0000000000,Dat_right_00_R)
   call Read(Add_right_1000000000,Dat_right_01_R)
   call Read(Add_right_0100000000,Dat_right_02_R)
   call Read(Add_right_0010000000,Dat_right_04_R)
   call Read(Add_right_0001000000,Dat_right_08_R)
   call Read(Add_right_0000100000,Dat_right_10_R)
   call Read(Add_right_0000010000,Dat_right_20_R)
   call Read(Add_right_0000001000,Dat_right_40_R)
   call Read(Add_right_0000000100,Dat_right_80_R)
   call Read(Add_right_0000000010,Dat_right_81_R)
   call Read(Add_right_0000000001,Dat_right_82_R)

end unit

unit "Test With Left Port in Read-Only Mode"

   execute Set_values_right

   call Write_right(Add_right_0000000000,Dat_right_00_W)
   call Write_right(Add_right_1000000000,Dat_right_01_W)
   call Write_right(Add_right_0100000000,Dat_right_02_W)
   call Write_right(Add_right_0010000000,Dat_right_04_W)
   call Write_right(Add_right_0001000000,Dat_right_08_W)
   call Write_right(Add_right_0000100000,Dat_right_10_W)
   call Write_right(Add_right_0000010000,Dat_right_20_W)
   call Write_right(Add_right_0000001000,Dat_right_40_W)
   call Write_right(Add_right_0000000100,Dat_right_80_W)
   call Write_right(Add_right_0000000010,Dat_right_81_W)
   call Write_right(Add_right_0000000001,Dat_right_82_W)

   execute Set_values_left

   call Read(Add_left_0000000000,Dat_left_00_R)
   call Read(Add_left_1000000000,Dat_left_01_R)
   call Read(Add_left_0100000000,Dat_left_02_R)
   call Read(Add_left_0010000000,Dat_left_04_R)
   call Read(Add_left_0001000000,Dat_left_08_R)
   call Read(Add_left_0000100000,Dat_left_10_R)
   call Read(Add_left_0000010000,Dat_left_20_R)
   call Read(Add_left_0000001000,Dat_left_40_R)
   call Read(Add_left_0000000100,Dat_left_80_R)
   call Read(Add_left_0000000010,Dat_left_81_R)
   call Read(Add_left_0000000001,Dat_left_82_R)

end unit

unit "Test With Right Port in Read-Only Mode"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_00_W)
   call Write_left(Add_left_1000000000,Dat_left_01_W)
   call Write_left(Add_left_0100000000,Dat_left_02_W)
   call Write_left(Add_left_0010000000,Dat_left_04_W)
   call Write_left(Add_left_0001000000,Dat_left_08_W)
   call Write_left(Add_left_0000100000,Dat_left_10_W)
   call Write_left(Add_left_0000010000,Dat_left_20_W)
   call Write_left(Add_left_0000001000,Dat_left_40_W)
   call Write_left(Add_left_0000000100,Dat_left_80_W)
   call Write_left(Add_left_0000000010,Dat_left_81_W)
   call Write_left(Add_left_0000000001,Dat_left_82_W)

   execute Set_values_right

   call Read(Add_right_0000000000,Dat_right_00_R)
   call Read(Add_right_1000000000,Dat_right_01_R)
   call Read(Add_right_0100000000,Dat_right_02_R)
   call Read(Add_right_0010000000,Dat_right_04_R)
   call Read(Add_right_0001000000,Dat_right_08_R)
   call Read(Add_right_0000100000,Dat_right_10_R)
   call Read(Add_right_0000010000,Dat_right_20_R)
   call Read(Add_right_0000001000,Dat_right_40_R)
   call Read(Add_right_0000000100,Dat_right_80_R)
   call Read(Add_right_0000000010,Dat_right_81_R)
   call Read(Add_right_0000000001,Dat_right_82_R)

end unit

unit "Test CE_bar_left With Write and Read"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_00_W)
   call Read(Add_left_0000000000,Dat_left_00_R)

   execute CE_bar_left_hi

   call Write_left(Add_left_0000000000,Dat_left_FF_W)

   execute CE_bar_left_low

   call Read(Add_left_0000000000,Dat_left_00_R)

end unit

unit "Test CE_bar_left With Left Port in Read-Only Mode"

   execute Set_values_right

   call Write_right(Add_right_0000000000,Dat_right_00_W)

   execute Set_values_left

   call Read(Add_left_0000000000,Dat_left_00_R)

   execute CE_bar_left_hi

   call Read(Add_left_0000000000,Dat_left_FF_R)

   execute CE_bar_left_low

   call Read(Add_left_0000000000,Dat_left_00_R)

end unit

unit "Test CE_bar_right With Write and Read"

   execute Set_values_right

   call Write_right(Add_right_0000000000,Dat_right_00_W)
   call Read(Add_right_0000000000,Dat_right_00_R)

   execute CE_bar_right_hi

   call Write_right(Add_right_0000000000,Dat_right_FF_W)

   execute CE_bar_right_low

   call Read(Add_right_0000000000,Dat_right_00_R)

end unit

unit "Test CE_bar_right With Right Port in Read-Only Mode"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_00_W)

   execute Set_values_right

   call Read(Add_right_0000000000,Dat_right_00_R)

   execute CE_bar_right_hi

   call Read(Add_right_0000000000,Dat_right_FF_R)

   execute CE_bar_right_low

   call Read(Add_right_0000000000,Dat_right_00_R)

end unit

unit "Test BUSY_bar_left With Write and Read"

   execute UnSet_values_both
   execute Set_values_both

   execute Add_right_0000000001_B
   execute RW_bar_right_low_B
   execute BUSY_bar_left_hi
   execute Add_left_0000000001_B
   execute RW_bar_left_low_B
   execute BUSY_bar_left_low
   execute CE_bar_left_hi
   execute BUSY_bar_left_hi

end unit

unit "Test BUSY_bar_right With Write and Read"

   execute UnSet_values_both
   execute Set_values_both

   execute Add_left_0000000010_B
   execute RW_bar_left_low_B
   execute BUSY_bar_right_hi
   execute Add_right_0000000010_B
   execute RW_bar_right_low_B
   execute BUSY_bar_right_low
   execute CE_bar_left_hi
   execute BUSY_bar_right_hi

end unit

unit "Test For BUSY_bar_left and INT_bar_left tied"

   execute UnSet_values_both
   execute Set_values_both

   call Read(Add_right_1111111111,Dat_right_xx_R)
   call Read(Add_right_1111111110,Dat_right_xx_R)

   execute UnSet_values_both
   execute Set_values_both

   execute Add_right_0000000001_B
   execute RW_bar_right_low_B
   execute BUSY_bar_left_hi
   execute Add_left_0000000001_B
   execute RW_bar_left_low_B
   execute BUSY_bar_left_low_Spec
   execute CE_bar_left_hi
   execute BUSY_bar_left_hi

end unit

unit "Test BUSY_bar_right and INT_bar_right tied"

   execute UnSet_values_both
   execute Set_values_both

   call Read(Add_right_1111111111,Dat_right_xx_R)
   call Read(Add_right_1111111110,Dat_right_xx_R)

   execute UnSet_values_both
   execute Set_values_both

   execute Add_left_0000000010_B
   execute RW_bar_left_low_B
   execute BUSY_bar_right_hi
   execute Add_right_0000000010_B
   execute RW_bar_right_low_B
   execute BUSY_bar_right_low_Spec
   execute CE_bar_left_hi
   execute BUSY_bar_right_hi

end unit

!
!  The next 4 units require Pull-ups on the Data lines
!

unit "Test OE_bar_left With Write and Read"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_00_W)
   call Read(Add_left_0000000000,Dat_left_00_R)

   execute OE_bar_left_hi

   call Read(Add_left_0000000000,Dat_left_FF_R)

   execute OE_bar_left_low

   call Read(Add_left_0000000000,Dat_left_00_R)

end unit

unit "Test OE_bar_left With Left Port in Read-Only Mode"

   execute Set_values_right

   call Write_right(Add_right_0000000000,Dat_right_00_W)

   execute Set_values_left

   call Read(Add_left_0000000000,Dat_left_00_R)

   execute OE_bar_left_hi

   call Read(Add_left_0000000000,Dat_left_FF_R)

   execute OE_bar_left_low

   call Read(Add_left_0000000000,Dat_left_00_R)

end unit

unit "Test OE_bar_right With Write and Read"

   execute Set_values_right

   call Write_right(Add_right_0000000000,Dat_right_00_W)
   call Read(Add_right_0000000000,Dat_right_00_R)

   execute OE_bar_right_hi

   call Read(Add_right_0000000000,Dat_right_FF_R)

   execute OE_bar_right_low

   call Read(Add_right_0000000000,Dat_right_00_R)

end unit

unit "Test OE_bar_right With Right Port in Read-Only Mode"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_00_W)

   execute Set_values_right

   call Read(Add_right_0000000000,Dat_right_00_R)

   execute OE_bar_right_hi

   call Read(Add_right_0000000000,Dat_right_FF_R)

   execute OE_bar_right_low

   call Read(Add_right_0000000000,Dat_right_00_R)

end unit

! The following two units have been added because the device correctly
! performs 'reads' and 'writes' when RW_bar is stuck at "1"
! (beleive it or not.).

unit "Test RW_bar, Left Port"

   execute Set_values_left

   call Write_left(Add_left_0000000000,Dat_left_00_W)
   execute Add_left_0000000000
   execute Dat_left_00_R

   execute RW_bar_left_low
   execute RW_bar_left_low
   execute Dat_left_FF_R

end unit

unit "Test RW_bar, Right Port"

   execute Set_values_right

   call Write_right(Add_right_0000000000,Dat_right_00_W)
   execute Add_right_0000000000
   execute Dat_right_00_R

   execute RW_bar_right_low
   execute RW_bar_right_low
   execute Dat_right_FF_R

end unit

unit "Test INT_bar_left"

   execute Set_values_both

   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi

   execute Set_values_both

   execute INT_bar_left_low_Setup
   execute INT_bar_left_low_Setup
   execute INT_bar_left_low_Setup
   execute INT_bar_left_low_Setup
   execute INT_bar_left_low

   execute Set_values_both

   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi_Setup
   execute INT_bar_left_hi

end unit

unit "Test INT_bar_right"

   execute Set_values_both

   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi

   execute Set_values_both

   execute INT_bar_right_low_Setup
   execute INT_bar_right_low_Setup
   execute INT_bar_right_low_Setup
   execute INT_bar_right_low_Setup
   execute INT_bar_right_low

   execute Set_values_both

   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi_Setup
   execute INT_bar_right_hi

end unit

!!!!!! End of Test
