URL
https://opencores.org/ocsvn/a-z80/a-z80/trunk
Subversion Repositories a-z80
[/] [a-z80/] [trunk/] [readme.txt] - Rev 13
Go to most recent revision | Compare with Previous | Blame | View Log
A-Z80A conceptual implementation of the Z80 CPU------------------------------------------for Altera and Xilinx FPGAsThis project is described in more details at: www.baltazarstudios.comPrerequisites:* Altera Quartus and Modelsim (free web editions) OR* Xilinx ISE (free Webpack edition)* Python 3.5.xA-Z80 "cpu" consists of several functional blocks and a top-level module:alu contains ALU block, ALU control and flags logicbus contains data bus switches, pin logic, address latch and theaddress incrementerregister contains CPU register file and the register control logiccontrol contains PLA, the sequencer and other control blockstoplevel A-Z80 top level core, interfaces and the test code"host" integrates the A-Z80 into several complete top-level designs:"basic" contains a simplified board consisting of A-Z80 CPU, memoryand UART modules that can run small Z80 programs"zxspectrum" contains an implementation of the Sinclair ZX SpectrumYou probably want to start by loading one of those designs."tools" contains various tools related to the project.Read the 'readme.txt' files in each of the folders for additional information.Read 'Quick Start' and 'Users Guide' documents in the 'docs' folder.A-Z80 Logic Design==================Each functional block contains a Quartus project file:./<block>/test_<block>.qpfQuartus projects are only used as containers for files within individualmodules; complete and working top-level solutions that use A-Z80 are in the"host" folder.Majority of sub-modules are designed in the Quartus schematic editor and thenexported to Verilog for simulation and top-level integration. If you decideto create a design using the A-Z80 CPU, you can either use schematic files(in Altera Quartus) or corresponding Verilog sources (for both Alteraand Xilinx tools).Simulation==========Before you can load and simulate any module through Modelsim, you need to set upthe environment by running a Python script 'modelsim_setup.py'. The script createsrelative file path mapping to source files in all module project folders.Each functional block, including the top level, contains a Modelsim simulationprofile: ./<block>/simulation/modelsim/test_<block>.mpfAfter opening a Modelsim session, create a library and compile sources:ModelSim> vlib workCompile->Compile AllRun a simulation through one of the defined configurations.If you get a message "Unable to compile", you likely forgot to run 'modelsim_setup.py'.Exit ModelSim, git revert changes to ".mpf" file, delete "work" folder and run'modelsim_setup.py'. Rinse, repeat.Each project contains a set of predefined waveform scripts which you canload before running a simulation:./<block>/simulation/modelsim/wave_<test>.doEmail me if you have any questions,Goran Devicgdevic@yahoo.com----------------------------------------------------------------------------------This complete project and each file therein is covered under the GNU GPL2.0 license.It basically states that anyone is free to use it and distribute it, but the fullsource needs to be available under the same terms:This program is free software; you can redistribute it and/or modify itunder the terms of the GNU General Public License as published by the FreeSoftware Foundation; either version 2 of the License, or (at your option)any later version.This program is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License formore details.You should have received a copy of the GNU General Public License alongwith this program; if not, write to the Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Go to most recent revision | Compare with Previous | Blame | View Log
