Az áramkörök elemzése a SystemC használatával

Az áramkörök elemzése a SystemC használatával

A SystemC egy másik nagyszerű eszköz a hardver modellezéséhez. Ez magában foglalja a világ minden táján használt C ++ összes funkcióját és egy speciálisan a rendszertervezéshez tervezett C ++ osztálykönyvtárat. A SystemC nyílt forráskódú implementációval rendelkezik, és egy nagyon hatékony, végrehajtható bináris kódba fordíthatja a Microsoft ingyenes Visual Studio közösségi C ++ fordítóját is. A SystemC-ben a hardvereket nagyobb absztrakciós szinten lehet modellezni, mint más HDL-eknél, és így egy nagyon bonyolult hardver, pl. Mikrokontrollerek modellezéséhez egyszerűbb és hatékonyabb, mint más HDL-ek, mint a VHDL vagy Verilog.

A v11-ben és a TINA későbbi verzióiban is létrehozhat és használhat a SystemC-ben modellezett összetevőket mind TINA-ban, mind a TINACloudban. A következő követelmények a SystemC TINA használatához szükségesek.


Aluláteresztő szűrő példa
Nyissa meg a PéldákSystemCsc lpf.TSC példáját.

A szűrő jellemzőit és a C-kódot az ingyenes eszköz tervezi
http://t-filter.engineerjs.com/

A generált C-kódot a fir.cpp fájlba helyeztük.

Futtassa az elemzést / Fourier spektrumot…
Nyomja meg a gomb a diagram ablakban. Megjelenik a Post-processzor. Most rajzolja meg az átviteli funkciót.

Nyomja meg a Több gomb. típus Kimenet (ek) / bemenet (ek) a Szerkesztés sorban. Írja be az új függvénynévbe H-et. nyomja meg Teremt. nyomja meg OK. Válassza ki a Nézet / külön görbék.
Az eredmény a következő

A SystemC makró legfontosabb része:

void fir :: proc ()
{
kettős u, y;
ha (CLK.read () == SC_LOGIC_1) {
sc_logic sc_val;

// CALC
x [0] = MINTA; y = 0;
a (int k = 0; k <M; k ++) {
y + = b [k] * x [k];
}

// SHIFT
(int k = M-1; k> = 1; k—)
x [k] = x [k-1];

// ÉRTÉK BEÁLLÍTÁSA
EREDMÉNY = y;
N ++;
}
}

Ezt a példát a systemc_model.zip példák / fenyő mappájában találja.