nextpnr/common/place
gatecat 09e388f453 netlist: Add PseudoCell API
When implementing concepts such as partition pins or deliberately split
nets, there's a need for something that looks like a cell (starts/ends
routing with pins on nets, has timing data) but isn't mapped to a fixed
bel in the architecture, but instead can have pin mappings defined at
runtime.

The PseudoCell allows this by providing an alternate, virtual-function
based API for such cells. When a cell has `pseudo_cell` used, instead of
calling functions such as getBelPinWire, getBelLocation or getCellDelay
in the Arch API; such data is provided by the cell itself, fully
flexible at runtime regardless of arch, via methods on the PseudoCell
implementation.
2022-07-08 14:30:57 +02:00
..
detail_place_cfg.h Move general parallel detail place code out of parallel_refine 2022-04-17 20:10:49 +01:00
detail_place_core.cc netlist: Add PseudoCell API 2022-07-08 14:30:57 +02:00
detail_place_core.h Move general parallel detail place code out of parallel_refine 2022-04-17 20:10:49 +01:00
fast_bels.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
parallel_refine.cc netlist: Add PseudoCell API 2022-07-08 14:30:57 +02:00
parallel_refine.h Move general parallel detail place code out of parallel_refine 2022-04-17 20:10:49 +01:00
place_common.cc netlist: Add PseudoCell API 2022-07-08 14:30:57 +02:00
place_common.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
placer1.cc netlist: Add PseudoCell API 2022-07-08 14:30:57 +02:00
placer1.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
placer_heap.cc netlist: Add PseudoCell API 2022-07-08 14:30:57 +02:00
placer_heap.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
timing_opt.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
timing_opt.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00