Introduccion a SystemC

53
Arquitectura de Computadores. Introducción a SystemC. SystemC. Ventajas de SystemC. Módulos. Puertos y señales. Tipos de Datos. Procesos . Implementación de un Modulo. Modelado y Simulación de Circuitos Computacionales por medio de la biblioteca <systemc.h> Cesar Leonardo Vielma Pernia SystemC

Transcript of Introduccion a SystemC

Page 1: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

•SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos .•Implementación de un Modulo.

Modelado y Simulación de Circuitos Computacionales por medio de la biblioteca

<systemc.h>

Cesar Leonardo Vielma Pernia SystemC

Page 2: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

SystemC

Cesar Leonardo Vielma Pernia SystemC

SystemC es una poderosa herramienta de programación que nos permite describir o modelar sistemas a nivel de comportamiento.

•SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 3: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

SystemC

Cesar Leonardo Vielma Pernia SystemC

SystemC es una poderosa herramienta de programación que nos permite describir o modelar sistemas a nivel de comportamiento.

NO es un nuevo lenguaje de programación !! , es simplemente una biblioteca del lenguaje C++.

•SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 4: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

SystemC

Cesar Leonardo Vielma Pernia SystemC

SystemC es una poderosa herramienta de programación que nos permite describir o modelar sistemas a nivel de comportamiento.

NO es un nuevo lenguaje de programación !! , es simplemente una biblioteca del lenguaje C++.

•SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 5: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Ventajas de SystemC

Cesar Leonardo Vielma Pernia SystemC

Simplicidad de manejo.

SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 6: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Ventajas de SystemC

Cesar Leonardo Vielma Pernia SystemC

Simplicidad de manejo.

Costo de Modelado.

SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 7: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Ventajas de SystemC

Cesar Leonardo Vielma Pernia SystemC

Simplicidad de manejo.

Costo de Modelado.

Tiempo de Simulación.

SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 8: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Ventajas de SystemC

Cesar Leonardo Vielma Pernia SystemC

Simplicidad de manejo.

Costo de Modelado.

Tiempo de Simulación.

Noción de acontecimientos ordenados por tiempo.

SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 9: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Ventajas de SystemC

Cesar Leonardo Vielma Pernia SystemC

Simplicidad de manejo.

Costo de Modelado.

Tiempo de Simulación.

Noción de acontecimientos ordenados por tiempo.

Modelado de hardware y software simultáneamente.

SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 10: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Ventajas de SystemC

Cesar Leonardo Vielma Pernia SystemC

Simplicidad de manejo.

Costo de Modelado.

Tiempo de Simulación.

Noción de acontecimientos ordenados por tiempo.

Modelado de hardware y software simultáneamente.

Altos niveles de abstracción.

SystemC.•Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 11: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Modulos(Modules)

Cesar Leonardo Vielma Pernia SystemC

Los módulos representan la unidad mas elemental del diseño con systemC, son en todo caso , contenedores de datos y procesos.

Para declararlos podemos usar algunas de estas formas

SystemC.Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

struct NombreDelModulo : public sc_module{};

Page 12: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Modulos(Modules)

Cesar Leonardo Vielma Pernia SystemC

Los módulos representan la unidad mas elemental del diseño con systemC, son en todo caso , contenedores de datos y procesos.

Para declararlos podemos usar algunas de estas formas

SystemC.Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

class NombreDelModulo : public sc_module{};

struct NombreDelModulo : public sc_module{};

Page 13: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Modulos(Modules)

Cesar Leonardo Vielma Pernia SystemC

Los módulos representan la unidad mas elemental del diseño con systemC, son en todo caso , contenedores de datos y procesos.

Para declararlos podemos usar algunas de estas formas

SystemC.Ventajas de SystemC.•Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

SC_MODULE (NombreDelModulo);

class NombreDelModulo : public sc_module{};

struct NombreDelModulo : public sc_module{};

Page 14: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

•Son la comunicación entre los módulos y su entorno.

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 15: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

•Son la comunicación entre los módulos y su entorno.

•Transfieren la información necesarios para la ejecución de procesos.

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 16: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

•Son la comunicación entre los módulos y su entorno.

•Transfieren la información necesarios para la ejecución de procesos.

•Cada puerto solo puede transportar un tipo de dato especifico y en una definida dirección (entrada , salida , entrada-salida).

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 17: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

•Son la comunicación entre los módulos y su entorno.

•Transfieren la información necesarios para la ejecución de procesos.

•Cada puerto solo puede transportar un tipo de dato especifico y en una definida dirección (entrada , salida , entrada-salida).

