diff --git a/fpga/build_nanosoc_design.tcl b/fpga/build_nanosoc_design.tcl index 94d2a6208b51e0a556c9e7d90b9eff31b890fbe0..4cce37148924607d5bde8e337f1d35a1ca0cc309 100644 --- a/fpga/build_nanosoc_design.tcl +++ b/fpga/build_nanosoc_design.tcl @@ -91,9 +91,4 @@ wait_on_run impl_1 write_hw_platform -fixed -include_bit -force -file $project_dir/$design_name.xsa -exec unzip -u -o $project_dir/$design_name.xsa -d $project_dir/export -exec mkdir -p $output_dir -exec cp -p $project_dir/export/$design_name.bit $output_dir -exec cp -p $project_dir/export/$design_name.hwh $output_dir - exit 0 diff --git a/fpga/makefile b/fpga/makefile index e13f1daa6c031f6124573e756e422bd305016875..597b8b3dd18a19d9049b5c82e3b740503a6f4ab3 100644 --- a/fpga/makefile +++ b/fpga/makefile @@ -46,9 +46,6 @@ TCL_OUTPUT_FILELIST := $(TCL_FLIST_DIR)/gen_flist.tcl # NanoSoC Tech Flow Dependencies NANOSOC_FPGA_FLOW_DIR := $(SOCLABS_NANOSOC_TECH_DIR)/fpga -# NanoSoC Defines File -NANOSOC_DEFINES_FILE ?= $(NANOSOC_FPGA_FLOW_DIR)/nanosoc_defines.tcl - # Directory to look for FPGA specific implementation files TARGET_DIR ?= $(NANOSOC_FPGA_FLOW_DIR)/targets/$(BOARD_NAME) TARGET_TCL_DIR := $(TARGET_DIR)/vivado_script/$(VIVIADO_VERSION) @@ -58,9 +55,9 @@ RTL_SOCKET_DIR := $(SOCLABS_SOCDEBUG_TECH_DIR)/socket/vivado_packages # Define Bitfile Output Directory depending on Platform ifeq ($(PLATFORM), bare) - OUTPUT_DIR ?= $(FPGA_IMPLEMENTATION_DIR)/output/$(BOARD_NAME) + OUTPUT_DIR ?= $(IMPLEMENTATION_DIR)/output/$(BOARD_NAME) else ifeq ($(PLATFORM), pynq) - OUTPUT_DIR ?= $(FPGA_IMPLEMENTATION_DIR)/output/$(BOARD_NAME)/overlays + OUTPUT_DIR ?= $(IMPLEMENTATION_DIR)/output/$(BOARD_NAME)/overlays endif # Is an accelerator subsystem present in the design? @@ -72,15 +69,19 @@ else ACCELERATOR_SUBSYSTEM = 0 endif +# Defines to pass to filelist compile +NANOSOC_DEFINES += ACCELERATOR_SUBSYSTEM=$(ACCELERATOR_SUBSYSTEM) + # Compile Testcodes and Bootrom code: - @$(MAKE) -C $(SOCLABS_NANOSOC_TECH_DIR) code + @echo Compiling Firmware + @$(MAKE) -C $(SOCLABS_NANOSOC_TECH_DIR) compile_all_code # Generate TCL filelist from flists nanosoc_flist: @mkdir -p $(TCL_FLIST_DIR) @(cd $(TCL_FLIST_DIR); \ - $(SOCLABS_SOCTOOLS_FLOW_DIR)/bin/filelist_compile.py -t -f $(DESIGN_VC) -o $(TCL_OUTPUT_FILELIST) -r $(IMP_NANOSOC_DIR);) + $(SOCLABS_SOCTOOLS_FLOW_DIR)/bin/filelist_compile.py -t -f $(DESIGN_VC) -o $(TCL_OUTPUT_FILELIST) -r $(IMP_NANOSOC_DIR) -d $(NANOSOC_DEFINES);) # Package NanoSoC Socket Components package_socket: @@ -88,7 +89,6 @@ package_socket: # Environment Variables for Packaging NanoSoC package_nanosoc: export FPGA_COMPONENT_FILELIST = $(TCL_OUTPUT_FILELIST) -package_nanosoc: export FPGA_COMPONENT_DEFINES = $(NANOSOC_DEFINES_FILE) package_nanosoc: export FPGA_COMPONENT_LIB = $(IMP_NANOSOC_DIR) package_nanosoc: export FPGA_ACCELERATOR = $(ACCELERATOR_SUBSYSTEM) package_nanosoc: export FPGA_DESIGN_TOP = $(FPGA_TOP) @@ -144,4 +144,6 @@ clean_fpga: # Clean ALL FPGA Implementation Directory clean_fpga_all: @echo Cleaning FPGA Implementation Directory - @rm -rf $(IMPLEMENTATION_DIR) \ No newline at end of file + @rm -rf $(IMPLEMENTATION_DIR) + @echo Cleaning Firmware + @$(MAKE) -C $(SOCLABS_NANOSOC_TECH_DIR) clean_all_code \ No newline at end of file diff --git a/fpga/nanosoc_defines.tcl b/fpga/nanosoc_defines.tcl deleted file mode 100644 index 63769afdf4d35fb6ef1df7bea68551d7addbb382..0000000000000000000000000000000000000000 --- a/fpga/nanosoc_defines.tcl +++ /dev/null @@ -1,13 +0,0 @@ -###----------------------------------------------------------------------------- -### NanoSoC Defines Script -### A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. -### -### Contributors -### -### David Mapstone (d.a.mapstone@soton.ac.uk) -### -### Copyright 2023, SoC Labs (www.soclabs.org) -###----------------------------------------------------------------------------- - -set_property generic {ACCELERATOR_SUBSYSTEM=$env(FPGA_ACCELERATOR_SUBSYSTEM)} [current_fileset] -set_property verilog_define {ACCELERATOR_SUBSYSTEM=$env(FPGA_ACCELERATOR_SUBSYSTEM)} [current_fileset] \ No newline at end of file