[F4HDK] calls his new computer A2Z because he built everything from scratch (literally, from A to Z). Well, strictly speaking, he did start with an FPGA, but you have to have some foundation. The core CPU is a 16-bit RISC processor with a 24-bit address bus and a 128-word cache. The computer sports 2 megabytes of RAM, a boot ROM, a VGA port and keyboard, and some other useful I/O. The CPU development uses Verilog.
Software-wise, the computer has a simple operating system, a filesystem, and basic programs like a text editor and an image viewer. Development software includes an assembler and a compiler for a BASIC-like language that resides on the PC. You can also run an emulator to experiment with A2Z without hardware. You can see a “car game” running on A2Z in the video below. You can also see videos of some other applications.
The game shows off the VGA double buffering. Many FPGA developers develop “clone” CPUs so they can leverage development tools and software. A2Z is a unique design and we’ve rarely seen a custom CPU that has such a wide range of tools and applications.
We’ve talked about the difficulties of developing your own infrastructure around a custom CPU before. We’ve also covered some of our CPUs (don’t forget part two).
26 thoughts on “FPGA Computer Covers A To Z”
Lovely. But can it run Doom? :)
+7 and a half
-Eleventy kabillion ;)
It’ll need a C compiler, but Doom ports can render to an ordinary linear frame buffer pretty easily. Apart from that it’s just keyboard I/O. Sound is optional in Doom. So… probably. Might need to bootstrap up a C compiler first.
Are there C compilers that only use a bare minimum of functions? So you can compile that with a hand-coded minimal compiler, then compile it with itself, then compile a full version of that? Just to reduce the amount of stuff you have to code in first.
Actually a C to Brainfuck translator / compiler would be good. Anyone can knock up a Brainfuck interpreter.
Unfortunately, I think that it is a little bit more complex than that. You don’t need a native compiler, a cross compiler is enough. So bootstrapping a full C compiler with a minimal C compiler seems useless for me. (unless I misunderstood your proposal).
But porting a real C compiler to target A2Z, it is a big challenge, at least for me.
Bill Buzbee knows how to do it, but it is hard work. http://homebrewcpu.com/
Un gcc serait sûrement trop compliqué mais tcc (http://bellard.org/tcc/) ? ou lcc (https://github.com/drh/lcc) ? après ça ne dit pas si Doom pourra tourner vite.
A gcc would be certainly too hard but tcc ? or lcc ? sure it doesn’t mean Doom can run fast.
Retargetting LCC or TCC is perhaps feasible… but it is hard work and way above my skills. I am not a computer scientist at all.
Al explained the difficulty of the job here : http://hackaday.com/2015/07/31/build-your-own-cpu-thats-the-easy-part/
Once again, Bill Buzbee made that for 2 computers:
* Magic-1, his own TTL computer (CISC)
* DM/16, a RISC computer made by John Doran
But Bill is a compiler expert; that’s his everyday job!
The A2Z ISA is fully described, and it is simple. If somebody wants to retarget a C compiler (even simple C) for A2Z, I would be very happy!
But it is unlikely to occur, I think…
Is that wire wrap I see.
Boy that is a lot of glue gun.
Were are the USB ports Are they underneath?
Does it even have a clock. Its not a computer with out a clock.
OK after all that BS… You did a great job.
And who cares about DOOM. The car game was good anuff.
The only thing I would of different would of been I would use more glue gun.
And some more colors in the wire wrap.
The set up lay out looks very nice. Other then the lack of colors in the wire. If it was a clock and you were told to cut the red wire. You would be up a creek.
I still love it.
God the wright up looks crap.I dont know if it is me or what. I have a new key board and I can not type worth crap on it. I mean its bad. I think this keyboard needs to be used in a project like garbage bin project.
You still did a good job I like it. Not like this keyboard. a;lsdf;laqigjh@#$%@#@#$@#@#$ @#$@#$%@3234523wer@#$%
I think thats anuff for now. Im going to get the blow torch. say good by keyboard…
I still like you project. and it still needs some red wires. And those 3 orange wires dont count. there not RED.
I have a new keyboard lets see if it works better. Yep.
I still dont see any red wires.
And forget about doom your car game was good anuff.
+1 for excellent stream of consciousness skills
Him or me. I’m still trying to find a red wire in his picture or one of his videos.
Did on line search of his project. Still cant find that red wire to cut.
Good this project is looking better and better as I see more of it. He most definitely used less glue gun then me.
God why could you have used one just one red wire to cut.
My keyboard is still smoking from the torch.
Doom… OH my god Not the game but me I’m doomed.
I got it!!! Photo shop. That’s how I will cut the red wire.
God that computer is looking better and better. Can it run photo shop.
Oh no what did I do now. All the wires are red now……
Al forgot to put a link to the full documentation of my project. Here it is:
Fixed. I swear it was in there at some point, so either I killed it during editing or one of the editors did accidentally. Sorry about that!
Wait, there are actually editors now?
Amazing job there – well done !
digging the car game. Kinda reminds me of Glider.
Looks like micromachines to me, played it a lot on the Amiga.
LOL, micromachines, like those *really-fast-talking* commercials? Had no idea there was a vid-game :)
That’s a hell of a lot of work, and a fantastic project. The guy’s going to learn so much about computers on every level, gonna be a unique learning experience.
I propose you a game: who will make the best lap time on “MicroMachines”?
Just download the zip, run the emulator, then Programs -> MicroMac.
F4HDK – A2Z’s father
Please be kind and respectful to help make the comments section excellent. (Comment Policy)