# Hardware Synthesis from SCCharts

Last modified by Richard Kreissig on 2023/09/14 11:12
Export
Office Formats
Export as PDF Export as ODT Export as RTF
Other Formats

Select the pages to export:

select all/ none

Legend:
  Created Page
  Modified Extension Page
  Clean Extension Page

Export as HTML

## Deprecated since 0.12

This article is deprecated. The described features are no longer available in current releases.

## Hardware Synthesis from SCCharts

SCCharts not only can be transformed into C-Code to run it on a µC, it is also interesting to synthesize SCCharts to hardware. There are several aspect to do that.

- On hardware there is per se a parallel execution, so parallel SCCharts regions can be executed in real parallel
- A synthesised hardware circuit is deterministic.
- Once the system clock is calculated in that way that all hardware units are executable, you have found your tick signal

But there are also problems in hardware synthesis.

- special handling for sequential variable assignment is needed

Where we are:

grafic coming soon.

### First (naive) Implementation

In the first naive implementation the example ABO-ssa.c was taken and directly implemented in VHDL. The ABO-ssa.c example is an hand optimized ABO example which is written in synchronous C. The tick function was taken and implemtented in VHDL. The "only" thing that was to do is, to change syntax differences between C and VHDL. The used variable must be adjusted too.

The picture shows the ABO SCChart and two possible execution traces. The signal graphs are showing the simulated ABO-hardware circuit. As you can see, it does the same .

ABO example |
two possible execution traces
signal trace from execution 1
signal trace from execution 2

Here clk is tick_in.

A tick starts which every rising edge from clk.

Do not note tick_in.

After the execution from ABO the hardware signals still remain.

From this we can see that it is possible to synthesize hardware from SCCharts (Synchronous C).

Tags:
Created by gjo on 2013/05/07 15:46

- Comments (0)
- Attachments (4)
- History
- Information

# Quick Links

KIELER on GitHub
RTSYS Homepage

XWiki 14.4.7