[Simh] [simh] testing simulated CPUs
Bob Supnik
bob at supnik.org
Sun Nov 3 19:53:29 EST 2013
This sounds like AXE, the VAX architectural exerciser. AXE had a wide
variety of tests - 5M or more in each major instruction group - and
logic for positioning operands and setting up memory management to
stress paging boundary conditions, unaligned operands, tracing, and
other special conditions. AXE's limitations were that it couldn't test
for pipeline-related problems (addressed in later verifiers such as MAX,
which did multiple instruction sequences), for real-time conditions like
interrupts or I/O, or for console HALT.
AXE was intended to be run without a reference host. The test cases were
first run on the reference, and the results added to the test cases as
the correct answers. AXE could then be run either as a test harness to
drive a simulator or on new hardware (or simulated hardware). When AXE
was finally run against SimH VAX, it turned up a couple of corner case
bugs in the deprecated floating point instructions (POLY, EMOD, ACB).
From an analysis I did after NVAX, here are all the VLSI VAX microcode
bugs that made it past tape-out of the first pass chip:
uVAX CVAX Rigel NVAX comment
---- ---- ----- ---- -------
Indexed immediate 1 ECO'd out of SRM
Interrupt passive rel 1 1
Interrupt to string 1
LDPCTX 1 ECO'd out of SRM
POLYG restart 1 ECO'd out of SRM
CALLx cross page 1 Improved in AXE V15
POPR to SP 1 Added to AXE V14
MFPR external to memory 2 Added to HCORE
MTPR ASTLVL 1 1 Added to AXE V15
Vectors 2 Added to AXE V15
IB prefetch error 2
IB TB miss error 1
Halt PC when FPD set 1 1
Restriction violation 2
INSV reserved operand 1
INSV specifier combination 1 Found by MAX after
tape-out
MULL2 PSL<v> result 1
VIC flushing on HALT 1
Powerup initialization 1
As can be seen, some boundary conditions and tests had to be manually
added to various test suites.
/Bob
More information about the Simh
mailing list