Analizando circuitos utilizando SystemC

Analizando circuitos utilizando SystemC

SystemC es otra gran herramienta para modelar hardware. Incluye todas las características de C ++, utilizadas en todo el mundo, y una biblioteca de clases de C ++ especialmente diseñada para el diseño del sistema. SystemC tiene una implementación gratuita de código abierto y puede compilarla en un código binario ejecutable muy eficiente con el compilador también gratuito Visual Studio Community C ++ de Microsoft. En SystemC puede modelar hardware a un nivel de abstracción más alto que en otros HDL, por lo que para modelar un hardware muy complejo, por ejemplo, los microcontroladores, es más fácil y eficiente de usar que otros HDL como VHDL o Verilog.

En v11 y versiones posteriores de TINA también puede crear y usar componentes modelados en SystemC tanto en TINA como en TINACloud. Los siguientes son los requisitos para usar SystemC con TINA.


Ejemplo de filtro de paso bajo
Abra el ejemplo de IllustrationsSystemCsc lpf.TSC.

Las características del filtro y el código C están diseñados por la herramienta gratuita en
http://t-filter.engineerjs.com/

El código C generado se colocó en el archivo fir.cpp.

Análisis de ejecución / espectro de Fourier ...
Pulse el botón Botón en la ventana del diagrama. Aparecerá el Post-procesador. Ahora dibuja la función de transferencia.

Pulse el botón Más botón. Tipo Salida (s) / Entrada (s) en la Edición de Línea. Escriba H en el nuevo nombre de la función. prensa Crean. prensa OK. Seleccionar Ver / Curvas separadas.
El resultado es el siguiente

La parte más importante de la macro SystemC:

void fir :: proc ()
{
doble u, y;
if (CLK.read () == SC_LOGIC_1) {
sc_logic sc_val;

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

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

// VALOR AJUSTADO
RESULTADO = y;
n ++;
}
}

Puede encontrar este ejemplo en la carpeta Ejemplos / Fir del systemc_model.zip.