]> AND Private Git Repository - blast.git/blobdiff - AbstractInterface.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
modif in VHDLConverter
[blast.git] / AbstractInterface.cpp
index bdf342d0af7c487ee792fada86dccb33e446aec1..76654ff84ec03669c748138dd6b0e1ef448f7aa5 100644 (file)
@@ -10,11 +10,12 @@ AbstractInterface::AbstractInterface(AbstractBlock* _owner) {
   direction = Input;
   purpose = Data;  
   type = Boolean;
   direction = Input;
   purpose = Data;  
   type = Boolean;
+  endianess = LittleEndian;
   associatedIface = NULL;
 
 }
 
   associatedIface = NULL;
 
 }
 
-AbstractInterface::AbstractInterface(AbstractBlock* _owner, const QString& _name, const QString& _type, const QString& _width, int _direction, int _purpose) {
+AbstractInterface::AbstractInterface(AbstractBlock* _owner, const QString& _name, int _direction, int _purpose, const QString& _type, const QString& _width, int _endianess) {
 
   owner = _owner;  
   name = _name;
 
   owner = _owner;  
   name = _name;
@@ -22,6 +23,7 @@ AbstractInterface::AbstractInterface(AbstractBlock* _owner, const QString& _name
   direction = _direction;
   purpose = _purpose;
   type = typeFromString(_type);
   direction = _direction;
   purpose = _purpose;
   type = typeFromString(_type);
+  endianess = _endianess;
   associatedIface = NULL;
 }
 
   associatedIface = NULL;
 }
 
@@ -32,6 +34,7 @@ AbstractInterface::AbstractInterface(AbstractInterface* other) {
   width = other->width;
   direction = other->direction;
   purpose = other->purpose;
   width = other->width;
   direction = other->direction;
   purpose = other->purpose;
+  endianess = LittleEndian;
   associatedIface = NULL;
 }
 
   associatedIface = NULL;
 }
 
@@ -51,23 +54,42 @@ bool AbstractInterface::isGroupInterface() {
   return false;
 }
 
   return false;
 }
 
+QString AbstractInterface::getEndianessString() {
+  QString str="unknown";
+  switch(endianess){
+  case AbstractInterface::LittleEndian:
+    str = QString("little");
+    break;
+  case AbstractInterface::BigEndian:
+    str = QString("big");
+    break;
+  }
+  return str;
+}
+
 QString AbstractInterface::getPurposeString() {
 QString AbstractInterface::getPurposeString() {
-    QString str;
-    switch(purpose){
-        case AbstractInterface::Data:
-            str = QString("data");
-            break;
-        case AbstractInterface::Clock:
-            str = QString("clock");
-            break;
-        case AbstractInterface::Reset:
-            str = QString("reset");
-            break;
-        case AbstractInterface::Wishbone:
-            str = QString("wishbone");
-            break;
-    }
-    return str;
+  QString str;
+  switch(purpose){
+  case AbstractInterface::AnyPurpose:
+    str = QString("any");
+    break;
+  case AbstractInterface::Data:
+    str = QString("data");
+    break;
+  case AbstractInterface::Control:
+    str = QString("control");
+    break;
+  case AbstractInterface::Clock:
+    str = QString("clock");
+    break;
+  case AbstractInterface::Reset:
+    str = QString("reset");
+    break;
+  case AbstractInterface::Wishbone:
+    str = QString("wishbone");
+    break;
+  }
+  return str;
 }
 
 QString AbstractInterface::getDirectionString() {
 }
 
 QString AbstractInterface::getDirectionString() {