• The Hughes SCAP underwent some interesting design changes on its way to physical realization. I was called to take over this simulator after the original engineer made a career optimization. The SCAP is a fairly complex processor with many proprietary parts. Its GUI is correspondingly complex, with an amusingly large number of window panes. I made various changes to the simulator and its X-windows GUI corresponding to the SCAP design changes. These included changes to the control pipeline, IEEE arithmetic exception handling and various proprietary things.
  • I also went through the entire program and explicitly distinguished the simulated machine state from the rest of the program state. I then used this information to implement a state save-and-restore function, which allowed simulations to be suspended and restarted conveniently. It was not convenient to extract this information after the simulator was already written, but having a working save-and-restore function greatly simplified my design of the test suite, which I also wrote.
  • I went on to propose a project, which would allow state save-and-restore to be implemented in a scan-chain compatible fashion, allowing a simulation state to be saved and then loaded to an actual processor (and in reverse). This would allow actual processors to be used as simulation accelerators, and simulators to be used to inspect actual processor states. You can guess whether or not this plan was ever approved.