System Description files
======================
:Author: Olof Kindgren
:Email: <olof@opencores.org>
:Date: 2012-12-14
:Revision: 1.0 (draft)

sapi (System API) is the format for system description files. Current version is version 1.0. A sapi 1.0 file is identified by the string "SAPI=1" in the beginning of a file. The rest of the file is a standard http://en.wikipedia.org/wiki/INI_file[INI file] that is compatible with Python's http://docs.python.org/2/library/configparser.html[configparser] module

File location
-------------

sapi 1.0 files must reside in a sub directory of the systems directory and have the same name as the directory with a .system suffix, i.e. <systems_root>/<system_name>/<system_name>.system

.Locations of system description files
========
systems/generic/generic.system

systems/ordb2a/ordb2a.system
========

File contents
-------------

SAPI 1.0 files are a superset of the CAPI files with additional sections and options needed for the system level. Only sections and options specific to the SAPI files are documented here. Refer to the link:capi.html[CAPI documentation] for the common sections and options

main
~~~~
The main section contain options that does not fit into any of the other
categories.

simulators (optional)
^^^^^^^^^^^^^^^^^^^^^
A white-space separated list of orpsoc-supported simulators that can be used to simulate the system. Currently supported simulators are:

* *modelsim :* Mentor Modelsim
* *icarus :* Icarus Verilog Open-Source simulator

Each of the simulator targets have a dedicated section described in further detail below

backend
^^^^^^^
Backend to use for making a vendor-specific FPGA bitstream. Currently supported backends are:

* *quartus :* Altera Quartus

cores (optional)
^^^^^^^^^^^^^^^^
A white-space separated list of the cores used in the system.

modelsim (optional)
~~~~~~~~~~~~~~~~~~~
Additional options used when simulating with modelsim

*vlog_options :* Options to be sent as additional arguments to vlog

*vsim_options :* Options to be sent as additional arguments to vsim

icarus (optional)
~~~~~~~~~~~~~~~~~
Additional options used when simulating with modelsim

TODO: Add options

quartus (optional)
~~~~~~~~~~~~~~~~~~
Additional options used when building with Quartus

TODO: Add options

Add initial System description documentation
Add initial System description documentation
