Пример взаимодействующих автоматов — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) м |
ANA (обсуждение | вклад) м |
||
| Строка 25: | Строка 25: | ||
Cal_Free -> Cal_Work1 [label="cal_req = 01|10|11\nlast_thread = 0|1"] | Cal_Free -> Cal_Work1 [label="cal_req = 01|10|11\nlast_thread = 0|1"] | ||
| + | Cal_Work1 -> Cal_Work2 | ||
| + | Cal_Work2 -> Cal_Work3 | ||
| + | Cal_Work3 -> Cal_Free [label="cal_req = 00"] | ||
| + | Cal_Free -> Cal_Free [label="cal_req = 00"] | ||
| + | Cal_Work3 -> Cal_Work1 [label="cal_req = 11\nlast_thread = 0|1"] | ||
| + | |||
| + | last_thread_RST [shape=none label=""] | ||
| + | last_thread1 [label="last_thread: 1"] | ||
| + | last_thread0 [label="last_thread: 0"] | ||
| + | |||
| + | |||
| + | last_thread_RST -> last_thread1 [label="reset"] | ||
| + | |||
| + | last_thread0 -> last_thread0 [label="cal_req = 01|00"] | ||
| + | last_thread0 -> last_thread1 [label="cal_req = 11"] | ||
| + | last_thread1 -> last_thread0 [label="cal_req = 11"] | ||
| + | last_thread1 -> last_thread1 [label="cal_req = 10|00"] | ||
| + | |||
| + | } | ||
| + | </graphviz> | ||
| + | |||
| + | == Расширенный вариант графа переходов == | ||
| + | |||
| + | <graphviz> | ||
| + | digraph G { | ||
| + | |||
| + | Cal_Free [label="CalFree: 0001\n cal_ready = 11"] | ||
| + | Cal_RST [shape=none label=""] | ||
| + | Cal_Work3 [label="CalWork_3: 1000\n cal_ready = 01|10"] | ||
| + | Cal_Work2 [label="CalWork_2: 0100\n cal_ready = 01|10"] | ||
| + | Cal_Work11 [label="CalWork_1: 0010\n cal_ready = 10\n last_thread = 0"] | ||
| + | Cal_Work12 [label="CalWork_1: 0010\n cal_ready = 01\n last_thread = 1"] | ||
| + | Cal_Work13 [label="CalWork_1: 0010\n cal_ready = 01"] | ||
| + | Cal_Work14 [label="CalWork_1: 0010\n cal_ready = 10"] | ||
| + | |||
| + | Cal_RST -> Cal_Free [label="reset"] | ||
| + | |||
| + | Cal_Free -> Cal_Work11 [label="cal_req = 11\nlast_thread = 1"] | ||
| + | Cal_Free -> Cal_Work12 [label="cal_req = 11\nlast_thread = 0"] | ||
| + | Cal_Free -> Cal_Work13 [label="cal_req = 10\nlast_thread = 0|1"] | ||
| + | Cal_Free -> Cal_Work14 [label="cal_req = 01\nlast_thread = 0|1"] | ||
| + | |||
| + | |||
Cal_Work1 -> Cal_Work2 | Cal_Work1 -> Cal_Work2 | ||
Cal_Work2 -> Cal_Work3 | Cal_Work2 -> Cal_Work3 | ||
Версия 16:51, 21 сентября 2017
Расширенный вариант графа переходов