minitests: Add PL part of Zynq MP blinky example

Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
diff --git a/minitests/zmp_blinky/README.md b/minitests/zmp_blinky/README.md
new file mode 100644
index 0000000..8170ec4
--- /dev/null
+++ b/minitests/zmp_blinky/README.md
@@ -0,0 +1,16 @@
+# Zynq US+ PS clock
+
+This is a simple test of PS -> PL interface for ZynqUS+.
+
+The PL design "instantiates" the PS8 and uses the PSCLK0-3 fabric clock outputs to drive the PL logic.
+
+# Building & loading
+
+## PS4
+
+TBD
+
+## PL
+
+Run `make top.bit` to generate the bitstream. Upload it to the board AFTER uploading and running PS firmware.
+
diff --git a/minitests/zmp_blinky/pl/Makefile b/minitests/zmp_blinky/pl/Makefile
new file mode 100644
index 0000000..5c3d681
--- /dev/null
+++ b/minitests/zmp_blinky/pl/Makefile
@@ -0,0 +1,21 @@
+.PHONY: clean
+.PRECIOUS: *.bit
+
+clean:
+	rm -rf *.fasm
+	rm -rf *.bit
+	rm -rf *.dcp
+	rm -rf *.log
+	rm -rf *.jou
+	rm -rf build-*
+
+%.bit: %.v
+	mkdir -p build-$(basename $@)
+	cd build-$(basename $@) && \
+	env PROJECT_NAME=$(basename $@) \
+	$(URAY_VIVADO) -mode batch -source ../syn+par.tcl -nojournal -log ../$@.log
+	rm -rf *.backup.log
+
+%.fasm: %.bit
+	$(URAY_BIT2FASM) --verbose $< > $@ || rm -rf $@
+	@sort -u -o $@ $@
diff --git a/minitests/zmp_blinky/pl/syn+par.tcl b/minitests/zmp_blinky/pl/syn+par.tcl
new file mode 100644
index 0000000..7e1b485
--- /dev/null
+++ b/minitests/zmp_blinky/pl/syn+par.tcl
@@ -0,0 +1,12 @@
+create_project -force -name $env(PROJECT_NAME) -part $env(URAY_PART)
+
+read_verilog ../$env(PROJECT_NAME).v
+synth_design -top top
+
+source ../ultra96v2.xdc
+
+place_design
+route_design
+
+write_checkpoint -force ../$env(PROJECT_NAME).dcp
+write_bitstream  -force ../$env(PROJECT_NAME).bit
diff --git a/minitests/zmp_blinky/pl/top.v b/minitests/zmp_blinky/pl/top.v
new file mode 100644
index 0000000..4decfb8
--- /dev/null
+++ b/minitests/zmp_blinky/pl/top.v
@@ -0,0 +1,1047 @@
+module top(
+    output wire [1:0] led
+);
+
+    wire pl_clk3,pl_clk2,pl_clk1,pl_clk_unbuffered;
+
+    localparam BITS = 2;
+    localparam LOG2DELAY = 22;
+
+    reg [BITS+LOG2DELAY-1:0] counter = 0;
+
+    always @(posedge pl_clk0) begin
+        counter <= counter + 1;
+    end
+
+    assign led = counter >> LOG2DELAY;
+
+  (* BOX_TYPE = "PRIMITIVE" *)
+  (* KEEP, DONT_TOUCH *)
+  PS8 PS8_i
+       (.ADMA2PLCACK(),
+        .ADMA2PLTVLD(),
+        .ADMAFCICLK(),
+        .AIBPMUAFIFMFPDACK(),
+        .AIBPMUAFIFMLPDACK(),
+        .DDRCEXTREFRESHRANK0REQ(),
+        .DDRCEXTREFRESHRANK1REQ(),
+        .DDRCREFRESHPLCLK(),
+        .DPAUDIOREFCLK(),
+        .DPAUXDATAIN(),
+        .DPAUXDATAOEN(),
+        .DPAUXDATAOUT(),
+        .DPEXTERNALCUSTOMEVENT1(),
+        .DPEXTERNALCUSTOMEVENT2(),
+        .DPEXTERNALVSYNCEVENT(),
+        .DPHOTPLUGDETECT(),
+        .DPLIVEGFXALPHAIN(),
+        .DPLIVEGFXPIXEL1IN(),
+        .DPLIVEVIDEODEOUT(),
+        .DPLIVEVIDEOINDE(),
+        .DPLIVEVIDEOINHSYNC(),
+        .DPLIVEVIDEOINPIXEL1(),
+        .DPLIVEVIDEOINVSYNC(),
+        .DPMAXISMIXEDAUDIOTDATA(),
+        .DPMAXISMIXEDAUDIOTID(),
+        .DPMAXISMIXEDAUDIOTREADY(),
+        .DPMAXISMIXEDAUDIOTVALID(),
+        .DPSAXISAUDIOCLK(),
+        .DPSAXISAUDIOTDATA(),
+        .DPSAXISAUDIOTID(),
+        .DPSAXISAUDIOTREADY(),
+        .DPSAXISAUDIOTVALID(),
+        .DPVIDEOINCLK(),
+        .DPVIDEOOUTHSYNC(),
+        .DPVIDEOOUTPIXEL1(),
+        .DPVIDEOOUTVSYNC(),
+        .DPVIDEOREFCLK(),
+        .EMIOCAN0PHYRX(),
+        .EMIOCAN0PHYTX(),
+        .EMIOCAN1PHYRX(),
+        .EMIOCAN1PHYTX(),
+        .EMIOENET0DMABUSWIDTH(),
+        .EMIOENET0DMATXENDTOG(),
+        .EMIOENET0DMATXSTATUSTOG(),
+        .EMIOENET0EXTINTIN(),
+        .EMIOENET0GEMTSUTIMERCNT(),
+        .EMIOENET0GMIICOL(),
+        .EMIOENET0GMIICRS(),
+        .EMIOENET0GMIIRXCLK(),
+        .EMIOENET0GMIIRXD(),
+        .EMIOENET0GMIIRXDV(),
+        .EMIOENET0GMIIRXER(),
+        .EMIOENET0GMIITXCLK(),
+        .EMIOENET0GMIITXD(),
+        .EMIOENET0GMIITXEN(),
+        .EMIOENET0GMIITXER(),
+        .EMIOENET0MDIOI(),
+        .EMIOENET0MDIOMDC(),
+        .EMIOENET0MDIOO(),
+        .EMIOENET0MDIOTN(),
+        .EMIOENET0RXWDATA(),
+        .EMIOENET0RXWEOP(),
+        .EMIOENET0RXWERR(),
+        .EMIOENET0RXWFLUSH(),
+        .EMIOENET0RXWOVERFLOW(),
+        .EMIOENET0RXWSOP(),
+        .EMIOENET0RXWSTATUS(),
+        .EMIOENET0RXWWR(),
+        .EMIOENET0SPEEDMODE(),
+        .EMIOENET0TXRCONTROL(),
+        .EMIOENET0TXRDATA(),
+        .EMIOENET0TXRDATARDY(),
+        .EMIOENET0TXREOP(),
+        .EMIOENET0TXRERR(),
+        .EMIOENET0TXRFLUSHED(),
+        .EMIOENET0TXRRD(),
+        .EMIOENET0TXRSOP(),
+        .EMIOENET0TXRSTATUS(),
+        .EMIOENET0TXRUNDERFLOW(),
+        .EMIOENET0TXRVALID(),
+        .EMIOENET1DMABUSWIDTH(),
+        .EMIOENET1DMATXENDTOG(),
+        .EMIOENET1DMATXSTATUSTOG(),
+        .EMIOENET1EXTINTIN(),
+        .EMIOENET1GMIICOL(),
+        .EMIOENET1GMIICRS(),
+        .EMIOENET1GMIIRXCLK(),
+        .EMIOENET1GMIIRXD(),
+        .EMIOENET1GMIIRXDV(),
+        .EMIOENET1GMIIRXER(),
+        .EMIOENET1GMIITXCLK(),
+        .EMIOENET1GMIITXD(),
+        .EMIOENET1GMIITXEN(),
+        .EMIOENET1GMIITXER(),
+        .EMIOENET1MDIOI(),
+        .EMIOENET1MDIOMDC(),
+        .EMIOENET1MDIOO(),
+        .EMIOENET1MDIOTN(),
+        .EMIOENET1RXWDATA(),
+        .EMIOENET1RXWEOP(),
+        .EMIOENET1RXWERR(),
+        .EMIOENET1RXWFLUSH(),
+        .EMIOENET1RXWOVERFLOW(),
+        .EMIOENET1RXWSOP(),
+        .EMIOENET1RXWSTATUS(),
+        .EMIOENET1RXWWR(),
+        .EMIOENET1SPEEDMODE(),
+        .EMIOENET1TXRCONTROL(),
+        .EMIOENET1TXRDATA(),
+        .EMIOENET1TXRDATARDY(),
+        .EMIOENET1TXREOP(),
+        .EMIOENET1TXRERR(),
+        .EMIOENET1TXRFLUSHED(),
+        .EMIOENET1TXRRD(),
+        .EMIOENET1TXRSOP(),
+        .EMIOENET1TXRSTATUS(),
+        .EMIOENET1TXRUNDERFLOW(),
+        .EMIOENET1TXRVALID(),
+        .EMIOENET2DMABUSWIDTH(),
+        .EMIOENET2DMATXENDTOG(),
+        .EMIOENET2DMATXSTATUSTOG(),
+        .EMIOENET2EXTINTIN(),
+        .EMIOENET2GMIICOL(),
+        .EMIOENET2GMIICRS(),
+        .EMIOENET2GMIIRXCLK(),
+        .EMIOENET2GMIIRXD(),
+        .EMIOENET2GMIIRXDV(),
+        .EMIOENET2GMIIRXER(),
+        .EMIOENET2GMIITXCLK(),
+        .EMIOENET2GMIITXD(),
+        .EMIOENET2GMIITXEN(),
+        .EMIOENET2GMIITXER(),
+        .EMIOENET2MDIOI(),
+        .EMIOENET2MDIOMDC(),
+        .EMIOENET2MDIOO(),
+        .EMIOENET2MDIOTN(),
+        .EMIOENET2RXWDATA(),
+        .EMIOENET2RXWEOP(),
+        .EMIOENET2RXWERR(),
+        .EMIOENET2RXWFLUSH(),
+        .EMIOENET2RXWOVERFLOW(),
+        .EMIOENET2RXWSOP(),
+        .EMIOENET2RXWSTATUS(),
+        .EMIOENET2RXWWR(),
+        .EMIOENET2SPEEDMODE(),
+        .EMIOENET2TXRCONTROL(),
+        .EMIOENET2TXRDATA(),
+        .EMIOENET2TXRDATARDY(),
+        .EMIOENET2TXREOP(),
+        .EMIOENET2TXRERR(),
+        .EMIOENET2TXRFLUSHED(),
+        .EMIOENET2TXRRD(),
+        .EMIOENET2TXRSOP(),
+        .EMIOENET2TXRSTATUS(),
+        .EMIOENET2TXRUNDERFLOW(),
+        .EMIOENET2TXRVALID(),
+        .EMIOENET3DMABUSWIDTH(),
+        .EMIOENET3DMATXENDTOG(),
+        .EMIOENET3DMATXSTATUSTOG(),
+        .EMIOENET3EXTINTIN(),
+        .EMIOENET3GMIICOL(),
+        .EMIOENET3GMIICRS(),
+        .EMIOENET3GMIIRXCLK(),
+        .EMIOENET3GMIIRXD(),
+        .EMIOENET3GMIIRXDV(),
+        .EMIOENET3GMIIRXER(),
+        .EMIOENET3GMIITXCLK(),
+        .EMIOENET3GMIITXD(),
+        .EMIOENET3GMIITXEN(),
+        .EMIOENET3GMIITXER(),
+        .EMIOENET3MDIOI(),
+        .EMIOENET3MDIOMDC(),
+        .EMIOENET3MDIOO(),
+        .EMIOENET3MDIOTN(),
+        .EMIOENET3RXWDATA(),
+        .EMIOENET3RXWEOP(),
+        .EMIOENET3RXWERR(),
+        .EMIOENET3RXWFLUSH(),
+        .EMIOENET3RXWOVERFLOW(),
+        .EMIOENET3RXWSOP(),
+        .EMIOENET3RXWSTATUS(),
+        .EMIOENET3RXWWR(),
+        .EMIOENET3SPEEDMODE(),
+        .EMIOENET3TXRCONTROL(),
+        .EMIOENET3TXRDATA(),
+        .EMIOENET3TXRDATARDY(),
+        .EMIOENET3TXREOP(),
+        .EMIOENET3TXRERR(),
+        .EMIOENET3TXRFLUSHED(),
+        .EMIOENET3TXRRD(),
+        .EMIOENET3TXRSOP(),
+        .EMIOENET3TXRSTATUS(),
+        .EMIOENET3TXRUNDERFLOW(),
+        .EMIOENET3TXRVALID(),
+        .EMIOENETTSUCLK(),
+        .EMIOGEM0DELAYREQRX(),
+        .EMIOGEM0DELAYREQTX(),
+        .EMIOGEM0PDELAYREQRX(),
+        .EMIOGEM0PDELAYREQTX(),
+        .EMIOGEM0PDELAYRESPRX(),
+        .EMIOGEM0PDELAYRESPTX(),
+        .EMIOGEM0RXSOF(),
+        .EMIOGEM0SYNCFRAMERX(),
+        .EMIOGEM0SYNCFRAMETX(),
+        .EMIOGEM0TSUINCCTRL(),
+        .EMIOGEM0TSUTIMERCMPVAL(),
+        .EMIOGEM0TXRFIXEDLAT(),
+        .EMIOGEM0TXSOF(),
+        .EMIOGEM1DELAYREQRX(),
+        .EMIOGEM1DELAYREQTX(),
+        .EMIOGEM1PDELAYREQRX(),
+        .EMIOGEM1PDELAYREQTX(),
+        .EMIOGEM1PDELAYRESPRX(),
+        .EMIOGEM1PDELAYRESPTX(),
+        .EMIOGEM1RXSOF(),
+        .EMIOGEM1SYNCFRAMERX(),
+        .EMIOGEM1SYNCFRAMETX(),
+        .EMIOGEM1TSUINCCTRL(),
+        .EMIOGEM1TSUTIMERCMPVAL(),
+        .EMIOGEM1TXRFIXEDLAT(),
+        .EMIOGEM1TXSOF(),
+        .EMIOGEM2DELAYREQRX(),
+        .EMIOGEM2DELAYREQTX(),
+        .EMIOGEM2PDELAYREQRX(),
+        .EMIOGEM2PDELAYREQTX(),
+        .EMIOGEM2PDELAYRESPRX(),
+        .EMIOGEM2PDELAYRESPTX(),
+        .EMIOGEM2RXSOF(),
+        .EMIOGEM2SYNCFRAMERX(),
+        .EMIOGEM2SYNCFRAMETX(),
+        .EMIOGEM2TSUINCCTRL(),
+        .EMIOGEM2TSUTIMERCMPVAL(),
+        .EMIOGEM2TXRFIXEDLAT(),
+        .EMIOGEM2TXSOF(),
+        .EMIOGEM3DELAYREQRX(),
+        .EMIOGEM3DELAYREQTX(),
+        .EMIOGEM3PDELAYREQRX(),
+        .EMIOGEM3PDELAYREQTX(),
+        .EMIOGEM3PDELAYRESPRX(),
+        .EMIOGEM3PDELAYRESPTX(),
+        .EMIOGEM3RXSOF(),
+        .EMIOGEM3SYNCFRAMERX(),
+        .EMIOGEM3SYNCFRAMETX(),
+        .EMIOGEM3TSUINCCTRL(),
+        .EMIOGEM3TSUTIMERCMPVAL(),
+        .EMIOGEM3TXRFIXEDLAT(),
+        .EMIOGEM3TXSOF(),
+        .EMIOGPIOI(),
+        .EMIOGPIOO(),
+        .EMIOGPIOTN(),
+        .EMIOHUBPORTOVERCRNTUSB20(),
+        .EMIOHUBPORTOVERCRNTUSB21(),
+        .EMIOHUBPORTOVERCRNTUSB30(),
+        .EMIOHUBPORTOVERCRNTUSB31(),
+        .EMIOI2C0SCLI(),
+        .EMIOI2C0SCLO(),
+        .EMIOI2C0SCLTN(),
+        .EMIOI2C0SDAI(),
+        .EMIOI2C0SDAO(),
+        .EMIOI2C0SDATN(),
+        .EMIOI2C1SCLI(),
+        .EMIOI2C1SCLO(),
+        .EMIOI2C1SCLTN(),
+        .EMIOI2C1SDAI(),
+        .EMIOI2C1SDAO(),
+        .EMIOI2C1SDATN(),
+        .EMIOSDIO0BUSPOWER(),
+        .EMIOSDIO0BUSVOLT(),
+        .EMIOSDIO0CDN(),
+        .EMIOSDIO0CLKOUT(),
+        .EMIOSDIO0CMDENA(),
+        .EMIOSDIO0CMDIN(),
+        .EMIOSDIO0CMDOUT(),
+        .EMIOSDIO0DATAENA(),
+        .EMIOSDIO0DATAIN(),
+        .EMIOSDIO0DATAOUT(),
+        .EMIOSDIO0FBCLKIN(),
+        .EMIOSDIO0LEDCONTROL(),
+        .EMIOSDIO0WP(),
+        .EMIOSDIO1BUSPOWER(),
+        .EMIOSDIO1BUSVOLT(),
+        .EMIOSDIO1CDN(),
+        .EMIOSDIO1CLKOUT(),
+        .EMIOSDIO1CMDENA(),
+        .EMIOSDIO1CMDIN(),
+        .EMIOSDIO1CMDOUT(),
+        .EMIOSDIO1DATAENA(),
+        .EMIOSDIO1DATAIN(),
+        .EMIOSDIO1DATAOUT(),
+        .EMIOSDIO1FBCLKIN(),
+        .EMIOSDIO1LEDCONTROL(),
+        .EMIOSDIO1WP(),
+        .EMIOSPI0MI(),
+        .EMIOSPI0MO(),
+        .EMIOSPI0MOTN(),
+        .EMIOSPI0SCLKI(),
+        .EMIOSPI0SCLKO(),
+        .EMIOSPI0SCLKTN(),
+        .EMIOSPI0SI(),
+        .EMIOSPI0SO(),
+        .EMIOSPI0SSIN(),
+        .EMIOSPI0SSNTN(),
+        .EMIOSPI0SSON(),
+        .EMIOSPI0STN(),
+        .EMIOSPI1MI(),
+        .EMIOSPI1MO(),
+        .EMIOSPI1MOTN(),
+        .EMIOSPI1SCLKI(),
+        .EMIOSPI1SCLKO(),
+        .EMIOSPI1SCLKTN(),
+        .EMIOSPI1SI(),
+        .EMIOSPI1SO(),
+        .EMIOSPI1SSIN(),
+        .EMIOSPI1SSNTN(),
+        .EMIOSPI1SSON(),
+        .EMIOSPI1STN(),
+        .EMIOTTC0CLKI(),
+        .EMIOTTC0WAVEO(),
+        .EMIOTTC1CLKI(),
+        .EMIOTTC1WAVEO(),
+        .EMIOTTC2CLKI(),
+        .EMIOTTC2WAVEO(),
+        .EMIOTTC3CLKI(),
+        .EMIOTTC3WAVEO(),
+        .EMIOU2DSPORTVBUSCTRLUSB30(),
+        .EMIOU2DSPORTVBUSCTRLUSB31(),
+        .EMIOU3DSPORTVBUSCTRLUSB30(),
+        .EMIOU3DSPORTVBUSCTRLUSB31(),
+        .EMIOUART0CTSN(),
+        .EMIOUART0DCDN(),
+        .EMIOUART0DSRN(),
+        .EMIOUART0DTRN(),
+        .EMIOUART0RIN(),
+        .EMIOUART0RTSN(),
+        .EMIOUART0RX(),
+        .EMIOUART0TX(),
+        .EMIOUART1CTSN(),
+        .EMIOUART1DCDN(),
+        .EMIOUART1DSRN(),
+        .EMIOUART1DTRN(),
+        .EMIOUART1RIN(),
+        .EMIOUART1RTSN(),
+        .EMIOUART1RX(),
+        .EMIOUART1TX(),
+        .EMIOWDT0CLKI(),
+        .EMIOWDT0RSTO(),
+        .EMIOWDT1CLKI(),
+        .EMIOWDT1RSTO(),
+        .FMIOGEM0FIFORXCLKFROMPL(),
+        .FMIOGEM0FIFORXCLKTOPLBUFG(),
+        .FMIOGEM0FIFOTXCLKFROMPL(),
+        .FMIOGEM0FIFOTXCLKTOPLBUFG(),
+        .FMIOGEM0SIGNALDETECT(),
+        .FMIOGEM1FIFORXCLKFROMPL(),
+        .FMIOGEM1FIFORXCLKTOPLBUFG(),
+        .FMIOGEM1FIFOTXCLKFROMPL(),
+        .FMIOGEM1FIFOTXCLKTOPLBUFG(),
+        .FMIOGEM1SIGNALDETECT(),
+        .FMIOGEM2FIFORXCLKFROMPL(),
+        .FMIOGEM2FIFORXCLKTOPLBUFG(),
+        .FMIOGEM2FIFOTXCLKFROMPL(),
+        .FMIOGEM2FIFOTXCLKTOPLBUFG(),
+        .FMIOGEM2SIGNALDETECT(),
+        .FMIOGEM3FIFORXCLKFROMPL(),
+        .FMIOGEM3FIFORXCLKTOPLBUFG(),
+        .FMIOGEM3FIFOTXCLKFROMPL(),
+        .FMIOGEM3FIFOTXCLKTOPLBUFG(),
+        .FMIOGEM3SIGNALDETECT(),
+        .FMIOGEMTSUCLKFROMPL(),
+        .FMIOGEMTSUCLKTOPLBUFG(),
+        .FTMGPI(),
+        .FTMGPO(),
+        .GDMA2PLCACK(),
+        .GDMA2PLTVLD(),
+        .GDMAFCICLK(),
+        .MAXIGP0ACLK(),
+        .MAXIGP0ARADDR(),
+        .MAXIGP0ARBURST(),
+        .MAXIGP0ARCACHE(),
+        .MAXIGP0ARID(),
+        .MAXIGP0ARLEN(),
+        .MAXIGP0ARLOCK(),
+        .MAXIGP0ARPROT(),
+        .MAXIGP0ARQOS(),
+        .MAXIGP0ARREADY(),
+        .MAXIGP0ARSIZE(),
+        .MAXIGP0ARUSER(),
+        .MAXIGP0ARVALID(),
+        .MAXIGP0AWADDR(),
+        .MAXIGP0AWBURST(),
+        .MAXIGP0AWCACHE(),
+        .MAXIGP0AWID(),
+        .MAXIGP0AWLEN(),
+        .MAXIGP0AWLOCK(),
+        .MAXIGP0AWPROT(),
+        .MAXIGP0AWQOS(),
+        .MAXIGP0AWREADY(),
+        .MAXIGP0AWSIZE(),
+        .MAXIGP0AWUSER(),
+        .MAXIGP0AWVALID(),
+        .MAXIGP0BID(),
+        .MAXIGP0BREADY(),
+        .MAXIGP0BRESP(),
+        .MAXIGP0BVALID(),
+        .MAXIGP0RDATA(),
+        .MAXIGP0RID(),
+        .MAXIGP0RLAST(),
+        .MAXIGP0RREADY(),
+        .MAXIGP0RRESP(),
+        .MAXIGP0RVALID(),
+        .MAXIGP0WDATA(),
+        .MAXIGP0WLAST(),
+        .MAXIGP0WREADY(),
+        .MAXIGP0WSTRB(),
+        .MAXIGP0WVALID(),
+        .MAXIGP1ACLK(),
+        .MAXIGP1ARADDR(),
+        .MAXIGP1ARBURST(),
+        .MAXIGP1ARCACHE(),
+        .MAXIGP1ARID(),
+        .MAXIGP1ARLEN(),
+        .MAXIGP1ARLOCK(),
+        .MAXIGP1ARPROT(),
+        .MAXIGP1ARQOS(),
+        .MAXIGP1ARREADY(),
+        .MAXIGP1ARSIZE(),
+        .MAXIGP1ARUSER(),
+        .MAXIGP1ARVALID(),
+        .MAXIGP1AWADDR(),
+        .MAXIGP1AWBURST(),
+        .MAXIGP1AWCACHE(),
+        .MAXIGP1AWID(),
+        .MAXIGP1AWLEN(),
+        .MAXIGP1AWLOCK(),
+        .MAXIGP1AWPROT(),
+        .MAXIGP1AWQOS(),
+        .MAXIGP1AWREADY(),
+        .MAXIGP1AWSIZE(),
+        .MAXIGP1AWUSER(),
+        .MAXIGP1AWVALID(),
+        .MAXIGP1BID(),
+        .MAXIGP1BREADY(),
+        .MAXIGP1BRESP(),
+        .MAXIGP1BVALID(),
+        .MAXIGP1RDATA(),
+        .MAXIGP1RID(),
+        .MAXIGP1RLAST(),
+        .MAXIGP1RREADY(),
+        .MAXIGP1RRESP(),
+        .MAXIGP1RVALID(),
+        .MAXIGP1WDATA(),
+        .MAXIGP1WLAST(),
+        .MAXIGP1WREADY(),
+        .MAXIGP1WSTRB(),
+        .MAXIGP1WVALID(),
+        .MAXIGP2ACLK(),
+        .MAXIGP2ARADDR(),
+        .MAXIGP2ARBURST(),
+        .MAXIGP2ARCACHE(),
+        .MAXIGP2ARID(),
+        .MAXIGP2ARLEN(),
+        .MAXIGP2ARLOCK(),
+        .MAXIGP2ARPROT(),
+        .MAXIGP2ARQOS(),
+        .MAXIGP2ARREADY(),
+        .MAXIGP2ARSIZE(),
+        .MAXIGP2ARUSER(),
+        .MAXIGP2ARVALID(),
+        .MAXIGP2AWADDR(),
+        .MAXIGP2AWBURST(),
+        .MAXIGP2AWCACHE(),
+        .MAXIGP2AWID(),
+        .MAXIGP2AWLEN(),
+        .MAXIGP2AWLOCK(),
+        .MAXIGP2AWPROT(),
+        .MAXIGP2AWQOS(),
+        .MAXIGP2AWREADY(),
+        .MAXIGP2AWSIZE(),
+        .MAXIGP2AWUSER(),
+        .MAXIGP2AWVALID(),
+        .MAXIGP2BID(),
+        .MAXIGP2BREADY(),
+        .MAXIGP2BRESP(),
+        .MAXIGP2BVALID(),
+        .MAXIGP2RDATA(),
+        .MAXIGP2RID(),
+        .MAXIGP2RLAST(),
+        .MAXIGP2RREADY(),
+        .MAXIGP2RRESP(),
+        .MAXIGP2RVALID(),
+        .MAXIGP2WDATA(),
+        .MAXIGP2WLAST(),
+        .MAXIGP2WREADY(),
+        .MAXIGP2WSTRB(),
+        .MAXIGP2WVALID(),
+        .NFIQ0LPDRPU(),
+        .NFIQ1LPDRPU(),
+        .NIRQ0LPDRPU(),
+        .NIRQ1LPDRPU(),
+        .OSCRTCCLK(),
+        .PL2ADMACVLD(),
+        .PL2ADMATACK(),
+        .PL2GDMACVLD(),
+        .PL2GDMATACK(),
+        .PLACECLK(),
+        .PLACPINACT(),
+        .PLCLK({pl_clk3,pl_clk2,pl_clk1,pl_clk_unbuffered}),
+        .PLFPGASTOP(),
+        .PLLAUXREFCLKFPD(),
+        .PLLAUXREFCLKLPD(),
+        .PLPMUGPI(),
+        .PLPSAPUGICFIQ(),
+        .PLPSAPUGICIRQ(),
+        .PLPSEVENTI(),
+        .PLPSIRQ0(),
+        .PLPSIRQ1(),
+        .PLPSTRACECLK(),
+        .PLPSTRIGACK(),
+        .PLPSTRIGGER(),
+        .PMUAIBAFIFMFPDREQ(),
+        .PMUAIBAFIFMLPDREQ(),
+        .PMUERRORFROMPL(),
+        .PMUERRORTOPL(),
+        .PMUPLGPO(),
+        .PSPLEVENTO(),
+        .PSPLIRQFPD(),
+        .PSPLIRQLPD(),
+        .PSPLSTANDBYWFE(),
+        .PSPLSTANDBYWFI(),
+        .PSPLTRACECTL(),
+        .PSPLTRACEDATA(),
+        .PSPLTRIGACK(),
+        .PSPLTRIGGER(),
+        .PSS_ALTO_CORE_PAD_BOOTMODE(),
+        .PSS_ALTO_CORE_PAD_CLK(),
+        .PSS_ALTO_CORE_PAD_DONEB(),
+        .PSS_ALTO_CORE_PAD_DRAMA(),
+        .PSS_ALTO_CORE_PAD_DRAMACTN(),
+        .PSS_ALTO_CORE_PAD_DRAMALERTN(),
+        .PSS_ALTO_CORE_PAD_DRAMBA(),
+        .PSS_ALTO_CORE_PAD_DRAMBG(),
+        .PSS_ALTO_CORE_PAD_DRAMCK(),
+        .PSS_ALTO_CORE_PAD_DRAMCKE(),
+        .PSS_ALTO_CORE_PAD_DRAMCKN(),
+        .PSS_ALTO_CORE_PAD_DRAMCSN(),
+        .PSS_ALTO_CORE_PAD_DRAMDM(),
+        .PSS_ALTO_CORE_PAD_DRAMDQ(),
+        .PSS_ALTO_CORE_PAD_DRAMDQS(),
+        .PSS_ALTO_CORE_PAD_DRAMDQSN(),
+        .PSS_ALTO_CORE_PAD_DRAMODT(),
+        .PSS_ALTO_CORE_PAD_DRAMPARITY(),
+        .PSS_ALTO_CORE_PAD_DRAMRAMRSTN(),
+        .PSS_ALTO_CORE_PAD_ERROROUT(),
+        .PSS_ALTO_CORE_PAD_ERRORSTATUS(),
+        .PSS_ALTO_CORE_PAD_INITB(),
+        .PSS_ALTO_CORE_PAD_JTAGTCK(),
+        .PSS_ALTO_CORE_PAD_JTAGTDI(),
+        .PSS_ALTO_CORE_PAD_JTAGTDO(),
+        .PSS_ALTO_CORE_PAD_JTAGTMS(),
+        .PSS_ALTO_CORE_PAD_MGTRXN0IN(),
+        .PSS_ALTO_CORE_PAD_MGTRXN1IN(),
+        .PSS_ALTO_CORE_PAD_MGTRXN2IN(),
+        .PSS_ALTO_CORE_PAD_MGTRXN3IN(),
+        .PSS_ALTO_CORE_PAD_MGTRXP0IN(),
+        .PSS_ALTO_CORE_PAD_MGTRXP1IN(),
+        .PSS_ALTO_CORE_PAD_MGTRXP2IN(),
+        .PSS_ALTO_CORE_PAD_MGTRXP3IN(),
+        .PSS_ALTO_CORE_PAD_MGTTXN0OUT(),
+        .PSS_ALTO_CORE_PAD_MGTTXN1OUT(),
+        .PSS_ALTO_CORE_PAD_MGTTXN2OUT(),
+        .PSS_ALTO_CORE_PAD_MGTTXN3OUT(),
+        .PSS_ALTO_CORE_PAD_MGTTXP0OUT(),
+        .PSS_ALTO_CORE_PAD_MGTTXP1OUT(),
+        .PSS_ALTO_CORE_PAD_MGTTXP2OUT(),
+        .PSS_ALTO_CORE_PAD_MGTTXP3OUT(),
+        .PSS_ALTO_CORE_PAD_MIO(),
+        .PSS_ALTO_CORE_PAD_PADI(),
+        .PSS_ALTO_CORE_PAD_PADO(),
+        .PSS_ALTO_CORE_PAD_PORB(),
+        .PSS_ALTO_CORE_PAD_PROGB(),
+        .PSS_ALTO_CORE_PAD_RCALIBINOUT(),
+        .PSS_ALTO_CORE_PAD_REFN0IN(),
+        .PSS_ALTO_CORE_PAD_REFN1IN(),
+        .PSS_ALTO_CORE_PAD_REFN2IN(),
+        .PSS_ALTO_CORE_PAD_REFN3IN(),
+        .PSS_ALTO_CORE_PAD_REFP0IN(),
+        .PSS_ALTO_CORE_PAD_REFP1IN(),
+        .PSS_ALTO_CORE_PAD_REFP2IN(),
+        .PSS_ALTO_CORE_PAD_REFP3IN(),
+        .PSS_ALTO_CORE_PAD_SRSTB(),
+        .PSS_ALTO_CORE_PAD_ZQ(),
+        .RPUEVENTI0(),
+        .RPUEVENTI1(),
+        .RPUEVENTO0(),
+        .RPUEVENTO1(),
+        .SACEFPDACADDR(),
+        .SACEFPDACPROT(),
+        .SACEFPDACREADY(),
+        .SACEFPDACSNOOP(),
+        .SACEFPDACVALID(),
+        .SACEFPDARADDR(),
+        .SACEFPDARBAR(),
+        .SACEFPDARBURST(),
+        .SACEFPDARCACHE(),
+        .SACEFPDARDOMAIN(),
+        .SACEFPDARID(),
+        .SACEFPDARLEN(),
+        .SACEFPDARLOCK(),
+        .SACEFPDARPROT(),
+        .SACEFPDARQOS(),
+        .SACEFPDARREADY(),
+        .SACEFPDARREGION(),
+        .SACEFPDARSIZE(),
+        .SACEFPDARSNOOP(),
+        .SACEFPDARUSER(),
+        .SACEFPDARVALID(),
+        .SACEFPDAWADDR(),
+        .SACEFPDAWBAR(),
+        .SACEFPDAWBURST(),
+        .SACEFPDAWCACHE(),
+        .SACEFPDAWDOMAIN(),
+        .SACEFPDAWID(),
+        .SACEFPDAWLEN(),
+        .SACEFPDAWLOCK(),
+        .SACEFPDAWPROT(),
+        .SACEFPDAWQOS(),
+        .SACEFPDAWREADY(),
+        .SACEFPDAWREGION(),
+        .SACEFPDAWSIZE(),
+        .SACEFPDAWSNOOP(),
+        .SACEFPDAWUSER(),
+        .SACEFPDAWVALID(),
+        .SACEFPDBID(),
+        .SACEFPDBREADY(),
+        .SACEFPDBRESP(),
+        .SACEFPDBUSER(),
+        .SACEFPDBVALID(),
+        .SACEFPDCDDATA(),
+        .SACEFPDCDLAST(),
+        .SACEFPDCDREADY(),
+        .SACEFPDCDVALID(),
+        .SACEFPDCRREADY(),
+        .SACEFPDCRRESP(),
+        .SACEFPDCRVALID(),
+        .SACEFPDRACK(),
+        .SACEFPDRDATA(),
+        .SACEFPDRID(),
+        .SACEFPDRLAST(),
+        .SACEFPDRREADY(),
+        .SACEFPDRRESP(),
+        .SACEFPDRUSER(),
+        .SACEFPDRVALID(),
+        .SACEFPDWACK(),
+        .SACEFPDWDATA(),
+        .SACEFPDWLAST(),
+        .SACEFPDWREADY(),
+        .SACEFPDWSTRB(),
+        .SACEFPDWUSER(),
+        .SACEFPDWVALID(),
+        .SAXIACPACLK(),
+        .SAXIACPARADDR(),
+        .SAXIACPARBURST(),
+        .SAXIACPARCACHE(),
+        .SAXIACPARID(),
+        .SAXIACPARLEN(),
+        .SAXIACPARLOCK(),
+        .SAXIACPARPROT(),
+        .SAXIACPARQOS(),
+        .SAXIACPARREADY(),
+        .SAXIACPARSIZE(),
+        .SAXIACPARUSER(),
+        .SAXIACPARVALID(),
+        .SAXIACPAWADDR(),
+        .SAXIACPAWBURST(),
+        .SAXIACPAWCACHE(),
+        .SAXIACPAWID(),
+        .SAXIACPAWLEN(),
+        .SAXIACPAWLOCK(),
+        .SAXIACPAWPROT(),
+        .SAXIACPAWQOS(),
+        .SAXIACPAWREADY(),
+        .SAXIACPAWSIZE(),
+        .SAXIACPAWUSER(),
+        .SAXIACPAWVALID(),
+        .SAXIACPBID(),
+        .SAXIACPBREADY(),
+        .SAXIACPBRESP(),
+        .SAXIACPBVALID(),
+        .SAXIACPRDATA(),
+        .SAXIACPRID(),
+        .SAXIACPRLAST(),
+        .SAXIACPRREADY(),
+        .SAXIACPRRESP(),
+        .SAXIACPRVALID(),
+        .SAXIACPWDATA(),
+        .SAXIACPWLAST(),
+        .SAXIACPWREADY(),
+        .SAXIACPWSTRB(),
+        .SAXIACPWVALID(),
+        .SAXIGP0ARADDR(),
+        .SAXIGP0ARBURST(),
+        .SAXIGP0ARCACHE(),
+        .SAXIGP0ARID(),
+        .SAXIGP0ARLEN(),
+        .SAXIGP0ARLOCK(),
+        .SAXIGP0ARPROT(),
+        .SAXIGP0ARQOS(),
+        .SAXIGP0ARREADY(),
+        .SAXIGP0ARSIZE(),
+        .SAXIGP0ARUSER(),
+        .SAXIGP0ARVALID(),
+        .SAXIGP0AWADDR(),
+        .SAXIGP0AWBURST(),
+        .SAXIGP0AWCACHE(),
+        .SAXIGP0AWID(),
+        .SAXIGP0AWLEN(),
+        .SAXIGP0AWLOCK(),
+        .SAXIGP0AWPROT(),
+        .SAXIGP0AWQOS(),
+        .SAXIGP0AWREADY(),
+        .SAXIGP0AWSIZE(),
+        .SAXIGP0AWUSER(),
+        .SAXIGP0AWVALID(),
+        .SAXIGP0BID(),
+        .SAXIGP0BREADY(),
+        .SAXIGP0BRESP(),
+        .SAXIGP0BVALID(),
+        .SAXIGP0RACOUNT(),
+        .SAXIGP0RCLK(),
+        .SAXIGP0RCOUNT(),
+        .SAXIGP0RDATA(),
+        .SAXIGP0RID(),
+        .SAXIGP0RLAST(),
+        .SAXIGP0RREADY(),
+        .SAXIGP0RRESP(),
+        .SAXIGP0RVALID(),
+        .SAXIGP0WACOUNT(),
+        .SAXIGP0WCLK(),
+        .SAXIGP0WCOUNT(),
+        .SAXIGP0WDATA(),
+        .SAXIGP0WLAST(),
+        .SAXIGP0WREADY(),
+        .SAXIGP0WSTRB(),
+        .SAXIGP0WVALID(),
+        .SAXIGP1ARADDR(),
+        .SAXIGP1ARBURST(),
+        .SAXIGP1ARCACHE(),
+        .SAXIGP1ARID(),
+        .SAXIGP1ARLEN(),
+        .SAXIGP1ARLOCK(),
+        .SAXIGP1ARPROT(),
+        .SAXIGP1ARQOS(),
+        .SAXIGP1ARREADY(),
+        .SAXIGP1ARSIZE(),
+        .SAXIGP1ARUSER(),
+        .SAXIGP1ARVALID(),
+        .SAXIGP1AWADDR(),
+        .SAXIGP1AWBURST(),
+        .SAXIGP1AWCACHE(),
+        .SAXIGP1AWID(),
+        .SAXIGP1AWLEN(),
+        .SAXIGP1AWLOCK(),
+        .SAXIGP1AWPROT(),
+        .SAXIGP1AWQOS(),
+        .SAXIGP1AWREADY(),
+        .SAXIGP1AWSIZE(),
+        .SAXIGP1AWUSER(),
+        .SAXIGP1AWVALID(),
+        .SAXIGP1BID(),
+        .SAXIGP1BREADY(),
+        .SAXIGP1BRESP(),
+        .SAXIGP1BVALID(),
+        .SAXIGP1RACOUNT(),
+        .SAXIGP1RCLK(),
+        .SAXIGP1RCOUNT(),
+        .SAXIGP1RDATA(),
+        .SAXIGP1RID(),
+        .SAXIGP1RLAST(),
+        .SAXIGP1RREADY(),
+        .SAXIGP1RRESP(),
+        .SAXIGP1RVALID(),
+        .SAXIGP1WACOUNT(),
+        .SAXIGP1WCLK(),
+        .SAXIGP1WCOUNT(),
+        .SAXIGP1WDATA(),
+        .SAXIGP1WLAST(),
+        .SAXIGP1WREADY(),
+        .SAXIGP1WSTRB(),
+        .SAXIGP1WVALID(),
+        .SAXIGP2ARADDR(),
+        .SAXIGP2ARBURST(),
+        .SAXIGP2ARCACHE(),
+        .SAXIGP2ARID(),
+        .SAXIGP2ARLEN(),
+        .SAXIGP2ARLOCK(),
+        .SAXIGP2ARPROT(),
+        .SAXIGP2ARQOS(),
+        .SAXIGP2ARREADY(),
+        .SAXIGP2ARSIZE(),
+        .SAXIGP2ARUSER(),
+        .SAXIGP2ARVALID(),
+        .SAXIGP2AWADDR(),
+        .SAXIGP2AWBURST(),
+        .SAXIGP2AWCACHE(),
+        .SAXIGP2AWID(),
+        .SAXIGP2AWLEN(),
+        .SAXIGP2AWLOCK(),
+        .SAXIGP2AWPROT(),
+        .SAXIGP2AWQOS(),
+        .SAXIGP2AWREADY(),
+        .SAXIGP2AWSIZE(),
+        .SAXIGP2AWUSER(),
+        .SAXIGP2AWVALID(),
+        .SAXIGP2BID(),
+        .SAXIGP2BREADY(),
+        .SAXIGP2BRESP(),
+        .SAXIGP2BVALID(),
+        .SAXIGP2RACOUNT(),
+        .SAXIGP2RCLK(),
+        .SAXIGP2RCOUNT(),
+        .SAXIGP2RDATA(),
+        .SAXIGP2RID(),
+        .SAXIGP2RLAST(),
+        .SAXIGP2RREADY(),
+        .SAXIGP2RRESP(),
+        .SAXIGP2RVALID(),
+        .SAXIGP2WACOUNT(),
+        .SAXIGP2WCLK(),
+        .SAXIGP2WCOUNT(),
+        .SAXIGP2WDATA(),
+        .SAXIGP2WLAST(),
+        .SAXIGP2WREADY(),
+        .SAXIGP2WSTRB(),
+        .SAXIGP2WVALID(),
+        .SAXIGP3ARADDR(),
+        .SAXIGP3ARBURST(),
+        .SAXIGP3ARCACHE(),
+        .SAXIGP3ARID(),
+        .SAXIGP3ARLEN(),
+        .SAXIGP3ARLOCK(),
+        .SAXIGP3ARPROT(),
+        .SAXIGP3ARQOS(),
+        .SAXIGP3ARREADY(),
+        .SAXIGP3ARSIZE(),
+        .SAXIGP3ARUSER(),
+        .SAXIGP3ARVALID(),
+        .SAXIGP3AWADDR(),
+        .SAXIGP3AWBURST(),
+        .SAXIGP3AWCACHE(),
+        .SAXIGP3AWID(),
+        .SAXIGP3AWLEN(),
+        .SAXIGP3AWLOCK(),
+        .SAXIGP3AWPROT(),
+        .SAXIGP3AWQOS(),
+        .SAXIGP3AWREADY(),
+        .SAXIGP3AWSIZE(),
+        .SAXIGP3AWUSER(),
+        .SAXIGP3AWVALID(),
+        .SAXIGP3BID(),
+        .SAXIGP3BREADY(),
+        .SAXIGP3BRESP(),
+        .SAXIGP3BVALID(),
+        .SAXIGP3RACOUNT(),
+        .SAXIGP3RCLK(),
+        .SAXIGP3RCOUNT(),
+        .SAXIGP3RDATA(),
+        .SAXIGP3RID(),
+        .SAXIGP3RLAST(),
+        .SAXIGP3RREADY(),
+        .SAXIGP3RRESP(),
+        .SAXIGP3RVALID(),
+        .SAXIGP3WACOUNT(),
+        .SAXIGP3WCLK(),
+        .SAXIGP3WCOUNT(),
+        .SAXIGP3WDATA(),
+        .SAXIGP3WLAST(),
+        .SAXIGP3WREADY(),
+        .SAXIGP3WSTRB(),
+        .SAXIGP3WVALID(),
+        .SAXIGP4ARADDR(),
+        .SAXIGP4ARBURST(),
+        .SAXIGP4ARCACHE(),
+        .SAXIGP4ARID(),
+        .SAXIGP4ARLEN(),
+        .SAXIGP4ARLOCK(),
+        .SAXIGP4ARPROT(),
+        .SAXIGP4ARQOS(),
+        .SAXIGP4ARREADY(),
+        .SAXIGP4ARSIZE(),
+        .SAXIGP4ARUSER(),
+        .SAXIGP4ARVALID(),
+        .SAXIGP4AWADDR(),
+        .SAXIGP4AWBURST(),
+        .SAXIGP4AWCACHE(),
+        .SAXIGP4AWID(),
+        .SAXIGP4AWLEN(),
+        .SAXIGP4AWLOCK(),
+        .SAXIGP4AWPROT(),
+        .SAXIGP4AWQOS(),
+        .SAXIGP4AWREADY(),
+        .SAXIGP4AWSIZE(),
+        .SAXIGP4AWUSER(),
+        .SAXIGP4AWVALID(),
+        .SAXIGP4BID(),
+        .SAXIGP4BREADY(),
+        .SAXIGP4BRESP(),
+        .SAXIGP4BVALID(),
+        .SAXIGP4RACOUNT(),
+        .SAXIGP4RCLK(),
+        .SAXIGP4RCOUNT(),
+        .SAXIGP4RDATA(),
+        .SAXIGP4RID(),
+        .SAXIGP4RLAST(),
+        .SAXIGP4RREADY(),
+        .SAXIGP4RRESP(),
+        .SAXIGP4RVALID(),
+        .SAXIGP4WACOUNT(),
+        .SAXIGP4WCLK(),
+        .SAXIGP4WCOUNT(),
+        .SAXIGP4WDATA(),
+        .SAXIGP4WLAST(),
+        .SAXIGP4WREADY(),
+        .SAXIGP4WSTRB(),
+        .SAXIGP4WVALID(),
+        .SAXIGP5ARADDR(),
+        .SAXIGP5ARBURST(),
+        .SAXIGP5ARCACHE(),
+        .SAXIGP5ARID(),
+        .SAXIGP5ARLEN(),
+        .SAXIGP5ARLOCK(),
+        .SAXIGP5ARPROT(),
+        .SAXIGP5ARQOS(),
+        .SAXIGP5ARREADY(),
+        .SAXIGP5ARSIZE(),
+        .SAXIGP5ARUSER(),
+        .SAXIGP5ARVALID(),
+        .SAXIGP5AWADDR(),
+        .SAXIGP5AWBURST(),
+        .SAXIGP5AWCACHE(),
+        .SAXIGP5AWID(),
+        .SAXIGP5AWLEN(),
+        .SAXIGP5AWLOCK(),
+        .SAXIGP5AWPROT(),
+        .SAXIGP5AWQOS(),
+        .SAXIGP5AWREADY(),
+        .SAXIGP5AWSIZE(),
+        .SAXIGP5AWUSER(),
+        .SAXIGP5AWVALID(),
+        .SAXIGP5BID(),
+        .SAXIGP5BREADY(),
+        .SAXIGP5BRESP(),
+        .SAXIGP5BVALID(),
+        .SAXIGP5RACOUNT(),
+        .SAXIGP5RCLK(),
+        .SAXIGP5RCOUNT(),
+        .SAXIGP5RDATA(),
+        .SAXIGP5RID(),
+        .SAXIGP5RLAST(),
+        .SAXIGP5RREADY(),
+        .SAXIGP5RRESP(),
+        .SAXIGP5RVALID(),
+        .SAXIGP5WACOUNT(),
+        .SAXIGP5WCLK(),
+        .SAXIGP5WCOUNT(),
+        .SAXIGP5WDATA(),
+        .SAXIGP5WLAST(),
+        .SAXIGP5WREADY(),
+        .SAXIGP5WSTRB(),
+        .SAXIGP5WVALID(),
+        .SAXIGP6ARADDR(),
+        .SAXIGP6ARBURST(),
+        .SAXIGP6ARCACHE(),
+        .SAXIGP6ARID(),
+        .SAXIGP6ARLEN(),
+        .SAXIGP6ARLOCK(),
+        .SAXIGP6ARPROT(),
+        .SAXIGP6ARQOS(),
+        .SAXIGP6ARREADY(),
+        .SAXIGP6ARSIZE(),
+        .SAXIGP6ARUSER(),
+        .SAXIGP6ARVALID(),
+        .SAXIGP6AWADDR(),
+        .SAXIGP6AWBURST(),
+        .SAXIGP6AWCACHE(),
+        .SAXIGP6AWID(),
+        .SAXIGP6AWLEN(),
+        .SAXIGP6AWLOCK(),
+        .SAXIGP6AWPROT(),
+        .SAXIGP6AWQOS(),
+        .SAXIGP6AWREADY(),
+        .SAXIGP6AWSIZE(),
+        .SAXIGP6AWUSER(),
+        .SAXIGP6AWVALID(),
+        .SAXIGP6BID(),
+        .SAXIGP6BREADY(),
+        .SAXIGP6BRESP(),
+        .SAXIGP6BVALID(),
+        .SAXIGP6RACOUNT(),
+        .SAXIGP6RCLK(),
+        .SAXIGP6RCOUNT(),
+        .SAXIGP6RDATA(),
+        .SAXIGP6RID(),
+        .SAXIGP6RLAST(),
+        .SAXIGP6RREADY(),
+        .SAXIGP6RRESP(),
+        .SAXIGP6RVALID(),
+        .SAXIGP6WACOUNT(),
+        .SAXIGP6WCLK(),
+        .SAXIGP6WCOUNT(),
+        .SAXIGP6WDATA(),
+        .SAXIGP6WLAST(),
+        .SAXIGP6WREADY(),
+        .SAXIGP6WSTRB(),
+        .SAXIGP6WVALID(),
+        .STMEVENT());
+  VCC VCC
+       (.P(\<const1> ));
+  (* BOX_TYPE = "PRIMITIVE" *) 
+  BUFG_PS #(
+    .SIM_DEVICE("ULTRASCALE_PLUS"),
+    .STARTUP_SYNC("FALSE")) 
+    \buffer_pl_clk_0.PL_CLK_0_BUFG 
+       (.I(pl_clk_unbuffered),
+        .O(pl_clk0));
+
+
+endmodule
diff --git a/minitests/zmp_blinky/pl/ultra96v2.xdc b/minitests/zmp_blinky/pl/ultra96v2.xdc
new file mode 100644
index 0000000..db64943
--- /dev/null
+++ b/minitests/zmp_blinky/pl/ultra96v2.xdc
@@ -0,0 +1,9 @@
+# LEDs
+set_property PACKAGE_PIN A9 [get_ports led[0]]
+set_property PACKAGE_PIN B9 [get_ports led[1]]
+
+foreach port [get_ports] {
+    set_property IOSTANDARD LVCMOS33 $port
+    set_property SLEW SLOW $port
+}
+