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

Private GIT Repository
clkconvert OP compute done
[blast.git] / Dispatcher.h
index 4354466f7db5acd80329b85225a034e5d87614d6..425c1582a9f4f50a68acc35b0df15d8e38d38ce1 100644 (file)
@@ -15,7 +15,7 @@ class GroupScene;
 class AbstractBoxItem;
 class GroupItem;
 class BoxItem;
-class SourceItem;
+class StimuliItem;
 class ConnectionItem;
 class InterfaceItem;
 class GroupBlock;
@@ -75,7 +75,7 @@ public:
   void setSceneCounter(Context context, int value);
   // testers
   // others
-  GroupWidget* createTopScene(Context context);
+  GroupWidget* createTopScene(Context context, double mainClock = 0.0);
   GroupWidget* createChildScene(Context context, GroupWidget* parentWidget, BoxItem* upperItemOfGroupItem = NULL);
   void destroyScene(Context context, GroupScene* scene);
   GroupWidget *addNewEmptyGroup(Context context, GroupScene *scene, bool show = true);
@@ -94,15 +94,16 @@ public:
   /**************************
    *  block ops
    *************************/
-  BoxItem* addBlock(Context context, int idCategory, int idBlock, int idScene);
+  void addBlock(Context context, int idCategory, int idBlock, int idScene, QHash<QString,int> clkRstToGen );
+  void addClkRstGenBlock(Context context, double frequency);
   void removeBoxItem(Context context, BoxItem* item);
   void duplicateBoxItem(Context context, BoxItem* item);
   void renameFunctionalBlock(Context context, BoxItem* item);
   void generateBlockVHDL(Context context, BoxItem* item);
   void renameGroupBlock(Context context, GroupItem* item);
-  void renameSourceBlock(Context context, SourceItem* item);
-  void removeSourceItem(Context context, SourceItem* item);
-  void duplicateSourceItem(Context context, SourceItem* item);
+  void renameStimuliItem(Context context, StimuliItem* item);
+  void removeStimuliItem(Context context, StimuliItem* item);
+  void duplicateStimuliItem(Context context, StimuliItem* item);
 
 
   // interface ops
@@ -145,6 +146,10 @@ public:
   bool createConnection(Context context, InterfaceItem *iface1, InterfaceItem *iface2, bool visible = true);
   void removeAllBlockConnections(Context context, AbstractBoxItem *item);
   void removeConnection(Context context, ConnectionItem *conn);
+  void connectBoxItemClock(Context context, BoxItem* item, QString clkName, int idGen = 0) throw(Exception);
+  void connectBoxItemReset(Context context, BoxItem* item, QString rstName, int idGen = 0) throw(Exception);
+  void connectStimuliItemClock(Context context, StimuliItem* item, QString clkName, int idGen = 0) throw(Exception);
+  void connectStimuliItemReset(Context context, StimuliItem* item, QString rstName, int idGen = 0) throw(Exception);
 
 
   // analysis ops