source: Documentation/ReferenceDesigns/InterruptRef_xps_8_2/system.make

Last change on this file was 485, checked in by chunter, 17 years ago

Interrupt reference design demonstrates the correct way to initialize and configure interrupts with the interrupt controller.

File size: 9.2 KB
Line 
1#################################################################
2# Makefile generated by Xilinx Platform Studio
3# Project:C:\localhome\chunter\EDK\interrupt_reference_design\system.xmp
4#################################################################
5
6# Name of the Microprocessor system
7# The hardware specification of the system is in file :
8# C:\localhome\chunter\EDK\interrupt_reference_design\system.mhs
9# The software specification of the system is in file :
10# C:\localhome\chunter\EDK\interrupt_reference_design\system.mss
11
12include system_incl.make
13
14
15#################################################################
16# EXTERNAL TARGETS
17#################################################################
18all:
19    @echo "Makefile to build a Microprocessor system :"
20    @echo "Run make with any of the following targets"
21    @echo " "
22    @echo "  netlist  : Generates the netlist for the given MHS "
23    @echo "  bits     : Runs Implementation tools to generate the bitstream"
24    @echo "  exporttopn:Export to ProjNav"
25    @echo " "
26    @echo "  libs     : Configures the sw libraries for this system"
27    @echo "  program  : Compiles the program sources for all the processor instances"
28    @echo " "
29    @echo "  init_bram: Initializes bitstream with BRAM data"
30    @echo "  ace      : Generate ace file from bitstream and elf"
31    @echo "  download : Downloads the bitstream onto the board"
32    @echo " "
33    @echo "  sim      : Generates HDL simulation models and runs simulator for chosen simulation mode"
34    @echo "  simmodel : Generates HDL simulation models for chosen simulation mode"
35    @echo "  behavioral:Generates behavioral HDL models with BRAM initialization"
36    @echo "  structural:Generates structural simulation HDL models with BRAM initialization"
37    @echo "  timing   : Generates timing simulation HDL models with BRAM initialization"
38    @echo "  vp       : Generates virtual platform model"
39    @echo " "
40    @echo "  netlistclean: Deletes netlist"
41    @echo "  bitsclean: Deletes bit, ncd, bmm files"
42    @echo "  hwclean  : Deletes implementation dir"
43    @echo "  libsclean: Deletes sw libraries"
44    @echo "  programclean: Deletes compiled ELF files"
45    @echo "  swclean  : Deletes sw libraries and ELF files"
46    @echo "  simclean : Deletes simulation dir"
47    @echo "  vpclean  : Deletes virtualplatform dir"
48    @echo "  clean    : Deletes all generated files/directories"
49    @echo " "
50    @echo "  make <target> : (Default)"
51    @echo "      Creates a Microprocessor system using default initializations"
52    @echo "      specified for each processor in MSS file"
53
54
55bits: $(SYSTEM_BIT)
56
57ace: $(SYSTEM_ACE)
58
59netlist: $(POSTSYN_NETLIST)
60
61libs: $(LIBRARIES)
62
63program: $(ALL_USER_ELF_FILES)
64
65download: $(DOWNLOAD_BIT) dummy
66    @echo "*********************************************"
67    @echo "Downloading Bitstream onto the target board"
68    @echo "*********************************************"
69    impact -batch etc/download.cmd
70
71init_bram: $(DOWNLOAD_BIT)
72
73sim: $(DEFAULT_SIM_SCRIPT)
74    cd simulation/behavioral; \
75    $(SIM_CMD)  &
76
77simmodel: $(DEFAULT_SIM_SCRIPT)
78
79behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)
80
81structural_model: $(STRUCTURAL_SIM_SCRIPT)
82
83vp: $(VPEXEC)
84
85clean: hwclean libsclean programclean simclean vpclean
86    rm -f _impact.cmd
87
88hwclean: netlistclean bitsclean
89    rm -rf implementation synthesis xst hdl
90    rm -rf xst.srp $(SYSTEM).srp
91
92netlistclean:
93    rm -f $(POSTSYN_NETLIST)
94    rm -f $(BMM_FILE)
95
96bitsclean:
97    rm -f $(SYSTEM_BIT)
98    rm -f implementation/$(SYSTEM).ncd
99    rm -f implementation/$(SYSTEM)_bd.bmm
100
101bitsclean:
102
103simclean: 
104    rm -rf simulation/behavioral
105
106swclean: libsclean programclean
107    @echo ""
108
109libsclean: $(LIBSCLEAN_TARGETS)
110
111programclean: $(PROGRAMCLEAN_TARGETS)
112
113vpclean:
114    rm -rf virtualplatform
115
116#################################################################
117# SOFTWARE PLATFORM FLOW
118#################################################################
119
120
121$(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt
122    @echo "*********************************************"
123    @echo "Creating software libraries..."
124    @echo "*********************************************"
125    libgen $(LIBGEN_OPTIONS) $(MSSFILE)
126
127
128ppc405_0_libsclean:
129    rm -rf ppc405_0/lib/
130
131ppc405_1_libsclean:
132    rm -rf ppc405_1/lib/
133
134#################################################################
135# SOFTWARE APPLICATION INTERRUPTTESTRBETA
136#################################################################
137
138interruptTestrBeta_program: $(INTERRUPTTESTRBETA_OUTPUT) 
139
140$(INTERRUPTTESTRBETA_OUTPUT) : $(INTERRUPTTESTRBETA_SOURCES) $(INTERRUPTTESTRBETA_HEADERS) $(INTERRUPTTESTRBETA_LINKER_SCRIPT) \
141                    $(LIBRARIES) __xps/interrupttestrbeta_compiler.opt
142    @mkdir -p $(INTERRUPTTESTRBETA_OUTPUT_DIR) 
143    $(INTERRUPTTESTRBETA_CC) $(INTERRUPTTESTRBETA_CC_OPT) $(INTERRUPTTESTRBETA_SOURCES) -o $(INTERRUPTTESTRBETA_OUTPUT) \
144    $(INTERRUPTTESTRBETA_OTHER_CC_FLAGS) $(INTERRUPTTESTRBETA_INCLUDES) $(INTERRUPTTESTRBETA_LIBPATH) \
145    $(INTERRUPTTESTRBETA_CFLAGS) $(INTERRUPTTESTRBETA_LFLAGS) 
146    $(INTERRUPTTESTRBETA_CC_SIZE) $(INTERRUPTTESTRBETA_OUTPUT) 
147    @echo ""
148
149interruptTestrBeta_programclean:
150    rm -f $(INTERRUPTTESTRBETA_OUTPUT) 
151
152#################################################################
153# BOOTLOOP ELF FILES
154#################################################################
155
156
157
158$(PPC405_0_BOOTLOOP): $(PPC405_BOOTLOOP)
159    @mkdir -p $(BOOTLOOP_DIR)
160    cp -f $(PPC405_BOOTLOOP) $(PPC405_0_BOOTLOOP)
161
162$(PPC405_1_BOOTLOOP): $(PPC405_BOOTLOOP)
163    @mkdir -p $(BOOTLOOP_DIR)
164    cp -f $(PPC405_BOOTLOOP) $(PPC405_1_BOOTLOOP)
165
166#################################################################
167# HARDWARE IMPLEMENTATION FLOW
168#################################################################
169
170
171$(BMM_FILE) \
172$(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \
173                      $(CORE_STATE_DEVELOPMENT_FILES)
174    @echo "****************************************************"
175    @echo "Creating system netlist for hardware specification.."
176    @echo "****************************************************"
177    platgen $(PLATGEN_OPTIONS) $(MHSFILE)
178
179$(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)
180    @echo "Running synthesis..."
181    bash -c "cd synthesis; ./synthesis.sh"
182
183$(SYSTEM_BIT): $(FPGA_IMP_DEPENDENCY)
184    @echo "*********************************************"
185    @echo "Running Xilinx Implementation tools.."
186    @echo "*********************************************"
187    @cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf
188    @cp -f $(XFLOW_OPT_FILE) implementation/xflow.opt
189    xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc
190    @echo "*********************************************"
191    @echo "Running Bitgen.."
192    @echo "*********************************************"
193    @cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut
194    cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)
195
196exporttopn: 
197    @echo "You have chosen XPS for implementation tool flow."
198    @echo "Please select ProjNav as your implementation flow in Project Options."
199    @echo "In batch mode, use commad xset pnproj <nplfile>."
200
201$(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt
202    @cp -f implementation/$(SYSTEM)_bd.bmm .
203    @echo "*********************************************"
204    @echo "Initializing BRAM contents of the bitstream"
205    @echo "*********************************************"
206    bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \
207    -bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)
208    @rm -f $(SYSTEM)_bd.bmm
209
210$(SYSTEM_ACE):
211    @echo "In order to generate ace file, you must have:-"
212    @echo "- exactly one processor."
213    @echo "- opb_mdm, if using microblaze."
214
215#################################################################
216# SIMULATION FLOW
217#################################################################
218
219
220################## BEHAVIORAL SIMULATION ##################
221
222$(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \
223                          $(BRAMINIT_ELF_FILES)
224    @echo "*********************************************"
225    @echo "Creating behavioral simulation models..."
226    @echo "*********************************************"
227    simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)
228
229################## STRUCTURAL SIMULATION ##################
230
231$(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \
232                          $(BRAMINIT_ELF_FILES)
233    @echo "*********************************************"
234    @echo "Creating structural simulation models..."
235    @echo "*********************************************"
236    simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)
237
238
239################## TIMING SIMULATION ##################
240
241$(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \
242                      $(BRAMINIT_ELF_FILES)
243    @echo "*********************************************"
244    @echo "Creating timing simulation models..."
245    @echo "*********************************************"
246    simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)
247
248#################################################################
249# VIRTUAL PLATFORM FLOW
250#################################################################
251
252
253$(VPEXEC): $(MHSFILE) __xps/vpgen.opt
254    @echo "****************************************************"
255    @echo "Creating virtual platform for hardware specification.."
256    @echo "****************************************************"
257    vpgen $(VPGEN_OPTIONS) $(MHSFILE)
258
259dummy:
260    @echo ""
261
Note: See TracBrowser for help on using the repository browser.