-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
61 lines (44 loc) · 1.23 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
PROJ = ulx3s-adda
PIN_DEF = ulx3s_v20.lpf
DEVICE = up5k
ARACHNE = arachne-pnr
ARACHNE_ARGS =
ICEPACK = icepack
ICETIME = icetime
ICEPROG = iceprog
all: $(PROJ).bit
@printf "$(PROJ).bit done!"
ls $(PROJ).bit -al
%.bit: $(PROJ).out.config
@printf "bit..."
ecppack $(PROJ).out.config $(PROJ).bit --idcode 0x21111043
%.out.config: $(PROJ).json
@printf "config..."
nextpnr-ecp5 --25k --json $(PROJ).json \
--lpf ulx3s_v20.lpf \
--textcfg $(PROJ).out.config --log $(PROJ).nextpnr-ecp5.log
%.json: $(PROJ).ys $(PROJ).v
yosys $(PROJ).ys
#%.blif: %.v
#printf "yosys..."
#read continue
#yosys -p 'synth_ice40 -top top -blif $@' $<
#%.asc: $(PIN_DEF) %.blif
#echo "$(ARACHNE) $(ARACHNE_ARGS) -d $(subst up,,$(subst hx,,$(subst lp,,$(DEVICE)))) -o $@ -p $^"
#printf "asc..."
#read continue
#$(ARACHNE) $(ARACHNE_ARGS) -d $(subst up,,$(subst hx,,$(subst lp,,$(DEVICE)))) -o $@ -p $^
%.bin: %.asc
@printf "bin..."
$(ICEPACK) $< $@
%.rpt: %.asc
$(ICETIME) -d $(DEVICE) -mtr $@ $<
prog: $(PROJ).bin
$(ICEPROG) -S $<
sudo-prog: $(PROJ).bin
@echo 'Executing prog as root!!!'
sudo $(ICEPROG) -S $<
clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bit $(PROJ).json $(PROJ).out.config
.SECONDARY:
.PHONY: all prog clean