Edited adc5g_init.m to fit changes in Simulink Downsample block (more in comment)
Added 14.4 as an allowed version in casper_xps.m

This should really allow 14.x so we wouldn't have to keep adding new
verions. Or just allow any version since the error doesn't actually
stop compiles anyway.
Merge remote-tracking branch 'ska/master'

Updating sma-wideband with changes from ska-sa.
Add hw_routes_roach2rev1.mat file

This file contains pinout information for ROACH2 revision 1.
Fix typo in recently added load_hw_routes.m file

The isempty() function needs a variable name, *not* a quoted string.  Doh!
Update adc5g_init's handling of Downsample block

The Downsample block in newer versions of the DSP toolbox have two new
parameters that must be set as shown below for proper handling of the sim
inputs of some of the ADC blocks.  Older versions of the DSP toolbox do not
have these options, so they must be set in a separate try/catch block to ensure
backwards compatiblity.  The two new parameters and the values that must be set
to are:

'InputProcessing' = 'Elements as channels (sample based)'
'RateOptions'     = 'Allow multirate processing'
Fix name and scope issues with load_hw_routes.m

Instead of loading the hardware routes as a single structure, load the
individual matrices from the hw_routes file as individual variables in the
caller's workspace using "evalin".
Add block name to adc16's state info

The adc16_init script uses the same_state/save_state mechanism to prevent
unnecessary redrawing of the block's contents.  When moving an ADC16 block into
a subsystem, the block's contents must be redrawn because the Gateway In names
need to be updated to reflect the block's new place in the design hierarchy (to
match the naming conventions expected/required by the CASPER toolflow).  To
force re-drawing after moving the ADC16 block into a subsystem (or after
renaming a parent subsystem), the block's name is now part of the block's state
that is saved with save_state and checked with same_state.
[adc5g] Added OPB-controllable IDELAYs to the clock and data lines.

This should allow for dynamic adjustment of the input timing to correct for glitches on
the interface on a per-bit basis. The IODELAYS can be adjusted via the ADC's OPB interface.

Also changed the MMCM's feedback to be internal instead of through a BUFG.
[adc5g] Set MMCM to explicitly use HIGH bandwidth mode.

Also started using the CLKOUT0 output which has 1/8 resolution in its
divide factor. This should allow better fine-tuning of the MMCM parameters
to try and meet the requirements of HIGH bandwidth mode. Also edited the
xps_adc5g.m script to handle these changes.

Also set the minimum PFD frequency in the xps_adc5g.m script to match the
actual minimum of the HIGH bandwidth mode case. Unfortunately this means that
there are no longer valid MMCM parameters that meet our requirements for our
highest sample rates, 5 GHz and 4.576 GHz. A fix for this is forth-coming;
Using LOW bandwidth mode is possible but not ideal.
[adc5g] Removed the IODELAY on the clock input and all mentions of it.

This isn't really necessary and its functionality can be taken over by the dynamic
phase shifting ability of the MMMCM, which in fact has finer resolution anyway.
[adc5g] For some reason the change to internal MMCM feedback was lost. Fixed now.
Improve search strategy in update_casper_blocks

The update_casper_blocks function used to search for blocks using find_system()
without looking under masks or following library links.  After updating those
blocks, update_casper_blocks then recursively called itself for
masked-but-unlinked subsystems, but it disabled the subsystem's mask before the
recursive call (so the find_system call would search under the block) and then
re-enabled the mask after the recursive call returned.  This broke with newer
Simulink versions (the disabling of the mask actually deleted the mask and
re-enabling didn't bring it back!).

The new and improved update_casper_blocks function now uses find_system with
looking under masks, but still not following library links.  This finds all the
blocks that are linked to mlib_devel libraries, but find_system will search
under blocks that have disabled links, so some of the found blocks might live
inside other casper library blocks that have disabled links.  In order to avoid
updating blocks inside linked blocks (i.e. inside blocks with disabled links),
the list of  blocks to update is culled to remove undesired blocks.
Moved bitreg and bitsnap to xps/scopes respectively.

Added info block in Misc.
munge output type/binary point option

after munging the option is now provided to reinterpret the data
as a specified type and with a specified banry point position. This
is useful if in the input (and required output type) is not Unsigned.
shared bram type/binary point fix

Normally, the Shared BRAM block needs to be used with a binary point
position of 0 and Unsigned data type. Fixes made to support other
arithmetic types and binary point positions.
Merge branch 'master' of github.com:ska-sa/mlib_devel
re-add of new Shared_BRAM block

merge with -s recursive -X theirs caused bad stuff to happen in the shared_BRAM
block. Re-added and library now seems ok.
[adc5g] Added a BUFR divide to the ADC's clock input path before the MMCM.

This can divide the clock going into the MMCM which makes meeting the HIGH
bandwidth mode easier given all the limitations in parameters. This will only
work up to an ADC sample rate of 4800 MSps. It's unclear how to proceed beyond
that without tricking the tools into accepting the HIGH bandwidth mode for a
PFD frequency below 135 MHz.
Merge remote-tracking branch 'ska/master'