Add ROACH and ROACH2 base packages

-- Added script "gen_plat_files.m" to autogenerate
port entries for python platform class.
-- Used to generate ROACH and ROACH2 platforms.
-- Only writes LOCS, IOSTDs need checking
-- moved ucf and xdc files in platform subdirectories. These no longer
explicitly appear in the platform file.
Removed exit command after compile
ISE test compile, based on ROACH2
Made changes to start sysgen via vivado or ISE

There are now two startup scripts, startsg_ise
and startsg. These are called by the toolflow
depending which backend is being used.
This is a temporary measure, it's pretty dirty. The
way the start scripts currently exist, startup.m is only
really appropriate for ISE, uin vivado, it reimports
stuff which is already loaded
Added EPB hdl source files used by roach2
Version dependent additions

ISE and vivado system generator generate netlists in different
places, with slightly different properties.
ISE has clock and ce ports labeled clk_1 and ce_1. Vivado
just has a clock port labelled clk.
Maybe these can be changed with appropriate sysgen settings, but
for now the difference is dealt with my setting values in the peripherals
 file appropriately.

Also removed the option to auto-exit script. Slowly moving to a two-part
flow, where the user runs the first part in MATLAB, and then the final
part on the command line. This change probably breaks the single
command-line flow.
Default build directory to dir with model name

As original toolflow. Also some additions to accommodate ISE and Vivado
backends. These are mostly temporary for playing.
Flow changes

-- Add attribute to hold constraint files. Auto add a constraint file
called top.<appropriate extension> from the platform directoy. Eg,
snap/top.xdc
-- Add clocks and clock enables to simulink user IP instantiation based
on clock and clock_enable entries in the peripherals file. This allows
the differences in Vivado and ISE system generator to be accommodated.
-- change the way sysgen is launched, to allow simulink to be started
with different verions of MATLAB. This will probably be changed /
neatened later.
Add script to start jasper from MATLAB

Script runs the peripheral file generation, then python yellow block
creation / top building (to allow errors to be caught), then sysgen.

The user then has to run the python flow with the backend manually. This
reruns some stuff, but it's fast enough that you wouldn't
notice.