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