Hardware Synthesis from SCCharts
These implementations are handmade and not automatic generated!
First naive implementation:
In the naïve implementation the first ABO-ssa.c program was taken. In this ABO example are multiplexers at the end of the tick function to select the correct value for each tick.
In this implementation the content of the tick function was taken and almost entirely copied into a VDHL process. Some syntax and code assimilation was done too. After this the behavioral could be tested with a Testbench.
Second implementation (ABO with local mux):
This version of ABO has local multiplexers. The valid signal value is directly calculated were it is needed. The implementation looks like the previous ABO implementation. The content from the tick function is almost entirely copied into a VHDL process.
Third implementation (ABO with local mux, optimized):
This ABO-VHDL-version also takes the ABO example with local multiplexers. In this version there is an ABO control entity which includes generating the initial tick, safe pre values, flip-flops for input values A and B and the ABO entity itself. The inner ABO entity (ABO_localMux) only contains logic and control flow (pause registers).
Fourth implementation (ABO-seq.c)
In this implementation a new version of ABO (abo-seq.c) was taken to implement it in VHDL. This ABO example works with guarded actions. In this implementation the content of the tick function was taken and almost entirely copied into a VDHL process, like in the first implementation.