III. Alapfogalmak és tervezési módszertan SystemC-ben

Hasonló dokumentumok
8.3. AZ ASIC TESZTELÉSE

VIII. BERENDEZÉSORIENTÁLT DIGITÁLIS INTEGRÁLT ÁRAMKÖRÖK (ASIC)

IV. A SystemC alapelemei

Digitális eszközök típusai

Hardver leíró nyelvek (HDL)

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Előadó: Nagy István (A65)

1. A VHDL mint rendszertervező eszköz

VII. Tesztkörnyezet felépítése

MIKROELEKTRONIKA, VIEEA306

Java programozási nyelv

Újrakonfigurálható eszközök

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Számítógép architektúra

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Elektronika, 5. gyakorlat: algoritmikus C szintézis

A szoftverfejlesztés eszközei

Rendszerszintű tervezés: SystemC I.

Occam 1. Készítette: Szabó Éva

Elektronikai tervezés Dr. Burány, Nándor Dr. Zachár, András

OOP. Alapelvek Elek Tibor

Objektumorientált paradigma és programfejlesztés Bevezető

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Joint Test Action Group (JTAG)

Digitális technika (VIMIAA01) Laboratórium 4

Programozás és digitális technika II. Logikai áramkörök. Pógár István Debrecen, 2016

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Objektum orientált programozás Bevezetés

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Földmérési és Távérzékelési Intézet

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

14. TARTALOM FUTTATÁSA A FEJLESZTŐLAP HÉTSZEGMENSES KIJELZŐJÉN

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

Objektumorientált paradigma és a programfejlesztés

Információtartalom vázlata

1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD)

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

NETinv. Új generációs informatikai és kommunikációs megoldások

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

PAL és s GAL áramkörök

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Bevezetés A SystemC célja A SystemC alapjai SystemC típusok Modulok Rendszerek Csatornák. Budapesti Műszaki és Gazdaságtudományi Egyetem

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István

ÁRAMKÖRÖK SZIMULÁCIÓJA

Mintavételes szabályozás mikrovezérlő segítségével

Digitális technika (VIMIAA02) Laboratórium 4

A szerzõrõl... xi Bevezetés... xiii

Integrált áramkörök/6 ASIC áramkörök tervezése

Foglalkozási napló a 20 /20. tanévre

Az azonosító számú, Internetes alkalmazásfejlesztő megnevezésű elágazás szakmai követelménymoduljainak

Foglalkozási napló a 20 /20. tanévre

OOP #1 (Bevezetés) v :39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Digitális technika VIMIAA hét

Digitális technika (VIMIAA02) Laboratórium 4

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

Verilog HDL ismertető 2. hét : 1. hét dia

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Mikroelektronikai tervezés

3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK

Digitális technika VIMIAA hét

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

cím: 6725 Szeged Bokor u. 18. telefon: Innomedio Kft Scrum módszertan 1.0 Verzió Érvényes: április 1-től

Napjainkban a korábbiaknál is nagyobb szükségünk van arra, hogy eszközeink rugalmasak legyenek és gyorsan igazodjanak a változó környezethez.

Dokumentumok Information kezelése? Management Információ - management. Professzionális dokumentumkezelés hiteles másolat készítés. Offisys Kft.

Programtervezés. Dr. Iványi Péter

Szoftverfejlesztő Informatikai alkalmazásfejlesztő

Digitális elektronika gyakorlat

Bevezetés az informatikába

01. gyakorlat - Projektalapítás

KÖZLEKEDÉSAUTOMATIKAI ISMERETEK ÁGAZATON BELÜLI SPECIALIZÁCIÓ SZAKMAI ÉRETTSÉGI VIZSGA II. A VIZSGA LEÍRÁSA

Lukovich Gábor Logisztikai rendszerfejlesztő

Digitális technika (VIMIAA02) Laboratórium 5.5

Modell alapú tesztelés mobil környezetben

10. Digitális tároló áramkörök

SZÁMALK SZAKKÖZÉPISKOLA

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A/D és D/A konverterek vezérlése számítógéppel

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

Iman 3.0 szoftverdokumentáció

Programozási technológia

Digitális technika Xilinx ISE GUI használata

DW 9. előadás DW tervezése, DW-projekt

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

E rendszerben csak az az eljárás kerülhet befogadásra a közfinanszírozásba, amely szerepel az Engedélyezett Orvosi Eljárások katalógusában.

PAL és GAL áramkörök. Programozható logikai áramkörök. Előadó: Nagy István

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

Automatikus tesztgenerálás modell ellenőrző segítségével

Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet

Nyolcbites számláló mintaprojekt

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Átírás:

III. Alapfogalmak és tervezési módszertan SystemC-ben A SystemC egy lehetséges válasz és egyben egyfajta tökéletesített, tovább fejlesztett tervezési módszertan az elektronikai tervezés területén felmerülő tervezési és fejlesztési problematikák összességének megoldására. 1

III.1. SystemC rövid összefoglaló bemutatása A SystemC a C++ programozási nyelven alapul, és annak egyfajta kiterjesztése digitális elektronikai hardware berendezések modellezésére. Fontos megjegyezni, hogy a SystemC nem a C++ nyelv egy újabb fajta nyelvjárása, mint például a C#. A SystemC alapvetően megőrizte a C+ + nyelv objektum orientált tervezési és szoftverfejlesztési módszertanát. 2

