12.5 ConPro SoC High-level Synthesis 437
12.5 ConPro SoC High-level Synthesis
Today there is an increasing requirement for the development of System-
On-Chip designs (SoC) using Application-Specific Digital Circuits, with increas-
ing complexity, too, serving low-power and miniaturization demands. The
structural decomposition of such a SoC into independent sub-modules
requires smart networks and communication (Network-on-Chip, NoC) serving
chip area and power limitations. Traditionally, SoCs are composed of micro-
processor cores, memory and peripheral components. But in general,
massive parallel systems require modelling of concurrency both on control-
and data-path level. Digital logic systems are preferred for exploration and
implementation of concurrency. Traditionally, digital circuits are modelled on
hardware behaviour or gate level, but usually the entry point for a reactive or
functional system is the algorithmic level. The Register-Transfer-Logic (RTL) on
architecture and hardware level must be derived from the algorithmic level,
requiring a raise of abstraction of RTL [ZHU01].
With increasing complexity, higher abstraction levels are required, moving
from hardware to algorithmic level. Naturally imperative programming lan-
guages are used to implement algorithms on program-controlled machines,
which process a sequential stream of data- and control operations. Using this
data-processing architecture, a higher-level imperative language can be sim-
ply mapped to a lower-level imperative machine language, which is a rule-
based mapping, automatically performed by a software compiler. But in cir-
cuit design, there is neither an existing architecture nor an existing low level
language that can be synthesized directly from a higher level one. An impera-
tive programming approach provides both abstraction from hard- ware and
direct implementation of algorithms, but usually reflects the memory-mapped
von-Neumann computer architecture model. Another important requirement
of a programming language in circuit design (in contrast to software design) is
the ability to have fine-grained control over the synthesis process, usually
transparent.
Using generic memory-mapped languages like C makes RTL hardware syn-
thesis difficult due to the transparency of object references (using pointers)
preventing RTL mapping. Additionally, concurrency models are missing in
most software languages. There are many attempts to use C-like languages,
but either with restrictions, prohibiting anonymous memory access with
pointers, or using a program-controlled (multi-) processor architecture with
classical hardware-software-co-design, actually dominant in SoC-Design. But
SoC-designs using generic or application-specific processor architectures
complicate low-power designs and concurrency is coarse grained.
One example is PICO [KAT02], addressing the complete hardware design
?ow targeting SoC and customizable or configurable processors, enhanced
with custom-designed hardware blocks (accelerators). The RTL level is mod-
S. Bosse, Unified Distributed Sensor and Environmental Information Processing with Multi-Agent Systems
epubli, ISBN 9783746752228 (2018)