aboutsummaryrefslogtreecommitdiffstats
path: root/backends/cxxrtl/cxxrtl.h
diff options
context:
space:
mode:
authorClaire Wolf <clifford@clifford.at>2020-04-22 16:50:45 +0200
committerGitHub <noreply@github.com>2020-04-22 16:50:45 +0200
commit95c74b319b36f8cb950196c3e1d10c945629c1f5 (patch)
treeb45deaf4c88b165bc6be5492bf2944fba935c2c7 /backends/cxxrtl/cxxrtl.h
parentcd82afb740fc2f1d9bead89fd2683be989acad37 (diff)
parent93288b8eaea3e346275082352edeea5cfb4ac38a (diff)
downloadyosys-95c74b319b36f8cb950196c3e1d10c945629c1f5.tar.gz
yosys-95c74b319b36f8cb950196c3e1d10c945629c1f5.tar.bz2
yosys-95c74b319b36f8cb950196c3e1d10c945629c1f5.zip
Merge pull request #1979 from whitequark/cxxrtl-go-faster
cxxrtl: Gas gas gas! I'm gonna step on the gas! Tonight I'll fly!
Diffstat (limited to 'backends/cxxrtl/cxxrtl.h')
-rw-r--r--backends/cxxrtl/cxxrtl.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/backends/cxxrtl/cxxrtl.h b/backends/cxxrtl/cxxrtl.h
index 41e6290d1..b79bbbc72 100644
--- a/backends/cxxrtl/cxxrtl.h
+++ b/backends/cxxrtl/cxxrtl.h
@@ -717,15 +717,16 @@ struct module {
module(const module &) = delete;
module &operator=(const module &) = delete;
- virtual void eval() = 0;
+ virtual bool eval() = 0;
virtual bool commit() = 0;
size_t step() {
size_t deltas = 0;
+ bool converged = false;
do {
- eval();
+ converged = eval();
deltas++;
- } while (commit());
+ } while (commit() && !converged);
return deltas;
}
};