1 |
40 |
rfajardo |
ROOT = /home/mdhicks2/Desktop/softPatch/baseSoC
|
2 |
|
|
MINSOC = $(ROOT)/minsoc
|
3 |
|
|
MINSOC_RTL = $(MINSOC)/rtl/verilog
|
4 |
|
|
UART_RTL = $(ROOT)/uart16550/rtl/verilog
|
5 |
|
|
ADV_DEBUG_ROOT = $(ROOT)/adv_debug_sys/Hardware
|
6 |
|
|
DEBUG_RTL = $(ADV_DEBUG_ROOT)/adv_dbg_if/rtl/verilog
|
7 |
|
|
XIL_DEBUG_RTL = $(ADV_DEBUG_ROOT)/xilinx_internal_jtag/rtl/verilog
|
8 |
|
|
OR1200_RTL = $(ROOT)/or1200/rtl/verilog
|
9 |
|
|
|
10 |
|
|
help:
|
11 |
|
|
@echo " all: Synthesize and implement the SoC, then generate a bit stream"
|
12 |
|
|
@echo " soc: Synthesize the SoC"
|
13 |
|
|
@echo " translate: Convert the SoC's ngc file to an ngd file for mapping"
|
14 |
|
|
@echo " map: Express the SoC netlist in the target hardware"
|
15 |
|
|
@echo " par: Place the target hardware, then route the wires"
|
16 |
|
|
@echo " bitgen: Generate a programming file for the target FPGA"
|
17 |
|
|
@echo " clean: Delete all superfluous files generated by Xilinx tools"
|
18 |
|
|
@echo " distclean: Delete all generated files"
|
19 |
|
|
@echo " uart: Synthesize the UART"
|
20 |
|
|
@echo " debug: Synthesize the debug interface"
|
21 |
|
|
@echo " xilDebug: Synthesize the Xilinx JTAG user interface"
|
22 |
|
|
@echo " or1200: Synthesize the OR1200 processor"
|
23 |
|
|
all: minsoc_top.ngc minsoc.ngd minsoc.ncd minsoc_par.ncd minsoc.bit
|
24 |
|
|
soc: minsoc_top.ngc
|
25 |
|
|
translate: minsoc.ngd
|
26 |
|
|
map: minsoc.ncd
|
27 |
|
|
par: minsoc_par.ncd
|
28 |
|
|
bitgen: minsoc.bit
|
29 |
|
|
|
30 |
|
|
distclean:
|
31 |
|
|
rm -f _xmsgs xst *.{ngc,ncd,ngd,bit,xst,xrpt,srp,lso,log}
|
32 |
|
|
clean:
|
33 |
|
|
rm -f _xmsgs xst *.{xst,xrpt,srp,lso,log}
|
34 |
|
|
|
35 |
|
|
minsoc_top.ngc: $(MINSOC_RTL)/*.v buildSupport/*.xst buildSupport/*.prj #uart_top.ngc adbg_top.ngc xilinx_internal_jtag.ngc or1200_top.ngc
|
36 |
|
|
xst -ifn "buildSupport/minsoc_top.xst"
|
37 |
|
|
rm -f minsoc_top_xst.xrpt
|
38 |
|
|
rm -f minsoc_top.srp
|
39 |
|
|
rm -f minsoc_top.lso
|
40 |
|
|
rm -rf _xmsgs
|
41 |
|
|
rm -rf xst
|
42 |
|
|
uart: uart_top.ngc
|
43 |
|
|
uart_top.ngc: $(UART_RTL)/*.v buildSupport/uart_top.xst buildSupport/uart_top.prj
|
44 |
|
|
xst -ifn "buildSupport/uart_top.xst"
|
45 |
|
|
rm -f uart_top_xst.xrpt
|
46 |
|
|
rm -f uart_top.srp
|
47 |
|
|
rm -f uart_top.lso
|
48 |
|
|
rm -rf _xmsgs
|
49 |
|
|
rm -rf xst
|
50 |
|
|
debug: adbg_top.ngc
|
51 |
|
|
adbg_top.ngc: $(DEBUG_RTL)/*.v buildSupport/adbg_top.xst buildSupport/adbg_top.prj
|
52 |
|
|
xst -ifn "buildSupport/adbg_top.xst"
|
53 |
|
|
rm -f adbg_top_xst.xrpt
|
54 |
|
|
rm -f adbg_top.srp
|
55 |
|
|
rm -f adbg_top.lso
|
56 |
|
|
rm -rf _xmsgs
|
57 |
|
|
rm -rf xst
|
58 |
|
|
xilDebug: xilinx_internal_jtag.ngc
|
59 |
|
|
xilinx_internal_jtag.ngc: $(XIL_DEBUG_RTL)/*.v buildSupport/xilinx_internal_jtag.xst buildSupport/xilinx_internal_jtag.prj
|
60 |
|
|
xst -ifn "buildSupport/xilinx_internal_jtag.xst"
|
61 |
|
|
rm -f xilinx_internal_jtag_xst.xrpt
|
62 |
|
|
rm -f xilinx_internal_jtag.srp
|
63 |
|
|
rm -f xilinx_internal_jtag.lso
|
64 |
|
|
rm -rf _xmsgs
|
65 |
|
|
rm -rf xst
|
66 |
|
|
or1200: or1200_top.ngc
|
67 |
|
|
or1200_top.ngc: $(OR1200_RTL)/*.v buildSupport/or1200_top.xst buildSupport/or1200_top.prj
|
68 |
|
|
xst -ifn "buildSupport/or1200_top.xst"
|
69 |
|
|
rm -f or1200_top_xst.xrpt
|
70 |
|
|
rm -f or1200_top.srp
|
71 |
|
|
rm -f or1200_top.lso
|
72 |
|
|
rm -rf _xmsgs
|
73 |
|
|
rm -rf xst
|
74 |
|
|
minsoc.ngd: $(MINSOC)/backend/ml509.ucf minsoc_top.ngc
|
75 |
|
|
ngdbuild -p xc5vlx110t-ff1136-3 -uc $(MINSOC)/backend/ml509.ucf -aul -aut minsoc_top.ngc minsoc.ngd
|
76 |
|
|
rm -rf netlist.lst
|
77 |
|
|
rm -rf minsoc.bld
|
78 |
|
|
rm -rf minsoc*.xrpt
|
79 |
|
|
rm -rf xlnx_auto_0_xdb
|
80 |
|
|
rm -rf _xmsgs
|
81 |
|
|
minsoc.ncd : minsoc.ngd
|
82 |
|
|
map -bp -timing -cm speed -equivalent_register_removal on -global_opt speed -logic_opt on -mt 2 -ol high -power off -register_duplication on -retiming on -w -xe n minsoc.ngd
|
83 |
|
|
rm -rf minsoc.map
|
84 |
|
|
rm -rf minsoc.mrp
|
85 |
|
|
rm -rf minsoc.ngm
|
86 |
|
|
rm -rf minsoc.pcf
|
87 |
|
|
rm -rf minsoc.psr
|
88 |
|
|
rm -rf minsoc*.xml
|
89 |
|
|
rm -rf minsoc_top*.xrpt
|
90 |
|
|
rm -rf _xmsgs
|
91 |
|
|
minsoc_par.ncd: minsoc.ncd
|
92 |
|
|
par -mt 4 -ol high -w -xe n minsoc.ncd minsoc_par.ncd
|
93 |
|
|
rm -rf minsoc_par.pad
|
94 |
|
|
rm -rf minsoc_par.par
|
95 |
|
|
rm -rf minsoc_par.ptwx
|
96 |
|
|
rm -rf minsoc_par.unroutes
|
97 |
|
|
rm -rf minsoc_par.xpi
|
98 |
|
|
rm -rf minsoc_par_pad*
|
99 |
|
|
rm -rf minsoc_top*.xrpt
|
100 |
|
|
rm -rf _xmsgs
|
101 |
|
|
minsoc.bit: minsoc_par.ncd
|
102 |
|
|
bitgen -d -w minsoc_par.ncd minsoc.bit
|
103 |
|
|
rm -rf minsoc.bgn
|
104 |
|
|
rm -rf *.xwbt
|
105 |
|
|
rm -rf *.xml
|
106 |
|
|
rm -rf *.log
|
107 |
|
|
rm -rf _xmsgs
|