SystemC SZIMULÁCIÓ
SystemC SZIMULÁCIÓ
- Verilog-A és AMS szimuláció
- SystemVerilog szimuláció
- Verilog szimuláció
- VHDL szimuláció
- VHDL-AMS szimuláció
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 kidolgozott 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 képes fordítani a Microsoft szintén ingyenes Visual Studio közösségi C ++ fordítóját. Más HDL (hardvert leíró nyelvek)-hez képest a SystemC-ben a hardvereket nagyobb absztrakciós szinten lehet modellezni, így egy nagyon bonyolult hardver, pl. mikrokontrollerek modellezéséhez egyszerűbb és hatékonyabb más HDL-eknél, mint például a VHDL vagy Verilog.
A v11 és a későbbi TINA verziókban a SystemC-ben modellezett komponenseket is létrehozhat és használhat mind TINA-ban, mind TINACloudban. A következő követelmények a SystemC TINA használatához szükségesek.
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 "Analízis/ Fourier analízis / Fourier spektrum…"-ot!
Nyomja meg a gombot a diagram ablakban! A Post-processzor jelenik meg. Most rajzolja meg az átviteli funkciót (transfer function)!
Nyomja meg a Több (More) gombot! A szerkesztés sorba írja be: Kimenet (ek) / bemenet (ek) Output(s)/Input(s) Írja be az új függvénynévbe a H betűt. Nyomja meg az Alkot (Create) parancsot.. Majd nyomja meg azt, hogy OK. Válassza ki a Nézet / külön görbék (View/ Separate curves) opciót.
Az eredmény a következő:
A SystemC makró legfontosabb része:
void fir::proc()
{
double u, y;
if (CLK.read() == SC_LOGIC_1) {
sc_logic sc_val;
// CALC
x[0] = SAMPLE; y = 0;
for (int k=0; k < M; k++){
y += b[k]*x[k];
}
// SHIFT
for (int k=M-1; k>=1; k—)
x[k] = x[k-1];
// SET VALUE
RESULT = y;
n++;
}
}
You can find this example in the Examples/Fir folder of the systemc_model.zip.