arch: Add getNameDelimiter API for string lists
Signed-off-by: D. Shah <dave@ds0.me>
This commit is contained in:
parent
90edf33c95
commit
ff92d19fed
@ -10,6 +10,9 @@ readonly_wrapper<Context, decltype(&Context::hierarchy), &Context::hierarchy, wr
|
|||||||
readwrite_wrapper<Context, decltype(&Context::top_module), &Context::top_module, conv_to_str<IdString>,
|
readwrite_wrapper<Context, decltype(&Context::top_module), &Context::top_module, conv_to_str<IdString>,
|
||||||
conv_from_str<IdString>>::def_wrap(ctx_cls, "top_module");
|
conv_from_str<IdString>>::def_wrap(ctx_cls, "top_module");
|
||||||
|
|
||||||
|
fn_wrapper_0a<Context, decltype(&Context::getNameDelimiter), &Context::getNameDelimiter, pass_through<char>>::def_wrap(
|
||||||
|
ctx_cls, "getNameDelimiter");
|
||||||
|
|
||||||
fn_wrapper_1a<Context, decltype(&Context::getNetByAlias), &Context::getNetByAlias, deref_and_wrap<NetInfo>,
|
fn_wrapper_1a<Context, decltype(&Context::getNetByAlias), &Context::getNetByAlias, deref_and_wrap<NetInfo>,
|
||||||
conv_from_str<IdString>>::def_wrap(ctx_cls, "getNetByAlias");
|
conv_from_str<IdString>>::def_wrap(ctx_cls, "getNetByAlias");
|
||||||
fn_wrapper_2a_v<Context, decltype(&Context::addClock), &Context::addClock, conv_from_str<IdString>,
|
fn_wrapper_2a_v<Context, decltype(&Context::addClock), &Context::addClock, conv_from_str<IdString>,
|
||||||
|
@ -92,6 +92,10 @@ Get Z dimension for the specified tile for bels. All bels with at specified X an
|
|||||||
|
|
||||||
Get Z dimension for the specified tile for pips. All pips with at specified X and Y coordinates must have a Z coordinate in the range `0 .. getTileDimZ(X,Y)-1` (inclusive).
|
Get Z dimension for the specified tile for pips. All pips with at specified X and Y coordinates must have a Z coordinate in the range `0 .. getTileDimZ(X,Y)-1` (inclusive).
|
||||||
|
|
||||||
|
### char getNameDelimiter() const
|
||||||
|
|
||||||
|
Returns a delimiter that can be used to build up bel, wire and pip names out of hierarchical components (such as tiles and sites) to avoid the high memory usage of storing full names for every object.
|
||||||
|
|
||||||
Cell Methods
|
Cell Methods
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
@ -99,7 +103,6 @@ Cell Methods
|
|||||||
|
|
||||||
Get list of cell types that this architecture accepts.
|
Get list of cell types that this architecture accepts.
|
||||||
|
|
||||||
|
|
||||||
Bel Methods
|
Bel Methods
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@ -471,6 +471,7 @@ struct Arch : BaseCtx
|
|||||||
int getGridDimY() const { return chip_info->height; };
|
int getGridDimY() const { return chip_info->height; };
|
||||||
int getTileBelDimZ(int, int) const { return max_loc_bels; };
|
int getTileBelDimZ(int, int) const { return max_loc_bels; };
|
||||||
int getTilePipDimZ(int, int) const { return 1; };
|
int getTilePipDimZ(int, int) const { return 1; };
|
||||||
|
char getNameDelimiter() const { return '/'; }
|
||||||
|
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
|
|
||||||
|
@ -187,6 +187,7 @@ struct Arch : BaseCtx
|
|||||||
int getGridDimY() const { return gridDimY; }
|
int getGridDimY() const { return gridDimY; }
|
||||||
int getTileBelDimZ(int x, int y) const { return tileBelDimZ[x][y]; }
|
int getTileBelDimZ(int x, int y) const { return tileBelDimZ[x][y]; }
|
||||||
int getTilePipDimZ(int x, int y) const { return tilePipDimZ[x][y]; }
|
int getTilePipDimZ(int x, int y) const { return tilePipDimZ[x][y]; }
|
||||||
|
char getNameDelimiter() const { return '/'; }
|
||||||
|
|
||||||
BelId getBelByName(IdString name) const;
|
BelId getBelByName(IdString name) const;
|
||||||
IdString getBelName(BelId bel) const;
|
IdString getBelName(BelId bel) const;
|
||||||
|
@ -323,6 +323,7 @@ struct Arch : BaseCtx
|
|||||||
int getGridDimY() const { return gridDimY; }
|
int getGridDimY() const { return gridDimY; }
|
||||||
int getTileBelDimZ(int x, int y) const { return tileBelDimZ[x][y]; }
|
int getTileBelDimZ(int x, int y) const { return tileBelDimZ[x][y]; }
|
||||||
int getTilePipDimZ(int x, int y) const { return tilePipDimZ[x][y]; }
|
int getTilePipDimZ(int x, int y) const { return tilePipDimZ[x][y]; }
|
||||||
|
char getNameDelimiter() const { return '/'; }
|
||||||
|
|
||||||
BelId getBelByName(IdString name) const;
|
BelId getBelByName(IdString name) const;
|
||||||
IdString getBelName(BelId bel) const;
|
IdString getBelName(BelId bel) const;
|
||||||
|
@ -407,6 +407,7 @@ struct Arch : BaseCtx
|
|||||||
int getGridDimY() const { return chip_info->height; }
|
int getGridDimY() const { return chip_info->height; }
|
||||||
int getTileBelDimZ(int, int) const { return 8; }
|
int getTileBelDimZ(int, int) const { return 8; }
|
||||||
int getTilePipDimZ(int, int) const { return 1; }
|
int getTilePipDimZ(int, int) const { return 1; }
|
||||||
|
char getNameDelimiter() const { return '/'; }
|
||||||
|
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
|
|
||||||
|
@ -909,6 +909,7 @@ struct Arch : BaseCtx
|
|||||||
int getGridDimY() const { return chip_info->height; }
|
int getGridDimY() const { return chip_info->height; }
|
||||||
int getTileBelDimZ(int, int) const { return 256; }
|
int getTileBelDimZ(int, int) const { return 256; }
|
||||||
int getTilePipDimZ(int, int) const { return 1; }
|
int getTilePipDimZ(int, int) const { return 1; }
|
||||||
|
char getNameDelimiter() const { return '/'; }
|
||||||
|
|
||||||
// -------------------------------------------------
|
// -------------------------------------------------
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user