Add new Arch::getBelIOB(BelId) function
This commit is contained in:
parent
5afa31d031
commit
02985b014a
@ -115,6 +115,10 @@ Return a list of all bels at the give X/Y location.
|
|||||||
|
|
||||||
Returns true if the given bel is a global buffer. A global buffer does not "pull in" other cells it drives to be close to the location of the global buffer.
|
Returns true if the given bel is a global buffer. A global buffer does not "pull in" other cells it drives to be close to the location of the global buffer.
|
||||||
|
|
||||||
|
### bool getBelIOB(BelId bel) const
|
||||||
|
|
||||||
|
Returns true if the given bel is a IO block.
|
||||||
|
|
||||||
### uint32\_t getBelChecksum(BelId bel) const
|
### uint32\_t getBelChecksum(BelId bel) const
|
||||||
|
|
||||||
Return a (preferably unique) number that represents this bel. This is used in design state checksum calculations.
|
Return a (preferably unique) number that represents this bel. This is used in design state checksum calculations.
|
||||||
|
@ -539,6 +539,7 @@ struct Arch : BaseCtx
|
|||||||
BelRange getBelsByTile(int x, int y) const;
|
BelRange getBelsByTile(int x, int y) const;
|
||||||
|
|
||||||
bool getBelGlobalBuf(BelId bel) const { return getBelType(bel) == id_DCCA; }
|
bool getBelGlobalBuf(BelId bel) const { return getBelType(bel) == id_DCCA; }
|
||||||
|
bool getBelIOB(BelId bel) const { return chip_info->bel_data[bel.index].type == ID_TRELLIS_IO; }
|
||||||
|
|
||||||
bool checkBelAvail(BelId bel) const
|
bool checkBelAvail(BelId bel) const
|
||||||
{
|
{
|
||||||
|
@ -224,6 +224,7 @@ BelId Arch::getBelByLocation(Loc loc) const
|
|||||||
const std::vector<BelId> &Arch::getBelsByTile(int x, int y) const { return bels_by_tile.at(x).at(y); }
|
const std::vector<BelId> &Arch::getBelsByTile(int x, int y) const { return bels_by_tile.at(x).at(y); }
|
||||||
|
|
||||||
bool Arch::getBelGlobalBuf(BelId bel) const { return bels.at(bel).gb; }
|
bool Arch::getBelGlobalBuf(BelId bel) const { return bels.at(bel).gb; }
|
||||||
|
bool Arch::getBelIOB(BelId bel) const { return /* TODO */ false; }
|
||||||
|
|
||||||
uint32_t Arch::getBelChecksum(BelId bel) const
|
uint32_t Arch::getBelChecksum(BelId bel) const
|
||||||
{
|
{
|
||||||
|
@ -150,6 +150,7 @@ struct Arch : BaseCtx
|
|||||||
BelId getBelByLocation(Loc loc) const;
|
BelId getBelByLocation(Loc loc) const;
|
||||||
const std::vector<BelId> &getBelsByTile(int x, int y) const;
|
const std::vector<BelId> &getBelsByTile(int x, int y) const;
|
||||||
bool getBelGlobalBuf(BelId bel) const;
|
bool getBelGlobalBuf(BelId bel) const;
|
||||||
|
bool getBelIOB(BelId bel) const;
|
||||||
uint32_t getBelChecksum(BelId bel) const;
|
uint32_t getBelChecksum(BelId bel) const;
|
||||||
void bindBel(BelId bel, CellInfo *cell, PlaceStrength strength);
|
void bindBel(BelId bel, CellInfo *cell, PlaceStrength strength);
|
||||||
void unbindBel(BelId bel);
|
void unbindBel(BelId bel);
|
||||||
|
@ -513,6 +513,7 @@ struct Arch : BaseCtx
|
|||||||
BelRange getBelsByTile(int x, int y) const;
|
BelRange getBelsByTile(int x, int y) const;
|
||||||
|
|
||||||
bool getBelGlobalBuf(BelId bel) const { return chip_info->bel_data[bel.index].type == ID_SB_GB; }
|
bool getBelGlobalBuf(BelId bel) const { return chip_info->bel_data[bel.index].type == ID_SB_GB; }
|
||||||
|
bool getBelIOB(BelId bel) const { return chip_info->bel_data[bel.index].type == ID_SB_IO; }
|
||||||
|
|
||||||
IdString getBelType(BelId bel) const
|
IdString getBelType(BelId bel) const
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user