Line 23... |
Line 23... |
#-----------------------------------------------------------------
|
#-----------------------------------------------------------------
|
|
|
|
|
include $(MKFRAGS)/def_rules.mk
|
include $(MKFRAGS)/def_rules.mk
|
|
|
|
# Determine Xilinx ISE location
|
|
ifeq "$(XILINX)" ""
|
|
$(error The XILINX environment variable must be set to use this makefile)
|
|
endif
|
|
XILINX_NORMAL := $(subst \,/,$(XILINX))
|
|
|
|
MY_OS := $(shell uname -s)
|
|
ifeq "$(findstring CYGWIN_NT,$(MY_OS))" "CYGWIN_NT"
|
|
ifeq "$(findstring WOW64,$(MY_OS))" "WOW64"
|
|
XILINX_PLAT = nt64
|
|
else
|
|
XILINX_PLAT = nt
|
|
endif
|
|
else
|
|
ifeq "$(MY_OS)" "Linux"
|
|
XILINX_PLAT = lin
|
|
else
|
|
$(error Could not determine OS type for locating XILINX applications)
|
|
endif
|
|
endif
|
|
|
|
|
# Xilinx tools
|
# Xilinx tools
|
XST := xst
|
XST := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/xst
|
NGDBUILD := ngdbuild
|
NGDBUILD := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/ngdbuild
|
MAP := map
|
MAP := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/map
|
PAR := par
|
PAR := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/par
|
BITGEN := bitgen
|
BITGEN := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/bitgen
|
PROMGEN := promgen
|
PROMGEN := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/promgen
|
TRCE := trce
|
TRCE := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/trce
|
IMPACT := impact
|
IMPACT := $(XILINX_NORMAL)/bin/$(XILINX_PLAT)/impact
|
|
|
# Extract info from Xilinx ISE project for use with command line tools
|
# Extract info from Xilinx ISE project for use with command line tools
|
XST_FILE := $(DESIGN_NAME).xst
|
XST_FILE := $(DESIGN_NAME).xst
|
PRJ_FILE := $(shell $(AWK) '/^-ifn/ { printf("%s",$$2) }' $(XST_FILE))
|
PRJ_FILE := $(shell $(AWK) '/^-ifn/ { printf("%s",$$2) }' $(XST_FILE))
|
HDL_FILES := $(subst ",,$(shell $(AWK) '{ print $$3} ' $(PRJ_FILE)))
|
HDL_FILES := $(subst ",,$(shell $(AWK) '{ print $$3} ' $(PRJ_FILE)))
|
Line 54... |
Line 76... |
INTSTYLE ?= -intstyle silent # call Xilinx tools in silent mode
|
INTSTYLE ?= -intstyle silent # call Xilinx tools in silent mode
|
INTSTYLE :=
|
INTSTYLE :=
|
XST_FLAGS ?= $(INTSTYLE) # most synthesis flags are specified in the .xst file
|
XST_FLAGS ?= $(INTSTYLE) # most synthesis flags are specified in the .xst file
|
NGDBUILD_FLAGS ?= $(INTSTYLE) -dd _ngo # ngdbuild flags
|
NGDBUILD_FLAGS ?= $(INTSTYLE) -dd _ngo # ngdbuild flags
|
NGDBUILD_FLAGS += $(if $(UCF_FILE),-uc,) $(UCF_FILE)
|
NGDBUILD_FLAGS += $(if $(UCF_FILE),-uc,) $(UCF_FILE)
|
MAP_FLAGS ?= $(INTSTYLE) -cm area -pr b -k 4 -c 100 -tx off
|
# pre-11.1 flags
|
|
#MAP_FLAGS ?= $(INTSTYLE) -cm area -pr b -k 4 -c 100 -tx off
|
|
# ISE 11.1 flags
|
|
MAP_FLAGS ?= $(INTSTYLE) -cm area -pr b -c 100 -tx off
|
PAR_FLAGS ?= $(INTSTYLE) -w -ol std -t 1
|
PAR_FLAGS ?= $(INTSTYLE) -w -ol std -t 1
|
TRCE_FLAGS ?= $(INTSTYLE) -e 3 -l 3
|
TRCE_FLAGS ?= $(INTSTYLE) -e 3 -l 3
|
BITGEN_FLAGS ?= $(INTSTYLE) # most bitgen flags are specified in the .ut file
|
BITGEN_FLAGS ?= $(INTSTYLE) # most bitgen flags are specified in the .ut file
|
PROMGEN_FLAGS ?= -u 0 # flags that control the MCS/EXO file generation
|
PROMGEN_FLAGS ?= -u 0 # flags that control the MCS/EXO file generation
|
|
|