diff --git a/interchange/DeviceResources.capnp b/interchange/DeviceResources.capnp index 111cf20..ccc7445 100644 --- a/interchange/DeviceResources.capnp +++ b/interchange/DeviceResources.capnp @@ -117,6 +117,7 @@ struct Device { wireTypes @16 : List(WireType); pipTimings @17 : List(PIPTiming); nodeTimings @18 : List(NodeTiming); + primLibsExtra @19 : PrimLibsExtra; ####################################### # Placement definition objects @@ -907,4 +908,20 @@ struct Device { struct ParameterDefinitions { cells @0 : List(CellParameterDefinition); } + + # Extra data for priomitive libraries that doesn't fit the LogicalNetlist format + + struct PrimLibsExtra { + perCellInstances @0 : List(PerCellInstance); + + struct PerCellInstance { + # List of possible cell placements + placements @0 : List(CellInstancePlacement); + } + + struct CellInstancePlacement { + siteType @0 : SiteTypeIdx $siteTypeRef(); + bel @1 : StringIdx $stringRef(); + } + } }