3 ms·
A Z80 from the Ground Up (2014)
- userbinator 8y agoAFAIK the Z80 hasn't been publicly reverse-engineered to transistor level completely, it's mostly some important pieces (those that Ken Sherriff did, mentioned in the article) but apparently that was enough... Notable that one of its direct predecessors, the Intel 8080, was reverse-engineered to transistor level: https://zeptobars.com/en/read/KR580VM80A-intel-i8080-verilog-reverse-engineering https://zeptobars.com/en/read/KR580VM80A-intel-i8080-verilog...
- jacobush 8y agoAFAIK Jeri Ellsworth did the same to the 6502. https://www.nytimes.com/2004/12/20/technology/a-toy-with-a-story.html https://www.nytimes.com/2004/12/20/technology/a-toy-with-a-s... Can't find it in that article, but IIRC she looked at scans of the silicon to figure out exactly what the chips in a C64 do.
- bogomipz 8y agoThe author states: >"A-Z80 is a conceptual implementation of the venerable Zilog Z80 processor targeted to synthesize and run on a modern FPGA device." Could someone say what exactly "synthesize" means in this context? Is this loading lookup tables in the FPGA in order to implement the code you wrote in your HDL - Verilog, VHDL, something else?
- guiambros 8y agoExactly, synthesizable HDL code means code that can be actually translated into logic gates inside an FPGA [1]. Not every HDL instruction is synthesizable. Verilog and VHDL have extensive support for non-synthesizable code, which are used for verification, simulation, testing, etc - e.g., [2]. [1] https://en.wikipedia.org/wiki/Logic_synthesis https://en.wikipedia.org/wiki/Logic_synthesis [2] https://www.nandland.com/articles/synthesizable-vs-non-synthesizable-code-fpga-asic.html https://www.nandland.com/articles/synthesizable-vs-non-synth...
- bogomipz 8y agoThanks. Your second link looks like a really great resource! Cheers.
- sehugg 8y agoFast-forward to the next year, where he's created Z80 and ZX Spectrum models in Verilog: http://baltazarstudios.com/z80-cpu/ http://baltazarstudios.com/z80-cpu/ I find it interesting that he used transparent latches at first, then after experiencing random glitches switched to flip-flops. I guess the Z80 designers had control of and deeply understood their timing, something you don't get with a FPGA :)
- GeorgeTirebiter 8y agoThis is a tour-de-force. The Z80 has an enormous number of instructions, documented and 'undocumented' https://drive.google.com/file/d/0BykuPmkS9xS3UzFRTlAtTVA0ZHc/edit https://drive.google.com/file/d/0BykuPmkS9xS3UzFRTlAtTVA0ZHc... In a sense, the Z80 was the 'VAX' of 8-bit microprocessors. What I didn't see was performance info -- how fast (clock rate) did the CPU run in the various FPGAs? I see the size (# LUTs etc) at https://opencores.org/project/a-z80 https://opencores.org/project/a-z80 but not max CPU clock. Alternately, timing for 4-cycle instructions like 'LD A,B'-- which in the original Z80 took 2 M cycles, 7 T states, 4 MHz execution time = 1.75 uSec.
- boznz 8y agoZ80 still being manufactured in the form of the eZ80
- jonhendry18 8y agoAnyone know what process size is used for them these days? Is it comparable to the original, or is it a more modern, smaller process? Just curious. I wouldn't expect anyone go to the expense of doing Z80-class microprocessors at 14nm.
- ChrisRR 8y agoWhat is going on with the website that makes it so slow to scroll on a PC?