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; | 
