(FILECREATED "13-Aug-86 19:29:27" {ERIS}<TAMARIN>TSIM>VMMTESTS.;1 16517Q 

      changes to:  (VARS VMMTESTSCOMS netlist))


(* Copyright (c) 1986 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT VMMTESTSCOMS)

(RPAQQ VMMTESTSCOMS ((FNS PageVMM VirVMM RealVMM Tryv Reset-VMM TryVMMBits WriteVMM MakeVMCompList))
)
(DEFINEQ

(PageVMM
  [LAMBDA NIL                                                (* agb: "13-Aug-86 16:24")
    (SETQ compsections (QUOTE (VMM-Out)))
    (SETQ setsections (QUOTE (ClockPla DataPath)))
    (SetupTransSim)
    (Reset-VMM)
    (for p from 1 to 3 do (for i from 0 to 12Q
				     do (PROG NIL
					      Loop(SETQ page (RAND 0 7777Q))
					          [SETQ vmpage
						    (ConcatBits (QUOTE ((page 2 10Q 0)
									     (page 31Q 4 10Q]
					          (SETQ @VirAddr (PLUS (LLSH 2000Q i)
									   (LLSH p 25Q)))
					          (SETQ @MemDir 0)
					          (SETQ @Ras-Cas~ 0)
					          (SetTransSim)
					          (steps)
					          (DoVMM)
					          (DoRCMux)
					          [Print01List (QUOTE ((RADDR)
									    (SELRAS/CAS~)
									    (VAD')
									    (VDAT']
					          (CompTransSim)
					          (if (TF #VMRefill)
						      then (WriteVMM vmpage)
							     (GO Loop))
					          (SETQ @Ras-Cas~ 1)
					          (SetTransSim)
					          (steps)
					          (DoVMM)
					          (DoRCMux)
					          [Print01List (QUOTE ((RADDR)
									    (SELRAS/CAS~)
									    (VAD')
									    (VDAT'-28 VDAT'-27 
										      VDAT'-26 
										      VDAT'-25 VDAT']
					          (CompTransSim])

(VirVMM
  [LAMBDA NIL                                                (* agb: "13-Aug-86 16:16")
    (SETQ compsections (QUOTE (VMM-Out)))
    (SETQ setsections (QUOTE (ClockPla DataPath)))
    (SetupTransSim)
    (Reset-VMM)
    (for p from 1 to 3 do (for i from 0 to 12Q
				     do (SETQ @VirAddr (PLUS (LLSH 2000Q i)
								   (LLSH p 25Q)))
					  (SETQ @MemDir 0)
					  (SETQ @Ras-Cas~ 0)
					  (SetTransSim)
					  (steps)
					  (DoVMM)
					  (DoRCMux)
					  [Print01List (QUOTE ((RADDR)
								    (SELRAS/CAS~)
								    (VAD')
								    (VDAT']
					  (CompTransSim)
					  (SETQ @Ras-Cas~ 1)
					  (SetTransSim)
					  (steps)
					  (DoVMM)
					  (DoRCMux)
					  [Print01List (QUOTE ((RADDR)
								    (SELRAS/CAS~)
								    (VAD')
								    (VDAT']
					  (CompTransSim])

(RealVMM
  [LAMBDA NIL                                                (* agb: "13-Aug-86 18:29")
    (SETQ compsections (QUOTE (VMM-Out)))
    (SETQ setsections (QUOTE (ClockPla DataPath)))
    (SetupTransSim)
    (Reset-VMM)
    (SETQ k 1)
    (for i from 0 to 37Q
       do (SETQ @VirAddr k)
	    (SETQ @MemDir 0)
	    (SETQ @Ras-Cas~ 0)
	    (SetTransSim)
	    (steps)
	    (DoVMM)
	    (DoRCMux)
	    [Print01List (QUOTE ((RADDR)
				      (SELRAS/CAS~)
				      (VAD')
				      (VDAT'-0 VDAT'-1 @MEMDIR N2 #FAULT]
	    [PrintOutList (QUOTE ((RADDR-10 RADDR-11)
				       (MR VR RR VRR)
				       (MC VC RC VRC]
	    (CompTransSim)
	    (SETQ @Ras-Cas~ 1)
	    (SetTransSim)
	    (steps)
	    (DoVMM)
	    (DoRCMux)
	    [Print01List (QUOTE ((RADDR)
				      (SELRAS/CAS~)
				      (VAD']
	    [PrintOutList (QUOTE ((RADDR-10 RADDR-11)
				       (MR VR RR VRR)
				       (MC VC RC VRC]
	    (CompTransSim)
	    (SETQ k (TIMES k 2])

(Tryv
  [LAMBDA NIL                                                (* agb: "12-Aug-86 10:09")
    (PrintOutList2 (QUOTE ((VAD)
				(MC MR VC VR RC RR VRC VRR)
				(RADDR)
				(@REALMATCH @VIRMATCH~ #VMREFILL SELRAS/CAS~])

(Reset-VMM
  [LAMBDA NIL                                                (* agb: "13-Aug-86 14:10")
    (SETQ pPre 1)
    (SetTransSim)
    (steps)
    (SETQ pPre 0)
    (SetTransSim)
    (steps)
    (SETQ @Reset-VMM 1)
    (SETQ *FirstCy 1)
    (SETQ pClock 1)
    (SetTransSim)
    (steps)
    (PrintOutList pli)
    (SETQ pClock 0)
    (SETQ @Reset-VMM 0)
    (SETQ *FirstCy 0)
    (SetTransSim)
    (steps)
    (ResetVMM])

(TryVMMBits
  [LAMBDA NIL                                                (* agb: "11-Aug-86 15:49")
    (SETQ k 1)
    (for i from 0 to 37Q
       do (SETQ VAD k)
	    (SETQ SelRas/Cas~ 0)
	    (SetTransSim)
	    (steps)
	    [PrintOutList2 (QUOTE ((VAD)
					(MC MR VC VR RC RR VRC VRR)
					(RADDR)
					(@REALMATCH @VIRMATCH~ #VMREFILL SELRAS/CAS~]
	    (SETQ SelRas/Cas~ 1)
	    (SetTransSim)
	    (steps)
	    [PrintOutList2 (QUOTE ((RADDR)
					(MC MR VC VR RC RR VRC VRR)
					(@REALMATCH @VIRMATCH~ #VMREFILL SELRAS/CAS~]
	    (SETQ k (TIMES k 2])

(WriteVMM
  [LAMBDA (val)                                              (* agb: "13-Aug-86 14:14")
    (SETQ pPre 1)
    (SetTransSim)
    (steps)
    (SETQ pPre 0)
    (SetTransSim)
    (steps)
    (SETQ D2 val)
    (SETQ *Write-VMM 1)
    (SETQ pClock 1)
    (SetTransSim)
    (steps)
    (PrintOutList pli)
    (SETQ pClock 0)
    (SETQ *Write-VMM 0)
    (SetTransSim)
    (steps)
    (Write-VMM])

(MakeVMCompList
  [LAMBDA NIL                                                (* agb: "13-Aug-86 19:23")
    [SETQ nodemaplist (for i in [APPEND [transbits (QUOTE ((D2 DataPath 35Q D2)
									(VAD' DataPath 30Q
									      (LNot @VirAddr))
									(VAD DataPath 30Q @VirAddr)
									(RADDR VMM-Out 14Q @RAddr)
									(VDAT' Dummy 12Q
									       (LNot @VirData]
						(QUOTE ((PHIPRE ClockPla ((pPre 0 1 0)))
							   (PHICLOCK ClockPla ((pClock 0 1 0)))
							   (@MEMDIR ClockPla ((@MemDir 0 1 0)))
							   (+WRITE-VMM ClockPla
								       ((*Write-VMM 0 1 0)))
							   (@RESET-VMM ClockPla
								       ((@Reset-VMM 0 1 0)))
							   (+FIRSTCY ClockPla ((*FirstCy 0 1 0)))
							   (SELRAS/CAS~ ClockPla
									((@Ras-Cas~ 0 1 0)))
							   (@REALMATCH VMM-Out
								       ((@RealMatch 0 1 0)))
							   (@VIRMATCH~ VMM-Out (((Not @VirMatch)
									 0 1 0)))
							   (#VMREFILL VMM-Out ((#VMRefill 0 1 0)))
							   (#FAULT VMM-Out ((#Fault 0 1 0)))
							   (VDAT'-25 Dummy (((LNot @VirData)
								       0 1 31Q)))
							   (VDAT'-26 Dummy (((LNot @VirData)
								       0 1 32Q)))
							   (VDAT'-27 Dummy (((LNot @VirData)
								       0 1 33Q)))
							   (VDAT'-28 Dummy (((LNot @VirData)
								       0 1 34Q]
			   when (findnode (CAR i))
			   collect (CONS (if (findnode (CAR i))
						 then (findnode (CAR i))
					       else (PRINTOUT T "Node not Found: " (CAR i)
								T)
						      (QUOTE (noop none 0)))
					     (CDR i]
    (PROG [(l (for i in nodemaplist collect (CADR i]
	    (SETQ typelist (INTERSECTION l l])
)
(PUTPROPS VMMTESTS COPYRIGHT ("Xerox Corporation" 3702Q))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (520Q 16377Q (PageVMM 532Q . 3413Q) (VirVMM 3415Q . 5305Q) (RealVMM 5307Q . 7412Q) (Tryv
 7414Q . 7771Q) (Reset-VMM 7773Q . 10764Q) (TryVMMBits 10766Q . 12161Q) (WriteVMM 12163Q . 13116Q) (
MakeVMCompList 13120Q . 16375Q)))))
STOP