Fix for conjugating multiplier, courtesy J Hickish.

If the user selects a conjugating multiply, we get (ac+bd)-(bc-ad)i instead of (ac+bd)+(bc-ad)i.

Fixed by updating the init script to modify alumode0 instead of alumode1.
Added ROACH1 multicast TX support to kat tge core.

Courtesy of Ramesh Karuppusamy and Jan Wagner from MPIFR BONN.
This core is listed as "ten_Gbe_v2" in the yellowblock library. The "ten_GbE" v1 block has not been patched, nor has ROACH2's v2 (kat) core.
Transmit of multicast is supported to IP addresses that have their four most significant bits set to 0xE (that is 224.0.0.0 through 239.255.255.255), which triggers the core to modify the destination MAC to be 01:00:5e:00:00:00 + destination_IP[22:0]. That is, the lower 23 bits of the destination IP address are mapped into the lower 23 bits of MAC. From wikipedia: this means that there is ambiguity in delivering packets. If two hosts on the same subnet each subscribe to a different multicast group whose address differs only in the first 5 bits, Ethernet packets for both multicast groups will be delivered to both hosts, requiring the network software in the hosts to discard the unrequired packets.
Updated the PFB coeff gen for async mode.
PFB fixes and refactor.

Bitgrowth calcs were different in the two PFB designs. Fixed.
Refactored the coeff generation a little.
New function for refactored PFBs.
opb bus allocation fix

probe_bus_usage was not returning correct space estimation
for BRAM.
Merge branch 'master' of github.com:ska-sa/mlib_devel
Merge branch 'master' of dbelab00:mlib_devel_dbelab00
Roll back last few PFB changes pending further testing.
QDR Controller for ROACH2 with hardware calibration

The software calibration uses the OPB clock to calibrate the QDR.
The required calibration must run of a 200MHz clock, which also clocks
the IDELAY_CTRL element and IODELAY elements. This QDR controller is
an update from the ROACH1 QDR controller, which uses hardware calibration.

There was also a fix in the system.ucf to specify the pin placement for ppc_irq_n,
which sometimes got placed in the QDR2 bank on the FPGA and caused VCCO conflicts.
The IO standard for the QDR's were also added.

There was also a fix to the ROACH2 infrastructure block to clock the IDELAY_CTRL
element with the SYSCLK2X clock, since dly_clk was not wired and is not
available on ROACH2.
Added PC UDP Loopback via ICMP unsearchable

The core will send a UDP packet to the PC on a unbound
UDP port. This will result in the PC echoing this UDP packet
on a ICMP unsearchable encapsulation. The udp_rx.v module will
strip the ICMP header and compare the UDP payload with the
original sent UDP payload.
FFT copy fix

Copying the fft_wideband_real and fft blocks would cause the new
blocks to be drawn with default parameters. As noticed by Hong,
these blocks had CopyFcn callbacks that were not '' as with
other blocks. Changing this seems to have fixed this problem.
Merge branch 'master' of github.com:ska-sa/mlib_devel
Merge branch 'master' of dbelab00:mlib_devel_dbelab00
Bus expand block can show output formats.
Fixing the gpios for roach2 in the model library

These fixes keep getting lost when merging repos.
Hopefully this will be the last time it needs to be fixed.
Please ensure you do a git pull to get the latest version
before making changes to this file.
Changes to the ROACH2 Clocking intrustructure

We have done away with multiple MMCMs and replaced them with one MMCM.
The either sys or aux clock is inputted into the MMCM based on the design
settings.
Setting up the aux and sys clocks for the roach2

There is no more arb clock, but a user can now select a frequency to generate
from the sys clock as the arb clock was generated from the sys clock anyway.
The clk_factors.m file was added which calculates the divide and multiply
factors for the mmcm.
Merge branch 'HEAD'; branch 'master' of dbelab00:mlib_devel_dbelab00
twiddle_general_dsp48e 'DC spike' bug fix

Settings on c_to_ri blocks for b input and coeff_gen were switched.
Also, settings on cmult were wrong.

Included in changes to script are support for generation of a default
empty block containing nothing for storage in the library. This will
allow changes to the script to not affect the library leading to less
.mdl merge problems. Will roll this out to other blocks in future
commits.