1 / 17

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

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

yamin
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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!

  3. 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.

  4. 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.

  5. 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

  6. 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

  7. 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]

  8. 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.

  9. System C model Image source: Synthesizable SystemC [2]

  10. 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.

  11. System C design flow Image source: Synthesizable SystemC [2]

  12. 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]

  13. 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.

  14. Spec C model • Parallelism • State Transition • Structural Hierarchy • Exception Handling • Timing Constraints • Synchronization • Communication • Data Path

  15. Spec-C design flow Image source: The SpecC Methodology[4]

  16. 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.

  17. 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

More Related