From 8ce99fa6863a8e43b889a11c13e45f317fff11b3 Mon Sep 17 00:00:00 2001
From: Clifford Wolf <clifford@clifford.at>
Date: Mon, 10 Jun 2013 21:07:22 +0200
Subject: More xsthammer improvements

---
 tests/xsthammer/run-check.sh | 46 +++++++++++++++++++++++++-------------------
 tests/xsthammer/run-xst.sh   |  2 +-
 2 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/tests/xsthammer/run-check.sh b/tests/xsthammer/run-check.sh
index 4f4658a96..6604f6e08 100644
--- a/tests/xsthammer/run-check.sh
+++ b/tests/xsthammer/run-check.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-set -ex
+set -e
 mkdir -p check
 
 rm -rf check_temp
@@ -14,39 +14,45 @@ fi
 for job
 do
 	{
-		echo "module top(a, b, y_rtl, y_xst);"
+		echo "module ${job}_top(a, b, y_rtl, y_xst);"
 		sed -r '/^(input|output) / !d; /output/ { s/ y;/ y_rtl;/; p; }; s/ y_rtl;/ y_xst;/;' ../rtl/$job.v
 		echo "${job}_rtl rtl_variant (.a(a), .b(b), .y(y_rtl));"
 		echo "${job}_xst xst_variant (.a(a), .b(b), .y(y_xst));"
 		echo "endmodule"
 	} > ${job}_top.v
 
-	{
-		echo "read_verilog -DGLBL ../xst/$job.v"
-		echo "rename $job ${job}_xst"
+	for mode in nomap techmap; do
+		{
+			echo "read_verilog -DGLBL ../xst/$job.v"
+			echo "rename $job ${job}_xst"
 
-		echo "read_verilog ../rtl/$job.v"
-		echo "rename $job ${job}_rtl"
-		# echo "techmap ${job}_rtl"
+			echo "read_verilog ../rtl/$job.v"
+			echo "rename $job ${job}_rtl"
+			if [ $mode = techmap ]; then
+				echo "techmap ${job}_rtl"
+			fi
 
-		echo "read_verilog ${job}_top.v"
-		echo "read_verilog ../xl_cells.v"
+			echo "read_verilog ${job}_top.v"
+			echo "read_verilog ../xl_cells.v"
 
-		echo "hierarchy -top top"
-		echo "flatten top"
-		echo "hierarchy -top top"
-		echo "opt_clean"
+			echo "hierarchy -top ${job}_top"
+			echo "flatten ${job}_top"
+			echo "hierarchy -top ${job}_top"
+			echo "opt_clean"
 
-		echo "write_ilang ${job}_top.il"
-	} > ${job}_top.ys
+			echo "rename ${job}_top ${job}_top_${mode}"
+			echo "write_ilang ${job}_top_${mode}.il"
+		} > ${job}_top_${mode}.ys
+		../../../yosys -q ${job}_top_${mode}.ys
+	done
 
 	{
-		echo "read_ilang ${job}_top.il"
-		echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst top"
+		echo "read_ilang ${job}_top_nomap.il"
+		echo "read_ilang ${job}_top_techmap.il"
+		echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_nomap"
+		echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_techmap"
 	} > ${job}_cmp.ys
 
-	../../../yosys ${job}_top.ys
-
 	if ../../../yosys -l ${job}.log ${job}_cmp.ys; then
 		mv ${job}.log ../check/${job}.log
 		rm -f ../check/${job}.err
diff --git a/tests/xsthammer/run-xst.sh b/tests/xsthammer/run-xst.sh
index 00c46a752..879ce75c5 100644
--- a/tests/xsthammer/run-xst.sh
+++ b/tests/xsthammer/run-xst.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-set -ex
+set -e
 mkdir -p xst
 . /opt/Xilinx/14.2/ISE_DS/settings64.sh
 
-- 
cgit v1.2.3