Line 44... |
Line 44... |
DEVICE := $(subst p ,,$(DEVICE_tmp))
|
DEVICE := $(subst p ,,$(DEVICE_tmp))
|
SPEED := $(shell $(AWK) -F - '/^-p / { printf("%s",$$3) }' $(XST_FILE))
|
SPEED := $(shell $(AWK) -F - '/^-p / { printf("%s",$$3) }' $(XST_FILE))
|
PACKAGE := $(shell $(AWK) -F - '/^-p / { printf("%s",$$4) }' $(XST_FILE))
|
PACKAGE := $(shell $(AWK) -F - '/^-p / { printf("%s",$$4) }' $(XST_FILE))
|
BSD_FILE := $(XILINX)/$(FAMILY)/data/$(DEVICE).bsd
|
BSD_FILE := $(XILINX)/$(FAMILY)/data/$(DEVICE).bsd
|
|
|
|
XSTHDPDIR1 := $(shell $(AWK) '/^set -xsthdpdir / { printf("%s",$$3) }' $(XST_FILE))
|
|
XSTHDPDIR := $(subst ",,$(XSTHDPDIR1))
|
|
TMPDIR1 := $(shell $(AWK) '/^set -tmpdir / { printf("%s",$$3) }' $(XST_FILE))
|
|
TMPDIR := $(subst ",,$(TMPDIR1))
|
|
|
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)
|
Line 57... |
Line 62... |
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
|
|
|
BITGEN_OPTIONS_FILE ?= $(DESIGN_NAME).ut
|
BITGEN_OPTIONS_FILE ?= $(DESIGN_NAME).ut
|
|
|
|
|
|
#===================================================================
|
|
# Make sure tmpdirs are created
|
|
$(XSTHDPDIR):
|
|
$(ECHO) "XSTHDPDIR = $(XSTHDPDIR)"
|
|
$(MKDIR) $(XSTHDPDIR)
|
|
|
|
$(TMPDIR):
|
|
$(ECHO) "TMPDIR = $(TMPDIR)"
|
|
$(MKDIR) $(TMPDIR)
|
|
|
|
xst_tmp_dirs: $(XSTHDPDIR) $(TMPDIR)
|
|
|
#===================================================================
|
#===================================================================
|
# TRANSLATE RULES
|
# TRANSLATE RULES
|
|
|
# RULE: .xst => .ngc
|
# RULE: .xst => .ngc
|
# Synthesize the HDL files into an NGC file. This rule is triggered if
|
# Synthesize the HDL files into an NGC file. This rule is triggered if
|
# any of the HDL files are changed or the synthesis options are changed.
|
# any of the HDL files are changed or the synthesis options are changed.
|
$(DESIGN_NAME).ngc: $(HDL_FILES) $(XST_FILE)
|
$(DESIGN_NAME).ngc: $(HDL_FILES) $(XST_FILE) xst_tmp_dirs
|
@$(ECHO)
|
@$(ECHO)
|
@$(ECHO) "======= Synthesis - XST ============================"
|
@$(ECHO) "======= Synthesis - XST ============================"
|
$(XST) $(XST_FLAGS) -ifn $(XST_FILE) -ofn $(DESIGN_NAME).syr
|
$(XST) $(XST_FLAGS) -ifn $(XST_FILE) -ofn $(DESIGN_NAME).syr
|
|
|
# RULE: .ngc => .ngd
|
# RULE: .ngc => .ngd
|