nexus: Swap sort order to make some lookups easier
Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
parent
fa9194e3e2
commit
6457b4ca7b
@ -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];
|
const auto &ct = speed_grade->cell_types[type_idx];
|
||||||
int dly_idx = db_binary_search(
|
int dly_idx = db_binary_search(
|
||||||
ct.prop_delays.get(), ct.num_prop_delays,
|
ct.prop_delays.get(), ct.num_prop_delays,
|
||||||
[](const CellPropDelayPOD &pd) { return std::make_pair(pd.from_port, pd.to_port); },
|
[](const CellPropDelayPOD &pd) { return std::make_pair(pd.to_port, pd.from_port); },
|
||||||
std::make_pair(from_port.index, to_port.index));
|
std::make_pair(to_port.index, from_port.index));
|
||||||
if (dly_idx == -1)
|
if (dly_idx == -1)
|
||||||
return false;
|
return false;
|
||||||
delay.min_delay = ct.prop_delays[dly_idx].min_delay;
|
delay.min_delay = ct.prop_delays[dly_idx].min_delay;
|
||||||
|
@ -276,7 +276,7 @@ NPNR_PACKED_STRUCT(struct IdStringDBPOD {
|
|||||||
// Timing structures are generally sorted using IdString indices as keys for fast binary searches
|
// Timing structures are generally sorted using IdString indices as keys for fast binary searches
|
||||||
// All delays are integer picoseconds
|
// 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 {
|
NPNR_PACKED_STRUCT(struct CellPropDelayPOD {
|
||||||
int32_t from_port;
|
int32_t from_port;
|
||||||
int32_t to_port;
|
int32_t to_port;
|
||||||
|
@ -1 +1 @@
|
|||||||
8
|
9
|
||||||
|
Loading…
Reference in New Issue
Block a user