OpenCores

Project maintainers

Details

Name: z80soc
Created: Apr 16, 2008
Updated: Jun 24, 2016
SVN Updated: Jun 24, 2016
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 0 reported / 0 solved
Star6you like it: star it!

Other project properties

Category:System on Chip
Language:VHDL
Development status:Stable
Additional info:
WishBone compliant: No
WishBone version: n/a
License:

Z80 System on Chip

System on chip, based on T80 core.

This project is a SOC designed for Altera DE1 development board and the Diligent Spartan 3E, and provide access to leds, switches, buttons, IO pins, SRAM, VGA, LCD and keyboard using Z80 assembly language.
Comes with a reference ROM application that show how to access all resources on the board. Spartan 3E port provides easy access to the LCD (memory mapped, 32 bytes of ram).

There are tools included in the project files to convert fonts (psf) to MIF and COE, and convert files containing hex codes in VHDL ROM files, what makes it very easy to generate new roms for the system (requires cygwin on windows or linux/unix shell).

Primary home page for this project is:
http://retro-cpu.runwiki

Previous versions can also be found at:
https://sites.google.com/sitez80soc

More information about development here: http://opencores.org/pnews.cgi/listz80soc

Features

All board resources are accessible from Z80 Assembly programs and also using C language.

V0.7.3
- Some changes to the memory mapping to have all platforms using the same map
- C library added to access all available hardware resources
- Documentation online at http://retro-cpu.runwiki
- Added Altera DE2-115 to list of supported development kits

V0.7.1
- Main change is support for C with release of a basic C library interface with the board resources
- Bugfixes in the video design and support for 80x60

V0.7
- Video layout can now be up tp 80x40
- Characters are stored im RAM and can be redefined by the user

Features:

DE1:
- Memory
- 24 Kb RAM (external SRAM) for main memory
- 03 Kb RAM for video memory (display up to 80x40)
- 02 Kb RAM for characters (256 chars), can be redefined by user
- 16 Kb ROM
- VGA video out in text mode configurable up to 80x40
- PS/2 keyboard input
- Seven segment display
- 8 Green leds
- 8 Red leds
- 8 Switches
- 4 Push buttons
- 36 IO pins (gpio0)
- 36 IO pins (gpio1)

Spartan 3E:
- Memory
- 24 Kb RAM for main memory
- 03 Kb RAM for video memory (display up to 80x40)
- 02 Kb RAM for characters (256 chars), can be redefined by user
- 16 Kb ROM
- 32 Bytes RAM for LCD video memory
- VGA video out in text mode configurable up to 80x40
- PS/2 keyboard input
- LCD display
- 8 Green leds
- 4 Switches
- 5 Push buttons
- Rotary Knob

Status

- All features listed are now functional

- Future improvements under way:
- (done) Video 80x40
- Serial communication
- Monitor program

Revison History

For a detailed list of changes and features, see file RevisionHistory.txt and README file.

2010/02/26 - V0.7
Modified RAM layout to accomodate new features
Characters definition are now in RAM and can be redefined by the user
Video screen can now be configured up tp 40 rows by 80 columns
Characters can have double pixels (useful when width is less than 40 chars)
Memory cores was redefined, RAM is now 24K

2008/05/24 V0.6
Modified RAM layout to support new and future improvements.
Added ports 0x90, 0x91, 0x92 for vram write
Changed ROM to support 14 bit addresses (16 Kb)

2008/05/14
Added support for the Rotary knob on Spartan 3E.
Modified the ROM to move LCD text using the Rotary knob.

2008/05/12
Fixed bug in memory access for S3E. ROM now is almost the same as DE1.

2008/05/05
Spartan 3E port released, with support for the LCD display.

2008/05/01
Added Caps lock support. Upper and lower case characters are now supported for keyboard input.

2008-04-19
Added complete character set (video out only)
Changed ROM program

2008-04-16
Release of Z80SoC-0.5-DE1-Beta