Sun Jan 26 05:52:47 EST 2020
Tie breaking allows use of sequential select
This is a new idea: mimick the behavior of select in hardware, which
requires tie breaking when events arrive at the same time.
Assuming it is best to do only one event at a time. If not, split it
up into two different machines.
When all transition functions are pure, they can be implemented either
as single-cycle, or using a programmable datapath.
So the core ideas are:
- use CSP style rendez-vous with tie-breaking select
- implementation of transition functions can then be decoupled
In othe words: CSP-style rendez-vous allows for machine
synchronization, effectively removing real-time from the picture: we
can reason at the event level. So DECOUPLE TIME FIRST.
Once time is decoupled, transition functions can be implemented in a
single cycle, or can be done over many cycles. This essentially
isolates the problem of function computation.
I am going to need a compiler and a universal state machine language.