From 849b8857752170812261261934d8571ecff09295 Mon Sep 17 00:00:00 2001
From: Robert Ou <rqou@robertou.com>
Date: Sun, 27 Aug 2017 02:19:19 -0700
Subject: recover_reduce: Update documentation

The documentation now describes the commands performed in the deleted
recover_reduce script.
---
 passes/techmap/recover_reduce.cc | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

(limited to 'passes')

diff --git a/passes/techmap/recover_reduce.cc b/passes/techmap/recover_reduce.cc
index 873b8ab26..bcc31e182 100644
--- a/passes/techmap/recover_reduce.cc
+++ b/passes/techmap/recover_reduce.cc
@@ -23,25 +23,28 @@
 USING_YOSYS_NAMESPACE
 PRIVATE_NAMESPACE_BEGIN
 
-struct RecoverReduceCorePass : public Pass {
+struct RecoverReducePass : public Pass {
 	enum GateType {
 		And,
 		Or,
 		Xor
 	};
 
-	RecoverReduceCorePass() : Pass("recover_reduce_core", "converts gate chains into $reduce_*") { }
+	RecoverReducePass() : Pass("recover_reduce", "converts gate chains into $reduce_* cells") { }
 	virtual void help()
 	{
 		//   |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
 		log("\n");
-		log("    recover_reduce_core\n");
+		log("    recover_reduce\n");
 		log("\n");
-		log("converts gate chains into $reduce_*\n");
+		log("converts gate chains into $reduce_* cells\n");
 		log("\n");
-		log("This performs the core step of the recover_reduce command. This step recognizes\n");
-		log("chains of gates found by the previous steps and converts these chains into one\n");
-		log("logical cell.\n");
+		log("This command finds chains of $_AND_, $_OR_, and $_XOR_ cells and replaces them\n");
+		log("with their corresponding $reduce_* cells. Because this command only operates on\n");
+		log("these cell types, it is recommended to map the design to only these cell types\n");
+		log("using the `abc -g` command. Note that, in some cases, it may be more effective\n");
+		log("to map the design to only $_AND_ cells, run recover_reduce, map the remaining\n");
+		log("parts of the design to AND/OR/XOR cells, and run recover_reduce a second time.\n");
 		log("\n");
 	}
 	virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
@@ -214,6 +217,6 @@ struct RecoverReduceCorePass : public Pass {
 				module->remove(cell);
 		}
 	}
-} RecoverReduceCorePass;
+} RecoverReducePass;
 
 PRIVATE_NAMESPACE_END
-- 
cgit v1.2.3