summaryrefslogtreecommitdiff
path: root/passes/fsm
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-07-26 16:11:28 +0200
committerClifford Wolf <clifford@clifford.at>2014-07-26 16:11:28 +0200
commit97a59851a6c411ccb06162d4b31725bf89262378 (patch)
tree74cba570ab858657b6fa524cdc9fa45b0493c4be /passes/fsm
parenta84cb0493566f8f5eb610c6d7b67dda85b0f227b (diff)
Added RTLIL::Cell::has(portname)
Diffstat (limited to 'passes/fsm')
-rw-r--r--passes/fsm/fsm_detect.cc2
-rw-r--r--passes/fsm/fsm_expand.cc16
-rw-r--r--passes/fsm/fsm_extract.cc2
3 files changed, 10 insertions, 10 deletions
diff --git a/passes/fsm/fsm_detect.cc b/passes/fsm/fsm_detect.cc
index be851afa..55fe336f 100644
--- a/passes/fsm/fsm_detect.cc
+++ b/passes/fsm/fsm_detect.cc
@@ -80,7 +80,7 @@ static bool check_state_users(RTLIL::SigSpec sig)
continue;
if (cellport.second != "\\A" && cellport.second != "\\B")
return false;
- if (cell->connections().count("\\A") == 0 || cell->connections().count("\\B") == 0 || cell->connections().count("\\Y") == 0)
+ if (!cell->has("\\A") || !cell->has("\\B") || !cell->has("\\Y"))
return false;
for (auto &port_it : cell->connections())
if (port_it.first != "\\A" && port_it.first != "\\B" && port_it.first != "\\Y")
diff --git a/passes/fsm/fsm_expand.cc b/passes/fsm/fsm_expand.cc
index ed80d7c3..186ea2fd 100644
--- a/passes/fsm/fsm_expand.cc
+++ b/passes/fsm/fsm_expand.cc
@@ -47,13 +47,13 @@ struct FsmExpand
return true;
RTLIL::SigSpec new_signals;
- if (cell->connections().count("\\A") > 0)
+ if (cell->has("\\A"))
new_signals.append(assign_map(cell->get("\\A")));
- if (cell->connections().count("\\B") > 0)
+ if (cell->has("\\B"))
new_signals.append(assign_map(cell->get("\\B")));
- if (cell->connections().count("\\S") > 0)
+ if (cell->has("\\S"))
new_signals.append(assign_map(cell->get("\\S")));
- if (cell->connections().count("\\Y") > 0)
+ if (cell->has("\\Y"))
new_signals.append(assign_map(cell->get("\\Y")));
new_signals.sort_and_unify();
@@ -65,7 +65,7 @@ struct FsmExpand
if (new_signals.size() > 3)
return false;
- if (cell->connections().count("\\Y") > 0) {
+ if (cell->has("\\Y")) {
new_signals.append(assign_map(cell->get("\\Y")));
new_signals.sort_and_unify();
new_signals.remove_const();
@@ -148,11 +148,11 @@ struct FsmExpand
for (int i = 0; i < (1 << input_sig.size()); i++) {
RTLIL::Const in_val(i, input_sig.size());
RTLIL::SigSpec A, B, S;
- if (cell->connections().count("\\A") > 0)
+ if (cell->has("\\A"))
A = assign_map(cell->get("\\A"));
- if (cell->connections().count("\\B") > 0)
+ if (cell->has("\\B"))
B = assign_map(cell->get("\\B"));
- if (cell->connections().count("\\S") > 0)
+ if (cell->has("\\S"))
S = assign_map(cell->get("\\S"));
A.replace(input_sig, RTLIL::SigSpec(in_val));
B.replace(input_sig, RTLIL::SigSpec(in_val));
diff --git a/passes/fsm/fsm_extract.cc b/passes/fsm/fsm_extract.cc
index e89bba89..ff3ac760 100644
--- a/passes/fsm/fsm_extract.cc
+++ b/passes/fsm/fsm_extract.cc
@@ -350,7 +350,7 @@ struct FsmExtractPass : public Pass {
assign_map.apply(sig);
sig2driver.insert(sig, sig2driver_entry_t(cell_it.first, conn_it.first));
}
- if (ct.cell_input(cell_it.second->type, conn_it.first) && cell_it.second->connections().count("\\Y") > 0 &&
+ if (ct.cell_input(cell_it.second->type, conn_it.first) && cell_it.second->has("\\Y") &&
cell_it.second->get("\\Y").size() == 1 && (conn_it.first == "\\A" || conn_it.first == "\\B")) {
RTLIL::SigSpec sig = conn_it.second;
assign_map.apply(sig);