fpga: x400: Add x410_400_128_rfnoc_image_core
Original-commit: 13c03d4c2f366b41f5dd526326775a499a21514c
This commit is contained in:
@@ -53,6 +53,9 @@ X410_X1_200: DEFS += $(QSFP0_10GBE) RFBW_200M=1 DRAM_CH=4*$(D
|
|||||||
X410_XG_200: DEFS += $(QSFP0_10GBE) $(QSFP1_10GBE) RFBW_200M=1 DRAM_CH=4*$(DRAM) DRAM_W=64
|
X410_XG_200: DEFS += $(QSFP0_10GBE) $(QSFP1_10GBE) RFBW_200M=1 DRAM_CH=4*$(DRAM) DRAM_W=64
|
||||||
X410_X4_200: DEFS += $(QSFP0_4X10GBE) RFBW_200M=1 DRAM_CH=4*$(DRAM) DRAM_W=64
|
X410_X4_200: DEFS += $(QSFP0_4X10GBE) RFBW_200M=1 DRAM_CH=4*$(DRAM) DRAM_W=64
|
||||||
X410_X4C_200: DEFS += $(QSFP0_4X10GBE) $(QSFP1_100GBE) RFBW_200M=1 DRAM_CH=0
|
X410_X4C_200: DEFS += $(QSFP0_4X10GBE) $(QSFP1_100GBE) RFBW_200M=1 DRAM_CH=0
|
||||||
|
X410_X1_400: DEFS += $(QSFP0_10GBE) RFBW_400M=1 DRAM_CH=4*$(DRAM) DRAM_W=128
|
||||||
|
X410_XG_400: DEFS += $(QSFP0_10GBE) $(QSFP1_10GBE) RFBW_400M=1 DRAM_CH=4*$(DRAM) DRAM_W=128
|
||||||
|
X410_X4_400: DEFS += $(QSFP0_4X10GBE) RFBW_400M=1 DRAM_CH=4*$(DRAM) DRAM_W=128
|
||||||
X410_C1_400: DEFS += $(QSFP0_100GBE) RFBW_400M=1 DRAM_CH=0
|
X410_C1_400: DEFS += $(QSFP0_100GBE) RFBW_400M=1 DRAM_CH=0
|
||||||
X410_CG_400: DEFS += $(QSFP0_100GBE) $(QSFP1_100GBE) RFBW_400M=1 DRAM_CH=0
|
X410_CG_400: DEFS += $(QSFP0_100GBE) $(QSFP1_100GBE) RFBW_400M=1 DRAM_CH=0
|
||||||
|
|
||||||
@@ -66,6 +69,7 @@ DEFS += $(OPTIONS)
|
|||||||
X410_100_DEFAULTS := DEFAULT_RFNOC_IMAGE_CORE_FILE=x410_100_rfnoc_image_core.v DEFAULT_EDGE_FILE=$(abspath x410_100_static_router.hex)
|
X410_100_DEFAULTS := DEFAULT_RFNOC_IMAGE_CORE_FILE=x410_100_rfnoc_image_core.v DEFAULT_EDGE_FILE=$(abspath x410_100_static_router.hex)
|
||||||
X410_200_DEFAULTS := DEFAULT_RFNOC_IMAGE_CORE_FILE=x410_200_rfnoc_image_core.v DEFAULT_EDGE_FILE=$(abspath x410_200_static_router.hex)
|
X410_200_DEFAULTS := DEFAULT_RFNOC_IMAGE_CORE_FILE=x410_200_rfnoc_image_core.v DEFAULT_EDGE_FILE=$(abspath x410_200_static_router.hex)
|
||||||
X410_400_DEFAULTS := DEFAULT_RFNOC_IMAGE_CORE_FILE=x410_400_rfnoc_image_core.v DEFAULT_EDGE_FILE=$(abspath x410_400_static_router.hex)
|
X410_400_DEFAULTS := DEFAULT_RFNOC_IMAGE_CORE_FILE=x410_400_rfnoc_image_core.v DEFAULT_EDGE_FILE=$(abspath x410_400_static_router.hex)
|
||||||
|
X410_400_128_DEFAULTS := DEFAULT_RFNOC_IMAGE_CORE_FILE=x410_400_128_rfnoc_image_core.v DEFAULT_EDGE_FILE=$(abspath x410_400_128_static_router.hex)
|
||||||
|
|
||||||
|
|
||||||
# Option to stop after RTL elaboration. Use this flag as a synthesis check.
|
# Option to stop after RTL elaboration. Use this flag as a synthesis check.
|
||||||
@@ -110,6 +114,9 @@ vivado_ip = make -f Makefile.x4xx.inc viv_ip NAME=$@ ARCH=$(XIL_ARCH_$1) PART_ID
|
|||||||
##X410_X1_200 | 200 MHz | 10 GbE (Lane 0) | None | 64b x 4 Ch
|
##X410_X1_200 | 200 MHz | 10 GbE (Lane 0) | None | 64b x 4 Ch
|
||||||
##X410_XG_200 | 200 MHz | 10 GbE (Lane 0) | 10 GbE (Lane 0) | 64b x 4 Ch
|
##X410_XG_200 | 200 MHz | 10 GbE (Lane 0) | 10 GbE (Lane 0) | 64b x 4 Ch
|
||||||
##X410_X4_200 | 200 MHz | 4 x 10 GbE | None | 64b x 4 Ch
|
##X410_X4_200 | 200 MHz | 4 x 10 GbE | None | 64b x 4 Ch
|
||||||
|
##X410_X1_400 | 400 MHz | 10 GbE (Lane 0) | None | 128b x 4 Ch
|
||||||
|
##X410_XG_400 | 400 MHz | 10 GbE (Lane 0) | 10 GbE (Lane 0) | 128b x 4 ch
|
||||||
|
##X410_X4_400 | 400 MHz | 4 x 10 GbE | None | 128b x 4 Ch
|
||||||
##X410_C1_400 | 400 MHz | 100 GbE | None | None
|
##X410_C1_400 | 400 MHz | 100 GbE | None | None
|
||||||
##X410_CG_400 | 400 MHz | 100 GbE | 100 GbE | None
|
##X410_CG_400 | 400 MHz | 100 GbE | 100 GbE | None
|
||||||
##* Note: Not all targets are shipped with UHD
|
##* Note: Not all targets are shipped with UHD
|
||||||
@@ -138,6 +145,18 @@ X410_X4_200: build/usrp_x410_fpga_X4_200.dts
|
|||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_200_DEFAULTS))
|
||||||
$(call post_build,X410,X4_200)
|
$(call post_build,X410,X4_200)
|
||||||
|
|
||||||
|
X410_X1_400: build/usrp_x410_fpga_X1_400.dts
|
||||||
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_128_DEFAULTS))
|
||||||
|
$(call post_build,X410,X1_400)
|
||||||
|
|
||||||
|
X410_XG_400: build/usrp_x410_fpga_XG_400.dts
|
||||||
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_128_DEFAULTS))
|
||||||
|
$(call post_build,X410,XG_400)
|
||||||
|
|
||||||
|
X410_X4_400: build/usrp_x410_fpga_X4_400.dts
|
||||||
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_128_DEFAULTS))
|
||||||
|
$(call post_build,X410,X4_400)
|
||||||
|
|
||||||
X410_C1_400: build/usrp_x410_fpga_C1_400.dts
|
X410_C1_400: build/usrp_x410_fpga_C1_400.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_DEFAULTS))
|
||||||
$(call post_build,X410,C1_400)
|
$(call post_build,X410,C1_400)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
|||||||
|
//
|
||||||
|
// Copyright 2022 Ettus Research, A National Instruments Brand
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||||
|
//
|
||||||
|
// Header: rfnoc_image_core.vh (for x410)
|
||||||
|
//
|
||||||
|
// Description:
|
||||||
|
//
|
||||||
|
// This is the header file for the RFNoC Image Core.
|
||||||
|
//
|
||||||
|
// This file was automatically generated by the RFNoC image builder tool.
|
||||||
|
// Re-running that tool will overwrite this file!
|
||||||
|
//
|
||||||
|
// File generated on: 2022-03-14T16:50:52.329591
|
||||||
|
// Source: ./x410_400_128_rfnoc_image_core.yml
|
||||||
|
// Source SHA256: 78673c977afc0a046ef08c3070fd3600aac7ba8918ce79c698731d693678cd85
|
||||||
|
//
|
||||||
|
|
||||||
|
`define CHDR_WIDTH 128
|
||||||
|
`define RFNOC_PROTOVER { 8'd1, 8'd0 }
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
# General parameters
|
||||||
|
# -----------------------------------------
|
||||||
|
schema: rfnoc_imagebuilder_args # Identifier for the schema used to validate this file
|
||||||
|
copyright: 'Ettus Research, A National Instruments Brand' # Copyright information used in file headers
|
||||||
|
license: 'SPDX-License-Identifier: LGPL-3.0-or-later' # License information used in file headers
|
||||||
|
version: '1.0' # File version
|
||||||
|
rfnoc_version: '1.0' # RFNoC protocol version
|
||||||
|
chdr_width: 128 # Bit width of the CHDR bus for this image
|
||||||
|
device: 'x410' # USRP type
|
||||||
|
image_core_name: 'x410_400_128' # Name to use for the RFNoC Image Core files
|
||||||
|
default_target: 'X410_X4_400' # Default make target
|
||||||
|
|
||||||
|
# A list of all stream endpoints in design
|
||||||
|
# ----------------------------------------
|
||||||
|
stream_endpoints:
|
||||||
|
ep0: # Stream endpoint name
|
||||||
|
ctrl: True # Endpoint passes control traffic
|
||||||
|
data: True # Endpoint passes data traffic
|
||||||
|
buff_size_bytes: 32768 # Stream endpoint buffer size
|
||||||
|
ep1:
|
||||||
|
ctrl: False
|
||||||
|
data: True
|
||||||
|
buff_size_bytes: 32768
|
||||||
|
ep2:
|
||||||
|
ctrl: False
|
||||||
|
data: True
|
||||||
|
buff_size_bytes: 32768
|
||||||
|
ep3:
|
||||||
|
ctrl: False
|
||||||
|
data: True
|
||||||
|
buff_size_bytes: 32768
|
||||||
|
ep4:
|
||||||
|
ctrl: False
|
||||||
|
data: True
|
||||||
|
buff_size_bytes: 32768
|
||||||
|
ep5:
|
||||||
|
ctrl: False
|
||||||
|
data: True
|
||||||
|
buff_size_bytes: 32768
|
||||||
|
ep6:
|
||||||
|
ctrl: False
|
||||||
|
data: True
|
||||||
|
buff_size_bytes: 32768
|
||||||
|
ep7:
|
||||||
|
ctrl: False
|
||||||
|
data: True
|
||||||
|
buff_size_bytes: 32768
|
||||||
|
|
||||||
|
# A list of all NoC blocks in design
|
||||||
|
# ----------------------------------
|
||||||
|
noc_blocks:
|
||||||
|
radio0:
|
||||||
|
block_desc: 'radio.yml'
|
||||||
|
parameters:
|
||||||
|
NUM_PORTS: 2
|
||||||
|
NIPC: RADIO_NIPC
|
||||||
|
radio1:
|
||||||
|
block_desc: 'radio.yml'
|
||||||
|
parameters:
|
||||||
|
NUM_PORTS: 2
|
||||||
|
NIPC: RADIO_NIPC
|
||||||
|
replay0:
|
||||||
|
block_desc: 'replay.yml'
|
||||||
|
parameters:
|
||||||
|
NUM_PORTS: 4
|
||||||
|
MEM_DATA_W: 128
|
||||||
|
MEM_ADDR_W: 32
|
||||||
|
|
||||||
|
# A list of all static connections in design
|
||||||
|
# ------------------------------------------
|
||||||
|
# Format: A list of connection maps (list of key-value pairs) with the following keys
|
||||||
|
# - srcblk = Source block to connect
|
||||||
|
# - srcport = Port on the source block to connect
|
||||||
|
# - dstblk = Destination block to connect
|
||||||
|
# - dstport = Port on the destination block to connect
|
||||||
|
connections:
|
||||||
|
# Daughter Board 0 Radio
|
||||||
|
- { srcblk: ep0, srcport: out0, dstblk: radio0, dstport: in_0 }
|
||||||
|
- { srcblk: radio0, srcport: out_0, dstblk: ep0, dstport: in0 }
|
||||||
|
- { srcblk: ep1, srcport: out0, dstblk: radio0, dstport: in_1 }
|
||||||
|
- { srcblk: radio0, srcport: out_1, dstblk: ep1, dstport: in0 }
|
||||||
|
#
|
||||||
|
# Daughter Board 1 Radio
|
||||||
|
- { srcblk: ep2, srcport: out0, dstblk: radio1, dstport: in_0 }
|
||||||
|
- { srcblk: radio1, srcport: out_0, dstblk: ep2, dstport: in0 }
|
||||||
|
- { srcblk: ep3, srcport: out0, dstblk: radio1, dstport: in_1 }
|
||||||
|
- { srcblk: radio1, srcport: out_1, dstblk: ep3, dstport: in0 }
|
||||||
|
#
|
||||||
|
# Replay
|
||||||
|
- { srcblk: ep4, srcport: out0, dstblk: replay0, dstport: in_0 }
|
||||||
|
- { srcblk: replay0, srcport: out_0, dstblk: ep4, dstport: in0 }
|
||||||
|
- { srcblk: ep5, srcport: out0, dstblk: replay0, dstport: in_1 }
|
||||||
|
- { srcblk: replay0, srcport: out_1, dstblk: ep5, dstport: in0 }
|
||||||
|
- { srcblk: ep6, srcport: out0, dstblk: replay0, dstport: in_2 }
|
||||||
|
- { srcblk: replay0, srcport: out_2, dstblk: ep6, dstport: in0 }
|
||||||
|
- { srcblk: ep7, srcport: out0, dstblk: replay0, dstport: in_3 }
|
||||||
|
- { srcblk: replay0, srcport: out_3, dstblk: ep7, dstport: in0 }
|
||||||
|
#
|
||||||
|
# BSP Connections
|
||||||
|
- { srcblk: radio0, srcport: ctrlport, dstblk: _device_, dstport: ctrlport_radio0 }
|
||||||
|
- { srcblk: radio1, srcport: ctrlport, dstblk: _device_, dstport: ctrlport_radio1 }
|
||||||
|
- { srcblk: _device_, srcport: radio0, dstblk: radio0, dstport: radio }
|
||||||
|
- { srcblk: _device_, srcport: radio1, dstblk: radio1, dstport: radio }
|
||||||
|
- { srcblk: _device_, srcport: time, dstblk: radio0, dstport: time }
|
||||||
|
- { srcblk: _device_, srcport: time, dstblk: radio1, dstport: time }
|
||||||
|
- { srcblk: replay0, srcport: axi_ram, dstblk: _device_, dstport: dram }
|
||||||
|
|
||||||
|
# A list of all clock domain connections in design
|
||||||
|
# ------------------------------------------------
|
||||||
|
# Format: A list of connection maps (list of key-value pairs) with the following keys
|
||||||
|
# - srcblk = Source block to connect (Always "_device_")
|
||||||
|
# - srcport = Clock domain on the source block to connect
|
||||||
|
# - dstblk = Destination block to connect
|
||||||
|
# - dstport = Clock domain on the destination block to connect
|
||||||
|
clk_domains:
|
||||||
|
- { srcblk: _device_, srcport: radio, dstblk: radio0, dstport: radio }
|
||||||
|
- { srcblk: _device_, srcport: radio, dstblk: radio1, dstport: radio }
|
||||||
|
- { srcblk: _device_, srcport: dram, dstblk: replay0, dstport: mem }
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
00000010
|
||||||
|
00400240
|
||||||
|
02400040
|
||||||
|
00800241
|
||||||
|
02410080
|
||||||
|
00c00280
|
||||||
|
028000c0
|
||||||
|
01000281
|
||||||
|
02810100
|
||||||
|
014002c0
|
||||||
|
02c00140
|
||||||
|
018002c1
|
||||||
|
02c10180
|
||||||
|
01c002c2
|
||||||
|
02c201c0
|
||||||
|
020002c3
|
||||||
|
02c30200
|
||||||
Reference in New Issue
Block a user