Internals: Spacing. No functional change
This commit is contained in:
parent
5fc98cce0d
commit
ef71a089a6
|
|
@ -21,7 +21,7 @@
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
// V3Tristate's Transformations:
|
// V3Tristate's Transformations:
|
||||||
//
|
//
|
||||||
// This module modifies the design to expand tristate logic into its
|
// Modify the design to expand tristate logic into its
|
||||||
// corresponding two state reprasentation. At the lowest levels,
|
// corresponding two state reprasentation. At the lowest levels,
|
||||||
// expressions that have Z in them are converted into two state
|
// expressions that have Z in them are converted into two state
|
||||||
// drivers and corresponding output enable signals are generated.
|
// drivers and corresponding output enable signals are generated.
|
||||||
|
|
@ -92,12 +92,16 @@ public:
|
||||||
|
|
||||||
class TristateVisitor : public TristateBaseVisitor {
|
class TristateVisitor : public TristateBaseVisitor {
|
||||||
// NODE STATE
|
// NODE STATE
|
||||||
// *::user1p -> pointer to output enable __en expressions
|
// *::user1p -> pointer to output enable __en expressions
|
||||||
// AstVarRef::user2 -> bool - already visited
|
// AstVarRef::user2 -> bool - already visited
|
||||||
// AstVar::user2 -> bool - already visited
|
// AstVar::user2 -> bool - already visited
|
||||||
// AstPin::user2 -> bool - already visited
|
// AstPin::user2 -> bool - already visited
|
||||||
// AstVar::user3p -> AstPull* pullup/pulldown direction (input Var's user3p)
|
// AstVar::user3p -> AstPull* pullup/pulldown direction (input Var's user3p)
|
||||||
// AstVar::user4p -> AstVar* pointer to output __out var (input Var's user2p)
|
// AstVar::user4p -> AstVar* pointer to output __out var (input Var's user2p)
|
||||||
|
AstUser1InUse m_inuser1;
|
||||||
|
AstUser2InUse m_inuser2;
|
||||||
|
AstUser3InUse m_inuser3;
|
||||||
|
AstUser4InUse m_inuser4;
|
||||||
|
|
||||||
// TYPES
|
// TYPES
|
||||||
typedef std::vector<AstVar*> VarVec;
|
typedef std::vector<AstVar*> VarVec;
|
||||||
|
|
@ -105,21 +109,16 @@ class TristateVisitor : public TristateBaseVisitor {
|
||||||
typedef std::map<AstVar*, RefVec*> VarMap;
|
typedef std::map<AstVar*, RefVec*> VarMap;
|
||||||
|
|
||||||
// MEMBERS
|
// MEMBERS
|
||||||
AstNodeModule* m_modp; // Current module
|
AstNodeModule* m_modp; // Current module
|
||||||
AstCell* m_cellp; // current cell
|
AstCell* m_cellp; // current cell
|
||||||
VarMap m_lhsmap; // LHS driver map
|
VarMap m_lhsmap; // LHS driver map
|
||||||
VarVec m_varvec; // list of all vars for doing a final cleanup of inouts and undriven outputs that were not detected through finding Z logic in the module itself
|
VarVec m_varvec; // list of all vars for doing a final cleanup of inouts and undriven outputs that were not detected through finding Z logic in the module itself
|
||||||
int m_unique;
|
int m_unique;
|
||||||
bool m_alhs; // On LHS of assignment
|
bool m_alhs; // On LHS of assignment
|
||||||
|
|
||||||
// STATS
|
// STATS
|
||||||
V3Double0 m_statTriSigs; // stat tracking
|
V3Double0 m_statTriSigs; // stat tracking
|
||||||
|
|
||||||
AstUser1InUse m_inuser1;
|
|
||||||
AstUser2InUse m_inuser2;
|
|
||||||
AstUser3InUse m_inuser3;
|
|
||||||
AstUser4InUse m_inuser4;
|
|
||||||
|
|
||||||
// METHODS
|
// METHODS
|
||||||
AstNode* getEnp(AstNode* nodep) {
|
AstNode* getEnp(AstNode* nodep) {
|
||||||
// checks if user1p() is null, and if so, adds a constant output
|
// checks if user1p() is null, and if so, adds a constant output
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue