[libre-riscv-dev] daily kan-ban update 14may2020
Cole Poirier
colepoirier at gmail.com
Thu May 14 23:29:20 BST 2020
On May 14 2020, at 3:00 pm, Michael Nolan <mtnolan2640 at gmail.com> wrote:
> I've never been able to/never bothered to install super_prove or aiger
> for use with SymbiYosys. For running the formal proofs Libre-Soc has
> done, I think you only need one of the SMTBMC solvers (my
> recommendation
> is yices2).
>
> --Michael
Thanks for the tip Michael! I'll definitely keep your reccomendation to
use yices2 in mind when setting the default engine in the script (if I
do end up needing to set one, I'm not done yet), and for myself when I
start trying to use nmigen.
In that regard, Luke, after I am done with the scripts and the
modifications to the docs on the wiki, is there some testing
infrastructure that needs to be worked on, or should I try to start
learning to make nmigen HDL contributions to the project? Essentially,
what do you reccomend I do next that would be most helpful to the project?
Here is my code for a working super_prove installation in case you are
interested in trying it out:
```
hg clone https://bitbucket.org/sterin/super_prove_build
cd super_prove_build
patch -u abc-zz/MetaSat/MiniSat2/System.cc <(echo "diff -r bde167bca3cd MetaSat/MiniSat2/System.cc
--- a/MetaSat/MiniSat2/System.cc Thu Sep 14 01:44:08 2017 -0700
+++ b/MetaSat/MiniSat2/System.cc Thu May 14 20:10:24 2020 +0000
@@ -20,6 +20,7 @@
#include <signal.h>
#include <stdio.h>
+#include <stdlib.h>
#include "System.hh"
@@ -27,7 +28,6 @@
#if defined(__linux__)
-#include <stdlib.h>
static inline int memReadStat(int field)
{
")
patch -u abc-zz/Bip/Main_bip.cc <(echo "diff -r bde167bca3cd Bip/Main_bip.cc
--- a/Bip/Main_bip.cc Thu Sep 14 01:44:08 2017 -0700
+++ b/Bip/Main_bip.cc Thu May 14 20:08:52 2020 +0000
@@ -508,8 +508,8 @@
void writeCex(Out& out, NetlistRef N, const Cex& cex, uint orig_num_pis)
{
Vec<Pair<int,GLit> > ffs, pis;
- For_Gatetype(N, gate_Flop, w) ffs.push(tuple(attr_Flop(w).number, w));
- For_Gatetype(N, gate_PI , w) pis.push(tuple(attr_PI (w).number, w));
+ For_Gatetype(N, gate_Flop, w
)ffs.push(ZZ::tuple(attr_Flop(w).number, w));
+ For_Gatetype(N, gate_PI , w) pis.push(ZZ::tuple(attr_PI
(w).number, w));
sort(ffs);
sort(pis);
")
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ..
ninja
ninja package
SPBIN=`find . -maxdepth 1 -name "super_prove*-Release.tar.gz"`
tar xvf $SPBIN -C /usr/local/bin/
cat << "EOF" > /usr/local/bin/suprove
#!/bin/bash
tool=super_prove; if [ "$1" != "${1#+}" ]; then tool="${1#+}"; shift; fi
exec /usr/local/bin/super_prove/bin/${tool}.sh "$@"
EOF
chmod +x /usr/local/bin/suprove
suprove
```
Cole
More information about the libre-riscv-dev
mailing list