diff options
| author | Jim Lawson <ucbjrl@berkeley.edu> | 2019-02-22 16:06:10 -0800 | 
|---|---|---|
| committer | Jim Lawson <ucbjrl@berkeley.edu> | 2019-02-22 16:06:10 -0800 | 
| commit | 71bcc4c644b0dafa760ff8b6d7bd1109836be621 (patch) | |
| tree | ad0577feb454de2a87ca6677bed6e9828f0faa8b | |
| parent | 5c4a72c43ef61420b4b099d87949b0fdba0f4b55 (diff) | |
| download | yosys-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.cc | 14 | ||||
| -rw-r--r-- | tests/various/hierarchy.sh | 9 | ||||
| -rwxr-xr-x | tests/various/run-test.sh | 2 | 
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  | 
