OpenCores
URL https://opencores.org/ocsvn/qspiflash/qspiflash/trunk

Subversion Repositories qspiflash

[/] [qspiflash/] [trunk/] [bench/] [formal/] [Makefile] - Rev 21

Compare with Previous | Blame | View Log

################################################################################
##
## Filename:    Makefile
##
## Project:     Wishbone Controlled Quad SPI Flash Controller
##
## Purpose:     To direct the formal verification of the quad-spi flash
##              controller.
##
## Creator:     Dan Gisselquist, Ph.D.
##              Gisselquist Technology, LLC
##
################################################################################
##
## Copyright (C) 2017, Gisselquist Technology, LLC
##
## 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
## by the Free Software Foundation, either version 3 of the License, or (at
## your option) any later version.
##
## This program is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License along
## with this program.  (It's in the $(ROOT)/doc directory.  Run make with no
## target there if the PDF file isn't present.)  If not, see
## <http://www.gnu.org/licenses/> for a copy.
##
## License:     GPL, v3, as defined and found on www.gnu.org,
##              http://www.gnu.org/licenses/gpl.html
##
##
################################################################################
##
##
all:    test
test: llqspi.check
YOSYS   := yosys
SMTBMC  := yosys-smtbmc
# SOLVER  := -s z3      # 18 minutes
# SOLVER := -s yices    # 34 seconds
SOLVER := -s boolector  # 25 seconds
# SOLVER := -s cvc4 ... not properly installed ??
# SOLVER := -s mathsat

LLQSPISTEPS=88
LLQSPI=llqspi
BMCOUT=$(BASE)_bmc
INDOUT=$(BASE)_tmp
LLQSPIBMCARGS := $(SOLVER)    -t $(LLQSPISTEPS) --dump-vcd $(BMCOUT).vcd
LLQSPIINDARGS := $(SOLVER) -i -t $(LLQSPISTEPS) --dump-vcd $(INDOUT)_ind.vcd

.PHONY: llqspi.check llqspi.check.bmc llqspi.check.ind
llqspi.check: llqspi.check.bmc llqspi.check.ind

llqspi.check.bmc: llqspi.smt2
        $(SMTBMC)    $(LLQSPIBMCARGS) llqspi.smt2
        $(SMTBMC) -g $(LLQSPIBMCARGS) llqspi.smt2
llqspi.check.ind: llqspi.smt2
        $(SMTBMC)    $(LLQSPIINDARGS) llqspi.smt2

llqspi.smt2: ../../rtl/llqspi.v llqspi.ys
        $(YOSYS) -ql llqspi.yslog -s llqspi.ys

.PHONY: clean
clean:
        rm $(BASE).smt2 $(BMCOUT).smt2 $(INDOUT).smt2 *.vcd

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.