Merge pull request #302 from YosysHQ/aki/rm_arachne

Replaced instances of `arachne-pnr` with the `nextpnr-ice40`  equivalent
This commit is contained in:
myrtle 2022-09-15 12:37:29 +02:00 committed by GitHub
commit a545498d6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 95 additions and 101 deletions

View File

@ -1,4 +1,5 @@
example.bin *
example.blif !.gitignore
example.asc !example.v
example.rpt !hx8kboard.pcf
!Makefile

View File

@ -1,14 +1,15 @@
PROJ = example PROJ = example
PIN_DEF = hx8kboard.pcf PIN_DEF = hx8kboard.pcf
DEVICE = hx8k DEVICE = hx8k
PACKAGE = ct256
all: $(PROJ).rpt $(PROJ).bin all: $(PROJ).rpt $(PROJ).bin
%.blif: %.v %.json: %.v
yosys -p 'synth_ice40 -top top -blif $@' $< yosys -p 'synth_ice40 -top top -json $@' $<
%.asc: $(PIN_DEF) %.blif %.asc: $(PIN_DEF) %.json
arachne-pnr -d $(subst hx,,$(subst lp,,$(DEVICE))) -o $@ -p $^ nextpnr-ice40 --$(DEVICE) --package $(PACKAGE) --asc $@ --pcf $< --json $*.json
%.bin: %.asc %.bin: %.asc
icepack $< $@ icepack $< $@
@ -24,7 +25,7 @@ sudo-prog: $(PROJ).bin
sudo iceprog $< sudo iceprog $<
clean: clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin rm -f $(PROJ).json $(PROJ).asc $(PROJ).rpt $(PROJ).bin
.SECONDARY: .SECONDARY:
.PHONY: all prog clean .PHONY: all prog clean

View File

@ -1,4 +1,6 @@
example.bin *
example.blif !.gitignore
example.asc !example.v
example.rpt !iceblink.pcf
!Makefile
!README

View File

@ -1,14 +1,15 @@
PROJ = example PROJ = example
PIN_DEF = iceblink.pcf PIN_DEF = iceblink.pcf
DEVICE = hx1k DEVICE = hx1k
PACKAGE = vq100
all: $(PROJ).rpt $(PROJ).bin all: $(PROJ).rpt $(PROJ).bin
%.blif: %.v %.json: %.v
yosys -p 'synth_ice40 -top top -blif $@' $< yosys -p 'synth_ice40 -top top -json $@' $<
%.asc: $(PIN_DEF) %.blif %.asc: $(PIN_DEF) %.json
arachne-pnr -d $(subst hx,,$(subst lp,,$(DEVICE))) -o $@ -p $^ -P vq100 nextpnr-ice40 --$(DEVICE) --package $(PACKAGE) --asc $@ --pcf $< --json $*.json
%.bin: %.asc %.bin: %.asc
icepack $< $@ icepack $< $@
@ -24,6 +25,6 @@ sudo-prog: $(PROJ).bin
iCEburn.py -e -v -w $< iCEburn.py -e -v -w $<
clean: clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin rm -f $(PROJ).json $(PROJ).asc $(PROJ).rpt $(PROJ).bin
.PHONY: all prog clean .PHONY: all prog clean

View File

@ -1,4 +1,6 @@
example.asc *
example.bin !.gitignore
example.blif !example.v
example.rpt !icebreaker.pcf
!Makefile
!README

View File

@ -2,14 +2,15 @@ PROJ = example
PIN_DEF = icebreaker.pcf PIN_DEF = icebreaker.pcf
DEVICE = up5k DEVICE = up5k
PACKAGE = sg48
all: $(PROJ).rpt $(PROJ).bin all: $(PROJ).rpt $(PROJ).bin
%.blif: %.v %.json: %.v
yosys -p 'synth_ice40 -top top -blif $@' $< yosys -p 'synth_ice40 -top top -json $@' $<
%.asc: $(PIN_DEF) %.blif %.asc: $(PIN_DEF) %.json
arachne-pnr -d $(subst up,,$(subst hx,,$(subst lp,,$(DEVICE)))) -o $@ -p $^ nextpnr-ice40 --$(DEVICE) --package $(PACKAGE) --asc $@ --pcf $< --json $*.json
%.bin: %.asc %.bin: %.asc
icepack $< $@ icepack $< $@
@ -23,8 +24,8 @@ all: $(PROJ).rpt $(PROJ).bin
%_tb.vcd: %_tb %_tb.vcd: %_tb
vvp -N $< +vcd=$@ vvp -N $< +vcd=$@
%_syn.v: %.blif %_syn.v: %.json
yosys -p 'read_blif -wideports $^; write_verilog $@' yosys -p 'read_json $^; write_verilog $@'
%_syntb: %_tb.v %_syn.v %_syntb: %_tb.v %_syn.v
iverilog -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v` iverilog -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v`
@ -40,7 +41,7 @@ sudo-prog: $(PROJ).bin
sudo iceprog $< sudo iceprog $<
clean: clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin rm -f $(PROJ).json $(PROJ).asc $(PROJ).rpt $(PROJ).bin
.SECONDARY: .SECONDARY:
.PHONY: all prog clean .PHONY: all prog clean

