[Coco] FPGA VS Software Emulators

Mark McDougall msmcdoug at iinet.net.au
Tue Jul 25 19:11:06 EDT 2017


On 26/07/2017 6:01 AM, tim franklinlabs.com wrote:

>     Yeah, agreed. I wrote a SDRAM controller running at 133MHz. using the
>     on board Phase lock Loop. No problem

Of course it depends on the silicon but very much so on the design 
itself. That comes down to factors such as number of gates, routing and 
fan-out as the propagation delays through the chip increase and keeping 
signals that change on the same clock edge in sync becomes more difficult.

There's also the issue of synchronising external inputs to clocks and 
internal clock-crossings which can introduce relatively large (compared 
to the clock) latencies in the design. Some of that requires careful 
design of the constraints or you'll reduce the clock rate even further!

I've worked with DDR controllers running upwards of 4-500MHz (vendor 
design) but they're carefully crafted in silicon that was designed with 
this functionality in mind. We've had the NIOS (soft-core RISC) running 
at around 150MHz but again, the NIOS has been crafted specifically for 
speed, including pipelining and caches and we had to use appropriate 
bridges to get it there.

Unfortunately the goals of pure speed and cycle-accuracy for a 6809 core 
are somewhat opposed. It's not impossible, but it would take a lot of 
work and be designed with those goals in mind at the out-set. Something 
that is probably not at the forefront of a hobbyist endeavour.

[As an side, I personally don't see the utility in running a Coco 
emulator at high speed. But others do...]

As for the discussion of FPGA's not being 'emulators' - I'll leave that 
contentious issue for another time. I've already chimed into what ended 
up being quite a heated debate over on AtariAge a few years back. The 
argument itself comes down to nit-picking the definition of 'emulation' 
and often a need to discard the belief that FPGA's are somehow magically 
accurate. Enough from me. ;)

Regards,

-- 
Mark McDougall
<http://retroports.blogspot.com.au>


More information about the Coco mailing list