You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I found some subtle breakage in the current nexus data because the nexus primLibs netlist contains local string indices, stored within the netlist's strList, whereas the existing code assumes that primLibs shares a strList with the parent device resources.
It's unclear which of the two options is better here - if the current approach, as used by the xilinx database is preferred then the primitive library patching tool will need updating.
The solution is to use the Xilinx database approach, which is to use the DeviceResource strList for instances of LogicalNetlist. This is partially to avoid to much complexity in the capnp <-> plaintext translation logic and annotations.
The code in python-fpga-interchange already have some support for this for reading, but it might be missing for writing.
litghost
transferred this issue from chipsalliance/fpga-interchange-schema
Apr 1, 2021
litghost
changed the title
Indexed strings in primLibs
add_prim_lib should use indexed strings from DeviceResources instead of nested LogicalNetlist
Apr 1, 2021
The writer should take a string indexer, which is optional. If the string indexer isn't provided, it builds an internal one. Then the patch tool can provide a string indexer seeded from the DeviceResource's, and update the strList after patching in the prims library.
When nesting LogicalNetlist.strList in another schema, the root strList
is used.
Fixeschipsalliance#47
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
I found some subtle breakage in the current nexus data because the nexus
primLibs
netlist contains local string indices, stored within the netlist'sstrList
, whereas the existing code assumes thatprimLibs
shares astrList
with the parent device resources.It's unclear which of the two options is better here - if the current approach, as used by the xilinx database is preferred then the primitive library patching tool will need updating.
cc @litghost
The text was updated successfully, but these errors were encountered: