Line 13... |
Line 13... |
## Creator: Dan Gisselquist, Ph.D.
|
## Creator: Dan Gisselquist, Ph.D.
|
## Gisselquist Technology, LLC
|
## Gisselquist Technology, LLC
|
##
|
##
|
################################################################################
|
################################################################################
|
##
|
##
|
## Copyright (C) 2017, Gisselquist Technology, LLC
|
## Copyright (C) 2017-2019, Gisselquist Technology, LLC
|
##
|
##
|
## This program is free software (firmware): you can redistribute it and/or
|
## This program is free software (firmware): you can redistribute it and/or
|
## modify it under the terms of the GNU General Public License as published
|
## modify it under the terms of the GNU General Public License as published
|
## by the Free Software Foundation, either version 3 of the License, or (at
|
## by the Free Software Foundation, either version 3 of the License, or (at
|
## your option) any later version.
|
## your option) any later version.
|
Line 36... |
Line 36... |
## http://www.gnu.org/licenses/gpl.html
|
## http://www.gnu.org/licenses/gpl.html
|
##
|
##
|
################################################################################
|
################################################################################
|
##
|
##
|
##
|
##
|
TESTS := ufifo txuartlite rxuartlite
|
TESTS := ufifo txuartlite rxuartlite txuart
|
.PHONY: $(TESTS)
|
.PHONY: $(TESTS)
|
all: $(TESTS)
|
all: $(TESTS)
|
RTL := ../../rtl
|
RTL := ../../rtl
|
SMTBMC := yosys-smtbmc
|
|
# SOLVER := -s z3
|
|
SOLVER := -s yices
|
|
# BMCARGS := --presat $(SOLVER)
|
|
BMCARGS := $(SOLVER)
|
|
INDARGS := $(SOLVER) -i
|
|
|
|
FIFO := ufifo
|
FIFO := ufifo
|
TX := txuartlite
|
TX := txuart
|
|
TXLITE:= txuartlite
|
RX := rxuartlite
|
RX := rxuartlite
|
|
|
$(FIFO).smt2: $(RTL)/$(FIFO).v $(FIFO).ys
|
.PHONY: $(FIFO) $(TX) $(RX) $(TXLITE)
|
yosys -ql $(FIFO).yslog -s $(FIFO).ys
|
$(FIFO): $(FIFO)/PASS
|
|
$(TX): $(TX)/PASS
|
$(TX).smt2: $(RTL)/$(TX).v $(TX).ys
|
$(RX): $(RX)_prf/PASS $(RX)_cvr/PASS
|
yosys -ql $(TX).yslog -s $(TX).ys
|
$(TXLITE): $(TXLITE)_cvr/PASS $(TXLITE)_prf/PASS
|
|
|
$(RX).smt2: $(RTL)/$(RX).v $(RX).ys
|
$(TX)/PASS: $(TX).sby $(RTL)/$(TX).v
|
yosys -ql $(RX).yslog -s $(RX).ys
|
sby -f $(TX).sby
|
|
|
$(FIFO) : $(FIFO).check
|
$(RX)_prf/PASS: $(RX).sby $(RTL)/$(RX).v
|
$(FIFO).check: $(FIFO).smt2
|
sby -f $(RX).sby prf
|
$(SMTBMC) --presat $(BMCARGS) -t 10 --dump-vcd $(FIFO).vcd $(FIFO).smt2
|
$(RX)_cvr/PASS: $(RX).sby $(RTL)/$(RX).v
|
$(SMTBMC) $(INDARGS) -t 10 --dump-vcd $(FIFO).vcd $(FIFO).smt2
|
sby -f $(RX).sby cvr
|
touch $@
|
|
|
$(TXLITE)_cvr/PASS: $(TXLITE).sby $(RTL)/$(TXLITE).v
|
$(TX) : $(TX).check
|
sby -f $(TXLITE).sby cvr
|
$(TX).check: $(TX).smt2
|
$(TXLITE)_prf/PASS: $(TXLITE).sby $(RTL)/$(TXLITE).v
|
$(SMTBMC) --presat $(BMCARGS) -t 90 --dump-vcd $(TX).vcd $(TX).smt2
|
sby -f $(TXLITE).sby prf
|
$(SMTBMC) $(INDARGS) -t 90 --dump-vcd $(TX).vcd $(TX).smt2
|
|
$(SMTBMC) -c $(SOLVER) -t 90 --dump-vcd $(TX).vcd $(TX).smt2
|
|
touch $@
|
|
|
|
$(RX) : $(RX).check
|
|
$(RX).check: $(RX).sby $(RTL)/$(RX).v
|
|
sby -f $(RX).sby
|
|
touch $@
|
|
|
|
|
$(FIFO)/PASS: $(FIFO).sby $(RTL)/$(FIFO).v
|
|
sby -f $(FIFO).sby
|
|
|
.PHONY: clean
|
.PHONY: clean
|
clean:
|
clean:
|
rm -f $(FIFO).smt2 $(FIFO)*.vcd
|
rm -rf $(FIFO)/ $(RX)_*/ $(TX)/ $(TXLITE)_cvr/ $(TXLITE)_prf/
|
rm -f $(TX).smt2 $(TX)*.vcd
|
|
rm -rf $(RX)_one/ $(RX)_two/
|
|
rm -f *.check
|
|
rm -rf $(FIFO)/ $(RX)_*/ $(TX)/ $(TXLITE)_cvr/ $(TXLITE)_prf/
|
|