In article <3D76FD40-1741-45F2-96BE-CA6EF1FCEFBC at microspot.co.uk>,
Roger Holmes <roger.holmes at microspot.co.uk> writes:
There is another class of simulation I have been
considering
lately. For machines like my ICT 1301, which I would guess
has about ten thousand gates, it would be possible to write a
program which does a gate level simulation on a fast machine
like my 2GHz Mac. You could even simulate the signals in
the machine, hook up a simulated oscilloscope and look at
the waveforms. The slow rise times and overshooting might
not be possible to show of course, but maybe even this could
be added. You could even simulate logic faults for educational
purposes and show how they used to be tracked down via the
console, the logic diagrams and an oscilloscope. Now that
really would be a historical/educational tool. Or am I just dreaming?
Such things exist already to simulate chip designs. There are a
number of gate-level simulators out there, probably even some free
ones by now. When you write verilog/VHDL design code, this gets
compiled into gates. You might do gate-level simulation on the design
at that point and look at I/O signals and so-on. IIRC, gates are
compiled into instances of "standard cell libraries" for ASIC designs
and then manufactured. (The standard cell implements a very small
scale logic component and specifies all the transistor layout for
implementing the logic.) For an FPGA, your gate-level design is
compiled into an FPGA configuration and is very similar to "standard
cells" except that each and every cell is identical in size and number
of I/Os, whereas in an ASIC the standard cells will be different
sizes depending on the complexity of the logic and amount of I/O.
Could I OCR the old line printer listings of the
interconnection lists
and use them to build the simulator?
You could use them to capture the design and then simulate the design,
yes.
Simulating the audio output (which is pulsed on most
conditional
branch instructions) is another issue I am thinking about. Modern
computers can obviously make the sounds, but how do I convert
from a live stream of speaker reversals into what a modern
machine needs?
You have to simulate the analog effects of the pulsed output to
generate a waveform.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://www.xmission.com/~legalize/book/download/index.html>
Legalize Adulthood! <http://blogs.xmission.com/legalize/>