SystemC SIMULIACIJA
SystemC SIMULIACIJA
- „Verilog-A“ ir AMS modeliavimas
- „SystemVerilog“ modeliavimas
- Verilog modeliavimas
- VHDL modeliavimas
- VHDL-AMS modeliavimas
„SystemC“ yra dar viena puiki priemonė aparatūros modeliavimui. Jis apima visas C ++ funkcijas, naudojamas visame pasaulyje, ir C ++ klasės biblioteką, specialiai suprojektuotą sistemos projektavimui. „SystemC“ turi nemokamą „open source“ programą ir ją galite sukompiliuoti į labai efektyvų vykdomąjį dvejetainį kodą su nemokamu „Visual Studio“ bendruomenės „C ++“ kompilatoriumi. „SystemC“ sistemoje galite modeliuoti aparatūrą didesniu abstrakcijos lygiu nei kituose HDL, taigi, kai kurioms labai sudėtingoms aparatūroms, pvz., Mikrokontroleriams, modeliuoti yra lengviau ir efektyviau naudoti nei kiti HDL, pvz., VHDL arba Verilog.
„V11“ ir vėlesnėse „TINA“ versijose taip pat galite kurti ir naudoti komponentus, modeliuojamus „SystemC“ tiek TINA, tiek „TINACloud“. Toliau pateikiami reikalavimai naudoti SystemC su TINA.
Filtrų charakteristikas ir C kodą suprojektuoja nemokamas įrankis
http://t-filter.engineerjs.com/
Sukurtas C kodas buvo įrašytas į fir.cpp failą.
Vykdyti analizę / Furjė analizę / Furjė spektrą…
Paspauskite mygtuką diagramos lange. Pasirodys pašto apdorojimo procesas. Dabar atkreipkite perdavimo funkciją.
Paspauskite daugiau mygtukas. Tipas Išėjimas (-ai) / įvestis (-ai) eilutėje Redaguoti. Naujos funkcijos pavadinime įveskite H. Paspauskite kurti. Paspauskite OK. Pasirinkti Peržiūrėti / atskiras kreives.
Rezultatas yra toks
Svarbiausia „SystemC“ makro dalis:
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.