diff --git a/fpga/makefile b/fpga/makefile index be5892e1250da874a4f21f2814d3058cacfae601..e13f1daa6c031f6124573e756e422bd305016875 100644 --- a/fpga/makefile +++ b/fpga/makefile @@ -47,7 +47,7 @@ TCL_OUTPUT_FILELIST := $(TCL_FLIST_DIR)/gen_flist.tcl NANOSOC_FPGA_FLOW_DIR := $(SOCLABS_NANOSOC_TECH_DIR)/fpga # NanoSoC Defines File -NANOSOC_DEFINES ?= $(NANOSOC_FPGA_FLOW_DIR)/nanosoc_defines.tcl +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) @@ -72,6 +72,10 @@ else ACCELERATOR_SUBSYSTEM = 0 endif +# Compile Testcodes and Bootrom +code: + @$(MAKE) -C $(SOCLABS_NANOSOC_TECH_DIR) code + # Generate TCL filelist from flists nanosoc_flist: @mkdir -p $(TCL_FLIST_DIR) @@ -80,11 +84,11 @@ nanosoc_flist: # Package NanoSoC Socket Components package_socket: - $(MAKE) -C $(SOCLABS_SOCDEBUG_TECH_DIR)/fpga package_socket IMP_SOCKET_DIR=$(IMP_SOCKET_DIR) RTL_SOCKET_DIR=$(RTL_SOCKET_DIR) + @$(MAKE) -C $(SOCLABS_SOCDEBUG_TECH_DIR)/fpga package_socket IMP_SOCKET_DIR=$(IMP_SOCKET_DIR) RTL_SOCKET_DIR=$(RTL_SOCKET_DIR) # Environment Variables for Packaging NanoSoC package_nanosoc: export FPGA_COMPONENT_FILELIST = $(TCL_OUTPUT_FILELIST) -package_nanosoc: export FPGA_COMPONENT_DEFINES = $(NANOSOC_DEFINES) +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) @@ -92,7 +96,7 @@ package_nanosoc: export FPGA_VENDOR = $(VENDOR) package_nanosoc: export FPGA_CORE_REV = $(NANOSOC_CORE_REV) # Package NanoSoC IP -package_nanosoc: nanosoc_flist +package_nanosoc: code nanosoc_flist @echo Packaging NanoSoC @mkdir -p $(RUN_DIR) @cd $(RUN_DIR); vivado -mode batch -source $(SOCLABS_SOCTOOLS_FLOW_DIR)/resources/fpga/package_component.tcl @@ -119,8 +123,17 @@ build_nanosoc_design: @cp $(RUN_DIR)/vivado.log $(TARGET_DIR) @echo Built NanoSoC Design +# Move Output Files +output_nanosoc_design: + @echo Moving NanoSoC Design Files + @unzip -u -o $(PROJECT_DIR)/$(DESIGN_NAME).xsa -d $(PROJECT_DIR)/export + @mkdir -p $(OUTPUT_DIR) + @cp -p $(PROJECT_DIR)/export/$(DESIGN_NAME).bit $(OUTPUT_DIR) + @cp -p $(PROJECT_DIR)/export/$(DESIGN_NAME).hwh $(OUTPUT_DIR) + # Build NanoSoC Design Flow -build_fpga: clean_fpga package_socket package_nanosoc build_nanosoc_design +build_fpga: clean_fpga package_socket package_nanosoc build_nanosoc_design output_nanosoc_design + @echo NanoSOC Design Complete # Clean FPGA Run clean_fpga: