317 lines
15 KiB
Coq
317 lines
15 KiB
Coq
|
|
|
||
|
|
|
||
|
|
module FPGATop(
|
||
|
|
input clock,
|
||
|
|
input reset,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:jtag:1.0 JTAG TCK" *)
|
||
|
|
input debug_systemjtag_jtag_TCK,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:jtag:1.0 JTAG TMS" *)
|
||
|
|
input debug_systemjtag_jtag_TMS,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:jtag:1.0 JTAG TD_I" *)
|
||
|
|
input debug_systemjtag_jtag_TDI,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:jtag:1.0 JTAG TD_O" *)
|
||
|
|
output debug_systemjtag_jtag_TDO_data,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWREADY" *)
|
||
|
|
input mem_axi4_0_aw_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWVALID" *)
|
||
|
|
output mem_axi4_0_aw_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWID" *)
|
||
|
|
output [3:0] mem_axi4_0_aw_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWADDR" *)
|
||
|
|
output [31:0] mem_axi4_0_aw_bits_addr,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWLEN" *)
|
||
|
|
output [7:0] mem_axi4_0_aw_bits_len,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWSIZE" *)
|
||
|
|
output [2:0] mem_axi4_0_aw_bits_size,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWBURST" *)
|
||
|
|
output [1:0] mem_axi4_0_aw_bits_burst,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWLOCK" *)
|
||
|
|
output mem_axi4_0_aw_bits_lock,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWCACHE" *)
|
||
|
|
output [3:0] mem_axi4_0_aw_bits_cache,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWPROT" *)
|
||
|
|
output [2:0] mem_axi4_0_aw_bits_prot,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem AWQOS" *)
|
||
|
|
output [3:0] mem_axi4_0_aw_bits_qos,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem WREADY" *)
|
||
|
|
input mem_axi4_0_w_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem WVALID" *)
|
||
|
|
output mem_axi4_0_w_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem WDATA" *)
|
||
|
|
output [31:0] mem_axi4_0_w_bits_data,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem WSTRB" *)
|
||
|
|
output [3:0] mem_axi4_0_w_bits_strb,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem WLAST" *)
|
||
|
|
output mem_axi4_0_w_bits_last,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem BREADY" *)
|
||
|
|
output mem_axi4_0_b_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem BVALID" *)
|
||
|
|
input mem_axi4_0_b_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem BID" *)
|
||
|
|
input [3:0] mem_axi4_0_b_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem BRESP" *)
|
||
|
|
input [1:0] mem_axi4_0_b_bits_resp,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARREADY" *)
|
||
|
|
input mem_axi4_0_ar_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARVALID" *)
|
||
|
|
output mem_axi4_0_ar_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARID" *)
|
||
|
|
output [3:0] mem_axi4_0_ar_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARADDR" *)
|
||
|
|
output [31:0] mem_axi4_0_ar_bits_addr,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARLEN" *)
|
||
|
|
output [7:0] mem_axi4_0_ar_bits_len,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARSIZE" *)
|
||
|
|
output [2:0] mem_axi4_0_ar_bits_size,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARBURST" *)
|
||
|
|
output [1:0] mem_axi4_0_ar_bits_burst,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARLOCK" *)
|
||
|
|
output mem_axi4_0_ar_bits_lock,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARCACHE" *)
|
||
|
|
output [3:0] mem_axi4_0_ar_bits_cache,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARPROT" *)
|
||
|
|
output [2:0] mem_axi4_0_ar_bits_prot,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem ARQOS" *)
|
||
|
|
output [3:0] mem_axi4_0_ar_bits_qos,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem RREADY" *)
|
||
|
|
output mem_axi4_0_r_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem RVALID" *)
|
||
|
|
input mem_axi4_0_r_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem RID" *)
|
||
|
|
input [3:0] mem_axi4_0_r_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem RDATA" *)
|
||
|
|
input [31:0] mem_axi4_0_r_bits_data,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem RRESP" *)
|
||
|
|
input [1:0] mem_axi4_0_r_bits_resp,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mem RLAST" *)
|
||
|
|
input mem_axi4_0_r_bits_last,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWREADY" *)
|
||
|
|
input mmio_axi4_0_aw_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWVALID" *)
|
||
|
|
output mmio_axi4_0_aw_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWID" *)
|
||
|
|
output [3:0] mmio_axi4_0_aw_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWADDR" *)
|
||
|
|
output [30:0] mmio_axi4_0_aw_bits_addr,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWLEN" *)
|
||
|
|
output [7:0] mmio_axi4_0_aw_bits_len,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWSIZE" *)
|
||
|
|
output [2:0] mmio_axi4_0_aw_bits_size,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWBURST" *)
|
||
|
|
output [1:0] mmio_axi4_0_aw_bits_burst,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWLOCK" *)
|
||
|
|
output mmio_axi4_0_aw_bits_lock,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWCACHE" *)
|
||
|
|
output [3:0] mmio_axi4_0_aw_bits_cache,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWPROT" *)
|
||
|
|
output [2:0] mmio_axi4_0_aw_bits_prot,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio AWQOS" *)
|
||
|
|
output [3:0] mmio_axi4_0_aw_bits_qos,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio WREADY" *)
|
||
|
|
input mmio_axi4_0_w_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio WVALID" *)
|
||
|
|
output mmio_axi4_0_w_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio WDATA" *)
|
||
|
|
output [31:0] mmio_axi4_0_w_bits_data,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio WSTRB" *)
|
||
|
|
output [3:0] mmio_axi4_0_w_bits_strb,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio WLAST" *)
|
||
|
|
output mmio_axi4_0_w_bits_last,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio BREADY" *)
|
||
|
|
output mmio_axi4_0_b_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio BVALID" *)
|
||
|
|
input mmio_axi4_0_b_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio BID" *)
|
||
|
|
input [3:0] mmio_axi4_0_b_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio BRESP" *)
|
||
|
|
input [1:0] mmio_axi4_0_b_bits_resp,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARREADY" *)
|
||
|
|
input mmio_axi4_0_ar_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARVALID" *)
|
||
|
|
output mmio_axi4_0_ar_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARID" *)
|
||
|
|
output [3:0] mmio_axi4_0_ar_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARADDR" *)
|
||
|
|
output [30:0] mmio_axi4_0_ar_bits_addr,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARLEN" *)
|
||
|
|
output [7:0] mmio_axi4_0_ar_bits_len,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARSIZE" *)
|
||
|
|
output [2:0] mmio_axi4_0_ar_bits_size,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARBURST" *)
|
||
|
|
output [1:0] mmio_axi4_0_ar_bits_burst,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARLOCK" *)
|
||
|
|
output mmio_axi4_0_ar_bits_lock,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARCACHE" *)
|
||
|
|
output [3:0] mmio_axi4_0_ar_bits_cache,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARPROT" *)
|
||
|
|
output [2:0] mmio_axi4_0_ar_bits_prot,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio ARQOS" *)
|
||
|
|
output [3:0] mmio_axi4_0_ar_bits_qos,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio RREADY" *)
|
||
|
|
output mmio_axi4_0_r_ready,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio RVALID" *)
|
||
|
|
input mmio_axi4_0_r_valid,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio RID" *)
|
||
|
|
input [3:0] mmio_axi4_0_r_bits_id,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio RDATA" *)
|
||
|
|
input [31:0] mmio_axi4_0_r_bits_data,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio RRESP" *)
|
||
|
|
input [1:0] mmio_axi4_0_r_bits_resp,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 mmio RLAST" *)
|
||
|
|
input mmio_axi4_0_r_bits_last,
|
||
|
|
|
||
|
|
output macIO_mdc,
|
||
|
|
inout mdio,
|
||
|
|
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII TX_CLK" *)
|
||
|
|
input macIO_mtx_clk_pad_i,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII TXD" *)
|
||
|
|
output [3:0] macIO_mtxd_pad_o,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII TX_EN" *)
|
||
|
|
output macIO_mtxen_pad_o,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII RX_CLK" *)
|
||
|
|
input macIO_mrx_clk_pad_i,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII RXD" *)
|
||
|
|
input [3:0] macIO_mrxd_pad_i,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII RX_DV" *)
|
||
|
|
input macIO_mrxdv_pad_i,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII RX_ER" *)
|
||
|
|
input macIO_mrxerr_pad_i,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII COL" *)
|
||
|
|
input macIO_mcoll_pad_i,
|
||
|
|
(* X_INTERFACE_INFO = "xilinx.com:interface:mii:1.0 MII CRS" *)
|
||
|
|
input macIO_mcrs_pad_i
|
||
|
|
);
|
||
|
|
|
||
|
|
|
||
|
|
wire active;
|
||
|
|
wire mdi;
|
||
|
|
wire mdo;
|
||
|
|
wire mdoEn;
|
||
|
|
|
||
|
|
|
||
|
|
ExampleRocketSystem i_rocketChip(
|
||
|
|
.clock(clock),
|
||
|
|
.reset(reset),
|
||
|
|
.resetctrl_hartIsInReset_0(reset),
|
||
|
|
.debug_clock(clock),
|
||
|
|
.debug_reset(reset),
|
||
|
|
.debug_systemjtag_jtag_TCK(debug_systemjtag_jtag_TCK),
|
||
|
|
.debug_systemjtag_jtag_TMS(debug_systemjtag_jtag_TMS),
|
||
|
|
.debug_systemjtag_jtag_TDI(debug_systemjtag_jtag_TDI),
|
||
|
|
.debug_systemjtag_jtag_TDO_data(debug_systemjtag_jtag_TDO_data),
|
||
|
|
.debug_systemjtag_jtag_TDO_driven(),
|
||
|
|
.debug_systemjtag_reset(reset),
|
||
|
|
.debug_systemjtag_mfr_id(11'b0),
|
||
|
|
.debug_systemjtag_part_number(16'b0),
|
||
|
|
.debug_systemjtag_version(4'b0),
|
||
|
|
.debug_ndreset(),
|
||
|
|
.debug_dmactive(active),
|
||
|
|
.debug_dmactiveAck(active),
|
||
|
|
.mem_axi4_0_aw_ready(mem_axi4_0_aw_ready),
|
||
|
|
.mem_axi4_0_aw_valid(mem_axi4_0_aw_valid),
|
||
|
|
.mem_axi4_0_aw_bits_id(mem_axi4_0_aw_bits_id),
|
||
|
|
.mem_axi4_0_aw_bits_addr(mem_axi4_0_aw_bits_addr),
|
||
|
|
.mem_axi4_0_aw_bits_len(mem_axi4_0_aw_bits_len),
|
||
|
|
.mem_axi4_0_aw_bits_size(mem_axi4_0_aw_bits_size),
|
||
|
|
.mem_axi4_0_aw_bits_burst(mem_axi4_0_aw_bits_burst),
|
||
|
|
.mem_axi4_0_aw_bits_lock(mem_axi4_0_aw_bits_lock),
|
||
|
|
.mem_axi4_0_aw_bits_cache(mem_axi4_0_aw_bits_cache),
|
||
|
|
.mem_axi4_0_aw_bits_prot(mem_axi4_0_aw_bits_prot),
|
||
|
|
.mem_axi4_0_aw_bits_qos(mem_axi4_0_aw_bits_qos),
|
||
|
|
.mem_axi4_0_w_ready(mem_axi4_0_w_ready),
|
||
|
|
.mem_axi4_0_w_valid(mem_axi4_0_w_valid),
|
||
|
|
.mem_axi4_0_w_bits_data(mem_axi4_0_w_bits_data),
|
||
|
|
.mem_axi4_0_w_bits_strb(mem_axi4_0_w_bits_strb),
|
||
|
|
.mem_axi4_0_w_bits_last(mem_axi4_0_w_bits_last),
|
||
|
|
.mem_axi4_0_b_ready(mem_axi4_0_b_ready),
|
||
|
|
.mem_axi4_0_b_valid(mem_axi4_0_b_valid),
|
||
|
|
.mem_axi4_0_b_bits_id(mem_axi4_0_b_bits_id),
|
||
|
|
.mem_axi4_0_b_bits_resp(mem_axi4_0_b_bits_resp),
|
||
|
|
.mem_axi4_0_ar_ready(mem_axi4_0_ar_ready),
|
||
|
|
.mem_axi4_0_ar_valid(mem_axi4_0_ar_valid),
|
||
|
|
.mem_axi4_0_ar_bits_id(mem_axi4_0_ar_bits_id),
|
||
|
|
.mem_axi4_0_ar_bits_addr(mem_axi4_0_ar_bits_addr),
|
||
|
|
.mem_axi4_0_ar_bits_len(mem_axi4_0_ar_bits_len),
|
||
|
|
.mem_axi4_0_ar_bits_size(mem_axi4_0_ar_bits_size),
|
||
|
|
.mem_axi4_0_ar_bits_burst(mem_axi4_0_ar_bits_burst),
|
||
|
|
.mem_axi4_0_ar_bits_lock(mem_axi4_0_ar_bits_lock),
|
||
|
|
.mem_axi4_0_ar_bits_cache(mem_axi4_0_ar_bits_cache),
|
||
|
|
.mem_axi4_0_ar_bits_prot(mem_axi4_0_ar_bits_prot),
|
||
|
|
.mem_axi4_0_ar_bits_qos(mem_axi4_0_ar_bits_qos),
|
||
|
|
.mem_axi4_0_r_ready(mem_axi4_0_r_ready),
|
||
|
|
.mem_axi4_0_r_valid(mem_axi4_0_r_valid),
|
||
|
|
.mem_axi4_0_r_bits_id(mem_axi4_0_r_bits_id),
|
||
|
|
.mem_axi4_0_r_bits_data(mem_axi4_0_r_bits_data),
|
||
|
|
.mem_axi4_0_r_bits_resp(mem_axi4_0_r_bits_resp),
|
||
|
|
.mem_axi4_0_r_bits_last(mem_axi4_0_r_bits_last),
|
||
|
|
|
||
|
|
.mmio_axi4_0_aw_ready(mmio_axi4_0_aw_ready),
|
||
|
|
.mmio_axi4_0_aw_valid(mmio_axi4_0_aw_valid),
|
||
|
|
.mmio_axi4_0_aw_bits_id(mmio_axi4_0_aw_bits_id),
|
||
|
|
.mmio_axi4_0_aw_bits_addr(mmio_axi4_0_aw_bits_addr),
|
||
|
|
.mmio_axi4_0_aw_bits_len(mmio_axi4_0_aw_bits_len),
|
||
|
|
.mmio_axi4_0_aw_bits_size(mmio_axi4_0_aw_bits_size),
|
||
|
|
.mmio_axi4_0_aw_bits_burst(mmio_axi4_0_aw_bits_burst),
|
||
|
|
.mmio_axi4_0_aw_bits_lock(mmio_axi4_0_aw_bits_lock),
|
||
|
|
.mmio_axi4_0_aw_bits_cache(mmio_axi4_0_aw_bits_cache),
|
||
|
|
.mmio_axi4_0_aw_bits_prot(mmio_axi4_0_aw_bits_prot),
|
||
|
|
.mmio_axi4_0_aw_bits_qos(mmio_axi4_0_aw_bits_qos),
|
||
|
|
.mmio_axi4_0_w_ready(mmio_axi4_0_w_ready),
|
||
|
|
.mmio_axi4_0_w_valid(mmio_axi4_0_w_valid),
|
||
|
|
.mmio_axi4_0_w_bits_data(mmio_axi4_0_w_bits_data),
|
||
|
|
.mmio_axi4_0_w_bits_strb(mmio_axi4_0_w_bits_strb),
|
||
|
|
.mmio_axi4_0_w_bits_last(mmio_axi4_0_w_bits_last),
|
||
|
|
.mmio_axi4_0_b_ready(mmio_axi4_0_b_ready),
|
||
|
|
.mmio_axi4_0_b_valid(mmio_axi4_0_b_valid),
|
||
|
|
.mmio_axi4_0_b_bits_id(mmio_axi4_0_b_bits_id),
|
||
|
|
.mmio_axi4_0_b_bits_resp(mmio_axi4_0_b_bits_resp),
|
||
|
|
.mmio_axi4_0_ar_ready(mmio_axi4_0_ar_ready),
|
||
|
|
.mmio_axi4_0_ar_valid(mmio_axi4_0_ar_valid),
|
||
|
|
.mmio_axi4_0_ar_bits_id(mmio_axi4_0_ar_bits_id),
|
||
|
|
.mmio_axi4_0_ar_bits_addr(mmio_axi4_0_ar_bits_addr),
|
||
|
|
.mmio_axi4_0_ar_bits_len(mmio_axi4_0_ar_bits_len),
|
||
|
|
.mmio_axi4_0_ar_bits_size(mmio_axi4_0_ar_bits_size),
|
||
|
|
.mmio_axi4_0_ar_bits_burst(mmio_axi4_0_ar_bits_burst),
|
||
|
|
.mmio_axi4_0_ar_bits_lock(mmio_axi4_0_ar_bits_lock),
|
||
|
|
.mmio_axi4_0_ar_bits_cache(mmio_axi4_0_ar_bits_cache),
|
||
|
|
.mmio_axi4_0_ar_bits_prot(mmio_axi4_0_ar_bits_prot),
|
||
|
|
.mmio_axi4_0_ar_bits_qos(mmio_axi4_0_ar_bits_qos),
|
||
|
|
.mmio_axi4_0_r_ready(mmio_axi4_0_r_ready),
|
||
|
|
.mmio_axi4_0_r_valid(mmio_axi4_0_r_valid),
|
||
|
|
.mmio_axi4_0_r_bits_id(mmio_axi4_0_r_bits_id),
|
||
|
|
.mmio_axi4_0_r_bits_data(mmio_axi4_0_r_bits_data),
|
||
|
|
.mmio_axi4_0_r_bits_resp(mmio_axi4_0_r_bits_resp),
|
||
|
|
.mmio_axi4_0_r_bits_last(mmio_axi4_0_r_bits_last),
|
||
|
|
.interrupts(2'b0),
|
||
|
|
.macIO_mdi(mdi),
|
||
|
|
.macIO_mdc(macIO_mdc),
|
||
|
|
.macIO_mdo(mdo),
|
||
|
|
.macIO_mdoEn(mdoEn),
|
||
|
|
.macIO_mtx_clk_pad_i(macIO_mtx_clk_pad_i),
|
||
|
|
.macIO_mtxd_pad_o(macIO_mtxd_pad_o),
|
||
|
|
.macIO_mtxen_pad_o(macIO_mtxen_pad_o),
|
||
|
|
.macIO_mtxerr_pad_o(),
|
||
|
|
.macIO_mrx_clk_pad_i(macIO_mrx_clk_pad_i),
|
||
|
|
.macIO_mrxd_pad_i(macIO_mrxd_pad_i),
|
||
|
|
.macIO_mrxdv_pad_i(macIO_mrxdv_pad_i),
|
||
|
|
.macIO_mrxerr_pad_i(macIO_mrxerr_pad_i),
|
||
|
|
.macIO_mcoll_pad_i(macIO_mcoll_pad_i),
|
||
|
|
.macIO_mcrs_pad_i(macIO_mcrs_pad_i)
|
||
|
|
);
|
||
|
|
|
||
|
|
|
||
|
|
IOBUF #(
|
||
|
|
.DRIVE(12), // Specify the output drive strength
|
||
|
|
.IBUF_LOW_PWR("TRUE"), // Low Power - "TRUE", High Performance = "FALSE"
|
||
|
|
.IOSTANDARD("DEFAULT"), // Specify the I/O standard
|
||
|
|
.SLEW("SLOW") // Specify the output slew rate
|
||
|
|
) IOBUF_inst (
|
||
|
|
.O(mdi), // Buffer output
|
||
|
|
.IO(mdio), // Buffer inout port (connect directly to top-level port)
|
||
|
|
.I(mdo), // Buffer input
|
||
|
|
.T(mdoEn) // 3-state enable input, high=input, low=output
|
||
|
|
);
|
||
|
|
|
||
|
|
endmodule
|