•Es posible conectar puertos de módulos “padre” a puertos de módulos “hijos”(de módulos a sub-módulos) directamente.

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 18: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

Su declaración se realiza de la siguiente manera:

sc_in

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 19: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

Su declaración se realiza de la siguiente manera:

sc_in<TipoDeDato>

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 20: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

Su declaración se realiza de la siguiente manera:

sc_in<TipoDeDato> NombreDelPuerto;

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 21: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Puertos (Ports)

Cesar Leonardo Vielma Pernia SystemC

Su declaración se realiza de la siguiente manera:

sc_in<TipoDeDato> NombreDelPuerto;

sc_out<TipoDeDato> NombreDelPuerto;

sc_inout<TipoDeDato> NombreDelPuerto;

Puerto de Entrada

Puerto de Salida

Puerto de Entrada y Salida

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 22: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Señales (Signals)

Cesar Leonardo Vielma Pernia SystemC

•Transfieren la data entre submódulo-submódulo o entre procesos de un mismo modulo.

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 23: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Señales (Signals)

Cesar Leonardo Vielma Pernia SystemC

•Transfieren la data entre submódulo-submódulo o entre procesos de un mismo modulo.

•Cada señal solo puede transportar un tipo de dato especifico y su dirección doble.

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 24: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Diferencia entre Puertos y Señales

Cesar Leonardo Vielma Pernia SystemC

Ejemplificando a grandes rasgos, digamos que los puertos son el tomacorriente de una habitación, mientras que las señales son los cables que transportaran la corriente.

Estos tomacorrientes tienen la habilidad de poder proporcionar corriente a algún aparato(sub- módulos) dentro de la habitación sin usar ningún cable.(Conexión directa padre-hijo)

No obstante , si quisiéramos conectar dos aparatos (sub- módulos) obligatoriamente deberemos usar un cable (señal).

SystemC.Ventajas de SystemC.Módulos.•Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 25: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Datos

Cesar Leonardo Vielma Pernia SystemC

¿Qué tipos de datos podemos implementar?

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 26: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Datos

Cesar Leonardo Vielma Pernia SystemC

¿Qué tipos de datos podemos implementar?

• Todos los tipos de datos que nos ofrece C++.int , float , double , bool…

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 27: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Datos

Cesar Leonardo Vielma Pernia SystemC

¿Qué tipos de datos podemos implementar?

• Todos los tipos de datos que nos ofrece C++.int , float , double , bool…

• Ademas de los nuevos tipos de datos que nos ofrece la biblioteca systemc.h

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 28: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Datos

Cesar Leonardo Vielma Pernia SystemC

¿Qué tipos de datos podemos implementar?

• Todos los tipos de datos que nos ofrece C++.int , float , double , bool…

• Ademas de los nuevos tipos de datos que nos ofrece la biblioteca systemc.h

Algunos que usaremos mas frecuentemente:sc_intsc_uintsc_logic

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.•Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 29: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Procesos

Cesar Leonardo Vielma Pernia SystemC

Los procesos son el corazón de cada modulo en la programacion en systemC, ya que es en ellos donde los datos son procesados. Sus características básicas son:

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 30: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Procesos

Cesar Leonardo Vielma Pernia SystemC

Los procesos son el corazón de cada modulo en la programacion en systemC, ya que es en ellos donde los datos son procesados. Sus características básicas son:

Describen la funcionalidad del módulo.

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 31: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Procesos

Cesar Leonardo Vielma Pernia SystemC

Los procesos son el corazón de cada modulo en la programacion en systemC, ya que es en ellos donde los datos son procesados. Sus características básicas son:

Describen la funcionalidad del módulo.

No toman argumentos ni retornan nada.

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 32: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Procesos

Cesar Leonardo Vielma Pernia SystemC

Los procesos son el corazón de cada modulo en la programacion en systemC, ya que es en ellos donde los datos son procesados. Sus características básicas son:

Describen la funcionalidad del módulo.

No toman argumentos ni retornan nada.

Pueden hacerse sensibles a ciertos puertos o señales, de forma que cuando los valores de estos cambien, el proceso sea invocado.

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

Page 33: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

SystemC soporta 3 distintos tipos de procesos:

SC_METHOD(nombreDelProceso);

Page 34: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

SC_METHOD:

Son funciones de los módulos que se ejecutan si algún elemento de su lista de sensibilidad cambia su valor y que luego de terminar sus operaciones , regresa a la parte del simulador donde se invoco.

Page 35: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

SystemC soporta 3 distintos tipos de procesos:

