Line 1... |
Line 1... |
ROOT = /home/rfajardo/ongoing/or1k/risc_raul
|
MINSOC = ../
|
MINSOC = $(ROOT)/minsoc
|
MINSOC_DEFINES = ${MINSOC}/backend
|
MINSOC_RTL = $(MINSOC)/rtl/verilog
|
MINSOC_RTL = ${MINSOC}/rtl/verilog
|
MINSOC_STARTUP_RTL = $(MINSOC_RTL)/minsoc_startup
|
MINSOC_STARTUP_RTL = ${MINSOC_RTL}/minsoc_startup
|
UART_RTL = $(MINSOC_RTL)/uart16550/rtl/verilog
|
UART_RTL = ${MINSOC_RTL}/uart16550/rtl/verilog
|
ADV_DEBUG_ROOT = $(MINSOC_RTL)/adv_debug_sys/Hardware
|
ADV_DEBUG_ROOT = ${MINSOC_RTL}/adv_debug_sys/Hardware
|
DEBUG_RTL = $(ADV_DEBUG_ROOT)/adv_dbg_if/rtl/verilog
|
DEBUG_RTL = ${ADV_DEBUG_ROOT}/adv_dbg_if/rtl/verilog
|
OR1200_RTL = $(MINSOC_RTL)/or1200/rtl/verilog
|
OR1200_RTL = ${MINSOC_RTL}/or1200/rtl/verilog
|
ETH_RTL = $(MINSOC_RTL)/ethmac/rtl/verilog
|
ETH_RTL = ${MINSOC_RTL}/ethmac/rtl/verilog
|
|
|
help:
|
help:
|
@echo " all: Synthesize and implement the SoC, then generate a bit stream"
|
@echo " all: Synthesize and implement the SoC, then generate a bit stream"
|
|
@echo ""
|
@echo " soc: Synthesize the SoC"
|
@echo " soc: Synthesize the SoC"
|
@echo " translate: Convert the SoC's ngc file to an ngd file for mapping"
|
@echo " translate: Convert the SoC's ngc file to an ngd file for mapping"
|
@echo " map: Express the SoC netlist in the target hardware"
|
@echo " map: Express the SoC netlist in the target hardware"
|
@echo " par: Place the target hardware, then route the wires"
|
@echo " par: Place the target hardware, then route the wires"
|
@echo " bitgen: Generate a programming file for the target FPGA"
|
@echo " bitgen: Generate a programming file for the target FPGA"
|
@echo " clean: Delete all superfluous files generated by Xilinx tools"
|
@echo ""
|
@echo " distclean: Delete all generated files"
|
@echo " modules: Synthesize OR1200 processor, debug interface, UART and Ethernet controllers"
|
@echo " or1200: Synthesize the OR1200 processor"
|
@echo " or1200: Synthesize the OR1200 processor"
|
@echo " debug: Synthesize the debug interface"
|
@echo " debug: Synthesize the debug interface"
|
@echo " uart: Synthesize the UART"
|
@echo " uart: Synthesize the UART"
|
@echo " eth: Synthesize the ethernet controller"
|
@echo " eth: Synthesize the Ethernet controller"
|
@echo " startup: Synthesize the modules to automatically start-up the firmware on power on"
|
@echo ""
|
|
@echo " clean: Delete all superfluous files generated by Xilinx tools"
|
|
@echo " distclean: Delete all generated files"
|
|
|
all: minsoc_top.ngc minsoc.ngd minsoc.ncd minsoc_par.ncd minsoc.bit
|
all: minsoc.bit
|
soc: minsoc_top.ngc
|
soc: minsoc_top.ngc
|
translate: minsoc.ngd
|
translate: minsoc.ngd
|
map: minsoc.ncd
|
map: minsoc.ncd
|
par: minsoc_par.ncd
|
par: minsoc_par.ncd
|
bitgen: minsoc.bit
|
bitgen: minsoc.bit
|
|
modules: or1200 debug uart eth
|
|
MODULES = or1200_top.ngc adbg_top.ngc uart_top.ngc eth_top.ngc
|
|
|
distclean:
|
prepare:
|
rm -rf _xmsgs xst *.{ngc,ncd,ngd,bit,xst,xrpt,srp,lso,log}
|
rm -rf xst
|
|
mkdir xst
|
clean:
|
clean:
|
rm -rf _xmsgs xst *.{xst,xrpt,srp,lso,log}
|
rm -rf *.xst *.xrpt *.srp *.lso *.log *.bld *.lst *.twr *.ise *.map *.mrp *.ngm *.pcf *.psr *.xml *.pad *.par *.ptwx *.bgn *.unroutes *.xpi minsoc_par_pad* *.xwbt
|
|
rm -rf _xmsgs xst xlnx_auto_0_xdb
|
|
distclean:
|
|
rm -rf *.ngc *.ncd *.ngd *.bit
|
|
make clean
|
|
|
minsoc_top.ngc: $(MINSOC_RTL)/*.v buildSupport/*.xst buildSupport/*.prj #uart_top.ngc adbg_top.ngc xilinx_internal_jtag.ngc or1200_top.ngc
|
minsoc_top.ngc: ${MINSOC_RTL}/*.v ${MINSOC_DEFINES}/minsoc_defines.v buildSupport/minsoc_top.xst buildSupport/minsoc_top.prj
|
mkdir xst
|
make prepare
|
xst -ifn "buildSupport/minsoc_top.xst"
|
xst -ifn "buildSupport/minsoc_top.xst"
|
rm -f minsoc_top_xst.xrpt
|
make clean
|
rm -f minsoc_top.srp
|
|
rm -f minsoc_top.lso
|
|
rm -rf _xmsgs
|
|
rm -rf xst
|
|
|
|
startup: minsoc_startup_top.ngc
|
|
minsoc_startup_top.ngc: $(MINSOC_STARTUP_RTL)/*.v buildSupport/minsoc_startup_top.xst buildSupport/minsoc_startup_top.prj
|
|
mkdir xst
|
|
xst -ifn "buildSupport/minsoc_startup_top.xst"
|
|
rm -f minsoc_startup_top_xst.xrpt
|
|
rm -f minsoc_startup_top.srp
|
|
rm -f minsoc_startup_top.lso
|
|
rm -rf _xmsgs
|
|
rm -rf xst
|
|
|
|
uart: uart_top.ngc
|
uart: uart_top.ngc
|
uart_top.ngc: $(UART_RTL)/*.v buildSupport/uart_top.xst buildSupport/uart_top.prj
|
uart_top.ngc: ${UART_RTL}/*.v buildSupport/uart_top.xst buildSupport/uart_top.prj
|
mkdir xst
|
make prepare
|
xst -ifn "buildSupport/uart_top.xst"
|
xst -ifn "buildSupport/uart_top.xst"
|
rm -f uart_top_xst.xrpt
|
make clean
|
rm -f uart_top.srp
|
|
rm -f uart_top.lso
|
|
rm -rf _xmsgs
|
|
rm -rf xst
|
|
|
|
eth: eth_top.ngc
|
eth: eth_top.ngc
|
eth_top.ngc: $(ETH_RTL)/*.v buildSupport/eth_top.xst buildSupport/eth_top.prj
|
eth_top.ngc: ${ETH_RTL}/*.v buildSupport/eth_top.xst buildSupport/eth_top.prj
|
mkdir xst
|
make prepare
|
xst -ifn "buildSupport/eth_top.xst"
|
xst -ifn "buildSupport/eth_top.xst"
|
rm -f eth_top_xst.xrpt
|
make clean
|
rm -f eth_top.srp
|
|
rm -f eth_top.lso
|
|
rm -rf _xmsgs
|
|
rm -rf xst
|
|
|
|
debug: adbg_top.ngc
|
debug: adbg_top.ngc
|
adbg_top.ngc: $(DEBUG_RTL)/*.v buildSupport/adbg_top.xst buildSupport/adbg_top.prj
|
adbg_top.ngc: ${DEBUG_RTL}/*.v buildSupport/adbg_top.xst buildSupport/adbg_top.prj
|
mkdir xst
|
make prepare
|
xst -ifn "buildSupport/adbg_top.xst"
|
xst -ifn "buildSupport/adbg_top.xst"
|
rm -f adbg_top_xst.xrpt
|
make clean
|
rm -f adbg_top.srp
|
|
rm -f adbg_top.lso
|
|
rm -rf _xmsgs
|
|
rm -rf xst
|
|
|
|
or1200: or1200_top.ngc
|
or1200: or1200_top.ngc
|
or1200_top.ngc: $(OR1200_RTL)/*.v buildSupport/or1200_top.xst buildSupport/or1200_top.prj
|
or1200_top.ngc: ${OR1200_RTL}/*.v buildSupport/or1200_top.xst buildSupport/or1200_top.prj
|
mkdir xst
|
make prepare
|
xst -ifn "buildSupport/or1200_top.xst"
|
xst -ifn "buildSupport/or1200_top.xst"
|
rm -f or1200_top_xst.xrpt
|
make clean
|
rm -f or1200_top.srp
|
|
rm -f or1200_top.lso
|
|
rm -rf _xmsgs
|
|
rm -rf xst
|
|
|
|
minsoc.ngd: $(MINSOC)/backend/ml509.ucf minsoc_top.ngc
|
minsoc.ngd: ${MINSOC}/backend/CONSTRAINT_FILE minsoc_top.ngc $(MODULES)
|
ngdbuild -p xc3sd1800a-4-fg676 -uc $(MINSOC)/backend/spartan3a_dsp_kit.ucf -aul minsoc_top.ngc minsoc.ngd
|
ngdbuild -p DEVICE_PART -uc ${MINSOC}/backend/CONSTRAINT_FILE -aul minsoc_top.ngc minsoc.ngd
|
rm -rf netlist.lst
|
make clean
|
rm -rf minsoc.bld
|
|
rm -rf minsoc*.xrpt
|
|
rm -rf xlnx_auto_0_xdb
|
|
rm -rf _xmsgs
|
|
|
|
minsoc.ncd : minsoc.ngd
|
minsoc.ncd : minsoc.ngd
|
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
|
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
|
rm -rf minsoc.map
|
make clean
|
rm -rf minsoc.mrp
|
|
rm -rf minsoc.ngm
|
|
rm -rf minsoc.pcf
|
|
rm -rf minsoc.psr
|
|
rm -rf minsoc*.xml
|
|
rm -rf minsoc_top*.xrpt
|
|
rm -rf _xmsgs
|
|
|
|
minsoc_par.ncd: minsoc.ncd
|
minsoc_par.ncd: minsoc.ncd
|
par -ol high -w -xe n minsoc.ncd minsoc_par.ncd
|
par -ol high -w -xe n minsoc.ncd minsoc_par.ncd
|
rm -rf minsoc_par.pad
|
make clean
|
rm -rf minsoc_par.par
|
|
rm -rf minsoc_par.ptwx
|
|
rm -rf minsoc_par.unroutes
|
|
rm -rf minsoc_par.xpi
|
|
rm -rf minsoc_par_pad*
|
|
rm -rf minsoc_top*.xrpt
|
|
rm -rf _xmsgs
|
|
|
|
minsoc.bit: minsoc_par.ncd
|
minsoc.bit: minsoc_par.ncd
|
bitgen -d -w minsoc_par.ncd minsoc.bit
|
bitgen -d -w minsoc_par.ncd minsoc.bit
|
rm -rf minsoc.bgn
|
make clean
|
rm -rf *.xwbt
|
|
rm -rf *.xml
|
|
rm -rf *.log
|
|
rm -rf _xmsgs
|
|
make clean
|
|