The Turbo9 is a pipelined microprocessor IP written in Verilog that executes a superset of the Motorola 6809 instruction set. It is a new modern microarchitecture with 16-bit internal datapaths that balances high performance vs small area / low power. The Turbo9R with a 16-bit memory interface achieves 0.69 DMIPS/MHz which is 3.8 times faster than Motorola’s original 8-bit MC6809 implementation. It is an active graduate research project at the Department of Electrical & Computer Engineering at the University of Florida.
↫ Turbo9 GitHub page
The Turbo9 is aimed at SoC sub-blocks and small mixed-signal ASIC, so it’s definitely not intended to be some sort of general purpose CPU. The reason for opting for the 6809 instead of, say, RISC-V or ARM, is that the 6809 enables a far smaller footprint due to being 16bit, which is all the target market really needs from the Turbo9.
The current version of the Turbo9 is thoroughly verified and is capable of running C code. However, we still consider this version v0.9 because we are missing a few items. All the 6809 instructions and addressing modes have been implemented and tested except SYNC and CWAI. The signed versions of the Turbo9’s 16-bit divide and multiply need to be completed. Interrupts are partially implemented including SWI and Reset.
↫ Turbo9 GitHub page
This is the kind of riveting content you’ll only really find on OSNews.
My first thought was, Why not use a 68000? But it seems they want the absolute smallest possible footprint. So adding a bit to the 6809 was the sensible choice for them I guess. I will come back and read the article more thoroughly after work.
I would love to have 65816 core like this. AT 20mhz that works be a beast C64 accelerator.
As a tangent, I am attracted to the idea of using technology like FPGA’s and PALs for low-volume systems, especially labor-of-love project like the Ultimate64. It’s not particularly going to be the lowest cost option, but MISTer shows that’s not even the biggest problem. It doesn’t even need to be a chameleon system like MISTer, but implementing enhanced versions of dead or dying silicon architectures has a lot of appeal – What if you could take something like the 68000 or VAX in a different direction than history took, would that be interesting, and what would it be used for? At that point commercial viability doesn’t really matter and you’re free to play “what if” with very little constraint. The death of the Z80 (sort of) and the rise of retro-hobby machines (C65, Commander X16, etc) seem to indicate a need for this.
Have a look at the apollo 68080 / vampire for an example of an updated 68000…
Imagine the 68140 🙂 https://github.com/Kochise/m68140
I suspect that at some level these are 6809 fan boys who want that amazing and slightly late piece of innovation ot live again. They have wraped that goal in a nice logical sounding arguement that somebody fell for. I always regretted not having used a 6809 when they were alive, until I discovered that the Motorola Exorciser ran on a 6809. I used it to develop 6800 code so assumed that is what I was using. Of course I was just generating hex and sending it to a target board. Any CPU could have done that.