OpenCores
URL https://opencores.org/ocsvn/a-z80/a-z80/trunk

Subversion Repositories a-z80

[/] [a-z80/] [trunk/] [readme.txt] - Blame information for rev 3

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 gdevic
                           A-Z80
2
         A conceptual implementation of the Z80 CPU
3
         ------------------------------------------
4
 
5
This project is described in more details at: www.baltazarstudios.com
6
 
7
Prerequisites:
8
* Altera Quartus and Modelsim (free web editions)
9
* Python 2.7
10
 
11
A-Z80 "cpu" consists of several functional blocks and a top-level module:
12
  alu         contains ALU block, ALU control and flags logic
13
  bus         contains data bus switches, pin logic, address latch and the
14
              address incrementer
15
  register    contains CPU register file and the register control logic
16
  control     contains PLA, the sequencer and other control blocks
17
  toplevel    A-Z80 top level core, interfaces and the test code
18
 
19
"host" integrates the A-Z80 into several complete top-level designs:
20
  "basic" contains a simplified board consisting of A-Z80 CPU, memory
21
          and UART modules that can run small Z80 programs
22
  "zxspectrum" contains an implementation of the Sinclair ZX Spectrum
23
 
24
  You probably want to start by loading one of those two designs in Quartus.
25
 
26
"tools" contains various tools related to the project.
27
 
28
Read the 'readme.txt' files in each of the folders for additional information.
29
Read 'Quick Start' and 'Users Guide' documents in the 'docs' folder.
30
 
31
A-Z80 Logic Design
32
==================
33
Each functional block contains a Quartus project file:
34
.//test_.qpf
35
 
36
Quartus projects are only used as containers for files within individual
37
modules; complete top-level solutions that use A-Z80 are in the "host" folder.
38
 
39
Majority of sub-modules are designed in the Quartus schematic editor and then
40
exported to Verilog for simulation and the top-level integration. If you decide
41
to create a design using the A-Z80, you can either use schematic files as sources
42
(in Altera Quartus) or corresponding Verilog sources.
43
 
44
Simulation
45
==========
46
*** IMPORTANT ***
47
Before you can load and simulate any module through Modelsim, you need to set up
48
the environment by running a Python script 'modelsim_setup.py'. It creates
49
relative file path mapping to source files in all module project folders.
50
 
51
Each functional block, including the top level, contains a Modelsim simulation
52
profile: .//simulation/modelsim/test_.mpf
53
 
54
*** IMPORTANT ***
55
The first time you open any ModelSim session by opening a *.mpf file, you need to
56
create a library:
57
ModelSim> vlib work
58
After that, you can compile sources (Compile->Compile All) and run a simulation
59
through one of defined configurations.
60
 
61
If you get a message "Unable to compile", you forgot to run 'modelsim_setup.py'.
62
Exit ModelSim; git revert its changes to ".mpf" file (since it has been rewritten
63
using absolute paths); delete "work" folder, run 'modelsim_setup.py' and restart.
64
You will have to recreate the library ('vlib work') and recompile.
65
 
66
Each project also contains a set of predefined waveform scripts that you can
67
load before running a simulation of a particular module or a test:
68
.//simulation/modelsim/wave_.do
69
 
70
Email me if you have any questions,
71
Goran Devic
72
gdevic@yahoo.com
73
 
74
----------------------------------------------------------------------------------
75
This complete project and each file therein is covered under the GNU GPL2.0 license.
76
It basically states that anyone is free to use it and distribute it, but the full
77
source needs to be available under the same terms:
78
 
79
    This program is free software; you can redistribute it and/or modify it
80
    under the terms of the GNU General Public License as published by the Free
81
    Software Foundation; either version 2 of the License, or (at your option)
82
    any later version.
83
 
84
    This program is distributed in the hope that it will be useful, but WITHOUT
85
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
86
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
87
    more details.
88
 
89
    You should have received a copy of the GNU General Public License along
90
    with this program; if not, write to the Free Software Foundation, Inc.,
91
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.