Powiadomienia systemowe
- Sesja wygasła!
Tytuł artykułu
Autorzy
Identyfikatory
Warianty tytułu
Higher order semantics reconstruction from C++ code for SystemC models analysis
Konferencja
Metody i narzędzia wytwarzania oprogramowania. Konferencja Naukowa (14-16.05.2007 , Szklarska Poręba)
Języki publikacji
Abstrakty
Standard IEEE 1666-2005 - SystemC - jest odmianą notacji języka opisu sprzętu (HDL - Hardware Description Language). W odróżnieniu od innych notacji HDL, SystemC nie jest samodzielnym językiem, ale biblioteką klas szablonowych, która uzupełnia język C++ o elementy semantyki HDL. Z myślą o zastosowaniu w konstrukcji szerokiej gamy narzędzi projektowych został opracowany komponent programowy analizatora notacji SystemC. Istotą analizy notacji SystemC jest rekonstrukcja semantyki HDL, zawartej w kodzie źródłowym modelu. Analizator notacji SystemC dokonuje detekcji wzorców na poziomach: leksykalnym, składniowym oraz semantycznym, których kombinacja stanowi podstawę do wnioskowania o rozpoznaniu elementów semantyki HDL. Potrzebne informacje są uzyskiwane z reprezentacji pośredniej, generowanej przez moduł analizatora C++ z dostępnego publicznie projektu kompilatora GNU GCC. Architektura przyjęta w ramach zrealizowanego projektu wyodrębnia niezależne moduły analizatora C++ (część kompilatora GCC) oraz analizatora SystemC - oba zostały wyposażone w otwarte interfejsy aplikacyjne (API) umożliwiające współpracę z dowolnymi modułami implementującymi kolejne etapy przetwarzania, dołączanymi w postaci skompilowanych bibliotek dynamicznych. Zakres możliwych zastosowań obu modułów znacznie wykracza poza ramy omawianego projektu.
Standard IEEE 1666-2005 - SystemC is one of the Hardware Description Languages (HDL). SystemC notation differs from classic HDL in that it is not a self-contained language but only a class library, which supplies the C++ language with HDL semantics. SystemC analyzer has been built as a base for a large variety of development tools. The analysis is based on the HDL semantics reconstruction from the C++ code. The analyzer uses lexical, syntactical, and semantic information extracted from an internal code representation built by the C++ compiler front-end from GCC. Both C++ analyzer from GCC and SystemC analyzer have open application interfaces what makes cooperation with different modules possible. Those modules are provided as dynamically linked libraries and implement next transformation steps. The scope of application of both modules significantly oversteps the project being discussed.
Rocznik
Tom
---
Strony
385--398
Opis fizyczny
Bibliogr. 16 poz.
Twórcy
autor
autor
autor
- Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16,44-100 Gliwice
Bibliografia
- [1] ABRAHAMS D., GURTOVOY A., C++ Template Metaprogramming: Conpects, Tools, and Techniques from C++ Boost and Beyond. Pearson Education, 2004, wydanie polskie: Język C++ Metaprogramowanie za pomocą szablonów. Helion, 2005.
- [2] ARATO P., VISEGRADY T., JANKOVITS I., High Level Synthesis of Pipelined Datapaths. John Wiley & Sons, Ltd, 2001.
- [3] BARTELA K., Analizator notacji SystemC opaty na kompilatorze GNU GCC. Praca dyplomowa magisterska - prow. P. Szmal, kons. M. Forczek, Politechnika Śląska, Wydział Automatyki, Elektroniki i Informatyki, Gliwice 2006.
- [4] BHAS KER J., A SystemC Primer, Second Edition. Star Galaxy Publishing, 2004.
- [5] FORCZEK M., BARTELA K., SZMAL P., Wzorce projektowe w konstrukcji narzędzi przetwarzania kodu źródłowego. Referat zgłoszony na Konferencję: Metody i Narzędzia Wytwarzania Oprogramowania, Wrocław 2007.
- [6] IEEE Standard for SystemVerilog - Unified Hardware Design, Specification and Verification Language, IEEEStd 1850-2005, The Institute of Electrical and Electronics Engineers, Inc., New York, 2005
- [7] International Standard IEC 61691-1-1 IEEE 1076 Behavioural languages - Part 1-1: VHDL language reference manual, International Electrotechnical Commission, Geneva, The Institute of Electrical and Electronics Engineers, Inc., New York, 2004
- [8] GNU General Public License, www.fzi.de/sim/kascpar.html /
- [9] GROTKER T., LIAO S., MARTIN G., SWAN S., System Design with SystemC. Kluwer Academic Publishers, 2002.
- [10] KaSCPar - Karlsruhe SystemC Parser Suite, www.gnu.org/licenses/gpl.html
- [11] Pinapa: An open-source SystemC front-end, http://greensocs.sourceforge.net/pinapa/doc/html/
- [12] SHARP R., Higher-Level Hardware Synthesis, Springer, 2004
- [13] STALLMAN R. M. AND THE GCC DEVELOPER COMUNITY, GNU Compiler Collection Internals. http://gcc.gnu.org/onlinedocs/
- [14] STROUSTRUP B., The C++ Progranumng Language. Addison-Wesley, 1986
- [15] STROUSTRUP B., The Design and Evolution of C++. Addison-Wesley, 1994, wydanie polskie: Projektowanie i rozwój języka C++.
- [16] SystemC 2.0.1 Language Reference Manual Revison 1.0, Open SystemC Initiative (OSCI), 2003, htpp://www.systemc.org
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BPW6-0019-0029