summaryrefslogtreecommitdiff
path: root/passes/tests
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-09-06 11:46:07 +0200
committerClifford Wolf <clifford@clifford.at>2014-09-06 11:46:07 +0200
commite1743b3bac8c86f3cf857892dabf66bec5573a7a (patch)
tree9057917583685acda482c22430b5b1059ed9b126 /passes/tests
parentf5a40e70431bc09072ca79c22c356ec0c0c9bb8b (diff)
Added "test_cell -script"
Diffstat (limited to 'passes/tests')
-rw-r--r--passes/tests/test_cell.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/passes/tests/test_cell.cc b/passes/tests/test_cell.cc
index f82bbfeb..26aad435 100644
--- a/passes/tests/test_cell.cc
+++ b/passes/tests/test_cell.cc
@@ -380,6 +380,9 @@ struct TestCellPass : public Pass {
log(" -simplib\n");
log(" use \"techmap -map +/simlib.v -max_iter 2 -autoproc\"\n");
log("\n");
+ log(" -script {script_file}\n");
+ log(" instead of calling \"techmap\", call \"script {script_file}\".\n");
+ log("\n");
log(" -v\n");
log(" print additional debug information to the console\n");
log("\n");
@@ -416,6 +419,10 @@ struct TestCellPass : public Pass {
num_iter = 1;
continue;
}
+ if (args[argidx] == "-script" && argidx+1 < SIZE(args)) {
+ techmap_cmd = "script " + args[++argidx];
+ continue;
+ }
if (args[argidx] == "-simlib") {
techmap_cmd = "techmap -map +/simlib.v -max_iter 2 -autoproc";
continue;
@@ -540,7 +547,7 @@ struct TestCellPass : public Pass {
Frontend::frontend_call(design, NULL, std::string(), "ilang " + ilang_file);
else
create_gold_module(design, cell_type, cell_types.at(cell_type));
- Pass::call(design, stringf("copy gold gate; %s gate; opt gate", techmap_cmd.c_str()));
+ Pass::call(design, stringf("copy gold gate; cd gate; %s; cd ..; opt -fast gate", techmap_cmd.c_str()));
Pass::call(design, "miter -equiv -flatten -make_outputs -ignore_gold_x gold gate miter");
if (verbose)
Pass::call(design, "dump gate");