Fix LITENDIAN warning on arrayed cells, bug1202.

This commit is contained in:
Wilson Snyder
2017-09-13 19:09:49 -04:00
parent 9d055f8c13
commit 8c9ca7a1b3
7 changed files with 74 additions and 2 deletions
+4
View File
@@ -350,6 +350,10 @@ private:
// NOP: Arrayed instants: widths match so connect to each instance
} else if (expwidth == pinwidth*m_cellRangep->elementsConst()) {
// Arrayed instants: one bit for each of the instants (each assign is 1 pinwidth wide)
if (m_cellRangep->littleEndian()) {
nodep->v3warn(LITENDIAN,"Little endian cell range connecting to vector: MSB < LSB of cell range: "
<<m_cellRangep->lsbConst()<<":"<<m_cellRangep->msbConst());
}
AstNode* exprp = nodep->exprp()->unlinkFrBack();
bool inputPin = nodep->modVarp()->isInput();
if (!inputPin && !exprp->castVarRef()