X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/abbc64cf04a35ab3549d5c516f44c7c5921baa63..df84660fd98b39737692d57b68c8b2c2d34af0f1:/ReferenceInterface.cpp diff --git a/ReferenceInterface.cpp b/ReferenceInterface.cpp index 8aca132..8936952 100644 --- a/ReferenceInterface.cpp +++ b/ReferenceInterface.cpp @@ -7,17 +7,25 @@ ReferenceInterface::ReferenceInterface(AbstractBlock* _owner) throw(Exception) } ReferenceInterface::ReferenceInterface(AbstractBlock* _owner, - const QString& _name, const QString&_type, - const QString& _width, + const QString& _name, int _direction, int _purpose, - int _level, + const QString& _type, + const QString& _width, + int _endianess, int _multiplicity) -throw (Exception) : AbstractInterface(_owner, _name, _type, _width, _direction, _purpose, _level) { +throw (Exception) : AbstractInterface(_owner, _name, _direction, _purpose, _type, _width) { if (_owner->isReferenceBlock()) throw(Exception(BLOCK_INVALID_TYPE)); multiplicity = _multiplicity; + + if (purpose == Control) { + // override some attributes with forced values + type = Boolean; + width = "1"; + multiplicity = 1; + } if (direction == InOut) { multiplicity = 1; } @@ -43,20 +51,12 @@ int ReferenceInterface::translatePurpose(const QString& txt) { else if (txt == "reset") { return Reset; } - if (txt == "wb") { + else if (txt == "wb") { return Wishbone; - } + } return Data; } -int ReferenceInterface::translateLevel(const QString& txt) { - - if (txt == "top") { - return Top; - } - return Basic; -} - int ReferenceInterface::translateMultiplicity(const QString& txt) { bool ok; int mult;