Számos fontos jellemvonással bővíti a C++ hagyományos objektum orientált fejlesztői eszköztárát, mint például több folyamat párhuzamos végrehajtása, esemény vezérelt folyamatvezérlés, időzített eseménykezelés, speciális a logikai áramkörök tervezéséhez és modellezéséhez jól illeszkedő adattípusok biztosítása. A SystemC tulajdonképpen egy osztálykönyvtárral egészíti ki a C++ nyelvi lehetőségeit, ahol a hozzá adott osztályok nem a C++ nyelvet módosítják, hanem a C++ nyelv fent említett kiterjesztését valósítják meg. 3

III.2. SystemC és a hagyományos tervezési módszertan 4

Az elektronikai eszközök hagyományos tervezési módszertanában a rendszertervező mérnökök az általuk választott szoftverfejlesztő rendszerben (általában C, vagy C++) dolgozzák ki azokat a modelleket, amelyek segítségével a megtervezendő elektronikai rendszer funkcionalitása vizsgálható, tesztelhető. 5

Amikor a rendszer tervezői a fejlesztés ezen szakaszával elkészültek, akkor a kidolgozott modelleket, futtatható kódokat átadják az RTL szintet kidolgozó tervezői csoportnak, akik aztán ennek alapján újra írják azt a maguk választotta fejlesztői környezetben (VHDL, Verilog), hogy az elkészített rendszerterveket regiszter szintű tervekké, a kapuáramkörök részletességének szintjére kidolgozzák. Ennek a tervezési módszertannak van egy alapvető hibája, mégpedig az, hogy a rendszertervező által kidolgozott modellek által nyújtott funkcionális képességek eltérhetnek az RTL szintű tervek funkcionalitási jellemzőitől. 6

Ezzel szemben a SystemC által biztosított módszertanban a tervező mérnökök, mind rendszer szinten, mind hardware közeli szinten csak a SystemC környezetet használják a tervek egyre nagyobb részletességű kidolgozásához. A tervezők iteratív módon finomíthatják a terveiket a rendszerszintű tervezési előírásokból kiindulva le egészen a regiszterszintű tervekig, amelyek továbbra is a SystemC környezetben jelennek meg. 7

III.3. SystemC által a tervező számára nyújtott lehetőségek Modulok: Egy modult az úgynevezett modul osztály SC_MODULE segítségével tudunk definiálni. A modulok hierarchikus felépítésűek abból a szempontból, hogy folyamatokat tartalmazhatnak és más modulok példányai is részét képezhetik. Folyamatok: A folyamat célja, hogy az adott rendszer funkcionalitását leírja. A folyamatok egy-egy modulban jelennek meg. Két alapvetően különböző folyamat típus létezik a SystemC rendszerben ez a SC_METHOD és az SC_THREAD. 8

Portok: Egy modulnak valamilyen formában kapcsolódnia kell a külvilághoz, ezt a csatoló felületi szerepet tölti be a port, amit magyarul kapunak is nevezhetünk. A modulok a portokon keresztül tudnak egymással kommunikálni, azokon keresztül továbbítva a jeleket. Háromféle port típust különböztetünk meg, ezek az Input, Output és az InOut portok, attól függően, hogy az információ egy adott porton keresztül modulba befelé, kifelé vagy mind két irányban áramolhat. 9

Jelek: SystemC-ben a jelek testesítik meg azokat az értékeket, amelyek segítségével a rendszer egyes részei egymással kommunikálnak. Két alapvetően eltérő típusú jel csoport létezik. Ezek a resolved és az unresolved jelek. Adattípusok: Különböző absztrakciós szinteket és tervezési résztartományok létrehozását támogatja. Például biztosítja a kettő és négyértékű logikai szerkezetek használatát egyedi változó és indexelt változók (vektorok, tömbök) szintjén is. 10

Órajel generátorok: A SystemC számos lehetőséget kínál a különféle időzítési problémák, időütemezési feladatok minél rugalmasabb kezelésére, az egyszerű órajel generátorok periodikus négyszögjel alakjaitól az összetett komplex jelalakok generálásáig. A SystemC lehetőséget kínál arra is, hogy az egyes jeleket egymáshoz szinkronizáljuk. Eseményvezérelt alapú szimuláció: A digitális logikai áramkörök alapvetően párhuzamosan, illetve konkurensen működő rendszerek, amelyeknek modellezéséhez elengedhetetlenül szükséges a párhuzamos feladat végrehajtás megoldása. 11

Ezt a lehetőséget biztosítja a SystemC a modulokon keresztül deklarált, majd aztán definiált folyamatok esemény alapú vezérlésével (végrehajtásával). A SystemC-ben kidolgozott modellek tesztelése során az áramköri modell vagy rendszer szimulációja nem a hagyományosan megszokott szekvenciális utasítás végrehajtás logikai alapelvei szerint hajtódik végre, ami a bevezető programozási kurzusokon ismertetésre kerül. A szekvenciális utasítás végrehajtást váltja fel az eseményvezérelt alapú feladat végrehajtás, ami biztosítja a modell párhuzamos egymással akár konkurens végrehajtását is. 12