commit
						f00a88c36e
					
				
							
								
								
									
										2
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										2
									
								
								Makefile
								
								
								
								
							| 
						 | 
					@ -93,7 +93,7 @@ check-%: check.smt2
 | 
				
			||||||
check.smt2: picorv32.v
 | 
					check.smt2: picorv32.v
 | 
				
			||||||
	yosys -v2 -p 'read_verilog -formal picorv32.v' \
 | 
						yosys -v2 -p 'read_verilog -formal picorv32.v' \
 | 
				
			||||||
	          -p 'prep -top picorv32 -nordff' \
 | 
						          -p 'prep -top picorv32 -nordff' \
 | 
				
			||||||
		  -p 'assertpmux -noinit; opt -fast' \
 | 
							  -p 'assertpmux -noinit; opt -fast; dffunmap' \
 | 
				
			||||||
		  -p 'write_smt2 -wires check.smt2'
 | 
							  -p 'write_smt2 -wires check.smt2'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
synth.v: picorv32.v scripts/yosys/synth_sim.ys
 | 
					synth.v: picorv32.v scripts/yosys/synth_sim.ys
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
USE_MYSTDLIB = 0
 | 
					USE_MYSTDLIB = 0
 | 
				
			||||||
OBJS = dhry_1.o dhry_2.o stdlib.o
 | 
					OBJS = dhry_1.o dhry_2.o stdlib.o
 | 
				
			||||||
CFLAGS = -MD -O3 -march=rv32im -DTIME -DRISCV
 | 
					CFLAGS = -MD -O3 -mabi=ilp32 -march=rv32im -DTIME -DRISCV
 | 
				
			||||||
TOOLCHAIN_PREFIX = /opt/riscv32im/bin/riscv32-unknown-elf-
 | 
					TOOLCHAIN_PREFIX = /opt/riscv32im/bin/riscv32-unknown-elf-
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifeq ($(USE_MYSTDLIB),1)
 | 
					ifeq ($(USE_MYSTDLIB),1)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -383,8 +383,13 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* General definitions: */
 | 
					/* General definitions: */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef USE_MYSTDLIB
 | 
				
			||||||
 | 
					extern char *strcpy(char *dest, const char *src);
 | 
				
			||||||
 | 
					extern int strcmp(const char *s1, const char *s2);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
                /* for strcpy, strcmp */
 | 
					                /* for strcpy, strcmp */
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define Null 0
 | 
					#define Null 0
 | 
				
			||||||
                /* Value of a Null pointer */
 | 
					                /* Value of a Null pointer */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
/spiflash_tb.vvp
 | 
					/spiflash_tb.vvp
 | 
				
			||||||
/hx8kdemo.asc
 | 
					/hx8kdemo.asc
 | 
				
			||||||
/hx8kdemo.bin
 | 
					/hx8kdemo.bin
 | 
				
			||||||
/hx8kdemo.blif
 | 
					/hx8kdemo.json
 | 
				
			||||||
/hx8kdemo.log
 | 
					/hx8kdemo.log
 | 
				
			||||||
/hx8kdemo.rpt
 | 
					/hx8kdemo.rpt
 | 
				
			||||||
/hx8kdemo_syn.v
 | 
					/hx8kdemo_syn.v
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,13 +14,13 @@ hx8kdemo.json: hx8kdemo.v spimemio.v simpleuart.v picosoc.v ../picorv32.v
 | 
				
			||||||
	yosys -ql hx8kdemo.log -p 'synth_ice40 -top hx8kdemo -json hx8kdemo.json' $^
 | 
						yosys -ql hx8kdemo.log -p 'synth_ice40 -top hx8kdemo -json hx8kdemo.json' $^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
hx8kdemo_tb.vvp: hx8kdemo_tb.v hx8kdemo.v spimemio.v simpleuart.v picosoc.v ../picorv32.v spiflash.v
 | 
					hx8kdemo_tb.vvp: hx8kdemo_tb.v hx8kdemo.v spimemio.v simpleuart.v picosoc.v ../picorv32.v spiflash.v
 | 
				
			||||||
	iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v`
 | 
						iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v` -DNO_ICE40_DEFAULT_ASSIGNMENTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
