mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 10:03:44 +02:00
Framework for WDatas being vectors of 64-bit EDatas, but not supporting this at this time.
This commit is contained in:
+7
-5
@@ -62,9 +62,9 @@ private:
|
||||
|
||||
// Width resetting
|
||||
int cppWidth(AstNode* nodep) {
|
||||
if (nodep->width()<=VL_WORDSIZE) return VL_WORDSIZE;
|
||||
else if (nodep->width()<=VL_QUADSIZE) return VL_QUADSIZE;
|
||||
else return nodep->widthWords()*VL_WORDSIZE;
|
||||
if (nodep->width() <= VL_IDATASIZE) return VL_IDATASIZE;
|
||||
else if (nodep->width() <= VL_QUADSIZE) return VL_QUADSIZE;
|
||||
else return nodep->widthWords() * VL_EDATASIZE;
|
||||
}
|
||||
void setCppWidth(AstNode* nodep) {
|
||||
nodep->user2(true); // Don't resize it again
|
||||
@@ -113,8 +113,10 @@ private:
|
||||
}
|
||||
void setClean(AstNode* nodep, bool isClean) {
|
||||
computeCppWidth(nodep); // Just to be sure it's in widthMin
|
||||
bool wholeUint = ((nodep->widthMin() % VL_WORDSIZE) == 0); // 32,64,...
|
||||
setCleanState(nodep, ((isClean||wholeUint) ? CS_CLEAN:CS_DIRTY));
|
||||
bool wholeUint = (nodep->widthMin() == VL_IDATASIZE
|
||||
|| nodep->widthMin() == VL_QUADSIZE
|
||||
|| (nodep->widthMin() % VL_EDATASIZE) == 0);
|
||||
setCleanState(nodep, ((isClean || wholeUint) ? CS_CLEAN : CS_DIRTY));
|
||||
}
|
||||
|
||||
// Operate on nodes
|
||||
|
||||
Reference in New Issue
Block a user