Node
- Node is also part of Hybrid Design Flow (HDF). the node is atomic component which represent the state and its transition of the hardware model.
- This session will introduce you how Kathryn's node system represent the state and type of node provided in this framework
How node represent From mathematics?
-
Group of nodes called graph ()
- () is a set of nodes () in Kathryn model.
-
Node is the representation of state and its transition of hardware flow
- () is the ordered pair of node number . First element is the set of input trigger conditions. and second element is determine function
-
Conditional trigger is input meta-data for a node
- () is set of the ordered pair of where is logic value that can be interpreted as a boolean value and is a node that belongs to .
-
Determine function and logic interpretation
-
-
-
() is the function to determine that node is activated and ready for next state transition at cycle number (). In fact, will be modified for each specific type of the node (state) such as parallel block synchronization node, wait block node, and conditional node in conditional block.
-
() is the function to determine the value of condition () at cycle number ().
-
Node type in Kathryn
StateNode
src/model/flowBlock/abstract/nodes/stateNode.h- the node that will activate its status when for some dependent nodes is activate and its coresponding condition is true.
SyncNode
src/model/flowBlock/abstract/nodes/stateNode.h- the node that will active its status when all dependent nodes is activate in any cycle in each iteration.
- In case synNode mode: (means flow block cannot determine some sub-block cycle usage at model formation time)
- In case synNode mode: (means flowblock can determine all sub-block cycle usage at model formation time)
- let the logest execution node is node
Timming Node
src/model/flowBlock/abstract/nodes/waitNode.h- In case, designers specify amount of wait cycle
Cywait - the node that will activate its status when some dependent nodes is activate and wait for meet the specified cycle
A.
- In case, designers specify condition for waiting
CondWait - the node that will activate its status when some dependent nodes is activate and wait for meet the specified condition
E.
Pseudo Node
src/model/flowBlock/abstract/nodes/logicNode.h- Pseudo node does not represent state like previous node but it play an important role while Kathryn is formating model.
- For instance, some flow graph that have cycling state flow (
node1->node2->node3-> node1), some time node3 require logic pre-process first; thereforenode1cannot build logic related tonode3directly. The Pseudo node aim to be the proxy node that prevent dead lock in this situation. - Futhermore, Pseudo Node can act as node aggregator. Sometime when controll require single node to represent several flow blocks, Pseudo then can handle this by aggreate source inputs to single output
- let
Op(C, t)be the operating function that operates source node condition and node values at cyclet.
Dummy Node
src/model/flowBlock/abstract/nodes/logicNode.h- Dummy node does not represent state, it is used to hardware to siggle bit value
Opr Node
src/model/flowBlock/abstract/nodes/logicNode.h- Dummy node does not represent state, it is used to represent reset or interrupt signal
- let
Sbe some operand to reset or interrupt