Which Dec Emulation is the MOST useful and Versatile?
dave.g4ugm at gmail.com
Fri Oct 27 03:54:06 CDT 2017
I think "emulation" and "simulation" get used pretty much interchangeable.
SIMH is touted a simulator, Hercules/390 as an emulator yet they are both
programs that provide a "bare metal" machine via software on which an
operating system can be installed. Neither make any attempt to reproduce the
speed of the original CPU.
I am going to stick with "emulator" as I think of "simulation" as process
whereby we can model some statistical or mathematical parameters e.g. how
long the queues are in a supermarket, what time is high tide in Boston using
only mathematics. Note this may involve a general purpose computer, or it
may use specialist machines such as the Doodson-Lege Tidal Predictor
So to return to emulating other computers have at least five different
1. Functional Software Emulation where we match the functions but not the
speed of operation using a program. SIMH and Hercules are such beasts
For much work this is fine. Most software emulators take this approach.
2. Cycle accurate Software Emulation/Simulation where we attempt to match
both function and speed of the underlying hardware. This may be necessary
for software which uses software loops to control say the speed of a UART. I
If you want to use the simulator for historical research this may help. Some
emulators can be switched to this mode when software needs it...
David Sharp's SSEM/Baby simulator is such a beast.
3. Behavioural Hardware Emulation
This is where we build a hardware implementation of a machine, but do not
attempt to duplicate the exact detail of the logic or its speed of
operation. Richard Stofer's IBM1130 in VHDL is such a project.
He doesn't have it available on the Web (I have a copy and have run it)
There is a Flash video on the IBM1130.org site
4. Cycle Accurate Behavioural Hardware Emulation
This is probably the most common approach to cycle accurate emulations.
Because FPGA's typically run several times faster than the clock on legacy
hardware, and they may contain high level function blocks, e.g. multipliers
its often "relatively easy" to match the instruction times of a legacy CPU
in an FPGA.
My BabyBaby FPGA implementation of the SSEM FPGA is such a beast. It runs at
the same speed as replica SSEM in MSI Manchester but internally it's a
parallel implementation whereas the real Baby is a serial machine.
5. Gate Level Hardware Emulation
It gate level hardware emulation we try and re-implement the hardware down
to the logic gate level. This is hard because FPGA's are may not be designed
to work this way, and gate level design will also have some dependencies on
propagation delays, which on an FPGA will be much smaller than on any real
hardware. A couple of examples of these are
Laurence Wilkinson's IBM 360/30 http://www.ljw.me.uk/ibm360/
Carl Claunch's IBM 1130 http://ibm1130.blogspot.co.uk/
I hope this doesn't muddy the water too much...
> -----Original Message-----
> From: cctalk [mailto:cctalk-bounces at classiccmp.org] On Behalf Of Kip Koon
> via cctalk
> Sent: 27 October 2017 06:42
> To: 'Paul Koning' <paulkoning at comcast.net>; 'General Discussion: On-Topic
> and Off-Topic Posts' <cctalk at classiccmp.org>
> Subject: RE: Which Dec Emulation is the MOST useful and Versatile?
> Hi Paul,
> Thank you for the info. I tend to get emulation and simulation a bit
> Just so I understand simulation correctly, hardware emulation is when the
> functionality of the hardware is actually implemented in hardware somehow
> like VHDL in an FGPA and hardware simulation is when a program
> implements the functionality of the hardware in a software program no
> matter what hardware the hardware simulator is running on. I think I got
> Correct? Thanks a bunch for setting me straight.
> Kip Koon
> computerdoc at sc.rr.com
> -----Original Message-----
> From: Paul Koning [mailto:paulkoning at comcast.net]
> Sent: Thursday, October 26, 2017 4:29 PM
> To: Kip Koon; General Discussion: On-Topic and Off-Topic Posts
> Subject: Re: Which Dec Emulation is the MOST useful and Versatile?
> > On Oct 24, 2017, at 10:40 PM, Kip Koon via cctalk
<cctalk at classiccmp.org>
> > ...
> > 2nd, a hardware emulator running a simulator written in 6809 assembly
> > language for the PDP-8/e running on a 6809 Core & I/O board system
> > seems like a good choice for me as I understand the 6809 microprocessor,
> I would call that a software emulator; the fact that it runs on some
> microprocessor eval board doesn't make a difference. Running SIMH on a
> Beaglebone would be analogous (though easier).
> When you said "hardware emulator" I figured you meant an FPGA
> of a VHDL or Verilog model of the machine. There are a bunch of those for
> variety of DEC computers. One I have looked at is this one:
> http://pdp2011.sytse.net/wordpress/ which incidentally is also
> to implement a choice of PDP11 model.
More information about the cctalk