}
ReferenceInterface::ReferenceInterface(AbstractBlock* _owner,
- const QString& _name, const QString&_type,
- const QString& _width,
+ const QString& _name,
int _direction,
int _purpose,
+ const QString& _type,
+ const QString& _width,
+ int _endianess,
int _multiplicity)
-throw (Exception) : AbstractInterface(_owner, _name, _type, _width, _direction, _purpose) {
+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;
}
else if (txt == "reset") {
return Reset;
}
- if (txt == "wb") {
+ else if (txt == "wb") {
return Wishbone;
- }
+ }
return Data;
}