aboutsummaryrefslogtreecommitdiffstats
path: root/picosoc/Makefile
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2017-08-07 15:13:27 +0200
committerClifford Wolf <clifford@clifford.at>2017-08-07 15:13:27 +0200
commitdb2222ec02a926a26a450d11382e9f7414a519f6 (patch)
tree9ceb3f0bd52963825a16e77da54259a1ed05b56e /picosoc/Makefile
parentcaef4e3753d2c76de5d7030fcc2e3a1c331c64c6 (diff)
downloadpicorv32-db2222ec02a926a26a450d11382e9f7414a519f6.tar.gz
picorv32-db2222ec02a926a26a450d11382e9f7414a519f6.zip
Refactor picosoc code
Diffstat (limited to 'picosoc/Makefile')
-rw-r--r--picosoc/Makefile34
1 files changed, 21 insertions, 13 deletions
diff --git a/picosoc/Makefile b/picosoc/Makefile
index 1436321..8900ecb 100644
--- a/picosoc/Makefile
+++ b/picosoc/Makefile
@@ -1,4 +1,6 @@
+# ---- Generic Testbenches ----
+
testbench: testbench.vvp firmware.hex
vvp -N $<
@@ -11,10 +13,24 @@ spiflash_tb: spiflash_tb.vvp firmware.hex
spiflash_tb.vvp: spiflash.v spiflash_tb.v
iverilog -s testbench -o $@ $^
-prog: design.bin firmware.bin
- iceprog design.bin
+# ---- iCE40 HX8K Breakout Board ----
+
+hx8kprog: hx8kdemo.bin firmware.bin
+ iceprog hx8kdemo.bin
iceprog -o 1M firmware.bin
+hx8kdemo.blif: hx8kdemo.v spimemio.v picosoc.v ../picorv32.v
+ yosys -ql hx8kdemo.log -p 'synth_ice40 -top hx8kdemo -blif hx8kdemo.blif' $^
+
+hx8kdemo.asc: hx8kdemo.pcf hx8kdemo.blif
+ arachne-pnr -d 8k -o hx8kdemo.asc -p hx8kdemo.pcf hx8kdemo.blif
+
+hx8kdemo.bin: hx8kdemo.asc
+ icetime -d hx8k -c 12 -mtr hx8kdemo.rpt hx8kdemo.asc
+ icepack hx8kdemo.asc hx8kdemo.bin
+
+# ---- Example Firmware ----
+
firmware.elf: firmware.s
riscv32-unknown-elf-gcc -c -o firmware.elf firmware.s
@@ -27,20 +43,12 @@ firmware.hex: firmware_vma.elf
firmware.bin: firmware.elf
riscv32-unknown-elf-objcopy -O binary firmware.elf firmware.bin
-design.blif: spimemio.v picosoc.v ../picorv32.v
- yosys -ql design.log -p 'synth_ice40 -top picosoc -blif design.blif' $^
-
-design.asc: pinout.pcf design.blif
- arachne-pnr -d 8k -o design.asc -p pinout.pcf design.blif
-
-design.bin: design.asc
- icetime -d hx8k -c 12 -mtr design.rpt design.asc
- icepack design.asc design.bin
+# ---- Clean ----
clean:
rm -f testbench.vvp testbench.vcd spiflash_tb.vvp spiflash_tb.vcd
rm -f firmware.elf firmware_vma.elf firmware.hex firmware.bin
- rm -f design.blif design.log design.asc design.rpt design.bin
+ rm -f hx8kdemo.blif hx8kdemo.log hx8kdemo.asc hx8kdemo.rpt hx8kdemo.bin
-.PHONY: testbench spiflash_tb prog clean
+.PHONY: testbench spiflash_tb hx8kprog clean