diff options
author | Keith Rothman <537074+litghost@users.noreply.github.com> | 2021-03-19 18:10:30 -0700 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-03-22 09:33:12 +0000 |
commit | db12a83ced8f5a52443dbbae1eb29992cdc3935d (patch) | |
tree | a715536840a85c4c2b05620678c328b6cee54076 /fpga_interchange/arch.h | |
parent | 68ca923bfefde24fa2b7cbc8c6f9817f1d93e1e5 (diff) | |
download | nextpnr-db12a83ced8f5a52443dbbae1eb29992cdc3935d.tar.gz nextpnr-db12a83ced8f5a52443dbbae1eb29992cdc3935d.tar.bz2 nextpnr-db12a83ced8f5a52443dbbae1eb29992cdc3935d.zip |
Add pseudo pip data to chipdb (with schema bump).
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
Diffstat (limited to 'fpga_interchange/arch.h')
-rw-r--r-- | fpga_interchange/arch.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fpga_interchange/arch.h b/fpga_interchange/arch.h index 84c0b7c8..6a3d7ad1 100644 --- a/fpga_interchange/arch.h +++ b/fpga_interchange/arch.h @@ -515,6 +515,20 @@ struct Arch : ArchAPI<ArchRanges> void assign_net_to_wire(WireId wire, NetInfo *net, const char *src, bool require_empty); + void assign_pip_pseudo_wires(PipId pip, NetInfo *net) + { + NPNR_ASSERT(net != nullptr); + WireId wire; + wire.tile = pip.tile; + const PipInfoPOD &pip_data = pip_info(chip_info, pip); + for (int32_t wire_index : pip_data.pseudo_cell_wires) { + wire.index = wire_index; + assign_net_to_wire(wire, net, "pseudo", /*require_empty=*/true); + } + } + + void remove_pip_pseudo_wires(PipId pip, NetInfo *net); + void unassign_wire(WireId wire); void bindPip(PipId pip, NetInfo *net, PlaceStrength strength) final; |