https://github.com/rejunity/z80-open-silicon Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} rejunity / z80-open-silicon Public generated from TinyTapeout/tt07-verilog-template * Notifications * Fork 5 * Star 218 * Z80 open-source silicon. Goal is to become a silicon proven, pin compatible, open-source replacement for classic Z80. rejunity.github.io/z80-open-silicon/ License Apache-2.0 license 218 stars 5 forks Branches Tags Activity Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights rejunity/z80-open-silicon This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Last Last Name Name commit commit message date Latest commit History 36 Commits .github/workflows .github/workflows docs docs gds/ gds/ tinytapeout_07_skywater130A tinytapeout_07_skywater130A src src test test .gitignore .gitignore LICENSE LICENSE README.md README.md info.yaml info.yaml View all files Repository files navigation * README * Apache-2.0 license [badge] [badge] [badge] Announcement On April 15 of 2024 Zilog has announced End-of-Life for Z80, one of the most famous 8-bit CPUs of all time. It is a time for open-source and hardware preservation community to step in with a Free and Open Source Silicon (FOSS) replacement for Zilog Z80. The first fabrication of FOSS Z80 is scheduled for June of 2024! Zilog Z80 modern free and open source silicon clone On the path to become a silicon proven, pin compatible, open-source replacement for classic Zilog Z80. FOSS Z80 leverages OpenROAD flow and FOSS 130 nm Skywater PDK to synthesize production ready silicon. Tiny Tapeout infrastructure is used to test and pool design with many others to reduce the cost of physical chip fabrication at Skywater Foundries. The first iteration of FOSS Z80 silicon The first iteration is developed with Tiny Tapeout 07 using 130 nm process and fits on a 0.064 mm^2 die area. The first fabrication is scheduled for June of 2024 as a part of CI 2406 Shuttle. [tt07_z80] The implementation is based around Guy Hutchison's TV80 Verilog core. Read documentation for Tiny Tapeout 07 version Below is the image of GDSII integrated circuit layout for FOSS Z80. It is the result of automatic place-and-route flow in OpenROAD using 130 nm "gates" logic elements. [2x2_tiles] Further Plan / ToDo * Add thorough instruction (including 'illegal') execution tests ZEXALL to testbench * Compare different implementations: Verilog core A-Z80, Netlist based Z80Explorer * Tapeout with ChipIgnite in QFN44 package * Tapeout with DIP40 package * Create gate-level layouts that would resemble the original Z80 layout, see the original chip dies below. Zilog designed Z80 by manually placing each transistor by hand. Z80 Pinout ,---------.__,---------. <-- A11 |1 40| A10 --> <-- A12 |2 39| A9 --> <-- A13 |3 Z80 CPU 38| A8 --> <-- A14 |4 37| A7 --> <-- A15 |5 36| A6 --> --> CLK |6 35| A5 --> <-> D4 |7 34| A4 --> <-> D3 |8 33| A3 --> <-> D5 |9 32| A2 --> <-> D6 |10 31| A1 --> VCC |11 30| A0 --> <-> D2 |12 29| GND <-> D7 |13 28| /RFSH --> <-> D0 |14 27| /M1 --> <-> D1 |15 26| /RESET <-- --> /INT |16 25| /BUSRQ <-- --> /NMI |17 24| /WAIT <-- <-- /HALT |18 23| /BUSAK --> <-- /MREQ |19 22| /WR --> <-- /IORQ |20 21| /RD --> `----------------------' Documentation * Z80 Users Manual * Z80 Users Manual from Mostek * Zilog Data Book * All the information about Z80 * Undocumented instructions * Opcode table and timing Oral History of the Development of the Z80 Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor M. Shima on Demystifying Microprocessor Design Z80 Patents * (expired) Patent US4605980 -- input voltage spike protection * (expired) Patent US4332008A -- ??? * (expired) Patent US4486827A -- reset circuitry Z80 Die shots * How to "read" die shots * nMOS variant Z8400 with 'Zilog 75' marking and Zilog Z8400 with 'DC' letter marking * CMOS variants Zilog Z84C00 and its 8MHz version * Nintendo Z80 variant from Super Game Boy SGB-CPU 01 produced in 1994 * Sean Riddle's image of Mostek MK3880 clone metal layer removed * Pauli Rautakorpi's images of Z80 clones: National Semiconductor NSC800, Mostek MK3880, MME9201 with 'U880/5' markings * Zeptobar's images of Zilog Z0840004PSC from 1990, Soviet KR1858VM3 with an uncommon layout, MME Z80A a clone on a 5um technology larger than the original Zilog chip, Soviet KR1858VM1 a clone of U880/6 which is in turn a clone of Z80, Soviet T34VM1 based on U880/5 [687474703a] Z80 Reverse Engineering * Z80 Instruction Register deciphered * Z80 Tri-stated Data & Address bus gates * Z80 (un)documented behavior * The instruction decode PLA in the Z80 microprocessor * Why the Z-80's data pins are scrambled * How the Z80's registers are implemented * The Z-80's 16-bit increment/decrement circuit reverse engineered * The Z-80 has a 4-bit ALU * XOR, the silicon for two interesting gates explained * WZ aka MEMPTR, esoteric register of the Z80 Existing Z80 implementations * TV80 in Verilog https://github.com/hutch31/tv80 * TV80 in Verilog https://github.com/Obijuan/Z80-FPGA * A-Z80 in Verilog https://github.com/gdevic/A-Z80 its overview and details * Z80 net-list level emulator https://github.com/gdevic/Z80Explorer and its overview and Users Guide What is Tiny Tapeout? Tiny Tapeout is an educational project that aims to make it easier and cheaper than ever to get your digital designs manufactured on a real chip. To learn more and get started, visit https://tinytapeout.com. Resources * FAQ * Digital design lessons * Learn how semiconductors work * Join the community * Build your design locally About Z80 open-source silicon. Goal is to become a silicon proven, pin compatible, open-source replacement for classic Z80. rejunity.github.io/z80-open-silicon/ Topics foss z80 chip tinytapeout Resources Readme License Apache-2.0 license Activity Stars 218 stars Watchers 9 watching Forks 5 forks Report repository Releases No releases published Packages 0 No packages published Languages * Verilog 95.4% * Python 2.3% * Tcl 1.6% * Makefile 0.7% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.