- Zilog이 2024년 4월 15일 Z80의 End-of-Life를 발표한 뒤, 이 프로젝트는 Z80을 대체할 Free and Open Source Silicon(FOSSi) 구현을 목표로 함
- 목표는 ZX Spectrum, RC2014 같은 8비트 컴퓨터와 DIY 키트에서 쓸 수 있는 핀 호환 드롭인 대체품을 개발하는 것임
- 구현은 Guy Hutchison의 TV80 Verilog 코어를 기반으로 하며, OpenROAD와 SKY130·SG13·GF180 같은 오픈 PDK를 사용해 실제 실리콘으로 합성함
- 2025년에 첫 두 번의 테이프아웃 칩이 배송됐고, 첫 SKY130 Tiny Tapeout 7 실리콘은 FUNCTIONAL 상태이며 QFN64 40핀 노출 버전도 배송 후 테스트 중임
- 테스트에서는 Z80이 RP2040/RP2350을 RAM처럼 사용해 통신하고, DAA 명령 버그를 수정했지만 ZEXALL의 미문서 플래그 2개 테스트는 아직 실패함
프로젝트 목표와 현재 상태
- rejunity/z80-open-silicon은 Zilog Z80의 현대적 무료 오픈 소스 실리콘 클론을 만드는 프로젝트임
- Zilog은 2024년 4월 15일 Z80의 End-of-Life를 발표함
- 프로젝트는 오픈 소스와 하드웨어 보존 커뮤니티가 Z80의 FOSSi 대체품을 제공해야 한다는 목표를 가짐
- 2025년에 첫 두 번의 테이프아웃 칩이 배송됐고, 칩은 동작함 상태이며 현재 테스트 중임
- 현재 GF180MCU용 DIP40 버전이 작업 중임
실리콘 구현 방식
- 목표 하드웨어는 8비트 홈 컴퓨터와 최근 DIY 컴퓨터 키트에서 드롭인 Z80 대체품으로 쓰이는 칩임
- 예시로 ZX Spectrum과 RC2014가 제시됨
- 구현은 OpenROAD 플로우와 오픈 소스 PDK를 사용해 생산 가능한 실리콘을 합성함
- Tiny Tapeout 인프라는 여러 설계를 함께 묶어 Skywater Foundries에서 실제 칩 제작 비용을 낮추는 데 사용됨
- 기반 CPU 코어는 Guy Hutchison의 TV80 Verilog 코어임
지원 PDK와 테이프아웃
- 지원하는 오픈 PDK는 3가지임
- 테이프아웃 진행 상태
- FUNCTIONAL: Tiny Tapeout 7을 통한 130nm SKY130 첫 실리콘 테이프아웃
- DELIVERED/TESTING: eFabless CI2406 shuttle을 통한 40핀 전체 노출 QFN64 패키지, 130nm SKY130 공정
- SG13g2 24핀 멀티플렉스 버전은 IHP 2024 실험 셔틀 항목이 있고, IHP 2025a shuttle 버전은 배송됨
- WIP: Wafer.Space GF180MCU Run 1을 통한 COB 기반 클래식 DIP40 폼팩터
첫 번째 FOSSi Z80 실리콘
- 첫 번째 반복 버전은 Tiny Tapeout 인프라와 130nm 공정으로 개발됐고, 0.064mm² 다이 면적에 들어감
- 첫 테이프아웃은 2024년 6월 eFabless ChipIgnite CI2406 Shuttle에 제출됨
- GDSII 집적회로 레이아웃은 OpenROAD의 자동 배치·배선 플로우 결과이며, 130nm 게이트 논리 요소를 사용함
테스트와 남은 작업
- 완료된 계획
- Tiny Tapeout 07을 통한 130nm 노드 24핀 리비전 테이프아웃
- eFabless ChipIgnite를 통한 40핀 전체 노출 QFN64 테이프아웃
- SKY130과 SG13 테이프아웃 완료, GF180은 작업 중
- 칩 테스트 수행
- 테스트 요약
- Z80은 RP2040/RP2350을 RAM처럼 사용해 통신함
- ZEXDOC/ZEXALL 테스트 스위트가 잡은 DAA 명령 버그를 수정함
- 미문서 플래그와 관련된 ZEXALL 테스트 2개는 아직 실패함
- 진행 중이거나 남은 작업
- QFN64에서 DIP40으로 변환하는 PCB 어댑터 제작
- COB DIP40 PCB 제작
- 원본 Z80과 비교한 입출력 신호 타이밍 테스트
- 모든 Z80 명령과 ‘illegal’ 명령을 포함한 테스트벤치 강화
- Verilog 코어 A-Z80, 넷리스트 기반 Z80Explorer 등 다른 구현과 비교
- 원본 Z80 레이아웃처럼 보이는 게이트 레벨 레이아웃 제작
- 세라믹 DIP40 패키지와 프로젝트 로고/칩 아트
코드와 로컬 실행
- 프로젝트 개요 자료로 슬라이드 덱과 Matthew Venn과 논의한 영상이 제공됨
- 주요 코드 위치
- src/tt_um_rejunity_z80.v: 최상위 모듈이며 Tiny Tapeout 제약을 따르고 출력 핀을 Tiny Tapeout 칩의 8개 핀에 멀티플렉싱함
- src/tv80: 핵심 Verilog Z80 구현
- src/config.tcl: OpenROAD 합성 및 배치·배선 설정
- src/test/test.py: 테스트벤치
- 생성된 레이아웃 산출물은
gds폴더에 있으며 KLayout으로 검사할 수 있음- Z80 코어의 GDSII 파일
- Tiny Tapeout 07 칩의 OASIS 파일
- 로컬 테스트는 Tiny Tapeout의 테스트 가이드를 따른 뒤
iverilog,verilator,cocotb,pytest를 설치하고src에서make를 실행함
테스트 대상으로 보는 Z80 기기
- 클래식 컴퓨터와 콘솔이 하드웨어 Z80 대체품의 테스트 케이스로 나열됨
- ZX Spectrum 48K: 3.5MHz Z80
- ZX Spectrum 128K: 3.54690MHz Z80
- Amstrad CPC: 4MHz Z80
- MSX 계열: 3.579MHz
- SG-1000, Sega Master System, ColecoVision, TRS-80, Sinclair ZX80/ZX81 등
- 최근 DIY 컴퓨터 키트도 테스트 케이스로 제시됨
- RC2014 modular computer: 8K ROM, 32K RAM, 7.3728MHz
- Zeal 8-bit Computer: 32K ROM, 128KB~512KB RAM, 10MHz
- LiNC80 microcomputer kit: 16K/64K ROM, 64K RAM, 7.3728MHz
참고 자료 모음
- Z80 관련 문서
- Z80 Datasheet
- Zilog Users Manual, Mostek Users Manual, Zilog Data Book
- 미문서 명령, opcode table, 타이밍 문서
- Z80 역사와 특허
- Z80 개발 구술사 패널 자료
- M. Shima의 마이크로프로세서 설계 자료
- 입력 전압 스파이크 보호, 리셋 회로 등 만료된 Z80 관련 특허
- 다이샷과 리버스 엔지니어링 자료
- Zilog Z8400, Z84C00, Nintendo Super Game Boy의 SGB-CPU 01, Mostek MK3880 등 다이샷
- Z80 명령 레지스터, 버스 게이트, PLA, 레지스터 구현, 4비트 ALU 등 리버스 엔지니어링 자료
- 기존 구현
- TV80 Verilog 구현
- A-Z80
- Z80Explorer
- Visual6502.org의 온라인 Z80 넷리스트 에뮬레이터