I just finished writing a new MCB wrapper script that is a bit more cleaned up and doesn't automatically pull in a PLL. And I take back what I said before, it seems like it is possible for one PLL to drive two BUFPLL_MCB on opposite sides of the device. I have one PLL_ADV instance driving two BUFPLL_MCB to drive the MCBs, and it synthesized without any errors. So I will probably go ahead and stick a PLL in the 250 MHz clock for the DAC and DSP components.
Here is the current utilization:
Device Utilization Summary:
Slice Logic Utilization:
Number of Slice Registers: 763 out of 18,224 4%
Number used as Flip Flops: 763
Number used as Latches: 0
Number used as Latch-thrus: 0
Number used as AND/OR logics: 0
Number of Slice LUTs: 1,160 out of 9,112 12%
Number used as logic: 1,146 out of 9,112 12%
Number using O6 output only: 826
Number using O5 output only: 72
Number using O5 and O6: 248
Number used as ROM: 0
Number used as Memory: 1 out of 2,176 1%
Number used as Dual Port RAM: 0
Number used as Single Port RAM: 0
Number used as Shift Register: 1
Number using O6 output only: 1
Number using O5 output only: 0
Number using O5 and O6: 0
Number used exclusively as route-thrus: 13
Number with same-slice register load: 3
Number with same-slice carry load: 10
Number with other load: 0
Slice Logic Distribution:
Number of occupied Slices: 440 out of 2,278 19%
Number of MUXCYs used: 200 out of 4,556 4%
Number of LUT Flip Flop pairs used: 1,293
Number with an unused Flip Flop: 574 out of 1,293 44%
Number with an unused LUT: 133 out of 1,293 10%
Number of fully used LUT-FF pairs: 586 out of 1,293 45%
Number of slice register sites lost
to control set restrictions: 0 out of 18,224 0%
A LUT Flip Flop pair for this architecture represents one LUT paired with
one Flip Flop within a slice. A control set is a unique combination of
clock, reset, set, and enable signals for a registered element.
The Slice Logic Distribution report is not meaningful if the design is
over-mapped for a non-slice resource or if Placement fails.
IO Utilization:
Number of bonded IOBs: 177 out of 232 76%
Number of LOCed IOBs: 177 out of 177 100%
IOB Flip Flops: 34
IOB Master Pads: 1
IOB Slave Pads: 1
Specific Feature Utilization:
Number of RAMB16BWERs: 0 out of 32 0%
Number of RAMB8BWERs: 0 out of 64 0%
Number of BUFIO2/BUFIO2_2CLKs: 0 out of 32 0%
Number of BUFIO2FB/BUFIO2FB_2CLKs: 0 out of 32 0%
Number of BUFG/BUFGMUXs: 6 out of 16 37%
Number used as BUFGs: 4
Number used as BUFGMUX: 2
Number of DCM/DCM_CLKGENs: 2 out of 4 50%
Number used as DCMs: 0
Number used as DCM_CLKGENs: 2
Number of ILOGIC2/ISERDES2s: 0 out of 248 0%
Number of IODELAY2/IODRP2/IODRP2_MCBs: 48 out of 248 19%
Number used as IODELAY2s: 0
Number used as IODRP2s: 4
Number used as IODRP2_MCBs: 44
Number of OLOGIC2/OSERDES2s: 124 out of 248 50%
Number used as OLOGIC2s: 34
Number used as OSERDES2s: 90
Number of BSCANs: 0 out of 4 0%
Number of BUFHs: 0 out of 128 0%
Number of BUFPLLs: 0 out of 8 0%
Number of BUFPLL_MCBs: 2 out of 4 50%
Number of DSP48A1s: 0 out of 32 0%
Number of ICAPs: 0 out of 1 0%
Number of MCBs: 2 out of 2 100%
Number of PCILOGICSEs: 0 out of 2 0%
Number of PLL_ADVs: 1 out of 2 50%
Number of PMVs: 0 out of 1 0%
Number of STARTUPs: 0 out of 1 0%
Number of SUSPEND_SYNCs: 0 out of 1 0%
TL;DR: we still have about 80% of the FPGA available for the rest of the logic.