mirror of
https://github.com/KastnerRG/riffa.git
synced 2024-12-24 22:58:54 +08:00
Adding a new feature to the makefiles, where typing make release in the top
directory will package (most of) a new release
This commit is contained in:
parent
4d0bc24319
commit
4f78805fd5
76
Makefile
Normal file
76
Makefile
Normal file
@ -0,0 +1,76 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2016, The Regents of the University of California All
|
||||
# rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# * Neither the name of The Regents of the University of California
|
||||
# nor the names of its contributors may be used to endorse or
|
||||
# promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REGENTS OF THE
|
||||
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
# ----------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------
|
||||
# Filename: Makefile
|
||||
# Version: 1.0
|
||||
# Description: Top-level makefile for building a RIFFA distribution
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include release.mk
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
RIFFA_ROOT_PATH := $(CURRENT_PATH)
|
||||
|
||||
RELEASE_VER=2.2.1
|
||||
RELEASE_DIR=riffa_$(RELEASE_VER)
|
||||
RELEASE_PATH=$(CURRENT_PATH)/$(RELEASE_DIR)
|
||||
RELEASE_SRC_DIR=$(RELEASE_DIR)/source
|
||||
RELEASE_SRC_PATH=$(CURRENT_PATH)/$(RELEASE_SRC_DIR)
|
||||
RELEASE_DOC_DIR=$(RELEASE_DIR)/documentation
|
||||
RELEASE_DOC_PATH=$(CURRENT_PATH)/$(RELEASE_DOC_DIR)
|
||||
RELEASE_INSTALL_DIR=$(RELEASE_DIR)/install
|
||||
RELEASE_INSTALL_PATH=$(CURRENT_PATH)/$(RELEASE_INSTALL_DIR)
|
||||
|
||||
VENDORS=altera xilinx
|
||||
SUBDIRS=c_c++ docs driver fpga java matlab python #install
|
||||
|
||||
all-boards:
|
||||
$(MAKE) -C fpga $(VENDORS)
|
||||
|
||||
$(RELEASE_DIR):
|
||||
mkdir $@
|
||||
|
||||
$(RELEASE_SRC_DIR): $(RELEASE_DIR) check-release
|
||||
mkdir $@
|
||||
|
||||
$(RELEASE_DOC_DIR): $(RELEASE_DIR) check-release
|
||||
mkdir $@
|
||||
|
||||
release: clean $(RELEASE_DIR) $(RELEASE_SRC_DIR) $(RELEASE_DOC_DIR) $(SUBDIRS)
|
||||
|
||||
$(SUBDIRS)::
|
||||
make -C $@ $(MAKECMDGOALS) RELEASE_SRC_PATH=$(RELEASE_SRC_PATH) RELEASE_VER=$(RELEASE_VER) RIFFA_ROOT_PATH=$(RIFFA_ROOT_PATH) RELEASE_DOC_PATH=$(RELEASE_DOC_PATH)
|
||||
|
||||
clean:
|
||||
rm -rf $(RELEASE_DIR)
|
57
c_c++/Makefile
Normal file
57
c_c++/Makefile
Normal file
@ -0,0 +1,57 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2016, The Regents of the University of California All
|
||||
# rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# * Neither the name of The Regents of the University of California
|
||||
# nor the names of its contributors may be used to endorse or
|
||||
# promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REGENTS OF THE
|
||||
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
# ----------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------
|
||||
# Filename: Makefile
|
||||
# Version: 1.0
|
||||
# Description: Makefile for including the C/C++ subdirectory in
|
||||
# a RIFFA release. Expects RELEASE_SRC_PATH to be set
|
||||
# by parent Makefile.
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
CURRENT_DIR := $(shell basename $(CURRENT_PATH))
|
||||
DEST_PATH := $(RELEASE_SRC_PATH)/$(CURRENT_DIR)/
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
release: check-release-src clean-release
|
||||
cp -r $(CURRENT_PATH) $(DEST_PATH)
|
||||
rm -r $(DEST_PATH)/Makefile
|
||||
|
||||
clean-release: check-release-src
|
||||
rm -rf $(DEST_PATH)
|
||||
|
||||
clean: check
|
||||
|
65
docs/Makefile
Normal file
65
docs/Makefile
Normal file
@ -0,0 +1,65 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2016, The Regents of the University of California All
|
||||
# rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# * Neither the name of The Regents of the University of California
|
||||
# nor the names of its contributors may be used to endorse or
|
||||
# promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REGENTS OF THE
|
||||
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
# ----------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------
|
||||
# Filename: Makefile
|
||||
# Version: 1.0
|
||||
# Description: Makefile for including the C/C++ subdirectory in
|
||||
# a RIFFA release. Expects RELEASE_SRC_PATH to be set
|
||||
# by parent Makefile.
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
CURRENT_DIR := $(shell basename $(CURRENT_PATH))
|
||||
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
all:docs
|
||||
|
||||
docs: riffa_documentation.pdf
|
||||
|
||||
riffa_documentation.pdf:riffa_documentation.tex images/* images/*/*
|
||||
pdflatex \\nonstopmode\\input riffa_documentation.tex
|
||||
pdflatex \\nonstopmode\\input riffa_documentation.tex
|
||||
pdflatex \\nonstopmode\\input riffa_documentation.tex
|
||||
|
||||
release: check-release-doc docs clean-release
|
||||
cp riffa_documentation.pdf $(RELEASE_DOC_PATH)/RIFFA_$(RELEASE_VER)_Instructions.pdf
|
||||
|
||||
clean-release: check-release-src
|
||||
rm -rf $(RELEASE_SRC_PATH)/documentation
|
||||
|
||||
clean:
|
||||
rm -rf *~ *.aux *.toc riffa_documentation.pdf *.log
|
56
driver/Makefile
Normal file
56
driver/Makefile
Normal file
@ -0,0 +1,56 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2016, The Regents of the University of California All
|
||||
# rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# * Neither the name of The Regents of the University of California
|
||||
# nor the names of its contributors may be used to endorse or
|
||||
# promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REGENTS OF THE
|
||||
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
# ----------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------
|
||||
# Filename: Makefile
|
||||
# Version: 1.0
|
||||
# Description: Makefile for including the driver subdirectory in
|
||||
# a RIFFA release. Expects RELEASE_SRC_PATH to be set
|
||||
# by parent Makefile.
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
CURRENT_DIR := $(shell basename $(CURRENT_PATH))
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
release: check-release-src clean clean-release
|
||||
cp -r $(CURRENT_PATH) $(RELEASE_SRC_PATH)/
|
||||
rm -r $(RELEASE_SRC_PATH)/$(CURRENT_DIR)/Makefile
|
||||
|
||||
clean-release: check-release-src
|
||||
rm -rf $(RELEASE_SRC_PATH)/$(CURRENT_DIR)
|
||||
|
||||
clean:
|
||||
sudo make -C linux $@
|
@ -40,19 +40,36 @@
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
RIFFA_PATH:=$(CURRENT_PATH)/riffa_hdl
|
||||
VENDORS:= xilinx altera
|
||||
CURRENT_DIR := $(shell basename $(CURRENT_PATH))
|
||||
RIFFA_ROOT_PATH:=$(CURRENT_PATH)/..
|
||||
RIFFA_HDL_PATH:=$(RIFFA_ROOT_PATH)/$(CURRENT_DIR)/riffa_hdl
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL := all
|
||||
VENDORS:= altera xilinx
|
||||
SUBDIRS = $(VENDORS)
|
||||
|
||||
all classic: $(VENDORS)
|
||||
|
||||
ultrascale:
|
||||
$(MAKE) -C xilinx $(MAKECMDGOALS) RIFFA_PATH=$(RIFFA_PATH)
|
||||
ultrascale: check-hdl
|
||||
$(MAKE) -C xilinx $(MAKECMDGOALS) RIFFA_HDL_PATH=$(RIFFA_HDL_PATH) RIFFA_ROOT_PATH=$(RIFFA_ROOT_PATH)
|
||||
|
||||
$(VENDORS)::
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) RIFFA_PATH=$(RIFFA_PATH)
|
||||
$(VENDORS):: check-hdl
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) RIFFA_HDL_PATH=$(RIFFA_HDL_PATH) RIFFA_ROOT_PATH=$(RIFFA_ROOT_PATH)
|
||||
|
||||
clean-release:check-release-src
|
||||
rm -rf $(RELEASE_SRC_PATH)/$(CURRENT_DIR)
|
||||
|
||||
destination: $(RELEASE_SRC_PATH)/fpga
|
||||
|
||||
$(RELEASE_SRC_PATH)/fpga: check-release-src
|
||||
mkdir $@
|
||||
|
||||
release: check-release-src destination $(VENDORS)
|
||||
cp -r $(CURRENT_PATH)/riffa_hdl $(RELEASE_SRC_PATH)/$(CURRENT_DIR)
|
||||
rm -r $(RELEASE_SRC_PATH)/$(CURRENT_DIR)/riffa_hdl/riffa.mk
|
||||
|
||||
.PHONY:clean $(SUBDIRS) clobber release
|
||||
|
||||
.PHONY:clean $(SUBDIRS) clobber
|
||||
clean clobber: $(VENDORS)
|
||||
rm -rf *~ *.jou *.log
|
||||
|
||||
@ -63,4 +80,3 @@ clean clobber: $(VENDORS)
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -41,14 +41,20 @@
|
||||
VENDOR:=altera
|
||||
BOARDS:=de5 de4 de2i c4dev
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
RIFFA_PATH=$(CURRENT_PATH)/../riffa_hdl
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
RIFFA_ROOT_PATH=$(CURRENT_PATH)/../../
|
||||
RIFFA_HDL_PATH=$(CURRENT_PATH)/../riffa_hdl
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
include $(RIFFA_ROOT_PATH)/fpga/fpga.mk
|
||||
|
||||
all classic $(VENDOR): $(BOARDS)
|
||||
|
||||
$(BOARDS)::
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) RIFFA_PATH=$(RIFFA_PATH) VENDOR_PATH=$(CURRENT_PATH)
|
||||
$(BOARDS):: check-hdl
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) VENDOR_PATH=$(CURRENT_PATH) VENDOR=$(VENDOR)
|
||||
|
||||
.PHONY:clean $(BOARDS) classic all clobber
|
||||
clean clobber: $(VENDOR)
|
||||
rm -rf *~ .qsys_edit
|
||||
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=ip/ALTGXPCIeGen1x4.qip ip/ALTPLL50I50O125O250O.qip ip/PCIeGen1x4If64.qip
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD=c4dev
|
||||
BOARD_PROJECTS:=C4DevGen1x4If64
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=altera
|
||||
VENDOR:=altera
|
||||
include ../vendor.mk
|
||||
|
@ -38,20 +38,31 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
# These rules impact
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_BIT:= bit/$(PROJECT).sof
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).sdc
|
||||
PROJECT_FILE=prj/$(PROJECT).qsf prj/$(PROJECT).qpf
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP:=$(PROJECT_IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).sof
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).sof: $(PROJECT_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
quartus_sh --flow compile prj/$(PROJECT).qpf
|
||||
|
||||
synthesis: bit/$(PROJECT).map.rpt
|
||||
@ -73,4 +84,22 @@ clean:
|
||||
rm -rf *~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.sof
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=ip/ALTGXPCIeGen1x1.qip ip/ALTPLL50I50O125O250O.qip ip/PCIeGen1x1If64.qip
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD=de2i
|
||||
BOARD_PROJECTS:= DE2Gen1x1If64
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=altera
|
||||
VENDOR:=altera
|
||||
include ../vendor.mk
|
||||
|
@ -38,20 +38,31 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
# These rules impact
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_BIT:= bit/$(PROJECT).sof
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).sdc
|
||||
PROJECT_FILE=prj/$(PROJECT).qsf prj/$(PROJECT).qpf
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP:=$(PROJECT_IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).sof
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).sof: $(PROJECT_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
quartus_sh --flow compile prj/$(PROJECT).qpf
|
||||
|
||||
synthesis: bit/$(PROJECT).map.rpt
|
||||
@ -73,4 +84,22 @@ clean:
|
||||
rm -rf *~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.sof
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=ip/ALTGXPCIeGen1x8.qip ip/ALTPLL50I50O125O250O.qip ip/PCIeGen1x8If64.qip
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=ip/ALTGXPCIeGen2x8.qip ip/ALTPLL50I50O125O250O.qip ip/PCIeGen2x8If128.qip
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD=de4
|
||||
BOARD_PROJECTS:= DE4Gen1x8If64 DE4Gen2x8If128
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=altera
|
||||
VENDOR:=altera
|
||||
include ../vendor.mk
|
||||
|
@ -38,20 +38,31 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
# These rules impact
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_BIT:= bit/$(PROJECT).sof
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).sdc
|
||||
PROJECT_FILE=prj/$(PROJECT).qsf prj/$(PROJECT).qpf
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP:=$(PROJECT_IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).sof
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).sof: $(PROJECT_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
quartus_sh --flow compile prj/$(PROJECT).qpf
|
||||
|
||||
synthesis: bit/$(PROJECT).map.rpt
|
||||
@ -73,4 +84,22 @@ clean:
|
||||
rm -rf *~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.sof
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=ip/XCVRCtrlGen1x8.sip ip/XCVRCtrlGen1x8.qip ip/PCIeGen1x8If64.sip ip/PCIeGen1x8If64.qip
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=ip/XCVRCtrlGen2x8.sip ip/XCVRCtrlGen2x8.qip ip/PCIeGen2x8If128.sip ip/PCIeGen2x8If128.qip
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=ip/XCVRCtrlGen3x4.sip ip/XCVRCtrlGen3x4.qip ip/PCIeGen3x4If128.sip ip/PCIeGen3x4If128.qip
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,8 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=QSysDE5QGen1x8If64.qsys
|
||||
PROJECT_IP+=ip/QSysDE5QGen1x8If64.qsys
|
||||
RELEASE_IP+=ip/QSysDE5QGen1x8If64.qsys
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,8 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=QSysDE5QGen2x8If128.qsys
|
||||
PROJECT_IP+=ip/QSysDE5QGen2x8If128.qsys
|
||||
RELEASE_IP+=ip/QSysDE5QGen2x8If128.qsys
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,8 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=QSysDE5QGen3x4If128.qsys
|
||||
PROJECT_IP+=ip/QSysDE5QGen3x4If128.qsys
|
||||
RELEASE_IP+=ip/QSysDE5QGen3x4If128.qsys
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD=de5
|
||||
BOARD_PROJECTS:= DE5QGen1x8If64 DE5QGen2x8If128 DE5QGen3x4If128 DE5Gen1x8If64 DE5Gen2x8If128 DE5Gen3x4If128
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=altera
|
||||
VENDOR:=altera
|
||||
include ../vendor.mk
|
||||
|
@ -38,19 +38,31 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_BIT:= bit/$(PROJECT).sof
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).sdc
|
||||
PROJECT_FILE=prj/$(PROJECT).qsf prj/$(PROJECT).qpf
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP:=$(PROJECT_IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).sof
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).sof: $(PROJECT_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
quartus_sh --flow compile prj/$(PROJECT).qpf
|
||||
|
||||
synthesis: bit/$(PROJECT).map.rpt
|
||||
@ -72,4 +84,22 @@ clean:
|
||||
rm -rf *~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.sof
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -40,12 +40,26 @@
|
||||
#-----------------------------------------------------------------------
|
||||
BOARD_PATH:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))/$(BOARD)
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
RIFFA_ROOT_PATH:=$(BOARD_PATH)/../../../
|
||||
RIFFA_HDL_PATH:=$(BOARD_PATH)/../../riffa_hdl
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
RELEASE_BOARD_PATH=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)
|
||||
SUBDIRS = $(BOARD_PROJECTS)
|
||||
.DEFAULT_GOAL:= all
|
||||
|
||||
.PHONY:clean clobber $(SUBDIRS) all $(BOARD_VENDOR) $(BOARD) $(BOARD_TYPE)
|
||||
all $(BOARD_VENDOR) $(BOARD) $(BOARD_TYPE): $(SUBDIRS)
|
||||
|
||||
$(SUBDIRS)::
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) BOARD=$(BOARD) TYPE=$(BOARD_TYPE) VENDOR=$(BOARD_VENDOR) BOARD_HDL=$(BOARD_HDL)
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) BOARD=$(BOARD) TYPE=$(BOARD_TYPE) VENDOR=$(VENDOR) BOARD_HDL=$(BOARD_HDL) RIFFA_ROOT_PATH=$(RIFFA_ROOT_PATH)
|
||||
clean clobber: $(SUBDIRS)
|
||||
rm -rf *~
|
||||
|
||||
release: destination $(SUBDIRS)
|
||||
|
||||
destination: $(RELEASE_BOARD_PATH)
|
||||
$(RELEASE_BOARD_PATH): check-release-src
|
||||
mkdir $@
|
||||
cp $(BOARD_HDL) $(RELEASE_BOARD_PATH)
|
||||
|
||||
|
7
fpga/fpga.mk
Normal file
7
fpga/fpga.mk
Normal file
@ -0,0 +1,7 @@
|
||||
RELEASE_VENDOR_PATH=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)
|
||||
|
||||
destination: $(RELEASE_VENDOR_PATH)
|
||||
$(RELEASE_VENDOR_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release: destination $(BOARDS)
|
@ -43,7 +43,12 @@ ULTRASCALE:=NetFPGA adm7V3 kcu105 vc709 vcu108
|
||||
CLASSIC:=ac701 kc705 vc707 zc706
|
||||
BOARDS:=$(CLASSIC) $(ULTRASCALE)
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
RIFFA_PATH=$(CURRENT_PATH)/../riffa_hdl
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
RIFFA_ROOT_PATH=$(CURRENT_PATH)/../../
|
||||
RIFFA_HDL_PATH=$(CURRENT_PATH)/../riffa_hdl
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
include $(RIFFA_ROOT_PATH)/fpga/fpga.mk
|
||||
|
||||
all $(VENDOR): $(BOARDS)
|
||||
|
||||
@ -51,7 +56,7 @@ classic:$(CLASSIC)
|
||||
ultrascale:$(ULTRASCALE)
|
||||
|
||||
$(CLASSIC) $(ULTRASCALE)::
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) RIFFA_PATH=$(RIFFA_PATH) VENDOR_PATH=$(CURRENT_PATH)
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) VENDOR_PATH=$(CURRENT_PATH) VENDOR=$(VENDOR) RIFFA_ROOT_PATH=$(RIFFA_ROOT_PATH)
|
||||
|
||||
.PHONY:clean $(BOARDS) classic all clobber
|
||||
clean clobber: $(BOARDS)
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=NetFPGA
|
||||
BOARD_PROJECTS:=NetFPGA_Gen1x8If64 NetFPGA_Gen2x8If128 NetFPGA_Gen3x4If128
|
||||
BOARD_TYPE:=ultrascale
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x8If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x8If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x8If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x8If128.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen3x4If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen3x4If128.xci
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x4If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x4If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x4If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x4If128.xci
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=ac701
|
||||
BOARD_PROJECTS:=AC701_Gen1x4If64 AC701_Gen2x4If128
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x8If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x8If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x8If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x8If128.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen3x4If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen3x4If128.xci
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=adm7V3
|
||||
BOARD_PROJECTS:=ADM7V3_Gen1x8If64 ADM7V3_Gen2x8If128 ADM7V3_Gen3x4If128
|
||||
BOARD_TYPE:=ultrascale
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x8If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x8If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x8If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x8If128.xci
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=kc705
|
||||
BOARD_PROJECTS:=KC705_Gen1x8If64 KC705_Gen2x8If128
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x8If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x8If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x8If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x8If128.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen3x4If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen3x4If128.xci
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=kcu105
|
||||
BOARD_PROJECTS:=KCU105_Gen1x8If64 KCU105_Gen2x8If128 KCU105_Gen3x4If128
|
||||
BOARD_TYPE:=ultrascale
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=vc707
|
||||
BOARD_PROJECTS:=VC707_Gen1x8If64 VC707_Gen2x8If128
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x8If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x8If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x8If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x8If128.xci
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=vc709
|
||||
BOARD_PROJECTS:=VC709_Gen1x8If64 VC709_Gen2x8If128 VC709_Gen3x4If128
|
||||
BOARD_TYPE:=ultrascale
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x8If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x8If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x8If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x8If128.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen3x4If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen3x4If128.xci
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=vcu108
|
||||
BOARD_PROJECTS:=VCU108_Gen1x8If64 VCU108_Gen2x8If128 VCU108_Gen3x4If128
|
||||
BOARD_TYPE:=ultrascale
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x8If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x8If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x8If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x8If128.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=ultrascale
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen3x4If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen3x4If128.xci
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
@ -38,15 +38,29 @@
|
||||
# Description: Vendor-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
BOARD_PATH:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))/$(BOARD)
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
SUBDIRS = $(BOARD_PROJECTS)
|
||||
RIFFA_ROOT_PATH:=$(BOARD_PATH)/../../../
|
||||
RIFFA_HDL_PATH:=$(BOARD_PATH)/../../riffa_hdl
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
.PHONY:clean clobber $(SUBDIRS) all $(BOARD_VENDOR) $(BOARD) $(BOARD_TYPE)
|
||||
all $(BOARD_VENDOR) $(BOARD) $(BOARD_TYPE): $(SUBDIRS)
|
||||
RELEASE_BOARD_PATH=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)
|
||||
SUBDIRS = $(BOARD_PROJECTS)
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
.PHONY:clean clobber $(SUBDIRS) all $(VENDOR) $(BOARD) $(BOARD_TYPE)
|
||||
all $(VENDOR) $(BOARD) $(BOARD_TYPE): $(SUBDIRS)
|
||||
|
||||
$(SUBDIRS)::
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) BOARD=$(BOARD) TYPE=$(BOARD_TYPE) VENDOR=$(BOARD_VENDOR) BOARD_HDL=$(BOARD_HDL)
|
||||
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS) BOARD=$(BOARD) TYPE=$(BOARD_TYPE) VENDOR=$(VENDOR) BOARD_HDL=$(BOARD_HDL) RIFFA_ROOT_PATH=$(RIFFA_ROOT_PATH)
|
||||
clean clobber: $(SUBDIRS)
|
||||
rm -rf *.log *.jou .Xil *~
|
||||
rm -rf *~
|
||||
|
||||
release: destination $(SUBDIRS)
|
||||
|
||||
destination: $(RELEASE_BOARD_PATH)
|
||||
$(RELEASE_BOARD_PATH): check-release-src
|
||||
mkdir $@
|
||||
cp $(BOARD_HDL) $(RELEASE_BOARD_PATH)
|
||||
|
||||
|
@ -42,5 +42,5 @@
|
||||
BOARD:=zc706
|
||||
BOARD_PROJECTS:=ZC706_Gen1x4If64 ZC706_Gen2x4If128
|
||||
BOARD_TYPE:=classic
|
||||
BOARD_VENDOR:=xilinx
|
||||
VENDOR:=xilinx
|
||||
include ../vendor.mk
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=64
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen1x4If64.xci
|
||||
PROJECT_IP+=ip/PCIeGen1x4If64.xci
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
# This make file expects the following variables to be set:
|
||||
# RIFFA_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# RIFFA_HDL_PATH -- Path to the riffa_hdl directory in the corresponding RIFFA directory.
|
||||
# BOARD_PATH -- Path to the $(BOARD) directory, the board this project corresponds to
|
||||
# BOARD_HDL -- A list of an board-specific HDL files not in the riffa_hdl directory
|
||||
WIDTH=128
|
||||
@ -47,8 +47,8 @@ TYPE=classic
|
||||
CURRENT_PATH := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
|
||||
PROJECT=$(shell basename $(CURRENT_PATH))
|
||||
|
||||
ifndef RIFFA_PATH
|
||||
RIFFA_PATH:=../../../riffa_hdl
|
||||
ifndef RIFFA_HDL_PATH
|
||||
RIFFA_HDL_PATH:=../../../riffa_hdl
|
||||
endif
|
||||
ifndef BOARD_PATH
|
||||
BOARD_PATH:=..
|
||||
@ -56,7 +56,7 @@ endif
|
||||
ifndef JOBS
|
||||
JOBS=1
|
||||
endif
|
||||
include $(RIFFA_PATH)/riffa.mk
|
||||
include $(RIFFA_HDL_PATH)/riffa.mk
|
||||
include $(BOARD_PATH)/board.mk
|
||||
|
||||
PROJECT_IP+=PCIeGen2x4If128.xci
|
||||
PROJECT_IP+=ip/PCIeGen2x4If128.xci
|
||||
|
@ -38,28 +38,40 @@
|
||||
# Description: Board-specific include makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
BOARD_HDL:= $(BOARD_PATH)/riffa_wrapper_$(BOARD).v
|
||||
|
||||
PROJECT_IP=
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_PATH)/%,$(RIFFA_HDL)) $(PROJECT_FILES)
|
||||
PROJECT_BIT:= bit/$(PROJECT).bit
|
||||
PROJECT_HDL=hdl/$(PROJECT).v $(BOARD_HDL) $(patsubst %, $(RIFFA_HDL_PATH)/%,$(RIFFA_HDL))
|
||||
PROJECT_CONSTR=constr/$(PROJECT).xdc
|
||||
PROJECT_FILE=prj/$(PROJECT).xpr
|
||||
PROJECT_FILES=$(PROJECT_IP) $(PROJECT_CONSTR) $(PROJECT_QSRCS) $(PROJECT_HDL)
|
||||
|
||||
RELEASE_BIT:=$(PROJECT_BIT)
|
||||
RELEASE_IP=$(PROJECT_IP) # Note the difference between this and the other assignments (Projects add their own IP)
|
||||
RELEASE_HDL:=hdl/$(PROJECT).v
|
||||
RELEASE_CONSTR:=$(PROJECT_CONSTR)
|
||||
RELEASE_FILE:=$(PROJECT_FILE)
|
||||
RELEASE_PROJECT_PATH:=$(RELEASE_SRC_PATH)/fpga/$(VENDOR)/$(BOARD)/$(PROJECT)
|
||||
copy-files = $(foreach file, $1, cp $(file) $2;)
|
||||
|
||||
.PHONY:$(PROJECT) all synthesis implementation clean clobber $(TYPE) $(VENDOR) $(BOARD)
|
||||
$(PROJECT): bit/$(PROJECT).bit
|
||||
$(PROJECT): $(PROJECT_BIT)
|
||||
@echo Compiling Project $@
|
||||
|
||||
bit/$(PROJECT).bit: $($(PROJECT)_FILES)
|
||||
$(PROJECT_BIT): $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -to_step write_bitstream -jobs $(JOBS); wait_on_run impl_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
mv prj/$(PROJECT).runs/impl_1/$(PROJECT).bit bit/
|
||||
|
||||
synthesis: prj/$(PROJECT).runs/synth_1
|
||||
prj/$(PROJECT).runs/synth_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/synth_1: $(PROJECT_FILES)
|
||||
echo "launch_runs synth_1 -jobs $(JOBS); wait_on_run synth_1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
implementation:prj/$(PROJECT).runs/impl_1
|
||||
prj/$(PROJECT).runs/impl_1: $($(PROJECT)_FILES)
|
||||
prj/$(PROJECT).runs/impl_1: $(PROJECT_FILES)
|
||||
echo "launch_runs impl_1 -jobs $(JOBS); wait_on_run impl1" | vivado -mode tcl prj/$(PROJECT).xpr
|
||||
|
||||
all $(TYPE) $(VENDOR) $(BOARD):$(PROJECT)
|
||||
@ -70,4 +82,22 @@ clean:
|
||||
rm -rf prj/*.hw prj/*.runs prj/*.cache prj/*~
|
||||
|
||||
clobber:
|
||||
rm -rf bit/*.bit
|
||||
rm -rf $(PROJECT_BIT)
|
||||
|
||||
destination: $(RELEASE_PROJECT_PATH)
|
||||
mkdir $(RELEASE_PROJECT_PATH)/bit
|
||||
mkdir $(RELEASE_PROJECT_PATH)/constr
|
||||
mkdir $(RELEASE_PROJECT_PATH)/ip
|
||||
mkdir $(RELEASE_PROJECT_PATH)/hdl
|
||||
mkdir $(RELEASE_PROJECT_PATH)/prj
|
||||
|
||||
$(RELEASE_PROJECT_PATH): check-release-src
|
||||
mkdir $@
|
||||
|
||||
release:check-release-src destination
|
||||
$(call copy-files, $(RELEASE_BIT), $(RELEASE_PROJECT_PATH)/bit)
|
||||
$(call copy-files, $(RELEASE_CONSTR), $(RELEASE_PROJECT_PATH)/constr)
|
||||
$(call copy-files, $(RELEASE_IP), $(RELEASE_PROJECT_PATH)/ip)
|
||||
$(call copy-files, $(RELEASE_HDL), $(RELEASE_PROJECT_PATH)/hdl)
|
||||
$(call copy-files, $(RELEASE_FILE), $(RELEASE_PROJECT_PATH)/prj)
|
||||
|
||||
|
57
java/Makefile
Normal file
57
java/Makefile
Normal file
@ -0,0 +1,57 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2016, The Regents of the University of California All
|
||||
# rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# * Neither the name of The Regents of the University of California
|
||||
# nor the names of its contributors may be used to endorse or
|
||||
# promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REGENTS OF THE
|
||||
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
# ----------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------
|
||||
# Filename: Makefile
|
||||
# Version: 1.0
|
||||
# Description: Makefile for including the java subdirectory in
|
||||
# a RIFFA release. Expects RELEASE_SRC_PATH and
|
||||
# RIFFA_ROOT_PATH to be set by the parent Makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
CURRENT_DIR := $(shell basename $(CURRENT_PATH))
|
||||
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
release: check-release-src clean-release
|
||||
cp -r $(CURRENT_PATH) $(RELEASE_SRC_PATH)/
|
||||
rm -r $(RELEASE_SRC_PATH)/$(CURRENT_DIR)/Makefile
|
||||
|
||||
clean-release: check-release-src
|
||||
rm -rf $(RELEASE_SRC_PATH)/$(CURRENT_DIR)
|
||||
|
||||
clean: check
|
||||
|
57
matlab/Makefile
Normal file
57
matlab/Makefile
Normal file
@ -0,0 +1,57 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2016, The Regents of the University of California All
|
||||
# rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# * Neither the name of The Regents of the University of California
|
||||
# nor the names of its contributors may be used to endorse or
|
||||
# promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REGENTS OF THE
|
||||
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
# ----------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------
|
||||
# Filename: Makefile
|
||||
# Version: 1.0
|
||||
# Description: Makefile for including the matlab subdirectory in
|
||||
# a RIFFA release. Expects RELEASE_SRC_PATH and
|
||||
# RIFFA_ROOT_PATH to be set by the parent Makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
CURRENT_DIR := $(shell basename $(CURRENT_PATH))
|
||||
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
release: check-release-src clean-release
|
||||
cp -r $(CURRENT_PATH) $(RELEASE_SRC_PATH)/
|
||||
rm -r $(RELEASE_SRC_PATH)/$(CURRENT_DIR)/Makefile
|
||||
|
||||
clean-release: check-release-src
|
||||
rm -rf $(RELEASE_SRC_PATH)/$(CURRENT_DIR)
|
||||
|
||||
clean: check
|
||||
|
57
python/Makefile
Normal file
57
python/Makefile
Normal file
@ -0,0 +1,57 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# Copyright (c) 2016, The Regents of the University of California All
|
||||
# rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# * Neither the name of The Regents of the University of California
|
||||
# nor the names of its contributors may be used to endorse or
|
||||
# promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REGENTS OF THE
|
||||
# UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
# ----------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------
|
||||
# Filename: Makefile
|
||||
# Version: 1.0
|
||||
# Description: Makefile for including the python subdirectory in
|
||||
# a RIFFA release. Expects RELEASE_SRC_PATH and
|
||||
# RIFFA_ROOT_PATH to be set by the parent Makefile
|
||||
# Author: Dustin Richmond (@darichmond)
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
CURRENT_PATH := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
||||
CURRENT_DIR := $(shell basename $(CURRENT_PATH))
|
||||
|
||||
include $(RIFFA_ROOT_PATH)/release.mk
|
||||
|
||||
release: check-release-src clean-release
|
||||
cp -r $(CURRENT_PATH) $(RELEASE_SRC_PATH)/
|
||||
rm -r $(RELEASE_SRC_PATH)/$(CURRENT_DIR)/Makefile
|
||||
|
||||
clean-release: check-release-src
|
||||
rm -rf $(RELEASE_SRC_PATH)/$(CURRENT_DIR)
|
||||
|
||||
clean: check
|
||||
|
29
release.mk
Normal file
29
release.mk
Normal file
@ -0,0 +1,29 @@
|
||||
# Check that given variables are set and all have non-empty values,
|
||||
# die with an error otherwise.
|
||||
#
|
||||
# Params:
|
||||
# 1. Variable name(s) to test.
|
||||
# 2. (optional) Error message to print.
|
||||
check_defined = \
|
||||
$(foreach 1,$1,$(__check_defined))
|
||||
__check_defined = \
|
||||
$(if $(value $1),, \
|
||||
$(error Undefined $1$(if $(value 2), ($(strip $2)))))
|
||||
|
||||
check-release:
|
||||
$(call check_defined, RELEASE_PATH)
|
||||
|
||||
check-release-src:
|
||||
$(call check_defined, RELEASE_SRC_PATH)
|
||||
|
||||
check-release-doc:
|
||||
$(call check_defined, RELEASE_DOC_PATH)
|
||||
|
||||
check-root:
|
||||
$(call check_defined, RIFFA_ROOT_PATH)
|
||||
|
||||
check-hdl:
|
||||
$(call check_defined, RIFFA_HDL_PATH)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user