hx8kdemo_syn_tb.vvp: hx8kdemo_tb.v hx8kdemo_syn.v spiflash.v
 | 
					hx8kdemo_syn_tb.vvp: hx8kdemo_tb.v hx8kdemo_syn.v spiflash.v
 | 
				
			||||||
	iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v`
 | 
						iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v` -DNO_ICE40_DEFAULT_ASSIGNMENTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
hx8kdemo_syn.v: hx8kdemo.blif
 | 
					hx8kdemo_syn.v: hx8kdemo.json
 | 
				
			||||||
	yosys -p 'read_blif -wideports hx8kdemo.blif; write_verilog hx8kdemo_syn.v'
 | 
						yosys -p 'read_json hx8kdemo.json; write_verilog hx8kdemo_syn.v'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
hx8kdemo.asc: hx8kdemo.pcf hx8kdemo.json
 | 
					hx8kdemo.asc: hx8kdemo.pcf hx8kdemo.json
 | 
				
			||||||
	nextpnr-ice40 --hx8k --package ct256 --asc hx8kdemo.asc --json hx8kdemo.json --pcf hx8kdemo.pcf
 | 
						nextpnr-ice40 --hx8k --package ct256 --asc hx8kdemo.asc --json hx8kdemo.json --pcf hx8kdemo.pcf
 | 
				
			||||||
| 
						 | 
					@ -60,10 +60,10 @@ icebreaker.json: icebreaker.v ice40up5k_spram.v spimemio.v simpleuart.v picosoc.
 | 
				
			||||||
	yosys -ql icebreaker.log -p 'synth_ice40 -dsp -top icebreaker -json icebreaker.json' $^
 | 
						yosys -ql icebreaker.log -p 'synth_ice40 -dsp -top icebreaker -json icebreaker.json' $^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
icebreaker_tb.vvp: icebreaker_tb.v icebreaker.v ice40up5k_spram.v spimemio.v simpleuart.v picosoc.v ../picorv32.v spiflash.v
 | 
					icebreaker_tb.vvp: icebreaker_tb.v icebreaker.v ice40up5k_spram.v spimemio.v simpleuart.v picosoc.v ../picorv32.v spiflash.v
 | 
				
			||||||
	iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v`
 | 
						iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v` -DNO_ICE40_DEFAULT_ASSIGNMENTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
icebreaker_syn_tb.vvp: icebreaker_tb.v icebreaker_syn.v spiflash.v
 | 
					icebreaker_syn_tb.vvp: icebreaker_tb.v icebreaker_syn.v spiflash.v
 | 
				
			||||||
	iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v`
 | 
						iverilog -s testbench -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v` -DNO_ICE40_DEFAULT_ASSIGNMENTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
icebreaker_syn.v: icebreaker.json
 | 
					icebreaker_syn.v: icebreaker.json
 | 
				
			||||||
	yosys -p 'read_json icebreaker.json; write_verilog icebreaker_syn.v'
 | 
						yosys -p 'read_json icebreaker.json; write_verilog icebreaker_syn.v'
 | 
				
			||||||
| 
						 | 
					@ -96,8 +96,8 @@ icebreaker_fw.bin: icebreaker_fw.elf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ---- Testbench for SPI Flash Model ----
 | 
					# ---- Testbench for SPI Flash Model ----
 | 
				
			||||||
 | 
					
 | 
				
			||||||
spiflash_tb: spiflash_tb.vvp firmware.hex
 | 
					spiflash_tb: spiflash_tb.vvp icebreaker_fw.hex
 | 
				
			||||||
	vvp -N $<
 | 
						vvp -N $< +firmware=icebreaker_fw.hex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
spiflash_tb.vvp: spiflash.v spiflash_tb.v
 | 
					spiflash_tb.vvp: spiflash.v spiflash_tb.v
 | 
				
			||||||
	iverilog -s testbench -o $@ $^
 | 
						iverilog -s testbench -o $@ $^
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue