mirror of https://github.com/YosysHQ/nextpnr.git
62 lines
1.2 KiB
Cap'n Proto
62 lines
1.2 KiB
Cap'n Proto
@0x97c69817483d9dea;
|
|
|
|
using Cxx = import "/capnp/c++.capnp";
|
|
$Cxx.namespace("lookahead_storage");
|
|
|
|
using DelayType = Int32;
|
|
|
|
struct TypeWireId {
|
|
type @0: Int32;
|
|
index @1: Int32;
|
|
}
|
|
|
|
struct TypeWirePair {
|
|
src @0 : TypeWireId;
|
|
dst @1 : TypeWireId;
|
|
}
|
|
|
|
struct InputSiteWireCost {
|
|
routeTo @0 : TypeWireId;
|
|
cost @1 : DelayType;
|
|
}
|
|
|
|
struct InputSiteWireCostMap {
|
|
key @0 : TypeWireId;
|
|
value @1 : List(InputSiteWireCost);
|
|
}
|
|
|
|
struct OutputSiteWireCostMap {
|
|
key @0 : TypeWireId;
|
|
cheapestRouteFrom @1 : TypeWireId;
|
|
cost @2 : DelayType;
|
|
}
|
|
|
|
struct SiteToSiteCostMap {
|
|
key @0 : TypeWirePair;
|
|
cost @1 : DelayType;
|
|
}
|
|
|
|
struct CostMapEntry {
|
|
key @0 : TypeWirePair;
|
|
data @1 : List(DelayType);
|
|
xDim @2 : UInt32;
|
|
yDim @3 : UInt32;
|
|
xOffset @4 : UInt32;
|
|
yOffset @5 : UInt32;
|
|
penalty @6 : DelayType;
|
|
}
|
|
|
|
struct CostMap {
|
|
costMap @0 : List(CostMapEntry);
|
|
}
|
|
|
|
struct Lookahead {
|
|
|
|
chipdbHash @0 : Text;
|
|
inputSiteWires @1 : List(InputSiteWireCostMap);
|
|
outputSiteWires @2 : List(OutputSiteWireCostMap);
|
|
siteToSiteCost @3 : List(SiteToSiteCostMap);
|
|
costMap @4 : CostMap;
|
|
}
|
|
|