Пример взаимодействующих автоматов — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) м |
ANA (обсуждение | вклад) м |
||
| Строка 1: | Строка 1: | ||
<graphviz> | <graphviz> | ||
digraph G { | digraph G { | ||
| + | |||
| + | RST [shape=none label=""] | ||
| + | |||
Free -> Wait [label="req = 1"] | Free -> Wait [label="req = 1"] | ||
Free -> Free | Free -> Free | ||
| Строка 7: | Строка 10: | ||
Work -> Free [label="cal_ready = 0"] | Work -> Free [label="cal_ready = 0"] | ||
Work -> Work | Work -> Work | ||
| + | RST -> Free [label="reset"] | ||
Wait [label="Thread[0|1]Wait: 01\n cal_req <= '1'\n ready <= '0'"] | Wait [label="Thread[0|1]Wait: 01\n cal_req <= '1'\n ready <= '0'"] | ||
| Строка 12: | Строка 16: | ||
Free [label="Thread[0|1]Free: 00\n cal_req <= '0'\n ready <= '1'"] | Free [label="Thread[0|1]Free: 00\n cal_req <= '0'\n ready <= '1'"] | ||
| + | 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_Work3 [label="CalWork_3: 1000\n cal_ready = 01|10"] | ||
Cal_Work2 [label="CalWork_2: 0100\n cal_ready = 01|10"] | Cal_Work2 [label="CalWork_2: 0100\n cal_ready = 01|10"] | ||
Cal_Work1 [label="CalWork_1: 0010\n cal_ready = 01|10"] | Cal_Work1 [label="CalWork_1: 0010\n cal_ready = 01|10"] | ||
| − | |||
| − | Cal_Free -> Cal_Work1 [label="cal_req = 01|10|11"] | + | Cal_RST -> Cal_Free [label="reset"] |
| + | |||
| + | Cal_Free -> Cal_Work1 [label="cal_req = 01|10|11\nlast_thread = 0|1"] | ||
Cal_Work1 -> Cal_Work2 | Cal_Work1 -> Cal_Work2 | ||
Cal_Work2 -> Cal_Work3 | Cal_Work2 -> Cal_Work3 | ||
| − | Cal_Work3 -> Cal_Free | + | Cal_Work3 -> Cal_Free [label="cal_req = 00"] |
Cal_Free -> Cal_Free | Cal_Free -> Cal_Free | ||
| + | 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_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_thread0 [label="cal_req = 01|00"] | ||
Версия 12:59, 21 сентября 2017