aboutsummaryrefslogtreecommitdiffstats
path: root/picosoc/Makefile
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2017-08-07 13:38:07 +0200
committerClifford Wolf <clifford@clifford.at>2017-08-07 13:38:07 +0200
commitcaef4e3753d2c76de5d7030fcc2e3a1c331c64c6 (patch)
tree57162c7dd5d90c5b18e0ecd3380d9fd67f6771ff /picosoc/Makefile
parent571f5d5df742b3168d1e8c26e8ef0b8247960666 (diff)
downloadpicorv32-caef4e3753d2c76de5d7030fcc2e3a1c331c64c6.tar.gz
picorv32-caef4e3753d2c76de5d7030fcc2e3a1c331c64c6.zip
Rename "spiflash" example to "picosoc"
Diffstat (limited to 'picosoc/Makefile')
-rw-r--r--picosoc/Makefile46
1 files changed, 46 insertions, 0 deletions
diff --git a/picosoc/Makefile b/picosoc/Makefile
new file mode 100644
index 0000000..1436321
--- /dev/null
+++ b/picosoc/Makefile
@@ -0,0 +1,46 @@
+
+testbench: testbench.vvp firmware.hex
+ vvp -N $<
+
+testbench.vvp: spiflash.v spimemio.v testbench.v picosoc.v ../picorv32.v
+ iverilog -s testbench -o $@ $^
+
+spiflash_tb: spiflash_tb.vvp firmware.hex
+ vvp -N $<
+
+spiflash_tb.vvp: spiflash.v spiflash_tb.v
+ iverilog -s testbench -o $@ $^
+
+prog: design.bin firmware.bin
+ iceprog design.bin
+ iceprog -o 1M firmware.bin
+
+firmware.elf: firmware.s
+ riscv32-unknown-elf-gcc -c -o firmware.elf firmware.s
+
+firmware_vma.elf: firmware.elf
+ riscv32-unknown-elf-objcopy --change-section-vma .text=0x00100000 firmware.elf firmware_vma.elf
+
+firmware.hex: firmware_vma.elf
+ riscv32-unknown-elf-objcopy -O verilog firmware_vma.elf firmware.hex
+
+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:
+ 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
+
+.PHONY: testbench spiflash_tb prog clean
+