State machine 如何将有限状态机编码为二进制字符串?
如何将有限状态机编码/解码为二进制字符串State machine 如何将有限状态机编码为二进制字符串?,state-machine,State Machine,如何将有限状态机编码/解码为二进制字符串 F: [0,1,00,01,...] -> [fsm1, fsm2,...], |fsm1|=<|fsm2| Decode: Binary string -> FSM F:[0,1,00,01,…]->[fsm1,fsm2,…],| fsm1 |=FSM 为了表示FSM,状态图可以用点格式编码: 要在硬件中实现FSM,硬件描述语言是合适的工具: 要在软件中实现FSM,可以使用一个或两个查找表捕获机器 对于Mealy机器,一个LUT
F: [0,1,00,01,...] -> [fsm1, fsm2,...], |fsm1|=<|fsm2|
Decode: Binary string -> FSM
F:[0,1,00,01,…]->[fsm1,fsm2,…],| fsm1 |=FSM
为了表示FSM,状态图可以用点格式编码:
要在硬件中实现FSM,硬件描述语言是合适的工具:
要在软件中实现FSM,可以使用一个或两个查找表捕获机器
对于Mealy机器,一个LUT就足够了,其中输出是通过状态转换定义的:每个(状态,输入)组合将索引到一个(状态,输出)元组
摩尔机器——输出由状态决定——需要第二次查找:上表将只生成状态,第二个表将该状态映射到其输出
一旦这些表以您选择的格式(比如JSON)表示,那么序列化应该很容易