You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
259 lines
9.1 KiB
Plaintext
259 lines
9.1 KiB
Plaintext
19 years ago
|
#################################################################
|
||
|
# Makefile generated by Xilinx Platform Studio
|
||
|
# Project:E:\Dev\FreeRTOS\Demo\MicroBlaze\system.xmp
|
||
|
#################################################################
|
||
|
|
||
|
# Name of the Microprocessor system
|
||
|
# The hardware specification of the system is in file :
|
||
|
# E:\Dev\FreeRTOS\Demo\MicroBlaze\system.mhs
|
||
|
# The software specification of the system is in file :
|
||
|
# E:\Dev\FreeRTOS\Demo\MicroBlaze\system.mss
|
||
|
|
||
|
include system_incl.make
|
||
|
|
||
|
|
||
|
#################################################################
|
||
|
# EXTERNAL TARGETS
|
||
|
#################################################################
|
||
|
all:
|
||
|
@echo "Makefile to build a Microprocessor system :"
|
||
|
@echo "Run make with any of the following targets"
|
||
|
@echo " "
|
||
|
@echo " netlist : Generates the netlist for the given MHS "
|
||
|
@echo " bits : Runs Implementation tools to generate the bitstream"
|
||
|
@echo " exporttopn:Export to ProjNav"
|
||
|
@echo " "
|
||
|
@echo " libs : Configures the sw libraries for this system"
|
||
|
@echo " program : Compiles the program sources for all the processor instances"
|
||
|
@echo " "
|
||
|
@echo " init_bram: Initializes bitstream with BRAM data"
|
||
|
@echo " ace : Generate ace file from bitstream and elf"
|
||
|
@echo " download : Downloads the bitstream onto the board"
|
||
|
@echo " "
|
||
|
@echo " sim : Generates HDL simulation models and runs simulator for chosen simulation mode"
|
||
|
@echo " simmodel : Generates HDL simulation models for chosen simulation mode"
|
||
|
@echo " behavioral_model:Generates behavioral HDL models with BRAM initialization"
|
||
|
@echo " structural_model:Generates structural simulation HDL models with BRAM initialization"
|
||
|
@echo " timing_model : Generates timing simulation HDL models with BRAM initialization"
|
||
|
@echo " vp : Generates virtual platform model"
|
||
|
@echo " "
|
||
|
@echo " netlistclean: Deletes netlist"
|
||
|
@echo " bitsclean: Deletes bit, ncd, bmm files"
|
||
|
@echo " hwclean : Deletes implementation dir"
|
||
|
@echo " libsclean: Deletes sw libraries"
|
||
|
@echo " programclean: Deletes compiled ELF files"
|
||
|
@echo " swclean : Deletes sw libraries and ELF files"
|
||
|
@echo " simclean : Deletes simulation dir"
|
||
|
@echo " vpclean : Deletes virtualplatform dir"
|
||
|
@echo " clean : Deletes all generated files/directories"
|
||
|
@echo " "
|
||
|
@echo " make <target> : (Default)"
|
||
|
@echo " Creates a Microprocessor system using default initializations"
|
||
|
@echo " specified for each processor in MSS file"
|
||
|
|
||
|
|
||
|
bits: $(SYSTEM_BIT)
|
||
|
|
||
|
ace: $(SYSTEM_ACE)
|
||
|
|
||
|
netlist: $(POSTSYN_NETLIST)
|
||
|
|
||
|
libs: $(LIBRARIES)
|
||
|
|
||
|
program: $(ALL_USER_ELF_FILES)
|
||
|
|
||
|
download: $(DOWNLOAD_BIT) dummy
|
||
|
@echo "*********************************************"
|
||
|
@echo "Downloading Bitstream onto the target board"
|
||
|
@echo "*********************************************"
|
||
|
impact -batch etc/download.cmd
|
||
|
|
||
|
init_bram: $(DOWNLOAD_BIT)
|
||
|
|
||
|
sim: $(DEFAULT_SIM_SCRIPT)
|
||
|
cd simulation/behavioral; \
|
||
|
$(SIM_CMD) &
|
||
|
|
||
|
simmodel: $(DEFAULT_SIM_SCRIPT)
|
||
|
|
||
|
behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)
|
||
|
|
||
|
structural_model: $(STRUCTURAL_SIM_SCRIPT)
|
||
|
|
||
|
timing_model: $(TIMING_SIM_SCRIPT)
|
||
|
|
||
|
vp: $(VPEXEC)
|
||
|
|
||
|
clean: hwclean libsclean programclean simclean vpclean
|
||
|
rm -f _impact.cmd
|
||
|
|
||
|
hwclean: netlistclean bitsclean
|
||
|
rm -rf implementation synthesis xst hdl
|
||
|
rm -rf xst.srp $(SYSTEM).srp
|
||
|
|
||
|
netlistclean:
|
||
|
rm -f $(POSTSYN_NETLIST)
|
||
|
rm -f $(BMM_FILE)
|
||
|
|
||
|
bitsclean:
|
||
|
rm -f $(SYSTEM_BIT)
|
||
|
rm -f implementation/$(SYSTEM).ncd
|
||
|
rm -f implementation/$(SYSTEM)_bd.bmm
|
||
|
|
||
|
bitsclean:
|
||
|
|
||
|
simclean:
|
||
|
rm -rf simulation/behavioral
|
||
|
|
||
|
swclean: libsclean programclean
|
||
|
@echo ""
|
||
|
|
||
|
libsclean: $(LIBSCLEAN_TARGETS)
|
||
|
|
||
|
programclean: $(PROGRAMCLEAN_TARGETS)
|
||
|
|
||
|
vpclean:
|
||
|
rm -rf virtualplatform
|
||
|
|
||
|
#################################################################
|
||
|
# SOFTWARE PLATFORM FLOW
|
||
|
#################################################################
|
||
|
|
||
|
|
||
|
$(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt
|
||
|
@echo "*********************************************"
|
||
|
@echo "Creating software libraries..."
|
||
|
@echo "*********************************************"
|
||
|
libgen $(LIBGEN_OPTIONS) $(MSSFILE)
|
||
|
|
||
|
|
||
|
microblaze_0_libsclean:
|
||
|
rm -rf microblaze_0/lib/
|
||
|
|
||
|
$(MICROBLAZE_0_XMDSTUB): $(LIBRARIES)
|
||
|
|
||
|
#################################################################
|
||
|
# SOFTWARE APPLICATION RTOSDEMO
|
||
|
#################################################################
|
||
|
|
||
|
RTOSDemo_program: $(RTOSDEMO_OUTPUT)
|
||
|
|
||
|
$(RTOSDEMO_OUTPUT) : $(RTOSDEMO_SOURCES) $(RTOSDEMO_HEADERS) $(RTOSDEMO_LINKER_SCRIPT) \
|
||
|
$(LIBRARIES) __xps/rtosdemo_compiler.opt
|
||
|
@mkdir -p $(RTOSDEMO_OUTPUT_DIR)
|
||
|
$(RTOSDEMO_CC) $(RTOSDEMO_CC_OPT) $(RTOSDEMO_SOURCES) -o $(RTOSDEMO_OUTPUT) \
|
||
|
$(RTOSDEMO_OTHER_CC_FLAGS) $(RTOSDEMO_INCLUDES) $(RTOSDEMO_LIBPATH) \
|
||
|
-xl-mode-$(RTOSDEMO_MODE) \
|
||
|
$(RTOSDEMO_CFLAGS) $(RTOSDEMO_LFLAGS)
|
||
|
$(RTOSDEMO_CC_SIZE) $(RTOSDEMO_OUTPUT)
|
||
|
|
||
|
RTOSDemo_programclean:
|
||
|
rm -f $(RTOSDEMO_OUTPUT)
|
||
|
|
||
|
#################################################################
|
||
|
# BOOTLOOP ELF FILES
|
||
|
#################################################################
|
||
|
|
||
|
|
||
|
|
||
|
$(MICROBLAZE_0_BOOTLOOP): $(MICROBLAZE_BOOTLOOP)
|
||
|
@mkdir -p $(BOOTLOOP_DIR)
|
||
|
cp -f $(MICROBLAZE_BOOTLOOP) $(MICROBLAZE_0_BOOTLOOP)
|
||
|
|
||
|
#################################################################
|
||
|
# HARDWARE IMPLEMENTATION FLOW
|
||
|
#################################################################
|
||
|
|
||
|
|
||
|
$(BMM_FILE) \
|
||
|
$(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \
|
||
|
$(CORE_STATE_DEVELOPMENT_FILES)
|
||
|
@echo "****************************************************"
|
||
|
@echo "Creating system netlist for hardware specification.."
|
||
|
@echo "****************************************************"
|
||
|
platgen $(PLATGEN_OPTIONS) -st xst $(MHSFILE)
|
||
|
|
||
|
$(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)
|
||
|
@echo "Running synthesis..."
|
||
|
bash -c "cd synthesis; ./synthesis.sh; cd .."
|
||
|
|
||
|
$(SYSTEM_BIT): $(BMM_FILE) $(POSTSYN_NETLIST) __xps/xpsxflow.opt \
|
||
|
$(UCF_FILE) $(BITGEN_UT_FILE) $(FASTRUNTIME_OPT_FILE)
|
||
|
@echo "Copying Xilinx Implementation tool scripts.."
|
||
|
@cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut
|
||
|
@cp -f $(FASTRUNTIME_OPT_FILE) implementation/fast_runtime.opt
|
||
|
@cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf
|
||
|
@echo "*********************************************"
|
||
|
@echo "Running Xilinx Implementation tools.."
|
||
|
@echo "*********************************************"
|
||
|
xflow -wd implementation -p $(DEVICE) -implement fast_runtime.opt $(SYSTEM).ngc
|
||
|
cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)
|
||
|
|
||
|
exporttopn:
|
||
|
@echo "You have chosen XPS for implementation tool flow."
|
||
|
@echo "Please select ProjNav as your implementation flow in Project Options."
|
||
|
@echo "In batch mode, use commad xset pnproj <isefile>."
|
||
|
|
||
|
$(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt
|
||
|
@cp -f implementation/$(SYSTEM)_bd.bmm .
|
||
|
@echo "*********************************************"
|
||
|
@echo "Initializing BRAM contents of the bitstream"
|
||
|
@echo "*********************************************"
|
||
|
bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \
|
||
|
-bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)
|
||
|
@rm -f $(SYSTEM)_bd.bmm
|
||
|
|
||
|
$(SYSTEM_ACE): $(DOWNLOAD_BIT) $(RTOSDEMO_OUTPUT)
|
||
|
@echo "*********************************************"
|
||
|
@echo "Creating system ace file"
|
||
|
@echo "*********************************************"
|
||
|
xmd -tcl genace.tcl -jprog -hw $(DOWNLOAD_BIT) -elf $(RTOSDEMO_OUTPUT) -ace $(SYSTEM_ACE)
|
||
|
|
||
|
#################################################################
|
||
|
# SIMULATION FLOW
|
||
|
#################################################################
|
||
|
|
||
|
|
||
|
################## BEHAVIORAL SIMULATION ##################
|
||
|
|
||
|
$(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \
|
||
|
$(BRAMINIT_ELF_FILES)
|
||
|
@echo "*********************************************"
|
||
|
@echo "Creating behavioral simulation models..."
|
||
|
@echo "*********************************************"
|
||
|
simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)
|
||
|
|
||
|
################## STRUCTURAL SIMULATION ##################
|
||
|
|
||
|
$(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \
|
||
|
$(BRAMINIT_ELF_FILES)
|
||
|
@echo "*********************************************"
|
||
|
@echo "Creating structural simulation models..."
|
||
|
@echo "*********************************************"
|
||
|
simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)
|
||
|
|
||
|
|
||
|
################## TIMING SIMULATION ##################
|
||
|
|
||
|
$(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \
|
||
|
$(BRAMINIT_ELF_FILES)
|
||
|
@echo "*********************************************"
|
||
|
@echo "Creating timing simulation models..."
|
||
|
@echo "*********************************************"
|
||
|
simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)
|
||
|
|
||
|
#################################################################
|
||
|
# VIRTUAL PLATFORM FLOW
|
||
|
#################################################################
|
||
|
|
||
|
|
||
|
$(VPEXEC): $(MHSFILE) __xps/vpgen.opt
|
||
|
@echo "****************************************************"
|
||
|
@echo "Creating virtual platform for hardware specification.."
|
||
|
@echo "****************************************************"
|
||
|
vpgen $(VPGEN_OPTIONS) $(MHSFILE)
|
||
|
|
||
|
dummy:
|
||
|
@echo ""
|
||
|
|