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>,
|
||||
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>,
|
||||
conv_from_str<IdString>>::def_wrap(ctx_cls, "getNetByAlias");
|
||||
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).
|
||||
|
||||
### 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
|
||||
-----------
|
||||
|
||||
@ -99,7 +103,6 @@ Cell Methods
|
||||
|
||||
Get list of cell types that this architecture accepts.
|
||||
|
||||
|
||||
Bel Methods
|
||||
-----------
|
||||
|
||||
|
@ -471,6 +471,7 @@ struct Arch : BaseCtx
|
||||
int getGridDimY() const { return chip_info->height; };
|
||||
int getTileBelDimZ(int, int) const { return max_loc_bels; };
|
||||
int getTilePipDimZ(int, int) const { return 1; };
|
||||
char getNameDelimiter() const { return '/'; }
|
||||
|
||||
// -------------------------------------------------
|
||||
|
||||
|
@ -187,6 +187,7 @@ struct Arch : BaseCtx
|
||||
int getGridDimY() const { return gridDimY; }
|
||||
int getTileBelDimZ(int x, int y) const { return tileBelDimZ[x][y]; }
|
||||
int getTilePipDimZ(int x, int y) const { return tilePipDimZ[x][y]; }
|
||||
char getNameDelimiter() const { return '/'; }
|
||||
|
||||
BelId getBelByName(IdString name) const;
|
||||
IdString getBelName(BelId bel) const;
|
||||
|
@ -323,6 +323,7 @@ struct Arch : BaseCtx
|
||||
int getGridDimY() const { return gridDimY; }
|
||||
int getTileBelDimZ(int x, int y) const { return tileBelDimZ[x][y]; }
|
||||
int getTilePipDimZ(int x, int y) const { return tilePipDimZ[x][y]; }
|
||||
char getNameDelimiter() const { return '/'; }
|
||||
|
||||
BelId getBelByName(IdString name) const;
|
||||
IdString getBelName(BelId bel) const;
|
||||
|
@ -407,6 +407,7 @@ struct Arch : BaseCtx
|
||||
int getGridDimY() const { return chip_info->height; }
|
||||
int getTileBelDimZ(int, int) const { return 8; }
|
||||
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 getTileBelDimZ(int, int) const { return 256; }
|
||||
int getTilePipDimZ(int, int) const { return 1; }
|
||||
char getNameDelimiter() const { return '/'; }
|
||||
|
||||
// -------------------------------------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user