SC_METHOD(nombreDelProceso);

SC_THREAD(nombreDelProceso);

Page 36: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

SC_THREAD:

Son funciones de tipo hilo , es decir , tienen una secuencia de ejecución. Su puesta en marcha la realiza el planificador de SysctemC pero al igual que los SC_METHOD se activan o re-activan si algún elemento de su lista de sensibilidad cambia su valor.

Para detener un SC_THREAD momentáneamente se usa la declaración wait(),mientras que para finalizar este proceso se usa la declaración sc_stop().

Page 37: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

SystemC soporta 3 distintos tipos de procesos:

SC_METHOD(nombreDelProceso);

SC_THREAD(nombreDelProceso);

SC_CTHREAD(nombreDelProceso,flancoDeReloj);

Page 38: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Tipos de Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

SC_CTHREAD:

Tienen relativamente las mismas características que un SC_THREAD(), sin embargo , su puesta en marcha viene dada exclusivamente por los flancos(subida o bajada) del reloj.

Page 39: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Complementos de los Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

Lista de sensibilidad:

Es una lista que contiene los eventos , puertos o señales a los cual un SC_THREAD o un SC_METHOD esta sujeto. Su implementación ira justo debajo de la declaración del proceso.

SC_THREAD(nombreDelProceso);sensitive<< event1,event2,…,eventN;

Page 40: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Complementos de los Procesos

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.•Procesos.•Implementación de un Modulo.

Función dont_initialize():

La implementación de esta función permite que en el constructor no sea invocado cada proceso perteneciente al modulo, mayormente usados en los SC_THREADS. Estará ubicado luego de la lista de sensibilidad.

SC_THREAD(nombreDelProceso);sensitive<< event1,event2,…,eventN;dont_initialize();

Page 41: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

Para la implementación de un modulo usando el lenguaje C++ y la biblioteca systemc.h , seguiremos los siguientes 3 pasos:

Diseño y codificación de el modulo

Page 42: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

moduloPrueba

Page 43: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

moduloPrueba

Entradas del Modulo

datoA

Page 44: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

moduloPrueba

Salidas del ModuloEntradas del Modulo

datoA datoB

Page 45: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

moduloPrueba.h#ifndef MODULOPRUEBA_H#define MODULOPRUEBA_H#include <systemc.h>#include <CualquierOtraBibliotecaNecesaria>

class moduloPrueba: public sc_module{public:

sc_in<tipoDeDato> datoA_in;sc_out<tipoDeDato> datoB_out;SC_CTOR(moduloPrueba){

SC_METHOD(prueba);sensitive<<datoA_in;

}private:

void prueba();};#endif

Page 46: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

moduloPrueba.cpp

void moduloPrueba::prueba(){

// implementación de la función }

Page 47: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

Para la implementación de un modulo usando el lenguaje C++ y la biblioteca systemc.h , seguiremos los siguientes 3 pasos:

Diseño y codificación de el modulo

Diseño y codificación de el testBench

Page 48: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

moduloPrueba testBench

datoA_in datoB_out

datoX_in datoY_out

clock_in

Page 49: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

testBench.h#ifndef TESTBENCH_H#define TESTBENCH_H#include <systemc.h>#include <CualquierOtraBibliotecaNecesaria>class testBench: public sc_module{public:

sc_in<bool> clock_in;sc_in<tipoDeDato> datoX_in;sc_out<tipoDeDato> datoY_out;SC_CTOR(moduloPrueba){

SC_THREAD(test);sensitive<<clock_in.pos();

}private:

void test();};#endif

Page 50: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

testBench.cpp

void testBench::test(){

// implementación de la función }

Page 51: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

Para la implementación de un modulo usando el lenguaje C++ y la biblioteca systemc.h , seguiremos los siguientes 3 pasos:

Unificación del modulo y el testBench en un sc_main

Diseño y codificación de el modulo

Diseño y codificación de el testBench

Page 52: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Implementación de un Modulo

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.•Implementación de un Modulo.

moduloPrueba testBench

datoA_in datoB_out

datoX_in datoY_out

clock_in

Main

datoBtoX_sg

datoYtoA_sg

clock

Page 53: Introduccion a SystemC

Arquitectura de Computadores.

Introducción a SystemC.

Bibliografía

Cesar Leonardo Vielma Pernia SystemC

SystemC.Ventajas de SystemC.Módulos.Puertos y señales.Tipos de Datos.Procesos.Implementación de un Modulo.

http://www.systemc.org

http://www.wikipedia.com/systemc

http://www.doulos.com/knowhow/systemc/