aboutsummaryrefslogtreecommitdiffstats
path: root/cyclonev/arch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cyclonev/arch.cc')
-rw-r--r--cyclonev/arch.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/cyclonev/arch.cc b/cyclonev/arch.cc
index 9aee5a59..fd2f345d 100644
--- a/cyclonev/arch.cc
+++ b/cyclonev/arch.cc
@@ -308,6 +308,19 @@ void Arch::add_bel_pin(BelId bel, IdString pin, PortType dir, WireId wire)
wires[wire].bel_pins.push_back(bel_pin);
}
+void Arch::assign_default_pinmap(CellInfo *cell)
+{
+ for (auto &port : cell->ports) {
+ auto &pinmap = cell->pin_data[port.first].bel_pins;
+ if (!pinmap.empty())
+ continue; // already mapped
+ if (is_comb_cell(cell->type) && comb_pinmap.count(port.first))
+ pinmap.push_back(comb_pinmap.at(port.first)); // default comb mapping for placer purposes
+ else
+ pinmap.push_back(port.first); // default: assume bel pin named the same as cell pin
+ }
+}
+
#ifdef WITH_HEAP
const std::string Arch::defaultPlacer = "heap";
#else