nexus: Swap sort order to make some lookups easier

Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
David Shah 2020-11-10 10:09:08 +00:00
parent fa9194e3e2
commit 6457b4ca7b
3 changed files with 4 additions and 4 deletions

View File

@ -731,8 +731,8 @@ bool Arch::lookup_cell_delay(int type_idx, IdString from_port, IdString to_port,
const auto &ct = speed_grade->cell_types[type_idx];
int dly_idx = db_binary_search(
ct.prop_delays.get(), ct.num_prop_delays,
[](const CellPropDelayPOD &pd) { return std::make_pair(pd.from_port, pd.to_port); },
std::make_pair(from_port.index, to_port.index));
[](const CellPropDelayPOD &pd) { return std::make_pair(pd.to_port, pd.from_port); },
std::make_pair(to_port.index, from_port.index));
if (dly_idx == -1)
return false;
delay.min_delay = ct.prop_delays[dly_idx].min_delay;

View File

@ -276,7 +276,7 @@ NPNR_PACKED_STRUCT(struct IdStringDBPOD {
// Timing structures are generally sorted using IdString indices as keys for fast binary searches
// All delays are integer picoseconds
// Sort key: (from_port, to_port) for binary search by IdString
// Sort key: (to_port, from_port) for binary search by IdString
NPNR_PACKED_STRUCT(struct CellPropDelayPOD {
int32_t from_port;
int32_t to_port;

View File

@ -1 +1 @@
8
9