View File

@ -1,4 +1,6 @@
/app?.asc *
/app?.bin !.gitignore
/app?.blif !app?.v
/config.bin !icestick.pcf
!Makefile
!README

View File

@ -9,12 +9,12 @@ config.bin: app0.bin app1.bin app2.bin app3.bin
icemulti -v -A16 -p0 -o config.bin app0.bin app1.bin app2.bin app3.bin icemulti -v -A16 -p0 -o config.bin app0.bin app1.bin app2.bin app3.bin
app%.bin: app%.v icestick.pcf app%.bin: app%.v icestick.pcf
yosys -p "synth_ice40 -top top -blif $(basename $<).blif" $< yosys -p "synth_ice40 -top top -json $(basename $<).json" $<
arachne-pnr -o $(basename $<).asc -d 1k -P tq144 -p icestick.pcf $(basename $<).blif nextpnr-ice40 --hx1k --package tq144 --asc $(basename $<).asc --pcf icestick.pcf --json $(basename $<).json
icetime -d hx1k -c 25 $(basename $<).asc icetime -d hx1k -c 25 $(basename $<).asc
icepack $(basename $<).asc $(basename $<).bin icepack $(basename $<).asc $(basename $<).bin
clean: clean:
rm -f app?.asc app?.bin app?.blif config.bin rm -f app?.asc app?.bin app?.json config.bin
.PHONY: prog sudo-prog clean .PHONY: prog sudo-prog clean

View File

@ -1,22 +1,9 @@
example.bin *
example.blif !.gitignore
example.asc !checker_tb.v
example.rpt !checker.v
rs232demo.bin !example.v
rs232demo.blif !icestick.pcf
rs232demo.asc !Makefile
rs232demo.rpt !rs232demo_tb.v
rs232demo_tb !rs232demo.v
rs232demo_tb.vcd
rs232demo_syn.v
rs232demo_syntb
rs232demo_syntb.vcd
checker.bin
checker.blif
checker.asc
checker.rpt
checker_tb
checker_tb.vcd
checker_syn.v
checker_syntb
checker_syntb.vcd

View File

