aboutsummaryrefslogtreecommitdiffstats
path: root/generic/arch.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2019-06-07 16:11:11 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2019-06-07 16:11:11 +0200
commitd9b0bac248a12466cd2b62d02ec11b2e60d25019 (patch)
tree2ab86f7b951134cda53cf24d31c3007a0c218d25 /generic/arch.cc
parentef1a5fa60653a89fe008288aa4da00c481db2c46 (diff)
downloadnextpnr-d9b0bac248a12466cd2b62d02ec11b2e60d25019.tar.gz
nextpnr-d9b0bac248a12466cd2b62d02ec11b2e60d25019.tar.bz2
nextpnr-d9b0bac248a12466cd2b62d02ec11b2e60d25019.zip
Save top level attrs and store current step
Diffstat (limited to 'generic/arch.cc')
-rw-r--r--generic/arch.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/generic/arch.cc b/generic/arch.cc
index 5617fa63..f6f7ff87 100644
--- a/generic/arch.cc
+++ b/generic/arch.cc
@@ -496,13 +496,21 @@ bool Arch::place()
std::string placer = str_or_default(settings, id("placer"), defaultPlacer);
// FIXME: No HeAP because it needs a list of IO buffers
if (placer == "sa") {
- return placer1(getCtx(), Placer1Cfg(getCtx()));
+ bool retVal = placer1(getCtx(), Placer1Cfg(getCtx()));
+ getCtx()->attrs[getCtx()->id("step")] = "place";
+ archInfoToAttributes();
+ return retVal;
} else {
log_error("Generic architecture does not support placer '%s'\n", placer.c_str());
}
}
-bool Arch::route() { return router1(getCtx(), Router1Cfg(getCtx())); }
+bool Arch::route() {
+ bool retVal = router1(getCtx(), Router1Cfg(getCtx()));
+ getCtx()->attrs[getCtx()->id("step")] = "route";
+ archInfoToAttributes();
+ return retVal;
+}
// ---------------------------------------------------------------