[Coco] Learning CPU Architecture and Digital Design
John Kent
jekent at optusnet.com.au
Mon Feb 18 01:21:31 EST 2013
Hi Kip,
The src folder contains the Flex source code, and the System09 monitor
ROM source code (sysbug09) disk images and so on. The synthesizable VHDL
code is in "E:/Emulators/Coco/System09/System09/trunk/rtl
For the monitor source code there are a number of different board
support options that you can include in the monitor ROM.
For instance you could have a Floppy Disk controller boot routine
(normally used for original 6809 systems) or a Compact Flash card boot
routine, or RAM disk drivers, that are normally included at $F000 in the
Flex binary. I'd have to look at the code again, but there is an option
file which defines what board the monitor ROM is intended for and I
think it's the equate file that uses the board option flags to enable
the various routines to be conditionally assembled into the monitor ROM.
There are a couple of different video driver options, optional real time
clock (which is not available in the FPGA versions) and so on. The .vhd
files in the sys09bug source directory are really just intermediate
files that can be cut and pasted into the monitor ROM files.
There are a number of different board support packages for System09. If
you are using one of those boards, you use the top level files in the
appropriate board package. There is also a VHDL directory under the RTL
directory that contains a library of all the various components that you
can add to the design. (some of them aren't complete). Including the
top level file in the project file, ISE should list the components that
the top level file uses, and you can generally navigate to the rtl/vhld
folder or rtl/spartan3 to include them (if you are using a Spartan3 FPGA)..
There is also a Spartan2 (?), Startan3, and Cyclone (?) folder that
contains the ROM files for the monitor ROM, VDU character generator, VDU
text and attribute memory, PS/2 key code map, etc. You should include
the monitor ROM from those folders, not the src (source) folder.
I'm not sure if I have included a project file in all the different
builds. The problem with ISE after version7.1 was that the project files
seemed to expand after each synthesis, as though they were accumulating
junk from past builds. It meant the project files became too large to
include in the distribution, so if you want to build a system you need
to generate your own project files, if they are not included. I've
tended to used ISE 7.1 which is pretty old but if you are using a newer
version of ISE ithe project file for ISE should upgrade.
The error message "Source files in the project cannot be found (2)"
refers to the VHDL source files, not the software source code folder.
Perhaps if you tell me what FPGA board you are using I can give you a
list of .VHD files to include.
On 18/02/2013 10:09 AM, Kip Koon wrote:
> Hi All,
> Thanks for the answers! Whew! There certainly is a lot to consider. As you
> might have guessed, I was thinking of John Kent's System09 and Gary Becker's
> Coco3FPGA cores. I didn't know both of them used the same CPU09 core. I
> stand corrected. Thank you guys. I've been trying to look at System09 with
> Xilinx ISE and when it tries to migrate to the current version, an error
> message says "Source files in the project cannot be found (2)" and the file
> "sys09s3s.vhd" is listed twice. The full pathname is
> "E:/Emulators/Coco/System09/System09/trunk/src/sys09bug/sys09s3s.vhd". Any
> ideas John?
> Kip
>
>
--
http://www.johnkent.com.au
http://members.optusnet.com.au/jekent
More information about the Coco
mailing list