fpga: Add option to specify build output directory
Original-commit: 58fb72a82da8bb638dbdfe44d3be84e8382c10a2
This commit is contained in:
@@ -30,7 +30,7 @@ BUILD_VIVADO_DESIGN = \
|
|||||||
export VIV_VERILOG_DEFS="$(VERILOG_DEFS) UHD_FPGA_DIR=$(BASE_DIR)/../.."; \
|
export VIV_VERILOG_DEFS="$(VERILOG_DEFS) UHD_FPGA_DIR=$(BASE_DIR)/../.."; \
|
||||||
export VIV_INCR_BUILD=$(INCR_BUILD); \
|
export VIV_INCR_BUILD=$(INCR_BUILD); \
|
||||||
cd $(BUILD_DIR); \
|
cd $(BUILD_DIR); \
|
||||||
$(TOOLS_DIR)/scripts/launch_vivado.py --parse-config $(BUILD_DIR)/../dev_config.json -mode $(VIVADO_MODE) -source $(call RESOLVE_PATH,$(1)) -log build.log -journal $(2).jou
|
$(TOOLS_DIR)/scripts/launch_vivado.py --parse-config $(MAKEFILE_DIR)/dev_config.json -mode $(VIVADO_MODE) -source $(call RESOLVE_PATH,$(1)) -log build.log -journal $(2).jou
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
|
|||||||
@@ -27,7 +27,10 @@ SIMLIB_DIR = $(abspath $(BASE_DIR)/../sim)
|
|||||||
LIB_IP_DIR = $(abspath $(LIB_DIR)/ip)
|
LIB_IP_DIR = $(abspath $(LIB_DIR)/ip)
|
||||||
HLS_IP_DIR = $(abspath $(LIB_DIR)/hls)
|
HLS_IP_DIR = $(abspath $(LIB_DIR)/hls)
|
||||||
|
|
||||||
BUILD_BASE_DIR ?= .
|
MAKEFILE_DIR = $(abspath .)
|
||||||
|
|
||||||
|
IP_BUILD_DIR ?= $(abspath ./build-ip/$(subst /,,$(PART_ID)))
|
||||||
|
BUILD_BASE_DIR ?= $(abspath .)
|
||||||
|
|
||||||
ifdef NAME
|
ifdef NAME
|
||||||
BUILD_DIR = $(abspath $(BUILD_BASE_DIR)/build-$(NAME))
|
BUILD_DIR = $(abspath $(BUILD_BASE_DIR)/build-$(NAME))
|
||||||
@@ -35,7 +38,6 @@ else
|
|||||||
BUILD_DIR = $(abspath $(BUILD_BASE_DIR)/build)
|
BUILD_DIR = $(abspath $(BUILD_BASE_DIR)/build)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
IP_BUILD_DIR = $(abspath ./build-ip/$(subst /,,$(PART_ID)))
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
# Git Hash Retrieval
|
# Git Hash Retrieval
|
||||||
|
|||||||
+19
-18
@@ -10,12 +10,14 @@
|
|||||||
## make <Targets> <Options>
|
## make <Targets> <Options>
|
||||||
##
|
##
|
||||||
##Output:
|
##Output:
|
||||||
## build/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
||||||
## build/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
||||||
## build/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
||||||
|
|
||||||
# Base output directory for all builds
|
# Base output directory for all builds.
|
||||||
BUILD_BASE_DIR ?= .
|
BUILD_BASE_DIR ?= .
|
||||||
|
# Base directory for the build outputs.
|
||||||
|
BUILD_OUTPUT_DIR ?= $(BUILD_BASE_DIR)/build
|
||||||
|
|
||||||
# Initialize a build seed. This can be changed to randomly affect build results.
|
# Initialize a build seed. This can be changed to randomly affect build results.
|
||||||
BUILD_SEED ?= 0
|
BUILD_SEED ?= 0
|
||||||
@@ -45,11 +47,11 @@ vivado_ip = make -f Makefile.e31x.inc viv_ip NAME=$@ ARCH=$(XIL_ARCH_$1) P
|
|||||||
# post_build($1=Device, $2=Option)
|
# post_build($1=Device, $2=Option)
|
||||||
ifeq ($(TARGET),bin)
|
ifeq ($(TARGET),bin)
|
||||||
post_build = @\
|
post_build = @\
|
||||||
mkdir -p build; \
|
mkdir -p $(BUILD_OUTPUT_DIR); \
|
||||||
echo "Exporting bitstream file..."; \
|
echo "Exporting bitstream file..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)/e31x.bit build/usrp_`echo $(2) | tr A-Z a-z`_fpga.bit; \
|
cp $(BUILD_BASE_DIR)/build-$(1)/e31x.bit $(BUILD_OUTPUT_DIR)/usrp_`echo $(2) | tr A-Z a-z`_fpga.bit; \
|
||||||
echo "Exporting build report..."; \
|
echo "Exporting build report..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)/build.rpt build/usrp_`echo $(2) | tr A-Z a-z`_fpga.rpt; \
|
cp $(BUILD_BASE_DIR)/build-$(1)/build.rpt $(BUILD_OUTPUT_DIR)/usrp_`echo $(2) | tr A-Z a-z`_fpga.rpt; \
|
||||||
echo "Build DONE ... $(1)";
|
echo "Build DONE ... $(1)";
|
||||||
else
|
else
|
||||||
post_build = @echo "Skipping bitfile export."
|
post_build = @echo "Skipping bitfile export."
|
||||||
@@ -70,40 +72,39 @@ E310_SG3_IP:
|
|||||||
+$(call vivado_ip,E310_SG3,E310_SG3=1)
|
+$(call vivado_ip,E310_SG3,E310_SG3=1)
|
||||||
|
|
||||||
##E310_SG1_IDLE: Build USRP E3XX idle design (Speed Grade 1).
|
##E310_SG1_IDLE: Build USRP E3XX idle design (Speed Grade 1).
|
||||||
E310_SG1_IDLE E3XX_idle: E310_SG1_IP build/usrp_e310_sg1_idle_fpga.dts
|
E310_SG1_IDLE E3XX_idle: E310_SG1_IP $(BUILD_OUTPUT_DIR)/usrp_e310_sg1_idle_fpga.dts
|
||||||
$(call vivado_build,E310_SG1,$(DEFS) E310_IDLE_IMAGE=1 E310_SG1=1)
|
$(call vivado_build,E310_SG1,$(DEFS) E310_IDLE_IMAGE=1 E310_SG1=1)
|
||||||
$(call post_build,$@,E310_SG1_IDLE)
|
$(call post_build,$@,E310_SG1_IDLE)
|
||||||
|
|
||||||
##E310_SG3_IDLE: Build USRP E3XX idle design (Speed Grade 3).
|
##E310_SG3_IDLE: Build USRP E3XX idle design (Speed Grade 3).
|
||||||
E310_SG3_IDLE E3XX_idle_sg3: E310_SG3_IP build/usrp_e310_sg3_idle_fpga.dts
|
E310_SG3_IDLE E3XX_idle_sg3: E310_SG3_IP $(BUILD_OUTPUT_DIR)/usrp_e310_sg3_idle_fpga.dts
|
||||||
$(call vivado_build,E310_SG3,$(DEFS) E310_IDLE_IMAGE=1 E310_SG3=1)
|
$(call vivado_build,E310_SG3,$(DEFS) E310_IDLE_IMAGE=1 E310_SG3=1)
|
||||||
$(call post_build,$@,E310_SG3_IDLE)
|
$(call post_build,$@,E310_SG3_IDLE)
|
||||||
|
|
||||||
##E310_SG1: Build USRP E3XX (Speed Grade 1).
|
##E310_SG1: Build USRP E3XX (Speed Grade 1).
|
||||||
E310_SG1 E310: E310_SG1_IP build/usrp_e310_sg1_fpga.dts
|
E310_SG1 E310: E310_SG1_IP $(BUILD_OUTPUT_DIR)/usrp_e310_sg1_fpga.dts
|
||||||
$(call vivado_build,E310_SG1,$(DEFS) E310_SG1=1 $(if $(DRAM),ENABLE_DRAM=1,))
|
$(call vivado_build,E310_SG1,$(DEFS) E310_SG1=1 $(if $(DRAM),ENABLE_DRAM=1,))
|
||||||
$(call post_build,$@,E310_SG1)
|
$(call post_build,$@,E310_SG1)
|
||||||
|
|
||||||
##E310_SG3: Build USRP E3XX (Speed Grade 3).
|
##E310_SG3: Build USRP E3XX (Speed Grade 3).
|
||||||
E310_SG3 E310_sg3: E310_SG3_IP build/usrp_e310_sg3_fpga.dts
|
E310_SG3 E310_sg3: E310_SG3_IP $(BUILD_OUTPUT_DIR)/usrp_e310_sg3_fpga.dts
|
||||||
$(call vivado_build,E310_SG3,$(DEFS) E310_SG3=1 $(if $(DRAM),ENABLE_DRAM=1,))
|
$(call vivado_build,E310_SG3,$(DEFS) E310_SG3=1 $(if $(DRAM),ENABLE_DRAM=1,))
|
||||||
$(call post_build,$@,E310_SG3)
|
$(call post_build,$@,E310_SG3)
|
||||||
|
|
||||||
|
$(BUILD_OUTPUT_DIR)/%.dts: dts/%.dts dts/*.dtsi
|
||||||
build/%.dts: dts/%.dts dts/*.dtsi
|
-mkdir -p $(BUILD_OUTPUT_DIR)
|
||||||
-mkdir -p build
|
|
||||||
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
|
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
|
||||||
|
|
||||||
clean: ##Clean up all target build outputs.
|
clean: ##Clean up all target build outputs.
|
||||||
@echo "Cleaning targets..."
|
@echo "Cleaning targets..."
|
||||||
@rm -rf build-E3*
|
@rm -rf $(BUILD_BASE_DIR)/build-E3*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
cleanall: ##Clean up all target and ip build outputs.
|
cleanall: ##Clean up all target and ip build outputs.
|
||||||
@echo "Cleaning targets and IP..."
|
@echo "Cleaning targets and IP..."
|
||||||
@rm -rf build-ip
|
@rm -rf build-ip
|
||||||
@rm -rf build-E3*
|
@rm -rf $(BUILD_BASE_DIR)/build-E3*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
help: ##Show this help message.
|
help: ##Show this help message.
|
||||||
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
||||||
|
|||||||
+18
-17
@@ -10,12 +10,14 @@
|
|||||||
## make <Targets> <Options>
|
## make <Targets> <Options>
|
||||||
##
|
##
|
||||||
##Output:
|
##Output:
|
||||||
## build/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
||||||
## build/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
||||||
## build/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
||||||
|
|
||||||
# Base output directory for all builds
|
# Base output directory for all builds.
|
||||||
BUILD_BASE_DIR ?= .
|
BUILD_BASE_DIR ?= .
|
||||||
|
# Base directory for the build outputs.
|
||||||
|
BUILD_OUTPUT_DIR ?= $(BUILD_BASE_DIR)/build
|
||||||
|
|
||||||
# Initialize a build seed. This can be changed to randomly affect build results.
|
# Initialize a build seed. This can be changed to randomly affect build results.
|
||||||
BUILD_SEED ?= 0
|
BUILD_SEED ?= 0
|
||||||
@@ -48,11 +50,11 @@ vivado_ip = make -f Makefile.e320.inc viv_ip NAME=$@ ARCH=$(XIL_ARCH_$1) P
|
|||||||
# post_build($1=Device, $2=Option)
|
# post_build($1=Device, $2=Option)
|
||||||
ifeq ($(TARGET),bin)
|
ifeq ($(TARGET),bin)
|
||||||
post_build = @\
|
post_build = @\
|
||||||
mkdir -p build; \
|
mkdir -p $(BUILD_OUTPUT_DIR); \
|
||||||
echo "Exporting bitstream file..."; \
|
echo "Exporting bitstream file..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/e320.bit build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/e320.bit $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
||||||
echo "Exporting build report..."; \
|
echo "Exporting build report..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
||||||
echo "Build DONE ... $(1)_$(2)";
|
echo "Build DONE ... $(1)_$(2)";
|
||||||
else
|
else
|
||||||
post_build = @echo "Skipping bitfile export."
|
post_build = @echo "Skipping bitfile export."
|
||||||
@@ -69,35 +71,34 @@ E320_IP:
|
|||||||
+$(call vivado_ip,E320,$(XG_DEFS) E320=1)
|
+$(call vivado_ip,E320,$(XG_DEFS) E320=1)
|
||||||
|
|
||||||
##E320_1G: 1GigE on SFP+ Port.
|
##E320_1G: 1GigE on SFP+ Port.
|
||||||
E320_1G: E320_IP build/usrp_e320_fpga_1G.dts
|
E320_1G: E320_IP $(BUILD_OUTPUT_DIR)/usrp_e320_fpga_1G.dts
|
||||||
$(call vivado_build,E320,$(1G_DEFS) E320=1)
|
$(call vivado_build,E320,$(1G_DEFS) E320=1)
|
||||||
$(call post_build,E320,1G)
|
$(call post_build,E320,1G)
|
||||||
|
|
||||||
##E320_XG: 10GigE on SFP+ Port.
|
##E320_XG: 10GigE on SFP+ Port.
|
||||||
E320_XG: E320_IP build/usrp_e320_fpga_XG.dts
|
E320_XG: E320_IP $(BUILD_OUTPUT_DIR)/usrp_e320_fpga_XG.dts
|
||||||
$(call vivado_build,E320,$(XG_DEFS) E320=1)
|
$(call vivado_build,E320,$(XG_DEFS) E320=1)
|
||||||
$(call post_build,E320,XG)
|
$(call post_build,E320,XG)
|
||||||
|
|
||||||
##E320_AA: Aurora on SFP+ Port.
|
##E320_AA: Aurora on SFP+ Port.
|
||||||
E320_AA: E320_IP build/usrp_e320_fpga_AA.dts
|
E320_AA: E320_IP $(BUILD_OUTPUT_DIR)/usrp_e320_fpga_AA.dts
|
||||||
$(call vivado_build,E320,$(AA_DEFS) E320=1)
|
$(call vivado_build,E320,$(AA_DEFS) E320=1)
|
||||||
$(call post_build,E320,AA)
|
$(call post_build,E320,AA)
|
||||||
|
|
||||||
|
$(BUILD_OUTPUT_DIR)/%.dts: dts/%.dts dts/*.dtsi
|
||||||
build/%.dts: dts/%.dts dts/*.dtsi
|
-mkdir -p $(BUILD_OUTPUT_DIR)
|
||||||
-mkdir -p build
|
|
||||||
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
|
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
|
||||||
|
|
||||||
clean: ##Clean up all target build outputs.
|
clean: ##Clean up all target build outputs.
|
||||||
@echo "Cleaning targets..."
|
@echo "Cleaning targets..."
|
||||||
@rm -rf build-E3*_*
|
@rm -rf $(BUILD_BASE_DIR)/build-E3*_*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
cleanall: ##Clean up all target and ip build outputs.
|
cleanall: ##Clean up all target and ip build outputs.
|
||||||
@echo "Cleaning targets and IP..."
|
@echo "Cleaning targets and IP..."
|
||||||
@rm -rf build-ip
|
@rm -rf build-ip
|
||||||
@rm -rf build-E3*_*
|
@rm -rf $(BUILD_BASE_DIR)/build-E3*_*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
help: ##Show this help message.
|
help: ##Show this help message.
|
||||||
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
||||||
|
|||||||
+33
-31
@@ -11,9 +11,9 @@
|
|||||||
## make <Targets> <Options>
|
## make <Targets> <Options>
|
||||||
##
|
##
|
||||||
##Output:
|
##Output:
|
||||||
## build/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
||||||
## build/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
||||||
## build/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
||||||
|
|
||||||
# Debug Options
|
# Debug Options
|
||||||
# Uncomment this line or add to make arg to omit radio_clk (sourced from db) and use bus_clk as radio_clk
|
# Uncomment this line or add to make arg to omit radio_clk (sourced from db) and use bus_clk as radio_clk
|
||||||
@@ -23,8 +23,10 @@
|
|||||||
# Uncomment this line to add four example Aurora loopback lanes on the QSFP NPIO bus.
|
# Uncomment this line to add four example Aurora loopback lanes on the QSFP NPIO bus.
|
||||||
# OPTIONS += QSFP_LANES=4
|
# OPTIONS += QSFP_LANES=4
|
||||||
|
|
||||||
# Base output directory for all builds
|
# Base output directory for all builds.
|
||||||
BUILD_BASE_DIR ?= .
|
BUILD_BASE_DIR ?= .
|
||||||
|
# Base directory for the build outputs.
|
||||||
|
BUILD_OUTPUT_DIR ?= $(BUILD_BASE_DIR)/build
|
||||||
|
|
||||||
# Initialize a build seed. This can be changed to randomly affect build results.
|
# Initialize a build seed. This can be changed to randomly affect build results.
|
||||||
BUILD_SEED ?= 0
|
BUILD_SEED ?= 0
|
||||||
@@ -71,11 +73,11 @@ vivado_ip = make -f Makefile.n3xx.inc viv_ip NAME=$@ ARCH=$(XIL_ARCH_$1) P
|
|||||||
# post_build($1=Device, $2=Option)
|
# post_build($1=Device, $2=Option)
|
||||||
ifeq ($(TARGET),bin)
|
ifeq ($(TARGET),bin)
|
||||||
post_build = @\
|
post_build = @\
|
||||||
mkdir -p build; \
|
mkdir -p $(BUILD_OUTPUT_DIR); \
|
||||||
echo "Exporting bitstream file..."; \
|
echo "Exporting bitstream file..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/n3xx.bit build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/n3xx.bit $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
||||||
echo "Exporting build report..."; \
|
echo "Exporting build report..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
||||||
echo "Build DONE ... $(1)_$(2)";
|
echo "Build DONE ... $(1)_$(2)";
|
||||||
else
|
else
|
||||||
post_build = @echo "Skipping bitfile export."
|
post_build = @echo "Skipping bitfile export."
|
||||||
@@ -98,109 +100,109 @@ N3X0_IP:
|
|||||||
+$(call vivado_ip,N310,$(HG_DEFS) N310=1,$(N310_DEFAULTS))
|
+$(call vivado_ip,N310,$(HG_DEFS) N310=1,$(N310_DEFAULTS))
|
||||||
|
|
||||||
##N310_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N310_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N310_WX: N3X0_IP build/usrp_n310_fpga_WX.dts
|
N310_WX: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n310_fpga_WX.dts
|
||||||
$(call vivado_build,N310,$(WX_DEFS) N310=1,$(N310_DEFAULTS))
|
$(call vivado_build,N310,$(WX_DEFS) N310=1,$(N310_DEFAULTS))
|
||||||
$(call post_build,N310,WX)
|
$(call post_build,N310,WX)
|
||||||
|
|
||||||
##N310_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N310_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N310_HG: N3X0_IP build/usrp_n310_fpga_HG.dts
|
N310_HG: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n310_fpga_HG.dts
|
||||||
$(call vivado_build,N310,$(HG_DEFS) N310=1,$(N310_DEFAULTS))
|
$(call vivado_build,N310,$(HG_DEFS) N310=1,$(N310_DEFAULTS))
|
||||||
$(call post_build,N310,HG)
|
$(call post_build,N310,HG)
|
||||||
|
|
||||||
##N310_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N310_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N310_XG: N3X0_IP build/usrp_n310_fpga_XG.dts
|
N310_XG: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n310_fpga_XG.dts
|
||||||
$(call vivado_build,N310,$(XG_DEFS) N310=1,$(N310_DEFAULTS))
|
$(call vivado_build,N310,$(XG_DEFS) N310=1,$(N310_DEFAULTS))
|
||||||
$(call post_build,N310,XG)
|
$(call post_build,N310,XG)
|
||||||
|
|
||||||
##N310_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
##N310_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
||||||
N310_HA: N3X0_IP build/usrp_n310_fpga_HA.dts
|
N310_HA: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n310_fpga_HA.dts
|
||||||
$(call vivado_build,N310,$(HA_DEFS) N310=1,$(N310_DEFAULTS))
|
$(call vivado_build,N310,$(HA_DEFS) N310=1,$(N310_DEFAULTS))
|
||||||
$(call post_build,N310,HA)
|
$(call post_build,N310,HA)
|
||||||
|
|
||||||
##N310_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
##N310_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
||||||
N310_XA: N3X0_IP build/usrp_n310_fpga_XA.dts
|
N310_XA: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n310_fpga_XA.dts
|
||||||
$(call vivado_build,N310,$(XA_DEFS) N310=1,$(N310_DEFAULTS))
|
$(call vivado_build,N310,$(XA_DEFS) N310=1,$(N310_DEFAULTS))
|
||||||
$(call post_build,N310,XA)
|
$(call post_build,N310,XA)
|
||||||
|
|
||||||
##N310_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
|
##N310_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
|
||||||
N310_AA: N3X0_IP build/usrp_n310_fpga_AA.dts
|
N310_AA: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n310_fpga_AA.dts
|
||||||
$(call vivado_build,N310,$(AA_DEFS) N310=1,$(N310AA_DEFAULTS))
|
$(call vivado_build,N310,$(AA_DEFS) N310=1,$(N310AA_DEFAULTS))
|
||||||
$(call post_build,N310,AA)
|
$(call post_build,N310,AA)
|
||||||
|
|
||||||
##N300_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N300_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N300_WX: N300_IP build/usrp_n300_fpga_WX.dts
|
N300_WX: N300_IP $(BUILD_OUTPUT_DIR)/usrp_n300_fpga_WX.dts
|
||||||
$(call vivado_build,N300,$(WX_DEFS) N300=1,$(N300_DEFAULTS))
|
$(call vivado_build,N300,$(WX_DEFS) N300=1,$(N300_DEFAULTS))
|
||||||
$(call post_build,N300,WX)
|
$(call post_build,N300,WX)
|
||||||
|
|
||||||
##N300_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N300_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N300_HG: N300_IP build/usrp_n300_fpga_HG.dts
|
N300_HG: N300_IP $(BUILD_OUTPUT_DIR)/usrp_n300_fpga_HG.dts
|
||||||
$(call vivado_build,N300,$(HG_DEFS) N300=1,$(N300_DEFAULTS))
|
$(call vivado_build,N300,$(HG_DEFS) N300=1,$(N300_DEFAULTS))
|
||||||
$(call post_build,N300,HG)
|
$(call post_build,N300,HG)
|
||||||
|
|
||||||
##N300_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N300_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N300_XG: N300_IP build/usrp_n300_fpga_XG.dts
|
N300_XG: N300_IP $(BUILD_OUTPUT_DIR)/usrp_n300_fpga_XG.dts
|
||||||
$(call vivado_build,N300,$(XG_DEFS) N300=1,$(N300_DEFAULTS))
|
$(call vivado_build,N300,$(XG_DEFS) N300=1,$(N300_DEFAULTS))
|
||||||
$(call post_build,N300,XG)
|
$(call post_build,N300,XG)
|
||||||
|
|
||||||
##N300_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
##N300_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
||||||
N300_HA: N300_IP build/usrp_n300_fpga_HA.dts
|
N300_HA: N300_IP $(BUILD_OUTPUT_DIR)/usrp_n300_fpga_HA.dts
|
||||||
$(call vivado_build,N300,$(HA_DEFS) N300=1,$(N300_DEFAULTS))
|
$(call vivado_build,N300,$(HA_DEFS) N300=1,$(N300_DEFAULTS))
|
||||||
$(call post_build,N300,HA)
|
$(call post_build,N300,HA)
|
||||||
|
|
||||||
##N300_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
##N300_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1.
|
||||||
N300_XA: N300_IP build/usrp_n300_fpga_XA.dts
|
N300_XA: N300_IP $(BUILD_OUTPUT_DIR)/usrp_n300_fpga_XA.dts
|
||||||
$(call vivado_build,N300,$(XA_DEFS) N300=1,$(N300_DEFAULTS))
|
$(call vivado_build,N300,$(XA_DEFS) N300=1,$(N300_DEFAULTS))
|
||||||
$(call post_build,N300,XA)
|
$(call post_build,N300,XA)
|
||||||
|
|
||||||
##N300_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
|
##N300_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
|
||||||
N300_AA: N300_IP build/usrp_n300_fpga_AA.dts
|
N300_AA: N300_IP $(BUILD_OUTPUT_DIR)/usrp_n300_fpga_AA.dts
|
||||||
$(call vivado_build,N300,$(AA_DEFS) N300=1,$(N300AA_DEFAULTS))
|
$(call vivado_build,N300,$(AA_DEFS) N300=1,$(N300AA_DEFAULTS))
|
||||||
$(call post_build,N300,AA)
|
$(call post_build,N300,AA)
|
||||||
|
|
||||||
##N320_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N320_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N320_WX: N3X0_IP build/usrp_n320_fpga_WX.dts
|
N320_WX: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n320_fpga_WX.dts
|
||||||
$(call vivado_build,N320,$(WX_DEFS) N320=1,$(N320_DEFAULTS))
|
$(call vivado_build,N320,$(WX_DEFS) N320=1,$(N320_DEFAULTS))
|
||||||
$(call post_build,N320,WX)
|
$(call post_build,N320,WX)
|
||||||
|
|
||||||
##N320_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N320_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N320_HG: N3X0_IP build/usrp_n320_fpga_HG.dts
|
N320_HG: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n320_fpga_HG.dts
|
||||||
$(call vivado_build,N320,$(HG_DEFS) N320=1,$(N320_DEFAULTS))
|
$(call vivado_build,N320,$(HG_DEFS) N320=1,$(N320_DEFAULTS))
|
||||||
$(call post_build,N320,HG)
|
$(call post_build,N320,HG)
|
||||||
|
|
||||||
##N320_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
##N320_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
|
||||||
N320_XG: N3X0_IP build/usrp_n320_fpga_XG.dts
|
N320_XG: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n320_fpga_XG.dts
|
||||||
$(call vivado_build,N320,$(XG_DEFS) N320=1,$(N320_DEFAULTS))
|
$(call vivado_build,N320,$(XG_DEFS) N320=1,$(N320_DEFAULTS))
|
||||||
$(call post_build,N320,XG)
|
$(call post_build,N320,XG)
|
||||||
|
|
||||||
##N320_XQ: WR on SFP+ Port0, 10Gig on QSFP+ Port0,1.
|
##N320_XQ: WR on SFP+ Port0, 10Gig on QSFP+ Port0,1.
|
||||||
N320_XQ: N3X0_IP build/usrp_n320_fpga_XQ.dts
|
N320_XQ: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n320_fpga_XQ.dts
|
||||||
$(call vivado_build,N320,$(XQ_DEFS) N320=1,$(N320_DEFAULTS))
|
$(call vivado_build,N320,$(XQ_DEFS) N320=1,$(N320_DEFAULTS))
|
||||||
$(call post_build,N320,XQ)
|
$(call post_build,N320,XQ)
|
||||||
|
|
||||||
##N320_AQ: 10Gig on SFP+ Port0,1 Aurora on QSFP+ Port0,1,2,3.
|
##N320_AQ: 10Gig on SFP+ Port0,1 Aurora on QSFP+ Port0,1,2,3.
|
||||||
N320_AQ: N3X0_IP build/usrp_n320_fpga_AQ.dts
|
N320_AQ: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n320_fpga_AQ.dts
|
||||||
$(call vivado_build,N320,$(AQ_DEFS) N320=1,$(N320_DEFAULTS))
|
$(call vivado_build,N320,$(AQ_DEFS) N320=1,$(N320_DEFAULTS))
|
||||||
$(call post_build,N320,AQ)
|
$(call post_build,N320,AQ)
|
||||||
|
|
||||||
##N320_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
|
##N320_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
|
||||||
N320_AA: N3X0_IP build/usrp_n320_fpga_AA.dts
|
N320_AA: N3X0_IP $(BUILD_OUTPUT_DIR)/usrp_n320_fpga_AA.dts
|
||||||
$(call vivado_build,N320,$(AA_DEFS) N320=1,$(N320AA_DEFAULTS))
|
$(call vivado_build,N320,$(AA_DEFS) N320=1,$(N320AA_DEFAULTS))
|
||||||
$(call post_build,N320,AA)
|
$(call post_build,N320,AA)
|
||||||
|
|
||||||
build/%.dts: dts/%.dts dts/*.dtsi
|
$(BUILD_OUTPUT_DIR)/%.dts: dts/%.dts dts/*.dtsi
|
||||||
-mkdir -p build
|
-mkdir -p $(BUILD_OUTPUT_DIR)
|
||||||
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
|
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
|
||||||
|
|
||||||
clean: ##Clean up all target build outputs.
|
clean: ##Clean up all target build outputs.
|
||||||
@echo "Cleaning targets..."
|
@echo "Cleaning targets..."
|
||||||
@rm -rf build-N3*_*
|
@rm -rf $(BUILD_BASE_DIR)/build-N3*_*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
cleanall: ##Clean up all target and ip build outputs.
|
cleanall: ##Clean up all target and ip build outputs.
|
||||||
@echo "Cleaning targets and IP..."
|
@echo "Cleaning targets and IP..."
|
||||||
@rm -rf build-ip
|
@rm -rf build-ip
|
||||||
@rm -rf build-N3*_*
|
@rm -rf $(BUILD_BASE_DIR)/build-N3*_*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
help: ##Show this help message.
|
help: ##Show this help message.
|
||||||
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
||||||
|
|||||||
+17
-15
@@ -10,10 +10,10 @@
|
|||||||
## make <Targets> <Options>
|
## make <Targets> <Options>
|
||||||
##
|
##
|
||||||
##Output:
|
##Output:
|
||||||
## build/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
||||||
## build/usrp_<product>_fpga_<image_type>.bin: Configuration bitstream without header
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.bin: Configuration bitstream without header
|
||||||
## build/usrp_<product>_fpga_<image_type>.lvbitx: Configuration bitstream for PCIe (NI-RIO)
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.lvbitx: Configuration bitstream for PCIe (NI-RIO)
|
||||||
## build/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
||||||
|
|
||||||
# Debug Options
|
# Debug Options
|
||||||
# Uncomment the following line to add a debug UART on GPIO 10 & 11
|
# Uncomment the following line to add a debug UART on GPIO 10 & 11
|
||||||
@@ -21,8 +21,10 @@
|
|||||||
|
|
||||||
CREATE_LVBITX=python3 ../../lib/io_port2/create-lvbitx.py
|
CREATE_LVBITX=python3 ../../lib/io_port2/create-lvbitx.py
|
||||||
|
|
||||||
# Base output directory for all builds
|
# Base output directory for all builds.
|
||||||
BUILD_BASE_DIR ?= .
|
BUILD_BASE_DIR ?= .
|
||||||
|
# Base directory for the build outputs.
|
||||||
|
BUILD_OUTPUT_DIR ?= $(BUILD_BASE_DIR)/build
|
||||||
|
|
||||||
# Initialize a build seed. This can be changed to randomly affect build results.
|
# Initialize a build seed. This can be changed to randomly affect build results.
|
||||||
BUILD_SEED ?= 0
|
BUILD_SEED ?= 0
|
||||||
@@ -59,15 +61,15 @@ vivado_ip = make -f Makefile.x300.inc viv_ip NAME=$@ ARCH=$(XIL_ARCH_$1) P
|
|||||||
# post_build($1=Device, $2=Option)
|
# post_build($1=Device, $2=Option)
|
||||||
ifeq ($(TARGET),bin)
|
ifeq ($(TARGET),bin)
|
||||||
post_build = @\
|
post_build = @\
|
||||||
mkdir -p build; \
|
mkdir -p $(BUILD_OUTPUT_DIR); \
|
||||||
echo "Exporting bitstream files..."; \
|
echo "Exporting bitstream files..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/x300.bin build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bin; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/x300.bin $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bin; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/x300.bit build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/x300.bit $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
||||||
echo "Generating LVBITX..."; \
|
echo "Generating LVBITX..."; \
|
||||||
$(CREATE_LVBITX) --input-bin=$(BUILD_BASE_DIR)/build-$(1)_$(2)/x300.bin --output-lvbitx=build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).lvbitx --device="USRP $(1)" x3x0_base.lvbitx; \
|
$(CREATE_LVBITX) --input-bin=$(BUILD_BASE_DIR)/build-$(1)_$(2)/x300.bin --output-lvbitx=$(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).lvbitx --device="USRP $(1)" x3x0_base.lvbitx; \
|
||||||
cp -f x3x0_base.lvbitx build/`echo $(1) | tr A-Z a-z`.lvbitx_base; \
|
cp -f x3x0_base.lvbitx $(BUILD_OUTPUT_DIR)/`echo $(1) | tr A-Z a-z`.lvbitx_base; \
|
||||||
echo "Exporting build report..."; \
|
echo "Exporting build report..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
||||||
echo "Build DONE ... $(1)_$(2)";
|
echo "Build DONE ... $(1)_$(2)";
|
||||||
else
|
else
|
||||||
post_build = @echo "Skipping bitfile export."
|
post_build = @echo "Skipping bitfile export."
|
||||||
@@ -139,14 +141,14 @@ X300_XA: X300_IP
|
|||||||
|
|
||||||
clean: ##Clean up all target build outputs.
|
clean: ##Clean up all target build outputs.
|
||||||
@echo "Cleaning targets..."
|
@echo "Cleaning targets..."
|
||||||
@rm -rf build-X3*_*
|
@rm -rf $(BUILD_BASE_DIR)/build-X3*_*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
cleanall: ##Clean up all target and ip build outputs.
|
cleanall: ##Clean up all target and ip build outputs.
|
||||||
@echo "Cleaning targets and IP..."
|
@echo "Cleaning targets and IP..."
|
||||||
@rm -rf build-ip
|
@rm -rf build-ip
|
||||||
@rm -rf build-X3*_*
|
@rm -rf $(BUILD_BASE_DIR)/build-X3*_*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
help: ##Show this help message.
|
help: ##Show this help message.
|
||||||
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
||||||
|
|||||||
+46
-43
@@ -12,12 +12,15 @@
|
|||||||
## make <Targets> <Options>
|
## make <Targets> <Options>
|
||||||
##
|
##
|
||||||
##Output:
|
##Output:
|
||||||
## build/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.bit: Configuration bitstream with header
|
||||||
## build/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.dts: Device tree source file
|
||||||
## build/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
## $(BUILD_OUTPUT_DIR)/usrp_<product>_fpga_<image_type>.rpt: Build report (includes utilization and timing summary)
|
||||||
|
|
||||||
# Base output directory for all builds
|
|
||||||
|
# Base output directory for all builds.
|
||||||
BUILD_BASE_DIR ?= .
|
BUILD_BASE_DIR ?= .
|
||||||
|
# Base directory for the build outputs.
|
||||||
|
BUILD_OUTPUT_DIR ?= $(BUILD_BASE_DIR)/build
|
||||||
|
|
||||||
# Definitions
|
# Definitions
|
||||||
# MGT Types from x4xx_mgt_type.vh
|
# MGT Types from x4xx_mgt_type.vh
|
||||||
@@ -118,11 +121,11 @@ vivado_ip = make -f Makefile.x4xx.inc viv_ip NAME=$@ ARCH=$(XIL_ARCH_$1) P
|
|||||||
# vivado_build($1=Device, $2=Option)
|
# vivado_build($1=Device, $2=Option)
|
||||||
ifeq ($(TARGET),bin)
|
ifeq ($(TARGET),bin)
|
||||||
post_build = @\
|
post_build = @\
|
||||||
mkdir -p build; \
|
mkdir -p $(BUILD_OUTPUT_DIR); \
|
||||||
echo "Exporting bitstream file..."; \
|
echo "Exporting bitstream file..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/x4xx.bit build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/x4xx.bit $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).bit; \
|
||||||
echo "Exporting build report..."; \
|
echo "Exporting build report..."; \
|
||||||
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt build/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
cp $(BUILD_BASE_DIR)/build-$(1)_$(2)/build.rpt $(BUILD_OUTPUT_DIR)/usrp_`echo $(1) | tr A-Z a-z`_fpga_$(2).rpt; \
|
||||||
echo "Build DONE ... $(1)_$(2)";
|
echo "Build DONE ... $(1)_$(2)";
|
||||||
else
|
else
|
||||||
post_build = @echo "Skipping bitfile export."
|
post_build = @echo "Skipping bitfile export."
|
||||||
@@ -162,111 +165,111 @@ endif
|
|||||||
##* Note: Not all targets are shipped with UHD
|
##* Note: Not all targets are shipped with UHD
|
||||||
##* Note: Some YAML configurations might not use all available DRAM channels.
|
##* Note: Some YAML configurations might not use all available DRAM channels.
|
||||||
|
|
||||||
X410_X1_100: X410_IP build/usrp_x410_fpga_X1_100.dts
|
X410_X1_100: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_X1_100.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,X1_100)
|
$(call post_build,X410,X1_100)
|
||||||
|
|
||||||
X410_XG_100: X410_IP build/usrp_x410_fpga_XG_100.dts
|
X410_XG_100: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_XG_100.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,XG_100)
|
$(call post_build,X410,XG_100)
|
||||||
|
|
||||||
X410_X4_100: X410_IP build/usrp_x410_fpga_X4_100.dts
|
X410_X4_100: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_X4_100.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_100)
|
$(call post_build,X410,X4_100)
|
||||||
|
|
||||||
X410_X4C_100: X410_IP build/usrp_x410_fpga_X4C_100.dts
|
X410_X4C_100: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_X4C_100.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_X4C_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_X4C_200_DEFAULTS))
|
||||||
$(call post_build,X410,X4C_100)
|
$(call post_build,X410,X4C_100)
|
||||||
|
|
||||||
X410_C1_100: X410_IP build/usrp_x410_fpga_C1_100.dts
|
X410_C1_100: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_C1_100.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
||||||
$(call post_build,X410,C1_100)
|
$(call post_build,X410,C1_100)
|
||||||
|
|
||||||
X410_UC_100: X410_IP build/usrp_x410_fpga_UC_100.dts
|
X410_UC_100: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_UC_100.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
||||||
$(call post_build,X410,UC_100)
|
$(call post_build,X410,UC_100)
|
||||||
|
|
||||||
X410_X1_200: X410_IP build/usrp_x410_fpga_X1_200.dts
|
X410_X1_200: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_X1_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,X1_200)
|
$(call post_build,X410,X1_200)
|
||||||
|
|
||||||
X410_XG_200: X410_IP build/usrp_x410_fpga_XG_200.dts
|
X410_XG_200: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_XG_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,XG_200)
|
$(call post_build,X410,XG_200)
|
||||||
|
|
||||||
X410_X4_200: X410_IP build/usrp_x410_fpga_X4_200.dts
|
X410_X4_200: X410_IP $(BUILD_OUTPUT_DIR)/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_X4C_200: X410_IP build/usrp_x410_fpga_X4C_200.dts
|
X410_X4C_200: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_X4C_200.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_X4C_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_X4C_200_DEFAULTS))
|
||||||
$(call post_build,X410,X4C_200)
|
$(call post_build,X410,X4C_200)
|
||||||
|
|
||||||
X410_C1_200: X410_IP build/usrp_x410_fpga_C1_200.dts
|
X410_C1_200: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_C1_200.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
||||||
$(call post_build,X410,C1_200)
|
$(call post_build,X410,C1_200)
|
||||||
|
|
||||||
X410_UC_200: X410_IP build/usrp_x410_fpga_UC_200.dts
|
X410_UC_200: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_UC_200.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
||||||
$(call post_build,X410,UC_200)
|
$(call post_build,X410,UC_200)
|
||||||
|
|
||||||
X410_X1_400: X410_IP build/usrp_x410_fpga_X1_400.dts
|
X410_X1_400: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_X1_400.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_D_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_D_DEFAULTS))
|
||||||
$(call post_build,X410,X1_400)
|
$(call post_build,X410,X1_400)
|
||||||
|
|
||||||
X410_XG_400: X410_IP build/usrp_x410_fpga_XG_400.dts
|
X410_XG_400: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_XG_400.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_D_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_D_DEFAULTS))
|
||||||
$(call post_build,X410,XG_400)
|
$(call post_build,X410,XG_400)
|
||||||
|
|
||||||
X410_X4_400: X410_IP build/usrp_x410_fpga_X4_400.dts
|
X410_X4_400: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_X4_400.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_D_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_400_D_DEFAULTS))
|
||||||
$(call post_build,X410,X4_400)
|
$(call post_build,X410,X4_400)
|
||||||
|
|
||||||
X410_C1_400: X410_IP build/usrp_x410_fpga_C1_400.dts
|
X410_C1_400: X410_IP $(BUILD_OUTPUT_DIR)/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)
|
||||||
|
|
||||||
X410_UC_400: X410_IP build/usrp_x410_fpga_UC_400.dts
|
X410_UC_400: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_UC_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,UC_400)
|
$(call post_build,X410,UC_400)
|
||||||
|
|
||||||
X410_CG_400: X410_IP build/usrp_x410_fpga_CG_400.dts
|
X410_CG_400: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_CG_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,CG_400)
|
$(call post_build,X410,CG_400)
|
||||||
|
|
||||||
X440_X4_200: X440_IP build/usrp_x440_fpga_X4_200.dts
|
X440_X4_200: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_X4_200.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_200_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_200_DEFAULTS))
|
||||||
$(call post_build,X440,X4_200)
|
$(call post_build,X440,X4_200)
|
||||||
|
|
||||||
X440_X1_400: X440_IP build/usrp_x440_fpga_X1_400.dts
|
X440_X1_400: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_X1_400.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_D_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_D_DEFAULTS))
|
||||||
$(call post_build,X440,X1_400)
|
$(call post_build,X440,X1_400)
|
||||||
|
|
||||||
X440_X4_400: X440_IP build/usrp_x440_fpga_X4_400.dts
|
X440_X4_400: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_X4_400.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_D_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_D_DEFAULTS))
|
||||||
$(call post_build,X440,X4_400)
|
$(call post_build,X440,X4_400)
|
||||||
|
|
||||||
X440_C1_400: X440_IP build/usrp_x440_fpga_C1_400.dts
|
X440_C1_400: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_C1_400.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_DEFAULTS))
|
||||||
$(call post_build,X440,C1_400)
|
$(call post_build,X440,C1_400)
|
||||||
|
|
||||||
X440_CG_400: X440_IP build/usrp_x440_fpga_CG_400.dts
|
X440_CG_400: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_CG_400.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_400_DEFAULTS))
|
||||||
$(call post_build,X440,CG_400)
|
$(call post_build,X440,CG_400)
|
||||||
|
|
||||||
X440_X1_1600: X440_IP build/usrp_x440_fpga_X1_1600.dts
|
X440_X1_1600: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_X1_1600.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_D_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_D_DEFAULTS))
|
||||||
$(call post_build,X440,X1_1600)
|
$(call post_build,X440,X1_1600)
|
||||||
|
|
||||||
X440_X4_1600: X440_IP build/usrp_x440_fpga_X4_1600.dts
|
X440_X4_1600: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_X4_1600.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_D_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_D_DEFAULTS))
|
||||||
$(call post_build,X440,X4_1600)
|
$(call post_build,X440,X4_1600)
|
||||||
|
|
||||||
X440_C1_1600: X440_IP build/usrp_x440_fpga_C1_1600.dts
|
X440_C1_1600: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_C1_1600.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_DEFAULTS))
|
||||||
$(call post_build,X440,C1_1600)
|
$(call post_build,X440,C1_1600)
|
||||||
|
|
||||||
X440_CG_1600: X440_IP build/usrp_x440_fpga_CG_1600.dts
|
X440_CG_1600: X440_IP $(BUILD_OUTPUT_DIR)/usrp_x440_fpga_CG_1600.dts
|
||||||
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_DEFAULTS))
|
$(call vivado_build,X440,$(DEFS) X440=1,$(X440_1600_DEFAULTS))
|
||||||
$(call post_build,X440,CG_1600)
|
$(call post_build,X440,CG_1600)
|
||||||
|
|
||||||
@@ -277,7 +280,7 @@ X440_CG_1600: X440_IP build/usrp_x440_fpga_CG_1600.dts
|
|||||||
##-------------|-----------|----|-----------------|-----------------|------------
|
##-------------|-----------|----|-----------------|-----------------|------------
|
||||||
##X410_CG_200 | 200 | 4 | 100 GbE | 100 GbE | 64b x 4 Ch
|
##X410_CG_200 | 200 | 4 | 100 GbE | 100 GbE | 64b x 4 Ch
|
||||||
|
|
||||||
X410_CG_200: X410_IP build/usrp_x410_fpga_CG_200.dts
|
X410_CG_200: X410_IP $(BUILD_OUTPUT_DIR)/usrp_x410_fpga_CG_200.dts
|
||||||
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
$(call vivado_build,X410,$(DEFS) X410=1,$(X410_CG_200_DEFAULTS))
|
||||||
$(call post_build,X410,CG_200)
|
$(call post_build,X410,CG_200)
|
||||||
|
|
||||||
@@ -295,8 +298,8 @@ X410_IP: ##Build IP only.
|
|||||||
X440_IP: ##Build IP only.
|
X440_IP: ##Build IP only.
|
||||||
+$(call vivado_ip,X440,$(DEFS) X440=1)
|
+$(call vivado_ip,X440,$(DEFS) X440=1)
|
||||||
|
|
||||||
build/usrp_x410%.dts: dts/*.dts dts/*.dtsi
|
$(BUILD_OUTPUT_DIR)/usrp_x410%.dts: dts/*.dts dts/*.dtsi
|
||||||
-mkdir -p build
|
-mkdir -p $(BUILD_OUTPUT_DIR)
|
||||||
tools/parse_versions_for_dts.py \
|
tools/parse_versions_for_dts.py \
|
||||||
--input regmap/x410/versioning_regs_regmap_utils.vh \
|
--input regmap/x410/versioning_regs_regmap_utils.vh \
|
||||||
--output dts/x410-version-info.dtsi \
|
--output dts/x410-version-info.dtsi \
|
||||||
@@ -304,8 +307,8 @@ build/usrp_x410%.dts: dts/*.dts dts/*.dtsi
|
|||||||
${CC} -o $@ -C -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ \
|
${CC} -o $@ -C -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ \
|
||||||
$$(python3 tools/get_dts_input.py --target $@)
|
$$(python3 tools/get_dts_input.py --target $@)
|
||||||
|
|
||||||
build/usrp_x440%.dts: dts/*.dts dts/*.dtsi
|
$(BUILD_OUTPUT_DIR)/usrp_x440%.dts: dts/*.dts dts/*.dtsi
|
||||||
-mkdir -p build
|
-mkdir -p $(BUILD_OUTPUT_DIR)
|
||||||
tools/parse_versions_for_dts.py \
|
tools/parse_versions_for_dts.py \
|
||||||
--input regmap/x440/versioning_regs_regmap_utils.vh \
|
--input regmap/x440/versioning_regs_regmap_utils.vh \
|
||||||
--output dts/x440-version-info.dtsi \
|
--output dts/x440-version-info.dtsi \
|
||||||
@@ -315,14 +318,14 @@ build/usrp_x440%.dts: dts/*.dts dts/*.dtsi
|
|||||||
|
|
||||||
clean: ##Clean up all target build outputs.
|
clean: ##Clean up all target build outputs.
|
||||||
@echo "Cleaning targets..."
|
@echo "Cleaning targets..."
|
||||||
@rm -rf build-X4*
|
@rm -rf $(BUILD_BASE_DIR)/build-X4*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
cleanall: ##Clean up all target and IP build outputs.
|
cleanall: ##Clean up all target and IP build outputs.
|
||||||
@echo "Cleaning targets and IP..."
|
@echo "Cleaning targets and IP..."
|
||||||
@rm -rf build-ip
|
@rm -rf build-ip
|
||||||
@rm -rf build-X4*
|
@rm -rf $(BUILD_BASE_DIR)/build-X4*
|
||||||
@rm -rf build
|
@rm -rf $(BUILD_OUTPUT_DIR)
|
||||||
|
|
||||||
help: ##Show this help message.
|
help: ##Show this help message.
|
||||||
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
@grep -h "##" Makefile | grep -v "\"##\"" | sed -e 's/\\$$//' | sed -e 's/##//'
|
||||||
|
|||||||
Reference in New Issue
Block a user