aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Lawson <ucbjrl@berkeley.edu>2019-02-22 16:06:10 -0800
committerJim Lawson <ucbjrl@berkeley.edu>2019-02-22 16:06:10 -0800
commit71bcc4c644b0dafa760ff8b6d7bd1109836be621 (patch)
treead0577feb454de2a87ca6677bed6e9828f0faa8b
parent5c4a72c43ef61420b4b099d87949b0fdba0f4b55 (diff)
downloadyosys-71bcc4c644b0dafa760ff8b6d7bd1109836be621.tar.gz
yosys-71bcc4c644b0dafa760ff8b6d7bd1109836be621.tar.bz2
yosys-71bcc4c644b0dafa760ff8b6d7bd1109836be621.zip
Address requested changes - don't require non-$ name.
Suppress warning if name does begin with a `$`. Fix hierachy tests so they have something to grep. Announce hierarchy test types.
-rw-r--r--passes/hierarchy/hierarchy.cc14
-rw-r--r--tests/various/hierarchy.sh9
-rwxr-xr-xtests/various/run-test.sh2
3 files changed, 14 insertions, 11 deletions
diff --git a/passes/hierarchy/hierarchy.cc b/passes/hierarchy/hierarchy.cc
index f112e969e..cb54ffa58 100644
--- a/passes/hierarchy/hierarchy.cc
+++ b/passes/hierarchy/hierarchy.cc
@@ -525,14 +525,14 @@ int find_top_mod_score(Design *design, Module *module, dict<Module*, int> &db)
celltype = basic_cell_type(celltype);
}
// Is this cell a module instance?
- if (celltype[0] != '$') {
- auto instModule = design->module(celltype);
- // If there is no instance for this, issue a warning.
- if (instModule == NULL) {
+ auto instModule = design->module(celltype);
+ // If there is no instance for this, issue a warning.
+ if (instModule == NULL) {
+ // but only if we're sure it is a reference to a module.
+ if (celltype[0] != '$')
log_warning("find_top_mod_score: no instance for %s.%s\n", celltype.c_str(), cell->name.c_str());
- } else {
- score = max(score, find_top_mod_score(design, instModule, db) + 1);
- }
+ } else {
+ score = max(score, find_top_mod_score(design, instModule, db) + 1);
}
}
db[module] = score;
diff --git a/tests/various/hierarchy.sh b/tests/various/hierarchy.sh
index dcb4dc056..d33a247be 100644
--- a/tests/various/hierarchy.sh
+++ b/tests/various/hierarchy.sh
@@ -3,7 +3,8 @@
set -e
-../../yosys -q -s - <<- EOY 2>&1 | grep "Automatically selected TOP as design top module"
+echo -n " TOP first - "
+../../yosys -s - <<- EOY | grep "Automatically selected TOP as design top module"
read_verilog << EOV
module TOP(a, y);
input a;
@@ -21,7 +22,8 @@ set -e
hierarchy -auto-top
EOY
-../../yosys -q -s - <<- EOY 2>&1 | grep "Automatically selected TOP as design top module"
+echo -n " TOP last - "
+../../yosys -s - <<- EOY | grep "Automatically selected TOP as design top module"
read_verilog << EOV
module aoi12(a, y);
input a;
@@ -39,7 +41,8 @@ EOY
hierarchy -auto-top
EOY
-../../yosys -q -s - <<- EOY 2>&1 | grep "Automatically selected noTop as design top module."
+echo -n " no explicit top - "
+../../yosys -s - <<- EOY | grep "Automatically selected noTop as design top module."
read_verilog << EOV
module aoi12(a, y);
input a;
diff --git a/tests/various/run-test.sh b/tests/various/run-test.sh
index 7cd1a8650..d49553ede 100755
--- a/tests/various/run-test.sh
+++ b/tests/various/run-test.sh
@@ -9,6 +9,6 @@ shell_tests=$(echo *.sh | sed -e 's/run-test.sh//')
if [ "$shell_tests" ]; then
for s in $shell_tests; do
echo "Running $s.."
- bash $s >& ${s%.sh}.log
+ bash $s
done
fi