|
@@ -21,7 +21,8 @@ QPOW = $(QU)_pow $(QOPT)
|
|
|
|
|
|
outdir = output
|
|
outdir = output
|
|
|
|
|
|
-PERL = perl # Otherwise Quartus has a cow...
|
|
|
|
|
|
+PERL = perl
|
|
|
|
+PYTHON = python
|
|
SED = sed
|
|
SED = sed
|
|
GZIP = gzip
|
|
GZIP = gzip
|
|
|
|
|
|
@@ -30,7 +31,8 @@ PREREQFILES = $(outdir)/sram.mif \
|
|
$(foreach rev,$(REVISIONS),$(foreach coffmt,jic pof, \
|
|
$(foreach rev,$(REVISIONS),$(foreach coffmt,jic pof, \
|
|
$(outdir)/$(rev).$(coffmt).cof))
|
|
$(outdir)/$(rev).$(coffmt).cof))
|
|
|
|
|
|
-alltarg := sof pof jic svf svf.gz rbf rbf.gz rpd rpd.gz pow.rpt sta.rpt
|
|
|
|
|
|
+alltarg := sof pof jic svf svf.gz xsvf xsvf.gz rbf rbf.gz \
|
|
|
|
+ rpd rpd.gz pow.rpt sta.rpt
|
|
allout = $(foreach o,$(alltarg),$(outdir)/$(1).$(o))
|
|
allout = $(foreach o,$(alltarg),$(outdir)/$(1).$(o))
|
|
|
|
|
|
sram_src = ../rv32/boot.bin
|
|
sram_src = ../rv32/boot.bin
|
|
@@ -96,6 +98,11 @@ $(outdir)/%.pof: $(outdir)/%.pof.cof $(outdir)/%.sof
|
|
$(outdir)/%.svf: $(outdir)/%.sof
|
|
$(outdir)/%.svf: $(outdir)/%.sof
|
|
$(QCPF) -c -q 12.0MHz -g 3.3 -n p $< $@
|
|
$(QCPF) -c -q 12.0MHz -g 3.3 -n p $< $@
|
|
|
|
|
|
|
|
+# xsvf: compact representation of .svf; more or less a wrapper around
|
|
|
|
+# the raw binary file.
|
|
|
|
+$(outdir)/%.xsvf: $(outdir)/%.svf ../tools/svf2xsvf.py
|
|
|
|
+ $(PYTHON) ../tools/svf2xsvf.py $< $@
|
|
|
|
+
|
|
# Raw Binary File, compact data for transient programming or for loading
|
|
# Raw Binary File, compact data for transient programming or for loading
|
|
# into flash (address 0); does *not* include the non-FPGA code; load
|
|
# into flash (address 0); does *not* include the non-FPGA code; load
|
|
# ../rv32/dram.{bin,bin.gz,hex} for that.
|
|
# ../rv32/dram.{bin,bin.gz,hex} for that.
|