}
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;
}
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;
}
return mult;
}
+
+int ReferenceInterface::getClockDomain() throw(Exception) {
+
+ throw(Exception(IFACE_INVALID_TYPE,this));
+}