diff options
author | David Shah <dave@ds0.me> | 2019-11-22 17:29:45 +0000 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2019-12-27 10:44:30 +0000 |
commit | 14b18cb6fa8909cbe34bfb01c6ea43a2ccff9617 (patch) | |
tree | b17d02c6c21fafee87e6e121a29424d13555cba9 /frontend/json_frontend.cc | |
parent | 28279b18fe219c182a97efa992f022c8d243ae28 (diff) | |
download | nextpnr-14b18cb6fa8909cbe34bfb01c6ea43a2ccff9617.tar.gz nextpnr-14b18cb6fa8909cbe34bfb01c6ea43a2ccff9617.tar.bz2 nextpnr-14b18cb6fa8909cbe34bfb01c6ea43a2ccff9617.zip |
frontend: Support for loading settings and nextpnr state
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'frontend/json_frontend.cc')
-rw-r--r-- | frontend/json_frontend.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/frontend/json_frontend.cc b/frontend/json_frontend.cc index 0debd9f2..d2e6248e 100644 --- a/frontend/json_frontend.cc +++ b/frontend/json_frontend.cc @@ -134,6 +134,16 @@ struct JsonFrontendImpl } } + template <typename TFunc> void foreach_setting(const Json &obj, TFunc Func) const + { + const auto &settings = obj["settings"]; + if (settings.is_null()) + return; + for (const auto &setting : settings.object_items()) { + Func(setting.first, parse_property(setting.second)); + } + } + template <typename TFunc> void foreach_port_dir(const CellDataType &cell, TFunc Func) const { for (const auto &pdir : cell["port_directions"].object_items()) |