Kip,
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
http://www.ntslf.org/about-tides/doodson-machine
So to return to emulating other computers have at least five different
flavours...
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.
http://www.davidsharp.com/baby/
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.
https://hackaday.com/2016/01/06/babybaby-a-1948-computer-on-an-fpga/
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...
Dave
-----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
confused.
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
this
now.
Correct? Thanks a bunch for setting me straight.
Kip Koon
computerdoc at
sc.rr.com
http://www.cocopedia.com/wiki/index.php/User:Computerdoc
-----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>
wrote:
...
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
implementation
of a VHDL or Verilog model of the machine. There are a bunch of those for
a
variety of DEC computers. One I have looked at is
this one:
http://pdp2011.sytse.net/wordpress/ which incidentally is also
configurable
to implement a choice of PDP11 model.
paul