zynq-sandbox

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit f4350c11bb98daae85508b01892fbf5c18e19d48
parent bcafecc864f8506dbf45b6e1a6ff529ff3b048e0
Author: Brian Swetland <swetland@frotz.net>
Date:   Fri,  4 Jul 2014 03:51:27 -0700

zybo_hdmi_axi: implement a framebuffer at 0x10000000

- control registers:
  - 0x40000000: write any value to reset fifo
  - 0x40000004: write 1 to enable framebuffer scanout
  - 0x40000008: write RGB:24 value to display on fifo underrun

Diffstat:
MMakefile | 5++++-
Mhdl/zybo_hdmi_axi.sv | 80++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
Ahdl/zynq_ps_1m_1s.sv | 639+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 710 insertions(+), 14 deletions(-)

diff --git a/Makefile b/Makefile @@ -12,7 +12,10 @@ HDMI_SRCS := \ MODULE_NAME := zybo-hdmi-axi MODULE_PART := xc7z010clg400-2 MODULE_SRCS := hdl/zybo_hdmi_axi.sv -MODULE_SRCS += hdl/axi_ifc.sv hdl/axi_registers.sv hdl/zynq_ps_1m.sv +MODULE_SRCS += hdl/axi_ifc.sv hdl/axi_registers.sv +MODULE_SRCS += hdl/zynq_ps_1m_1s.sv +MODULE_SRCS += hdl/xilinx_async_fifo.sv hdl/sync_oneway.sv +MODULE_SRCS += hdl/axi_dma_reader.sv MODULE_SRCS += $(HDMI_SRCS) MODULE_SRCS += hdl/zybo_hdmi.xdc include build/vivado-bitfile.mk diff --git a/hdl/zybo_hdmi_axi.sv b/hdl/zybo_hdmi_axi.sv @@ -24,7 +24,7 @@ module top( wire pixclk, pixclkx5, pixclkx10; wire [10:0] xpixel, ypixel; -reg [7:0] red, grn, blu; +wire [7:0] red, grn, blu; mmcm_1in_3out #( .CLKIN_PERIOD(8.0), @@ -40,6 +40,9 @@ mmcm_1in_3out #( .o_clk2(pixclkx10) ); +wire rgb_ready; +wire vsync_raw; + hdmi_core #( // 640x480 @60 25MHz //.HWIDTH(640), .HSYNC0(656), .HSYNC1(752), .HMAX(799), @@ -57,28 +60,34 @@ hdmi_core #( .hdmi_d_n(hdmi_d_n), .hdmi_clk_p(hdmi_clk_p), .hdmi_clk_n(hdmi_clk_n), - .rgb_ready(), + .rgb_ready(rgb_ready), .red(red), .grn(grn), .blu(blu), .xpixel(xpixel), - .ypixel(ypixel) + .ypixel(ypixel), + .vblank(vsync_raw) ); -// test pattern -always @(posedge pixclk) begin - red <= xpixel[3] ? 8'hFF : 8'h00; - grn <= ypixel[3] ? 8'hFF : 8'h00; -end - wire axiclk; +wire vsync; + +sync_oneway sync_vsync( + .txclk(pixclk), + .txdat(vsync_raw), + .rxclk(axiclk), + .rxdat(vsync) + ); axi_ifc #(.IWIDTH(12),.AXI3(1)) axi_ctl(); +axi_ifc #(.IWIDTH(6),.AXI3(1)) axi_dma(); zynq_ps7 zynq( .fclk0(axiclk), .m_axi_gp0_clk(axiclk), - .m_axi_gp0(axi_ctl) + .m_axi_gp0(axi_ctl), + .s_axi_gp0_clk(axiclk), + .s_axi_gp0(axi_dma) ); wire [31:0]wdata; @@ -96,8 +105,53 @@ axi_registers regs( .o_wr(wr) ); -always @(posedge axiclk) - if (wr) - blu <= wdata[7:0]; +wire [31:0]fb_data; +wire fb_valid; +reg fb_enable = 0; +wire fifo_ready; + +axi_dma_reader reader( + .clk(axiclk), + .m(axi_dma), + .o_data(fb_data), + .o_valid(fb_valid), + .i_start(fb_enable & vsync), + .i_ready(fifo_ready), + .i_baseaddr(32'h10000000), + .i_burst_count(36000) + ); + +reg fifo_reset = 0; +reg [23:0]pattern = 0; + +always_ff @(posedge axiclk) begin + if (wr) begin + case (wreg) + 0: fifo_reset <= 1; + 1: fb_enable <= wdata[0]; + 2: pattern <= wdata[23:0]; + default: ; + endcase + end else begin + fifo_reset <= 0; + end +end + +wire [23:0]fifo_data; +wire fifo_empty; +assign {red,grn,blu} = fifo_empty ? pattern : fifo_data; + +xilinx_async_fifo #(.WIDTH(24)) fifo( + .wrclk(axiclk), + .rdclk(pixclk), + .reset(fifo_reset), + .wr_data(fb_data[23:0]), + .wr_en(fb_valid), + .rd_data(fifo_data), + .rd_en(rgb_ready), + .o_empty(fifo_empty), + .o_ready(fifo_ready), + .o_active() + ); endmodule diff --git a/hdl/zynq_ps_1m_1s.sv b/hdl/zynq_ps_1m_1s.sv @@ -0,0 +1,639 @@ +// machine-generated by mkzynq.go - do not edit +`timescale 1ns / 1ps + +module zynq_ps7( + output fclk0, + input s_axi_gp0_clk, + axi_ifc.slave s_axi_gp0, + input m_axi_gp0_clk, + axi_ifc.master m_axi_gp0 + ); + +wire fclk0_i, fclk1_i, fclk2_i, fclk3_i; + +BUFG fclk0_bufg(.I(fclk0_i), .O(fclk0)); + +PS7 ps7_i( + .SAXIHP3WSTRB(0), + .SAXIHP2WSTRB(0), + .SAXIHP1WSTRB(0), + .SAXIHP0WSTRB(0), + .SAXIACPWSTRB(0), + .EMIOENET1GMIIRXD(0), + .EMIOENET0GMIIRXD(0), + .SAXIHP3WDATA(0), + .SAXIHP2WDATA(0), + .SAXIHP1WDATA(0), + .SAXIHP0WDATA(0), + .SAXIACPWDATA(0), + .EMIOGPIOI(0), + .SAXIHP3WID(0), + .SAXIHP3AWID(0), + .SAXIHP3ARID(0), + .SAXIHP2WID(0), + .SAXIHP2AWID(0), + .SAXIHP2ARID(0), + .SAXIHP1WID(0), + .SAXIHP1AWID(0), + .SAXIHP1ARID(0), + .SAXIHP0WID(0), + .SAXIHP0AWID(0), + .SAXIHP0ARID(0), + .SAXIGP1WID(0), + .SAXIGP1AWID(0), + .SAXIGP1ARID(0), + .SAXIGP0WID(0), + .SAXIGP0AWID(s_axi_gp0.awid), + .SAXIGP0ARID(s_axi_gp0.arid), + .SAXIACPAWUSER(0), + .SAXIACPARUSER(0), + .SAXIHP3AWQOS(0), + .SAXIHP3AWLEN(0), + .SAXIHP3AWCACHE(0), + .SAXIHP3ARQOS(0), + .SAXIHP3ARLEN(0), + .SAXIHP3ARCACHE(0), + .SAXIHP2AWQOS(0), + .SAXIHP2AWLEN(0), + .SAXIHP2AWCACHE(0), + .SAXIHP2ARQOS(0), + .SAXIHP2ARLEN(0), + .SAXIHP2ARCACHE(0), + .SAXIHP1AWQOS(0), + .SAXIHP1AWLEN(0), + .SAXIHP1AWCACHE(0), + .SAXIHP1ARQOS(0), + .SAXIHP1ARLEN(0), + .SAXIHP1ARCACHE(0), + .SAXIHP0AWQOS(0), + .SAXIHP0AWLEN(0), + .SAXIHP0AWCACHE(0), + .SAXIHP0ARQOS(0), + .SAXIHP0ARLEN(0), + .SAXIHP0ARCACHE(0), + .SAXIGP1WSTRB(0), + .SAXIGP1AWQOS(0), + .SAXIGP1AWLEN(0), + .SAXIGP1AWCACHE(0), + .SAXIGP1ARQOS(0), + .SAXIGP1ARLEN(0), + .SAXIGP1ARCACHE(0), + .SAXIGP0WSTRB(s_axi_gp0.wstrb), + .SAXIGP0AWQOS(0), + .SAXIGP0AWLEN(s_axi_gp0.awlen), + .SAXIGP0AWCACHE(s_axi_gp0.awcache), + .SAXIGP0ARQOS(0), + .SAXIGP0ARLEN(s_axi_gp0.arlen), + .SAXIGP0ARCACHE(s_axi_gp0.arcache), + .SAXIACPAWQOS(0), + .SAXIACPAWLEN(0), + .SAXIACPAWCACHE(0), + .SAXIACPARQOS(0), + .SAXIACPARLEN(0), + .SAXIACPARCACHE(0), + .FTMTP2FTRIGACK(0), + .FTMTF2PTRIG(0), + .FTMDTRACEINATID(0), + .FCLKCLKTRIGN(0), + .EMIOSDIO1DATAI(0), + .EMIOSDIO0DATAI(0), + .DDRARB(0), + .SAXIHP3AWADDR(0), + .SAXIHP3ARADDR(0), + .SAXIHP2AWADDR(0), + .SAXIHP2ARADDR(0), + .SAXIHP1AWADDR(0), + .SAXIHP1ARADDR(0), + .SAXIHP0AWADDR(0), + .SAXIHP0ARADDR(0), + .SAXIGP1WDATA(0), + .SAXIGP1AWADDR(0), + .SAXIGP1ARADDR(0), + .SAXIGP0WDATA(s_axi_gp0.wdata), + .SAXIGP0AWADDR(s_axi_gp0.awaddr), + .SAXIGP0ARADDR(s_axi_gp0.araddr), + .SAXIACPAWADDR(0), + .SAXIACPARADDR(0), + .MAXIGP1RDATA(0), + .MAXIGP0RDATA(m_axi_gp0.rdata), + .FTMTF2PDEBUG(0), + .FTMDTRACEINDATA(0), + .SAXIHP3AWPROT(0), + .SAXIHP3ARPROT(0), + .SAXIHP2AWPROT(0), + .SAXIHP2ARPROT(0), + .SAXIHP1AWPROT(0), + .SAXIHP1ARPROT(0), + .SAXIHP0AWPROT(0), + .SAXIHP0ARPROT(0), + .SAXIGP1AWPROT(0), + .SAXIGP1ARPROT(0), + .SAXIGP0AWPROT(0), + .SAXIGP0ARPROT(0), + .SAXIACPWID(0), + .SAXIACPAWPROT(0), + .SAXIACPAWID(0), + .SAXIACPARPROT(0), + .SAXIACPARID(0), + .EMIOTTC1CLKI(0), + .EMIOTTC0CLKI(0), + .SAXIHP3AWSIZE(0), + .SAXIHP3AWLOCK(0), + .SAXIHP3AWBURST(0), + .SAXIHP3ARSIZE(0), + .SAXIHP3ARLOCK(0), + .SAXIHP3ARBURST(0), + .SAXIHP2AWSIZE(0), + .SAXIHP2AWLOCK(0), + .SAXIHP2AWBURST(0), + .SAXIHP2ARSIZE(0), + .SAXIHP2ARLOCK(0), + .SAXIHP2ARBURST(0), + .SAXIHP1AWSIZE(0), + .SAXIHP1AWLOCK(0), + .SAXIHP1AWBURST(0), + .SAXIHP1ARSIZE(0), + .SAXIHP1ARLOCK(0), + .SAXIHP1ARBURST(0), + .SAXIHP0AWSIZE(0), + .SAXIHP0AWLOCK(0), + .SAXIHP0AWBURST(0), + .SAXIHP0ARSIZE(0), + .SAXIHP0ARLOCK(0), + .SAXIHP0ARBURST(0), + .SAXIGP1AWSIZE(0), + .SAXIGP1AWLOCK(0), + .SAXIGP1AWBURST(0), + .SAXIGP1ARSIZE(0), + .SAXIGP1ARLOCK(0), + .SAXIGP1ARBURST(0), + .SAXIGP0AWSIZE(s_axi_gp0.awsize), + .SAXIGP0AWLOCK(s_axi_gp0.awlock), + .SAXIGP0AWBURST(s_axi_gp0.awburst), + .SAXIGP0ARSIZE(s_axi_gp0.arsize), + .SAXIGP0ARLOCK(s_axi_gp0.arlock), + .SAXIGP0ARBURST(s_axi_gp0.arburst), + .SAXIACPAWSIZE(0), + .SAXIACPAWLOCK(0), + .SAXIACPAWBURST(0), + .SAXIACPARSIZE(0), + .SAXIACPARLOCK(0), + .SAXIACPARBURST(0), + .MAXIGP1RRESP(0), + .MAXIGP1BRESP(0), + .MAXIGP0RRESP(m_axi_gp0.rresp), + .MAXIGP0BRESP(m_axi_gp0.bresp), + .DMA3DRTYPE(0), + .DMA2DRTYPE(0), + .DMA1DRTYPE(0), + .DMA0DRTYPE(0), + .IRQF2P(0), + .MAXIGP1RID(0), + .MAXIGP1BID(0), + .MAXIGP0RID(m_axi_gp0.rid), + .MAXIGP0BID(m_axi_gp0.bid), + .SAXIHP3WVALID(0), + .SAXIHP3WRISSUECAP1EN(0), + .SAXIHP3WLAST(0), + .SAXIHP3RREADY(0), + .SAXIHP3RDISSUECAP1EN(0), + .SAXIHP3BREADY(0), + .SAXIHP3AWVALID(0), + .SAXIHP3ARVALID(0), + .SAXIHP3ACLK(0), + .SAXIHP2WVALID(0), + .SAXIHP2WRISSUECAP1EN(0), + .SAXIHP2WLAST(0), + .SAXIHP2RREADY(0), + .SAXIHP2RDISSUECAP1EN(0), + .SAXIHP2BREADY(0), + .SAXIHP2AWVALID(0), + .SAXIHP2ARVALID(0), + .SAXIHP2ACLK(0), + .SAXIHP1WVALID(0), + .SAXIHP1WRISSUECAP1EN(0), + .SAXIHP1WLAST(0), + .SAXIHP1RREADY(0), + .SAXIHP1RDISSUECAP1EN(0), + .SAXIHP1BREADY(0), + .SAXIHP1AWVALID(0), + .SAXIHP1ARVALID(0), + .SAXIHP1ACLK(0), + .SAXIHP0WVALID(0), + .SAXIHP0WRISSUECAP1EN(0), + .SAXIHP0WLAST(0), + .SAXIHP0RREADY(0), + .SAXIHP0RDISSUECAP1EN(0), + .SAXIHP0BREADY(0), + .SAXIHP0AWVALID(0), + .SAXIHP0ARVALID(0), + .SAXIHP0ACLK(0), + .SAXIGP1WVALID(0), + .SAXIGP1WLAST(0), + .SAXIGP1RREADY(0), + .SAXIGP1BREADY(0), + .SAXIGP1AWVALID(0), + .SAXIGP1ARVALID(0), + .SAXIGP1ACLK(0), + .SAXIGP0WVALID(s_axi_gp0.wvalid), + .SAXIGP0WLAST(s_axi_gp0.wlast), + .SAXIGP0RREADY(s_axi_gp0.rready), + .SAXIGP0BREADY(s_axi_gp0.bready), + .SAXIGP0AWVALID(s_axi_gp0.awvalid), + .SAXIGP0ARVALID(s_axi_gp0.arvalid), + .SAXIGP0ACLK(s_axi_gp0_clk), + .SAXIACPWVALID(0), + .SAXIACPWLAST(0), + .SAXIACPRREADY(0), + .SAXIACPBREADY(0), + .SAXIACPAWVALID(0), + .SAXIACPARVALID(0), + .SAXIACPACLK(0), + .MAXIGP1WREADY(0), + .MAXIGP1RVALID(0), + .MAXIGP1RLAST(0), + .MAXIGP1BVALID(0), + .MAXIGP1AWREADY(0), + .MAXIGP1ARREADY(0), + .MAXIGP1ACLK(0), + .MAXIGP0WREADY(m_axi_gp0.wready), + .MAXIGP0RVALID(m_axi_gp0.rvalid), + .MAXIGP0RLAST(m_axi_gp0.rlast), + .MAXIGP0BVALID(m_axi_gp0.bvalid), + .MAXIGP0AWREADY(m_axi_gp0.awready), + .MAXIGP0ARREADY(m_axi_gp0.arready), + .MAXIGP0ACLK(m_axi_gp0_clk), + .FTMDTRACEINVALID(0), + .FTMDTRACEINCLOCK(0), + .FPGAIDLEN(0), + .EVENTEVENTI(0), + .EMIOWDTCLKI(0), + .EMIOUSB1VBUSPWRFAULT(0), + .EMIOUSB0VBUSPWRFAULT(0), + .EMIOUART1RX(0), + .EMIOUART1RIN(0), + .EMIOUART1DSRN(0), + .EMIOUART1DCDN(0), + .EMIOUART1CTSN(0), + .EMIOUART0RX(0), + .EMIOUART0RIN(0), + .EMIOUART0DSRN(0), + .EMIOUART0DCDN(0), + .EMIOUART0CTSN(0), + .EMIOTRACECLK(0), + .EMIOSRAMINTIN(0), + .EMIOSPI1SSIN(0), + .EMIOSPI1SI(0), + .EMIOSPI1SCLKI(0), + .EMIOSPI1MI(0), + .EMIOSPI0SSIN(0), + .EMIOSPI0SI(0), + .EMIOSPI0SCLKI(0), + .EMIOSPI0MI(0), + .EMIOSDIO1WP(0), + .EMIOSDIO1CMDI(0), + .EMIOSDIO1CLKFB(0), + .EMIOSDIO1CDN(0), + .EMIOSDIO0WP(0), + .EMIOSDIO0CMDI(0), + .EMIOSDIO0CLKFB(0), + .EMIOSDIO0CDN(0), + .EMIOPJTAGTMS(0), + .EMIOPJTAGTDI(0), + .EMIOPJTAGTCK(0), + .EMIOI2C1SDAI(0), + .EMIOI2C1SCLI(0), + .EMIOI2C0SDAI(0), + .EMIOI2C0SCLI(0), + .EMIOENET1MDIOI(0), + .EMIOENET1GMIITXCLK(0), + .EMIOENET1GMIIRXER(0), + .EMIOENET1GMIIRXDV(0), + .EMIOENET1GMIIRXCLK(0), + .EMIOENET1GMIICRS(0), + .EMIOENET1GMIICOL(0), + .EMIOENET1EXTINTIN(0), + .EMIOENET0MDIOI(0), + .EMIOENET0GMIITXCLK(0), + .EMIOENET0GMIIRXER(0), + .EMIOENET0GMIIRXDV(0), + .EMIOENET0GMIIRXCLK(0), + .EMIOENET0GMIICRS(0), + .EMIOENET0GMIICOL(0), + .EMIOENET0EXTINTIN(0), + .EMIOCAN1PHYRX(0), + .EMIOCAN0PHYRX(0), + .DMA3DRVALID(0), + .DMA3DRLAST(0), + .DMA3DAREADY(0), + .DMA3ACLK(0), + .DMA2DRVALID(0), + .DMA2DRLAST(0), + .DMA2DAREADY(0), + .DMA2ACLK(0), + .DMA1DRVALID(0), + .DMA1DRLAST(0), + .DMA1DAREADY(0), + .DMA1ACLK(0), + .DMA0DRVALID(0), + .DMA0DRLAST(0), + .DMA0DAREADY(0), + .DMA0ACLK(0), + .MIO(), + .DDRDQSP(), + .DDRDQSN(), + .DDRDM(), + .DDRDQ(), + .DDRBA(), + .DDRA(), + .PSSRSTB(), + .PSPORB(), + .PSCLK(), + .DDRWEB(), + .DDRVRP(), + .DDRVRN(), + .DDRRASB(), + .DDRODT(), + .DDRDRSTB(), + .DDRCSB(), + .DDRCKP(), + .DDRCKN(), + .DDRCKE(), + .DDRCASB(), + .SAXIHP3WCOUNT(), + .SAXIHP3RCOUNT(), + .SAXIHP2WCOUNT(), + .SAXIHP2RCOUNT(), + .SAXIHP1WCOUNT(), + .SAXIHP1RCOUNT(), + .SAXIHP0WCOUNT(), + .SAXIHP0RCOUNT(), + .EMIOENET1GMIITXD(), + .EMIOENET0GMIITXD(), + .SAXIHP3RDATA(), + .SAXIHP2RDATA(), + .SAXIHP1RDATA(), + .SAXIHP0RDATA(), + .SAXIACPRDATA(), + .EMIOGPIOTN(), + .EMIOGPIOO(), + .SAXIHP3WACOUNT(), + .SAXIHP3RID(), + .SAXIHP3BID(), + .SAXIHP2WACOUNT(), + .SAXIHP2RID(), + .SAXIHP2BID(), + .SAXIHP1WACOUNT(), + .SAXIHP1RID(), + .SAXIHP1BID(), + .SAXIHP0WACOUNT(), + .SAXIHP0RID(), + .SAXIHP0BID(), + .SAXIGP1RID(), + .SAXIGP1BID(), + .SAXIGP0RID(s_axi_gp0.rid), + .SAXIGP0BID(s_axi_gp0.bid), + .MAXIGP1WSTRB(), + .MAXIGP1AWQOS(), + .MAXIGP1AWLEN(), + .MAXIGP1AWCACHE(), + .MAXIGP1ARQOS(), + .MAXIGP1ARLEN(), + .MAXIGP1ARCACHE(), + .MAXIGP0WSTRB(m_axi_gp0.wstrb), + .MAXIGP0AWQOS(), + .MAXIGP0AWLEN(m_axi_gp0.awlen), + .MAXIGP0AWCACHE(m_axi_gp0.awcache), + .MAXIGP0ARQOS(), + .MAXIGP0ARLEN(m_axi_gp0.arlen), + .MAXIGP0ARCACHE(m_axi_gp0.arcache), + .FTMTP2FTRIG(), + .FTMTF2PTRIGACK(), + .FCLKRESETN(), + .FCLKCLK({ fclk3_i, fclk2_i, fclk1_i, fclk0_i }), + .EMIOSDIO1DATATN(), + .EMIOSDIO1DATAO(), + .EMIOSDIO0DATATN(), + .EMIOSDIO0DATAO(), + .SAXIGP1RDATA(), + .SAXIGP0RDATA(s_axi_gp0.rdata), + .MAXIGP1WDATA(), + .MAXIGP1AWADDR(), + .MAXIGP1ARADDR(), + .MAXIGP0WDATA(m_axi_gp0.wdata), + .MAXIGP0AWADDR(m_axi_gp0.awaddr), + .MAXIGP0ARADDR(m_axi_gp0.araddr), + .FTMTP2FDEBUG(), + .EMIOTRACEDATA(), + .SAXIHP3RACOUNT(), + .SAXIHP2RACOUNT(), + .SAXIHP1RACOUNT(), + .SAXIHP0RACOUNT(), + .SAXIACPRID(), + .SAXIACPBID(), + .MAXIGP1AWPROT(), + .MAXIGP1ARPROT(), + .MAXIGP0AWPROT(), + .MAXIGP0ARPROT(), + .EMIOTTC1WAVEO(), + .EMIOTTC0WAVEO(), + .EMIOSPI1SSON(), + .EMIOSPI0SSON(), + .EMIOSDIO1BUSVOLT(), + .EMIOSDIO0BUSVOLT(), + .IRQP2F(), + .SAXIHP3RRESP(), + .SAXIHP3BRESP(), + .SAXIHP2RRESP(), + .SAXIHP2BRESP(), + .SAXIHP1RRESP(), + .SAXIHP1BRESP(), + .SAXIHP0RRESP(), + .SAXIHP0BRESP(), + .SAXIGP1RRESP(), + .SAXIGP1BRESP(), + .SAXIGP0RRESP(s_axi_gp0.rresp), + .SAXIGP0BRESP(s_axi_gp0.bresp), + .SAXIACPRRESP(), + .SAXIACPBRESP(), + .MAXIGP1AWSIZE(), + .MAXIGP1AWLOCK(), + .MAXIGP1AWBURST(), + .MAXIGP1ARSIZE(), + .MAXIGP1ARLOCK(), + .MAXIGP1ARBURST(), + .MAXIGP0AWSIZE(m_axi_gp0.awsize), + .MAXIGP0AWLOCK(m_axi_gp0.awlock), + .MAXIGP0AWBURST(m_axi_gp0.awburst), + .MAXIGP0ARSIZE(m_axi_gp0.arsize), + .MAXIGP0ARLOCK(m_axi_gp0.arlock), + .MAXIGP0ARBURST(m_axi_gp0.arburst), + .EVENTSTANDBYWFI(), + .EVENTSTANDBYWFE(), + .EMIOUSB1PORTINDCTL(), + .EMIOUSB0PORTINDCTL(), + .DMA3DATYPE(), + .DMA2DATYPE(), + .DMA1DATYPE(), + .DMA0DATYPE(), + .MAXIGP1WID(), + .MAXIGP1AWID(), + .MAXIGP1ARID(), + .MAXIGP0WID(), + .MAXIGP0AWID(m_axi_gp0.awid), + .MAXIGP0ARID(m_axi_gp0.arid), + .SAXIHP3WREADY(), + .SAXIHP3RVALID(), + .SAXIHP3RLAST(), + .SAXIHP3BVALID(), + .SAXIHP3AWREADY(), + .SAXIHP3ARREADY(), + .SAXIHP3ARESETN(), + .SAXIHP2WREADY(), + .SAXIHP2RVALID(), + .SAXIHP2RLAST(), + .SAXIHP2BVALID(), + .SAXIHP2AWREADY(), + .SAXIHP2ARREADY(), + .SAXIHP2ARESETN(), + .SAXIHP1WREADY(), + .SAXIHP1RVALID(), + .SAXIHP1RLAST(), + .SAXIHP1BVALID(), + .SAXIHP1AWREADY(), + .SAXIHP1ARREADY(), + .SAXIHP1ARESETN(), + .SAXIHP0WREADY(), + .SAXIHP0RVALID(), + .SAXIHP0RLAST(), + .SAXIHP0BVALID(), + .SAXIHP0AWREADY(), + .SAXIHP0ARREADY(), + .SAXIHP0ARESETN(), + .SAXIGP1WREADY(), + .SAXIGP1RVALID(), + .SAXIGP1RLAST(), + .SAXIGP1BVALID(), + .SAXIGP1AWREADY(), + .SAXIGP1ARREADY(), + .SAXIGP1ARESETN(), + .SAXIGP0WREADY(s_axi_gp0.wready), + .SAXIGP0RVALID(s_axi_gp0.rvalid), + .SAXIGP0RLAST(s_axi_gp0.rlast), + .SAXIGP0BVALID(s_axi_gp0.bvalid), + .SAXIGP0AWREADY(s_axi_gp0.awready), + .SAXIGP0ARREADY(s_axi_gp0.arready), + .SAXIGP0ARESETN(), + .SAXIACPWREADY(), + .SAXIACPRVALID(), + .SAXIACPRLAST(), + .SAXIACPBVALID(), + .SAXIACPAWREADY(), + .SAXIACPARREADY(), + .SAXIACPARESETN(), + .MAXIGP1WVALID(), + .MAXIGP1WLAST(), + .MAXIGP1RREADY(), + .MAXIGP1BREADY(), + .MAXIGP1AWVALID(), + .MAXIGP1ARVALID(), + .MAXIGP1ARESETN(), + .MAXIGP0WVALID(m_axi_gp0.wvalid), + .MAXIGP0WLAST(m_axi_gp0.wlast), + .MAXIGP0RREADY(m_axi_gp0.rready), + .MAXIGP0BREADY(m_axi_gp0.bready), + .MAXIGP0AWVALID(m_axi_gp0.awvalid), + .MAXIGP0ARVALID(m_axi_gp0.arvalid), + .MAXIGP0ARESETN(), + .EVENTEVENTO(), + .EMIOWDTRSTO(), + .EMIOUSB1VBUSPWRSELECT(), + .EMIOUSB0VBUSPWRSELECT(), + .EMIOUART1TX(), + .EMIOUART1RTSN(), + .EMIOUART1DTRN(), + .EMIOUART0TX(), + .EMIOUART0RTSN(), + .EMIOUART0DTRN(), + .EMIOTRACECTL(), + .EMIOSPI1STN(), + .EMIOSPI1SSNTN(), + .EMIOSPI1SO(), + .EMIOSPI1SCLKTN(), + .EMIOSPI1SCLKO(), + .EMIOSPI1MOTN(), + .EMIOSPI1MO(), + .EMIOSPI0STN(), + .EMIOSPI0SSNTN(), + .EMIOSPI0SO(), + .EMIOSPI0SCLKTN(), + .EMIOSPI0SCLKO(), + .EMIOSPI0MOTN(), + .EMIOSPI0MO(), + .EMIOSDIO1LED(), + .EMIOSDIO1CMDTN(), + .EMIOSDIO1CMDO(), + .EMIOSDIO1CLK(), + .EMIOSDIO1BUSPOW(), + .EMIOSDIO0LED(), + .EMIOSDIO0CMDTN(), + .EMIOSDIO0CMDO(), + .EMIOSDIO0CLK(), + .EMIOSDIO0BUSPOW(), + .EMIOPJTAGTDTN(), + .EMIOPJTAGTDO(), + .EMIOI2C1SDATN(), + .EMIOI2C1SDAO(), + .EMIOI2C1SCLTN(), + .EMIOI2C1SCLO(), + .EMIOI2C0SDATN(), + .EMIOI2C0SDAO(), + .EMIOI2C0SCLTN(), + .EMIOI2C0SCLO(), + .EMIOENET1SOFTX(), + .EMIOENET1SOFRX(), + .EMIOENET1PTPSYNCFRAMETX(), + .EMIOENET1PTPSYNCFRAMERX(), + .EMIOENET1PTPPDELAYRESPTX(), + .EMIOENET1PTPPDELAYRESPRX(), + .EMIOENET1PTPPDELAYREQTX(), + .EMIOENET1PTPPDELAYREQRX(), + .EMIOENET1PTPDELAYREQTX(), + .EMIOENET1PTPDELAYREQRX(), + .EMIOENET1MDIOTN(), + .EMIOENET1MDIOO(), + .EMIOENET1MDIOMDC(), + .EMIOENET1GMIITXER(), + .EMIOENET1GMIITXEN(), + .EMIOENET0SOFTX(), + .EMIOENET0SOFRX(), + .EMIOENET0PTPSYNCFRAMETX(), + .EMIOENET0PTPSYNCFRAMERX(), + .EMIOENET0PTPPDELAYRESPTX(), + .EMIOENET0PTPPDELAYRESPRX(), + .EMIOENET0PTPPDELAYREQTX(), + .EMIOENET0PTPPDELAYREQRX(), + .EMIOENET0PTPDELAYREQTX(), + .EMIOENET0PTPDELAYREQRX(), + .EMIOENET0MDIOTN(), + .EMIOENET0MDIOO(), + .EMIOENET0MDIOMDC(), + .EMIOENET0GMIITXER(), + .EMIOENET0GMIITXEN(), + .EMIOCAN1PHYTX(), + .EMIOCAN0PHYTX(), + .DMA3RSTN(), + .DMA3DRREADY(), + .DMA3DAVALID(), + .DMA2RSTN(), + .DMA2DRREADY(), + .DMA2DAVALID(), + .DMA1RSTN(), + .DMA1DRREADY(), + .DMA1DAVALID(), + .DMA0RSTN(), + .DMA0DRREADY(), + .DMA0DAVALID() + ); + +endmodule