From 10f9ee98fce5fe6bf33003dc05a2d4d44a098dd9 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Tue, 30 Apr 2019 00:15:35 +0100 Subject: [PATCH] added links explaining Moore FSM / Mealy FSM --- src/add/stageapi.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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: -- 2.30.2