//**************************************************************************************
//*** ECLutvfc7a.TST
//*** Rev.H July 9.1979
//*** Rev.F February16.1979
//*** Rev.B August 4.1978
//*** V. Vysin
//**************************************************************************************
//**************************************************************************************
//To include the following definition files in the compilation
get "tester.d"
get "ECLutvfc.d"
//**************************************************************************************
//{ODataM: Odata.00, Odata.01, Odata.02, Odata.03, Odata.04, Odata.05, Odata.06, Odata.07}
//{ODataL: Odata.08, Odata.09, Odata.10, Odata.11, Odata.12, Odata.13, Odata.14, Odata.15}
//{OData0: Odata.00, Odata.01, Odata.02, Odata.03}
//{OData1: Odata.04, Odata.05, Odata.06, Odata.07}
//{OData2: Odata.08, Odata.09, Odata.10, Odata.11}
//{OData3: Odata.12, Odata.13, Odata.14, Odata.15}
//{IAddr: Iaddr.0, Iaddr.1, Iaddr.2, Iaddr.3, Iaddr.5, Iaddr.6, Iaddr.7}
let Test72() be
[
Start()
// we shall now be testing the A clock channels
SetBusValue(8,139,138,137,136,135,134,133,129,1)
ClkCR() //clears Gray counter
SetBusValue(8,139,138,137,136,135,134,133,129,#200 ); // bit 8 =1
ClkCR() // clkB goes up
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),1,"ClockA behind times",1,g)
ResetIMeF()
]
ClkCR() // ClkA goes up now
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),0,"ClockA behind times",2,g)
ResetIMeF()
]
ClkCR() // ClkA should not change now,ClkB went down
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),0,"ClockA behind times",3,g)
ResetIMeF()
]
ClkCR() // clkA went down
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),1,"ClockA behind times",4,g)
ResetIMeF()
]
//We now shall test ClockB channels and the DropClock gating
[
DisplayString("*nA-clock channels are in A1 shape")
DisplayString("*nMove the marked test clip to position d-2 ")
DisplayString("*nAfter having done so, press any key on the keyboard ! ")
while Endofs(keys) do[]
Breakpoint(9)
]
SetBusValue(8,139,138,137,136,135,134,133,129,1)
ClkCR() //clears Gray counter
SetBusValue(8,139,138,137,136,135,134,133,129,#200 ); // bit 8 =1
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),1,"ClockB behind times",5,g)
ResetIMeF()
]
ClkCR() // ClkB goes up now
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),0,"ClockB behind times",6,g)
ResetIMeF()
]
ClkCR()
ClkCR() // this brought the B clock down again
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),1,"ClockB behind times",7,g)
ResetIMeF()
]
SetVS()
NClk(1) // sets SendControl
NClk(1) // sets DropClockB'
SetBusValue(8,139,138,137,136,135,134,133,129,#200 ); // bit 8 =1
ClkCR() // sets ClkB,but output blocked by DropClock
for g = 0 to 3 do
[
Select(g)
Compare("IOAttn'",GetPinValue(210),1,"ClockB behind times",8,g)
ResetIMeF()
]
ResetVS()
[
DisplayString("*nWould you now please press q to quit or any other key for test repetition?")
while Endofs(keys) do[]
unless Endofs(keys) do
[
let ch = Gets(keys)
switchon (ch& #177) into
[
case $q:
case $Q: finish
]
]
]
Stop()
]
and Select(g) be
[
SetPinValue(145,1- g rem 2)
SetPinValue(209,1-(g-g rem 2) rshift 1)
SetPinValue(140,0)
EClock() // sets IMeF
]
and SetVS() be
[
Switch()
NClko(8) // PreO,AllowWU =0,PreVS=1
MLpulse()
NClk(1)
]
and ResetVS() be
[
Reset() // PreO,PreVS =0
MLpulse()
NClk(1)
]
//UNKNOWN SIGNALS REQUIRED: