From dd09d461ccc613e5ddce8f5e588519859db374de Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Wed, 1 Jan 2020 21:35:07 +0100 Subject: More changes to instructions --- experiments/instructions.md | 40 ++++++++++++++++++++-------------------- experiments/instructions.org | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/experiments/instructions.md b/experiments/instructions.md index 40e24ee..f5988c3 100644 --- a/experiments/instructions.md +++ b/experiments/instructions.md @@ -1,19 +1,19 @@ # Table of Contents -1. [Introduction](#org1b61a13) -2. [Finding failures in Yosys 0.8](#org822a3f3) - 1. [Installing Yosys master](#org1796c08) - 2. [Running Verismith](#org4bcde97) - 3. [Using a pre-existing seed](#org5ee7571) -3. [Better example of reduction and interesting failure](#orgbd91ba7) - 1. [Build Yosys 3333e002](#org866de1a) - 2. [Running Verismith for mis-synthesis](#orgb24b2ef) - 3. [Running Verismith for crash](#org51a0c9d) +1. [Introduction](#orgd3cb150) +2. [Finding failures in Yosys 0.8](#org959cf8d) + 1. [Installing Yosys master](#org6a1d355) + 2. [Running Verismith](#org84e63d1) + 3. [Using a pre-existing seed](#orgcabdc0f) +3. [Better example of reduction and interesting failure](#orgf84fef3) + 1. [Build Yosys 3333e002](#org97f1e94) + 2. [Running Verismith for mis-synthesis](#org1b17784) + 3. [Running Verismith for crash](#org39c5d99) - + # Introduction @@ -22,7 +22,7 @@ The version of Verismith that is assumed to be used is Verismith 0.6.0.2, which cabal install verismith - + # Finding failures in Yosys 0.8 @@ -33,7 +33,7 @@ However, to find failures in Yosys 0.8, a newer version of Yosys has to be used **Note**: The most common error in Yosys 0.8 is regarding for loops, which are not dealt that well with the reducer at the moment. - + ## Installing Yosys master @@ -53,7 +53,7 @@ Then we want to install Yosys 0.8 (which will be installed to `/opt/yosys/0.8`): sudo make install - + ## Running Verismith @@ -118,7 +118,7 @@ Failures can then either be seen on the output, or a summary can be seen in the firefox yosys_output/index.html - + ## Using a pre-existing seed @@ -181,18 +181,18 @@ Just save the config file in `config.toml` and run the following: Which should find a bug and reduce it to around 200 loc out of 1000. - + # Better example of reduction and interesting failure This bug was found in a development version of Yosys (commit hash 3333e002) and was [reported and fixed in Yosys](). In addition to that, a crash can also be reproduced which was also [reported and fixed in Yosys](). - + ## Build Yosys 3333e002 -First, we need to build Yosys 3333e002, in addition to the version of Yosys master [built earlier](#org1796c08). +First, we need to build Yosys 3333e002, in addition to the version of Yosys master [built earlier](#org6a1d355). git clean -dfx && git reset --hard HEAD git checkout 3333e002 -b test @@ -201,7 +201,7 @@ First, we need to build Yosys 3333e002, in addition to the version of Yosys mast sudo make install - + ## Running Verismith for mis-synthesis @@ -261,7 +261,7 @@ Contrary to what is expected, the simulation runs will pass. This is because the To fix this manually, one can add a `$strobe("%b", y);` on line 22 in the yosys testbench: cd output_ms/fuzz_1/simulation_yosys - sed -i '21 a $strobe("%b", y);' yosys_testbench.v + sed -i '21 a $strobe("%b", y);' yosys_testbench.v iverilog -o yosys_main yosys_testbench.v # ./yosys_main | grep 'x' ./yosys_main @@ -269,7 +269,7 @@ To fix this manually, one can add a `$strobe("%b", y);` on line 22 in the yosys which should show some `x` in the output which should not be there. - + ## Running Verismith for crash diff --git a/experiments/instructions.org b/experiments/instructions.org index e125fd5..ee5827f 100644 --- a/experiments/instructions.org +++ b/experiments/instructions.org @@ -247,7 +247,7 @@ To fix this manually, one can add a ~$strobe("%b", y);~ on line 22 in the yosys #+begin_src bash cd output_ms/fuzz_1/simulation_yosys -sed -i '21 a $strobe("%b", y);' yosys_testbench.v +sed -i '21 a $strobe("%b", y);' yosys_testbench.v iverilog -o yosys_main yosys_testbench.v # ./yosys_main | grep 'x' ./yosys_main -- cgit