Sunteți pe pagina 1din 4

SystemC

1
SystemC
SystemC es frecuentemente descrito como un lenguaje de descripcin de hardware como son VHDL y Verilog,
pero es ms adecuado describirlo como un lenguaje de descripcin de sistemas, puesto que es realmente til cuando
se usa para modelar sistemas a nivel de comportamiento.
Descripcin
SystemC es un conjunto de bibliotecas y macros implementadas en C++ que hacen posible una simulacin de
procesos concurrentes con la sintaxis del lenguaje C++ ordinario. As los objetos descritos pueden comunicarse
durante una simulacin de tiempo real usando seales de cualquier tipo ofrecido por C++, adems algunas otras
ofrecidas por las libreras de SystemC y tambin otras definidas por el usuario.
La metodologa de diseo es comenzar con un modelo de alto nivel escrito en C++ y aplicar un proceso iterativo
consistente en transformar el cdigo para usar slo los elementos que tengan su equivalente en un lenguaje de
descripcin de hardware.
Lenguaje
Mdulos
Los mdulos (module) son los bloques bsicos en el diseo de una jerarqua en SystemC. Un modelo SystemC
consta habitualmente de varios mdulos que se comunican a travs de los puertos.
Puertos
Los puertos (port) permiten la comunicacin de un mdulo con el exterior, normalmente con otros mdulos.
Procesos
Los procesos (processes) son los principales elementos de computacin. Son concurrentes.
Canales
Los canales son elementos de comunicacin de SystemC. Pueden ser simples cables o complejos mecanismos como
sistemas FIFO o buses. Los canales bsicos son:
signal
buffer
FIFO
mutex
semaphore
SystemC
2
Interfaces
Los puertos usan las interfaces para comunicarse con los canales.
Eventos
Los eventos (events) permiten la sincronizacin entre procesos.
Tipos de datos
SystemC introduce varios tipos de datos para dar soporte al modelado de hardware.
Tipos extendidos
sc_int<> entero con signo de 64 bits
sc_uint<> entero sin signo de 64 bits
sc_bigint<> entero con signo de precisin arbitraria
sc_biguint<> entero sin signo de precisin arbitraria
Tipos lgicos
sc_bit un bit con dos nicos valores posibles2-valued single bit
sc_logic un bit en el que se pueden dar 4 valores
sc_bv<> vector de sc_bit
sc_lv<> vector de sc_logic
sc_lv<> normalmente se expresa en nmeros decimales
Tipos de punto fijo
sc_fixed<> templated signed fixed point
sc_ufixed<> templated unsigned fixed point
sc_fix untemplated signed fixed point
sc_ufix untemplated unsigned fixed point
Ejemplo de cdigo
El siguiente ejemplo es un sumador:
#include "systemc.h"
SC_MODULE(adder) // mdulo, declaracin de la clase
{
sc_in<int> a, b; // puertos
sc_out<int> sum;
void do_add() // proceso
{
sum = a + b;
}
SC_CTOR(adder) // constructor
{
SC_METHOD(do_add); // registro do_add al kernel
SystemC
3
sensitive << a << b; // lista de sensibilidad de do_add
}
};
Alternativas
SystemC usa el cdigo escrito en C como entrada a sus programas de sntesis. Otra opcin es transformar una
descripcin hecha en un lenguaje de programacin a un lenguaje de descripcin de hardware como VHDL o Verilog,
algunas herramientas para ello son:
BachC
CoWare
OCAPI
CynApps
C2HDL
AR|T Builder
Enlaces externos
Sitio web de SystemC
[1]
Un CD Linux "Live" por SystemC con clase particular de C++/SystemC
[2]
Synopsys
[3]
, creadores de CoCentric SystemC Compiler
Grupo de usuarios europeo de SystemC
[4]
Gua de SystemC
[5]
Referencias
[1] http:/ / www. systemc. org/
[2] http:/ / sclive.blogsite. org
[3] http:/ / www. synopsys. com/
[4] http:/ / www-ti.informatik. uni-tuebingen.de/ ~systemc/
[5] http:/ / www. doulos. com/ knowhow/ systemc/
Fuentes y contribuyentes del artculo
4
Fuentes y contribuyentes del artculo
SystemC Fuente: http://es.wikipedia.org/w/index.php?oldid=72475086 Contribuyentes: Abece, Biasoli, Jonah wp, Murphy era un optimista, Toad32767, 10 ediciones annimas
Licencia
Creative Commons Attribution-Share Alike 3.0
//creativecommons.org/licenses/by-sa/3.0/

S-ar putea să vă placă și