La sntesis de alto nivel en sistemas digitales es un proceso en el cual se traduce la descripcin
funcional de un sistema en un nivel de abstraccin alto, a una representacin a nivel de transferencia entre registros.
- En el proceso de diseo de sistemas existen cuatro etapas tpicas que representan el nivel de abstraccin en que se describe el sistema. a) NIVEL DE SISTEMAS: Es el nivel de abstraccin ms alto. En este nivel un sustema esta descrito como un conjunto de procesadores, memorias (estructura macroscpica) junto con la estructura general del sistema asi como el flujo de la informacin. b) NIVEL DE MICROESTRUCTURA O TRANSFERENCIA DE REGISTROS: El sistema a este nivel es visto como un conjunto de unidades funcionales de almacenamiento y de interconexin que determinan la estructura del sistema digital. c) NIVEL LGICO: Es el sistema descrito por compuertas lgicas y flip-flops interconectados. d) NIVEL DE CIRCUITO: Tiene que ver con la electrnica de los dispositivos a nivel de transistores y conexiones.
- Dominios: Para cada etapa de abstraccin existen diversas formas de representacin. a) DOMINIO FUNCIONAL: Se especifica lo que hace el sistema sin pensar en cmo est construido (caja negra). b) DOMINIO ESTRUCTURAL: Se contemplan componentes cuya interconexin presenta una estructura. c) DOMINIO PASIVO: Posicin de los componentes y sus conexiones lgicas.
- Tareas principales del proceso de sntesis: a) COMPILADOR: Traduce la descripcin del diseo a una representacin intermedia la que es ms sencillo manipular en las tareas siguientes. b) PLANIFICADOR: Divide la representacin intermedia a pasos de tiempo o estados generando un modelo de mquina de estados finito. c) MAPEO: Particiona la representacin intermedia con respecto al espacio. Es decir, asigna unidades funcionales a operaciones, unidades de interconexin a variables. d) GENERACIN DE CONTROL: Obtencin del controlador que secuencializa el diseo y controla las unidades funcionales y de almacenamiento en la ruta de datos.
FPGA Definicin: Un FPGA es un dispositivo semiconductor que contiene bloques de lgica cuya interconexin y funcionabilidad se puede programar. La lgica programable puede reproducir desde funciones sencillas como las de las puertas lgicas, hasta sistemas complejos como los de un Chip. FPGA VS ASIC: FPGA ASIC Fcil diseo Dificil disear Poco tiempo desarrollo Alto tiempo desarrollo Reprogramables No reprogramables Limitado tamao diseo Gran tamao de diseo Limitada complejidad de diseo Diseos complejos Bajo rendimiento Alto rendimiento Alto consumo energa Bajo consumo energa Alto coste unitario Bajo coste unitario (grandes volmenes)
Spartan 3E: - Coste muy bajo - Alto rendimiento - Buena solucin para alto volumen - Aplicaciones orientadas al consumidor - Arquitectura: 1) Bloques lgicos configurables (CLBs): Principal recurso para aplicar lgica sncrona as como circuitos combinacionales. Dentro de su CLB hay 4 Slices y cada Slice contiene: i. 2 tablas de consultas (LUT) ii. 2 elementos de almacenamiento Flip-flops o Latches iii. Multiplexor y lgica de acarreo
2) Entradas y salidas de bloques (IOBs): 3 caminos principales i. Entrada path ii. Salida path iii. 3-state path
3) Bloque de RAM 4 a 35 dedicated Block RAMS 4) Bloques multiplicadores: Usados como shifters o para generar magnitudes 5) Asistente de reloj digital (DCM): Nos da capacidades de reloj avanzadas.
SRAM-Based: Los bits SRAM pueden ser reprogramables tanto como queramos. Cada programacin toma hasta cinco transistores, si aumentamos el rea se reduce la velocidad.