Quite a bit of work has been going on behind the scenes on the FPGA based accelerator card, so it’s time for an update. TG68 is now running stable in 68020 mode at a clock frequency of 6x the motherboard clock (about 42 MHz), and an instruction cache has been implemented that can feed the core with 0 tick latency in the event of a cache hit. This has added up to some pretty impressive performance, with AIBB’s integer maths test running at more than double the speed of a 25 MHz 68040 A4000.
Being reasonably content with performance, and expecting a further increase on the final hardware anyway due to the use of a faster FPGA, we moved on to one of the other key features that this board will have at launch – support for booting from the on-board micro SD.
The interface is a full 4-bit SDIO controller that can theoretically support UHS-I speeds with suitable voltage switching, although it is currently running much more slowly due to the long wiring on the prototype. The controller block is designed so that it can be mapped into the Amiga’s address space (and I already showed off some pics of card initialisation from AMOS using this method), but to enable it to boot on an unmodified Kickstart an alternate mode allows it to emulate an IDE drive. The addition of the key parts of Gayle allow the A500 running Kickstart 2.05 or higher to boot directly from an RDB formatted SD card with no special drivers.
Performance is currently reduced significantly due to missing multiple block support in the IDE emulation, but around about 1MB/s is still achievable with most cards and the missing support is next on my list to add. The bottleneck is mainly due to the single-block access time of the card rather than any transfer rate issue.
As well as the bootable Gayle IDE emulation the intention is to retain the low-level memory mapped access to the SD controller and to allow it to act as a DMA master. Although taking advantage of this mode would require a custom device driver it would have the potential to speed things up dramatically.
On the latest build WhichAmiga now identifies the machine as an A600 (because of the fake Gayle), and detects the CPU as a 68020 running at 85.2 MHz (interestingly, double the actual clock speed). Booting to a simple Workbench installation takes just a few seconds, and the “full” version of Classic Workbench is up and running in about 15 seconds from letting go of reset. All of this is being run on an A500+ board with Kickstart 3.1 in the motherboard socket. A 1MB chip RAM expansion is fitted in the trapdoor slot bringing the total memory up to 2 MB chip and 32 MB fast on the accelerator.