From: Luke Kenneth Casson Leighton Date: Mon, 29 Apr 2019 23:15:35 +0000 (+0100) Subject: added links explaining Moore FSM / Mealy FSM X-Git-Tag: ls180-24jan2020~1106 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=10f9ee98fce5fe6bf33003dc05a2d4d44a098dd9;p=ieee754fpu.git added links explaining Moore FSM / Mealy FSM --- diff --git a/src/add/stageapi.py b/src/add/stageapi.py index dd969ae4..ef4327c5 100644 --- a/src/add/stageapi.py +++ b/src/add/stageapi.py @@ -15,12 +15,16 @@ of the incoming and outgoing data, and they provide a means to PROCESS that data (from incoming format to outgoing format). - Stage Blocks really must be combinatorial blocks. It would be ok - to have input come in from sync'd sources (clock-driven) however by - doing so they would no longer be deterministic, and chaining such - blocks with such side-effects together could result in unexpected, - unpredictable, unreproduceable behaviour. + Stage Blocks really should be combinatorial blocks (Moore FSMs). + It would be ok to have input come in from sync'd sources + (clock-driven, Mealy FSMs) however by doing so they would no longer + be deterministic, and chaining such blocks with such side-effects + together could result in unexpected, unpredictable, unreproduceable + behaviour. + So generally to be avoided, then unless you know what you are doing. + https://en.wikipedia.org/wiki/Moore_machine + https://en.wikipedia.org/wiki/Mealy_machine the methods of a stage instance must be as follows: