spec-c, handel-c, systemc : a comparative study by: nikola rank 13 march 2006

17
Spec-C, Handel-C, SystemC : A Comparative Study By: Nikola Rank 13 March 2006

Post on 20-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Spec-C, Handel-C, SystemC : A Comparative Study

By: Nikola Rank

13 March 2006

What is a Hardware Description Language(HDL)?

A textual approach to describing electrical circuits.

Not limited to circuit structure, can describe temporal/operational behavior.

Popular examples: VHDL, Verilog Handel C, SystemC, SpecC are not true

HDLs!

Motivation for Higher Level

These System-level description languages are crucial for SOC design and testing.

Work at varying levels of abstraction from the underlying hardware.

Simplify hardware/software partitioning by describing both with a single, C-based language.

Enhanced simulation and debugging

performance.

Handel C

Developed by Oxford Hardware Compilation Group

Based on the language Occam Goal: Enable someone not familiar with H/W

to do H/W design Currently, Celoxica provides a development

suite called DK4 that uses Handel C.

What does Handel add to ANSI-C?

Parallelism Timing Interfaces Clocks RAM/ROM Shared expression Communications Handel-C libraries Floating Point component library Bit manipulation Macro functions for hardware block reuse

What doesn’t Handel C support

Recursion Side effects Standard libraries Malloc() Standard floating point Pointers

Aside from these, everything else in C is supported by Handel C

Handel C design flow

Sample Handel C design flow (Based on Celoxica toolset)

Goal is implementation of JPEG 2000 algorithm

Image source: Celoxica Presentation[1]

System C

Offered by the Open SystemC Initiative (OSCI)

Implemented via C++ library, runs on any C++ compiler.

Includes constructs for testing/simulation as well as synthesis.

System C model

Image source: Synthesizable SystemC [2]

Synthesizable Subset

Only a subset of the SystemC library is suitable for synthesis of a circuit.

This subset closely matches VHDL or another underlying HDL.

In reality, most tools actually convert the SystemC to HDL for synthesis.

System C design flow

Image source: Synthesizable SystemC [2]

System C from UML?

The next level of abstraction above C++ is UML.

It may be possible to generate synthesizable SystemC code from a UML model.

Leads to even shorter design times.

Image source: Synthesizable SystemC Code from UML Models[3]

Spec C

First developed in 1997 at University of California

Uses its own special compiler, a reference compiler is freely available.

Designed to be true superset of ANSI-C Allows timing specification.

Spec C model

Parallelism State Transition Structural Hierarchy Exception Handling Timing Constraints Synchronization Communication Data Path

Spec-C design flow

Image source: The SpecC Methodology[4]

Conclusions

There is no doubt a push in the direction of higher level languages for hardware design.

Many more alternatives offered, SystemC, Spec C, Handel C, Impulse C, etc…

None are perfect, none are the industry standard (Some more prominent than others).

Future will hold even higher levels of abstraction.

References

[1] Software-Compiled System Design:A Methodology for Field ProgrammableSystem-on-Chip Design.EDP paper presentation. Jeff Jussel. April 15, 2003 (Celoxica)

[2] Synthesizable SystemC. Federico Angiolini. 2005-2006 DEIS – University of Bologna.

[3] Synthesizable SystemC Code from UML Models. W.H. Tan, P.S. Thiagarajan,W.F. Wong, Y. Zhu. School of Computing:National University of Singapore. S.K. Pilakkat. Institute for Infocomm ResearchSingapore http://www.comp.nus.edu.sg/~ctp/publications/UML_SoC.pdf

[4] The SpecC Methodology. Andreas Gerstlauer. Center for Embedded Computer Systems: University of California, Irvine. 2001. http://www.cecs.uci.edu/~SpecC/

[5] Handel-C Language Reference Manual. Embedded Solutions Limited: Version 2.1

[6] SpecC Language Reference Manual. SpecC Technology Open Consortium: Version 2.0. December 12, 2002

[7] SystemC 2.0.1 Language Reference Manual. Open SystemC Initiative : San Jose, California. 2003

[8] Presentation by SpecC Technology Open Consortium: http://www.specc.gr.jp/tech/stoc_dac00_presen.pdf

[9] A Survey on the Handel-C Language. Altaf Abdul Gaffar. http://www.iis.ee.ic.ac.uk/~frank/surp99/article1/amag97