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

Private GIT Repository
finished VHDL gen. (but have to test further
[blast.git] / AbstractInterface.h
index a214831919378f3a8fce1923a686b70a3073b893..3a3cb25339c156906713a0c859ab990c42307a80 100644 (file)
@@ -28,7 +28,7 @@ public :
   enum IfaceWidthDir { LittleEndian = 1, BigEndian}; //! LittleEndian = X downto 0, BigEndian = 0 to X
   enum IfacePurpose { AnyPurpose = 0, Data = 1, Control, Clock, Reset, Wishbone };
   enum IfaceDirection { AnyDirection = 0, Input = 1, Output = 2, InOut = 3 };  
   enum IfaceWidthDir { LittleEndian = 1, BigEndian}; //! LittleEndian = X downto 0, BigEndian = 0 to X
   enum IfacePurpose { AnyPurpose = 0, Data = 1, Control, Clock, Reset, Wishbone };
   enum IfaceDirection { AnyDirection = 0, Input = 1, Output = 2, InOut = 3 };  
-  enum IfaceVHDLContext {AnyContext = 0, Entity = 1, Component = 2, Architecture = 3 }; // NB : 3 is when creating an instance of the block that owns this iface
+  enum IfaceVHDLContext {AnyContext = 0, Entity = 1, Component = 2, Instance = 3, Signal = 4 };
   enum IfaceVHDLFlags { NoComma = 1 };
 
   static int getIntDirection(QString str);
   enum IfaceVHDLFlags { NoComma = 1 };
 
   static int getIntDirection(QString str);
@@ -45,7 +45,8 @@ public :
   QString getTypeString();
   inline int getEndianess() { return endianess; }
   QString getEndianessString();
   QString getTypeString();
   inline int getEndianess() { return endianess; }
   QString getEndianessString();
-  inline QString getWidth() { return width;}
+  inline QString getWidthString() { return width;}
+  virtual int getWidth(); // return -1 if size cannot be determine
   inline int getPurpose() { return purpose;}
   QString getPurposeString();
   inline int getDirection() { return direction;}
   inline int getPurpose() { return purpose;}
   QString getPurposeString();
   inline int getDirection() { return direction;}