EIController with states
Dependencies
- [2]
BJXEBVRCEIController overhaul - [3]
WEEZXA4LRework links - [4]
4WIIORMSRework structure, add filtering and debouncing - [5]
LXYMWMIKAdd current state of EIC graph - [6]
DAFBHG6PUpdate to put emphasis on asynch - [7]
HI2GV6DLNew structure - [8]
44ZTZPHJChange from blue to green, add NMI modes
Change contents
- replacement in eic-states.dot at line 15
label = "EIController";label = "Enabled<EIController, Counter>";subgraph cluster_eicontroller {label = "Enabled<EIController, N>"; - replacement in eic-states.dot at line 19
subgraph cluster_sync {label = "Async and Sync";subgraph cluster_sync_inner {subgraph cluster_sync {label = "Async and Sync";subgraph cluster_sync_inner { - replacement in eic-states.dot at line 23
label = "EIController<WithClock>";sync_new_sync;sync_new_async;sync_new_sync_nmi [color=purple];sync_new_async_nmi [color=purple];label = "EIController<WithClock>";sync_new_sync;sync_new_async;sync_new_sync_nmi [color=purple];sync_new_async_nmi [color=purple];}eic_new; - replacement in eic-states.dot at line 31
eic_new;}subgraph cluster_async {label = "Async only";subgraph cluster_async_inner {label = "EIController<WithoutClock>";node [shape=box,style=filled,color=green];async_new_async;async_new_async_nmi [color=purple];subgraph cluster_async {label = "Async only";subgraph cluster_async_inner {label = "EIController<WithoutClock>";node [shape=box,style=filled,color=green];async_new_async;async_new_async_nmi [color=purple];}eic_new_only_async; - replacement in eic-states.dot at line 41
eic_new_only_async;subgraph cluster_eicontroller {label = "Enabled<EIController, U0>";swrst -> swrst;} - replacement in eic-states.dot at line 69
label = "Asynch = False";label = "Async = False"; - replacement in eic-states.dot at line 73
label = "Asynch = True";label = "Async = True"; - edit in eic-states.dot at line 77
Debounced -> AsyncEdgeDetect; - edit in eic-states.dot at line 78
Filtered -> AsyncEdgeDetect; - edit in eic-states.dot at line 81
subgraph cluster_leveldetect {label = "Async = False";LevelDetect;} - replacement in eic-states.dot at line 86
label = "Asynch = True, False";LevelDetect [color=green];label = "Async = True";AsyncLevelDetect [color=green]; - edit in eic-states.dot at line 90
Filtered -> LevelDetect; - replacement in eic-states.dot at line 107
AsyncOnly -> LevelDetect;AsyncOnly -> AsyncLevelDetect; - replacement in eic-states.dot at line 153
NMIEdgeDetect [color=purple];WithClockNmi -> NMIEdgeDetect;NMIFiltered -> NMIEdgeDetect;subgraph cluster_NMISense_edgedetect {label = "Async = False";NMIEdgeDetect;WithClockNmi -> NMIEdgeDetect;NMIFiltered -> NMIEdgeDetect;} - edit in eic-states.dot at line 162
subgraph cluster_NMISense_leveldetect_async {label = "Async = True";NMILevelDetectAsync;WithoutClockNmi -> NMILevelDetectAsync;WithClockNmi -> NMILevelDetectAsync;} - replacement in eic-states.dot at line 169
label = "Asynch = False";NMILevelDetect [color=purple];WithClockNmi -> NMILevelDetect;label = "Async = False";NMILevelDetect; - edit in eic-states.dot at line 173
subgraph cluster_NMISense_edgedetect_async {label = "Asynch = True";NMIEdgeDetectAsync [color=purple];WithoutClockNmi -> NMIEdgeDetectAsync;}