@ -4,14 +4,15 @@ PROJ = example
PIN_DEF = icestick.pcf PIN_DEF = icestick.pcf
DEVICE = hx1k DEVICE = hx1k
PACKAGE = tq144
all: $(PROJ).rpt $(PROJ).bin all: $(PROJ).rpt $(PROJ).bin
%.blif: %.v %.json: %.v
yosys -p 'synth_ice40 -top top -blif $@' $< yosys -p 'synth_ice40 -top top -json $@' $<
%.asc: $(PIN_DEF) %.blif %.asc: $(PIN_DEF) %.json
arachne-pnr -d $(subst hx,,$(subst lp,,$(DEVICE))) -o $@ -p $^ nextpnr-ice40 --$(DEVICE) --package $(PACKAGE) --asc $@ --pcf $< --json $*.json
%.bin: %.asc %.bin: %.asc
icepack $< $@ icepack $< $@
@ -25,8 +26,8 @@ all: $(PROJ).rpt $(PROJ).bin
%_tb.vcd: %_tb %_tb.vcd: %_tb
vvp -N $< +vcd=$@ vvp -N $< +vcd=$@
%_syn.v: %.blif %_syn.v: %.json
yosys -p 'read_blif -wideports $^; write_verilog $@' yosys -p 'read_json $^; write_verilog $@'
%_syntb: %_tb.v %_syn.v %_syntb: %_tb.v %_syn.v
iverilog -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v` iverilog -o $@ $^ `yosys-config --datdir/ice40/cells_sim.v`
@ -46,7 +47,7 @@ sudo-prog: $(PROJ).bin
sudo iceprog $< sudo iceprog $<
clean: clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin rm -f $(PROJ).json $(PROJ).asc $(PROJ).rpt $(PROJ).bin
.SECONDARY: .SECONDARY:
.PHONY: all prog clean .PHONY: all prog clean

View File

@ -1,4 +1,5 @@
example.bin *
example.blif !.gitignore
example.asc !example.v
example.rpt !icezum.pcf
!Makefile

View File

@ -1,14 +1,15 @@
PROJ = example PROJ = example
PIN_DEF = icezum.pcf PIN_DEF = icezum.pcf
DEVICE = hx1k DEVICE = hx1k
PACKAGE = tq144
all: $(PROJ).rpt $(PROJ).bin all: $(PROJ).rpt $(PROJ).bin
%.blif: %.v %.json: %.v
yosys -p 'synth_ice40 -top top -blif $@' $< yosys -p 'synth_ice40 -top top -json $@' $<
%.asc: $(PIN_DEF) %.blif %.asc: $(PIN_DEF) %.json
arachne-pnr -d $(subst hx,,$(subst lp,,$(DEVICE))) -o $@ -p $^ nextpnr-ice40 --$(DEVICE) --package $(PACKAGE) --asc $@ --pcf $< --json $*.json
%.bin: %.asc %.bin: %.asc
icepack $< $@ icepack $< $@
@ -24,7 +25,7 @@ sudo-prog: $(PROJ).bin
sudo iceprog $< sudo iceprog $<
clean: clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin rm -f $(PROJ).json $(PROJ).asc $(PROJ).rpt $(PROJ).bin
.SECONDARY: .SECONDARY:
.PHONY: all prog clean .PHONY: all prog clean

View File

@ -1,12 +1,6 @@
*.bin *
*.blif !.gitignore
*.asc !Makefile*
*.rpt !README
*.glb !rgb*.pcf
*.psb !rgb.v
*.sdf
*.vsb
*.bin
*.tmp/
*.exp
*.vlog

View File

@ -1,20 +1,19 @@
PROJ = rgb PROJ = rgb
PIN_DEF = rgb.pcf PIN_DEF = rgb.pcf
DEVICE = up5k DEVICE = up5k
PACKAGE = sg48
ARACHNE = arachne-pnr
ARACHNE_ARGS =
ICEPACK = icepack ICEPACK = icepack
ICETIME = icetime ICETIME = icetime
ICEPROG = iceprog ICEPROG = iceprog
all: $(PROJ).bin all: $(PROJ).bin
%.blif: %.v %.json: %.v
yosys -p 'synth_ice40 -top top -blif $@' $< yosys -p 'synth_ice40 -top top -json $@' $<
%.asc: $(PIN_DEF) %.blif %.asc: $(PIN_DEF) %.json
$(ARACHNE) $(ARACHNE_ARGS) -d $(subst up,,$(subst hx,,$(subst lp,,$(DEVICE)))) -o $@ -p $^ nextpnr-ice40 --$(DEVICE) --package $(PACKAGE) --asc $@ --pcf $< --json $*.json
%.bin: %.asc %.bin: %.asc
$(ICEPACK) $< $@ $(ICEPACK) $< $@
@ -30,7 +29,7 @@ sudo-prog: $(PROJ).bin
sudo $(ICEPROG) -S $< sudo $(ICEPROG) -S $<
clean: clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin rm -f $(PROJ).json $(PROJ).asc $(PROJ).rpt $(PROJ).bin
.SECONDARY: .SECONDARY:
.PHONY: all prog clean .PHONY: all prog clean

View File

@ -1,9 +1,9 @@
PROJ = rgb PROJ = rgb
PIN_DEF = rgb_uwg30.pcf PIN_DEF = rgb_uwg30.pcf
DEVICE = up5k DEVICE = up5k
PACKAGE = uwg30
ARACHNE = arachne-pnr
ARACHNE_ARGS =
ICEPACK = icepack ICEPACK = icepack
ICETIME = icetime ICETIME = icetime
ICEPROG = iceprog ICEPROG = iceprog
@ -11,10 +11,10 @@ ICEPROG = iceprog
all: $(PROJ).bin all: $(PROJ).bin
%.blif: %.v %.blif: %.v
yosys -p 'synth_ice40 -top top -blif $@' $< yosys -p 'synth_ice40 -top top -json $@' $<
%.asc: $(PIN_DEF) %.blif %.asc: $(PIN_DEF) %.json
$(ARACHNE) $(ARACHNE_ARGS) -d $(subst up,,$(subst hx,,$(subst lp,,$(DEVICE)))) -o $@ -p $^ -P uwg30 nextpnr-ice40 --$(DEVICE) --package $(PACKAGE) --asc $@ --pcf $< --json $*.json
%.bin: %.asc %.bin: %.asc
$(ICEPACK) $< $@ $(ICEPACK) $< $@
@ -30,7 +30,7 @@ sudo-prog: $(PROJ).bin
sudo $(ICEPROG) -S $< sudo $(ICEPROG) -S $<
clean: clean:
rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin rm -f $(PROJ).json $(PROJ).asc $(PROJ).rpt $(PROJ).bin
.SECONDARY: .SECONDARY:
.PHONY: all prog clean .PHONY: all prog clean

1
icebram/.gitignore vendored
View File

@ -1,5 +1,6 @@
demo.asc demo.asc
demo.blif demo.blif
demo.json
demo.pcf demo.pcf
demo.v demo.v
demo.vvp demo.vvp

View File

@ -2,8 +2,8 @@
set -ex set -ex
python3 makedemo.py python3 makedemo.py
yosys -p 'synth_ice40 -blif demo.blif' demo.v yosys -p 'synth_ice40 -json demo.json' demo.v
arachne-pnr -d 8k -w demo.pcf -o demo.asc demo.blif nextpnr-ice40 --hx8k --package bg121 --pcf-allow-unconstrained --asc demo.asc --json demo.json
./icebram -v demo_dat0.hex demo_dat1.hex < demo.asc > demo_new.asc ./icebram -v demo_dat0.hex demo_dat1.hex < demo.asc > demo_new.asc