A Bluespec SystemVerilog Interface definition for DE10Pro projects. It defines a set of sub-interfaces exposing some of the devices available on the board to the code implementing the interface.
interface AXI4Lite_Slave #( t_h2f_lw_addr
, t_h2f_lw_data
, t_h2f_lw_awuser
, t_h2f_lw_wuser
, t_h2f_lw_buser
, t_h2f_lw_aruser
, t_h2f_lw_ruser ) axls_h2f_lw;
An AXI4 Lite slave port receiving requests from the ARM HPS embedded on the FPGA.
interface AXI4_Slave #( t_h2f_id
, t_h2f_addr
, t_h2f_data
, t_h2f_awuser
, t_h2f_wuser
, t_h2f_buser
, t_h2f_aruser
, t_h2f_ruser ) axs_h2f;
An AXI4 slave port receiving requests from the ARM HPS embedded on the FPGA.
interface AXI4_Master #( t_f2h_id
, t_f2h_addr
, t_f2h_data
, t_f2h_awuser
, t_f2h_wuser
, t_f2h_buser
, t_f2h_aruser
, t_f2h_ruser ) axm_f2h;
An AXI4 Master port sending requests to the ARM HPS embedded on the FPGA.
interface AXI4_Master #( t_ddrb_id
, t_ddrb_addr
, t_ddrb_data
, t_ddrb_awuser
, t_ddrb_wuser
, t_ddrb_buser
, t_ddrb_aruser
, t_ddrb_ruser ) axm_ddrb;
An AXI4 Master port to reach the DDR B channel.
Defined similarly to DDRB.
Defined similarly to DDRB.
interface Source #(t_link_tx) tx_north; interface Sink #(t_link_rx) rx_north; interface Source #(t_link_tx) tx_east; interface Sink #(t_link_rx) rx_east; interface Source #(t_link_tx) tx_south; interface Sink #(t_link_rx) rx_south; interface Source #(t_link_tx) tx_west; interface Sink #(t_link_rx) rx_west;
TX and RX link to be routed to the external links of the DE10.
The design can use the DE10Pro_bsv_shell interface and provide an implementation of the individual sub-interfaces.
The toDE10Pro_bsv_shell_Sig module can then be used to retreive a DE10Pro_bsv_shell_Sig interface which exposes signals with appropriate names for further usage in EDA tools (for example Quartus, with the help of the vipbundle tool).
A trivial example implementation of the interface, mkPassThroughToDRAMDE10Pro_bsv_shell, can be found in DE10Pro_bsv_shell.bsv.