arch: Add getNameDelimiter API for string lists

Signed-off-by: D. Shah <dave@ds0.me>
This commit is contained in:
D. Shah 2021-01-29 11:11:08 +00:00
parent 90edf33c95
commit ff92d19fed
7 changed files with 12 additions and 1 deletions

View File

@ -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>,

View File

@ -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
----------- -----------

View File

@ -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 '/'; }
// ------------------------------------------------- // -------------------------------------------------

View File

@ -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;

View File

@ -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;

View File

@ -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 '/'; }
// ------------------------------------------------- // -------------------------------------------------

View File

@ -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 '/'; }
// ------------------------------------------------- // -------------------------------------------------