Sistemas Embebidos FPGA

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 91

Diseo de Sistemas con FPGA

Patricia Borensztejn Primer Cuatrimestre 2012

Objetivo del curso


Adquirir conocimientos elementales de la arquitectura de las FPGA actuales Aprender a utilizar las herramientas de programacin y realizar dos proyectos sencillos que anden (uno combinacional y otro secuencial) y finalmente un proyecto algo mas interesante a acordar entre todos.

Temario y Planificacin
Introduccin las FPGA (1) Modelado de Sistemas Combinacionales. Verilog. Entorno de desarrollo de xilinx. (5) Modelado de Sistemas Secuenciales. (5) Co-Diseo software hardware con Picoblaze (5) Proyectos (11)

Bibliografa del curso (la que yo uso)


FPGA Prototyping by Verilog Examples. Pong P. Chu. Wiley InterScience. (Verilog e ISE) FPGA-Based System Design. Wayne Wolf (tecnologa) The Design Warriors Guide for FPGAs. Clive Maxfield (arquitecturas) Digital Arithmetic. Ercegovac, y Thomas Lang (algoritmos aritmticos) Synthesis of Arithmetic Circuits. Deschamps, Gioul, and Sutter. (algoritmos y codificacin en VHDL para FPGA) Writing Testbenches: Functional Verification of HDL Models. Janick Bergeron. Kluwer Academic Publishers. Hojas de Datos. (de FPGAs) .. Y todo lo que ustedes encuentren en la web

Hardware y Software
La ctedra cuenta con los siguientes placas de desarrollo:
Spartan-3E Starter Kit (3 unidades, Digilent) donada por XUP (Xilinx University Program) Spartan-3 Starter Board (Digilent) donada por XUP Xilinx Spartan-3A EVALUATION KIT (Avnet) (propio) Virtex-II Pro Development System (Xilinx University Program) (Digilent) Virtex4 FX12 Evaluation Board (Avnet) con Audio/Visual Card (Avnet) (Propiedad del Grupo de Investigacin: Embebidos) Virtex-5 OpenSPARC Evaluation Platform (University Program OpenSparc) NetFPGA con VirtexII Pro 50 FPGA. Donado por empresa proveedora de Internet, interesada en el prototipo.

Hardware y Software
El software que utilizamos es : ISE Webpack 11.1 (xilinx.com) ModelSim PE Student Edition (model.com) Pueden bajarla directamente de xilinx, pues es gratuita, ojo! Bajar el webpack, ya que la herramienta completa (ISE Design Suite) NO es gratuita. (y pesa mucho mas)

Cuestiones Administrativas
Usaremos 27 clases, terico-prcticas. Comenzamos hoy, 28 de marzo y terminamos el 6 de julio. No se puede faltar mas de cinco veces.

Cuestiones Administrativas
Los docentes de la materia somos:
Patricia Borensztejn (Profesora): [email protected] Matias Lpez : [email protected]

La pgina de la materia es: http://www.dc.uba.ar/materias/disfpga/2012/c1 El material de la pgina se ir subiendo de clase en clase, versiones anteriores en: http://www.dc.uba.ar/materias/disfpga/2011/c2

Empecemos.

Introduccin
Sistemas Embebidos Que son los FPGA? En que se diferencian de un microprocesador? Origen de los FPGA: PLDs ASICs FPGA

Donde estamos?

En el mundo de los sistemas embebidos

Sistemas Embebidos
El mundo est lleno de ellos. Se pueden definir como todo sistema que NO es una PC de escritorio , ni un servidor, ni una workstation, ni una supercomputadora, ni un cluster distribuido, en fin, NO es un sistema programable de propsito general.

Sistemas Embebidos
El mercado de los productos embebidos es enormemente mas grande que el mercado de las PCs que lidera Intel, por ejemplo. Jim Turley, asesor de la industria de los embebidos, dice que aproximadamente el 0% de los microprocesadores que se fabrican, se usan en el mercado de las PC de escritorio. El 100% restante, se usan en el mercado de los embebidos. En los ltimos aos, se vendieron alrededor de 500 millones de microprocesadores para el mercado de las PCs y 10 mil millones para el mercado de los embebidos.

Embedded Processors by the numbers, 1999.


http://vault.embedded.com/1999/9905/9905turley.htm

Es este artculo de Jim Turley, asesor de la industria de los embebidos, escrito en el ao 1999, el deca:
About zero percent of the world's microprocessors are used in computers. Yup. Every PC, Macintosh, engineering workstation, Cray supercomputer, and all the other general-purpose computers put together account for less than 1% of all the microprocessors sold every year. If you round off the fractions, embedded systems consume 100% of the worldwide production of microprocessors.

Jim Turley
En1999 se vendieron para el mercado de embebidos:
250 millones de microprocesadores de 32 bits 1000 millones de microprocesadores de 16 bits 1000 millones de microprocesadores de 8 bits 1000 millones de microprocesadores de 4 bits

Contra 100 millones para el mercado de computadoras (PCs, MACs, workstations y supercomputadoras)

Hoy, 10 aos despus, se vendieron 10 mil millones de procesadores para el mercado de los embebidos!

Sistemas Embebidos
Son sistemas de hardware y software, de propsito especfico embebidos en algn producto del mercado. Por ejemplo: Embebidos de la industria automotriz : navegador GPS, de la aviacin: control de aterrizaje automtico Embebidos de la industria de las telecomunicaciones: routers, modems Embebidos de la industria de las comunicaciones: telfonos celulares, palms, e-books Embebidos de la industria del hogar: control de heladeras, microondas, robots Etc, pero muchos etcteras.

El mundo de los embebidos


Aplicaciones especficas Optimizadas en consumo y rea. Se trabaja en hardware y en software Se programa en C , ensamblador y/o HDL Costossima la parte de verificacin y testing!!!

El mundo de los embebidos


Mucha variedad en las implementaciones Si un ingeniero necesita desarrollar un producto nuevo, puede elegir entre diversas alternativas:
Procesadores de propsito general, adaptados para placas embebidas DSP (procesadores especficos para procesamiento de seales) Microcontroladores ASICs FPGAs

El mundo de los embebidos

es muy codiciado.

2010: Intel introduce una FPGA en el Atom Processor

Y que es el procesador Atom de Intel?


Es el procesador que est ejecutando este cdigo en mi porttil... Es el procesador mas pequeo de Intel, fabricado con tecnologa de 45 nm (nm=mil millonsima parte del metro) y prximamente de 32nm. Pensados para una amplia gama de dispositivos: netbooks, PC bsicas, tablets, laptops, smartphones, dispositivos electrnicos de consumo y otros dispositivos complementarios. Caractersticas del procesador: Arquitectura de ahorro de consumo de energa, optimizada para su uso en los productos embebidos

Y que es una FPGA?


Es lgica programable organizada de alguna manera dentro de un chip. Se usa para:
En los 80, cuando recin arrancaban, para implementar lgica para unir (glue logic), lgica para interfacear componentes mas grandes (porque sus antepasados son los PLDs) En los 90, telecomunicaciones y redes 2000 todo tipo de aplicaciones del mercado de los embebidos 2010 para hacer llegar fibra ptica a cada hogar? 2020 todo tipo de aplicaciones, hoy no muy imaginables alguna idea?

Recordemos que ...


Intel es lder en el mercado de procesadores para la industria de las PC bsicas. pero no en el mercado de los embebidos (donde reina ARM, especialmente en el mercado de los dispositivos mviles) Hoy, el mercado de los productos embebidos alcanza los 10 billones (miles de millones) de unidades vendidas incluyendo microcontroladores, procesadores, DSP, FPGA, ASICs.

Porque reina ARM en el mercado de los dispositivos mviles?


El secreto de su xito:
ARM no fabrica micros, solo los disea y luego los licencia a fabricantes de electrnica que los integran en sus chips La clave es que los microchips que finalmente salen al mercado son algo mas que microprocesadores; por ejemplo, un fabricante de telfonos mviles fabricar procesadores que adems del ncleo ARM contendrn el transmisor 3G y el controlador de pantalla y teclado; de esta forma reducimos el nmero de chips necesarios para montar el telfono, con la consiguiente reduccin de coste, tamao y consumo.

Procesador para router ADSL basado en ARM

Idea de Intel para entrar en el mercado de las cosas pequeas


Intel no licencia sus procesadores, por lo tanto si queremos hacer un telfono mvil basado en Intel, tendramos que montar un conjunto extra de chipsy eso trae problemas y deja a Intel fuera del mercado de las cosas pequeas Solucin de Intel para entrar en ese mercado: hacer configurables a sus procesadores poner una FPGA. La FPGA es un chip que puede convertirse en una tarjeta grfica, un sintonizador wifi, un controlador de puertos, Dicho con otras palabras, una FPGA proporciona a los fabricantes una capacidad para personalizar el chip similar a la que proporciona ARM.

El mercado de los embebidos


Es un muy buen mercado. no les parece? A Intel le pareci una muy buena idea irrumpir en ese mercado adosando al costado de su micro procesador un producto, la FPGA, claramente usable en el mercado de los embebidos para hacer aplicaciones ad-hoc. Y que tal si nosotros tambin nos introducimos en el mundo de los embebidos?

Que son los FPGA? Fiel Programmable Gate Array


Arreglos de Puertas Programables en el Campo : (nunca mas lo traduzco)
Circuitos Integrados que contienen bloques configurables de lgica junto con conexiones configurables entre esos bloques. Para que se configuran? Para realizar distintas tareas. Algunas FPGA permiten ser programados una sola vez(OTP one time programmable), o bien una y otra y otra vez Los FPGA se programan in the field, o sea, no los programa el fabricante, sino que lo puede programar el desarrollador en su campo, o sea, en su laboratorio. Si un dispositivo puede ser programado mientras est residente, o embebido en un sistema mayor, se dice que es ISP (In System Programmable) Porqu Gate Array? Es el nombre de un tipo de tecnologa de fabricacin de los ASIC (Application Specific Integrated Circuit)

Programmable interconnect Programmable logic blocks

FPGA ISP

ASIC OTP

Microprocesadores, FPGA, ASICs


Microprocesadores Las funciones se realizan en software No son custom parts por lo tanto no son tan buenos como un chip dedicado (ASIC) FPGA Las funciones se realizan en hardware. No son custom parts. Son mas lentos que los ASICs, consumen mas energa. ASIC (Application Specific IC) Diseado para implementar una funcin lgica particular. Son hechos a medida. Son ms rpidos que los FPGA y manufacturados en gran escala son mas baratos. Consumen menos.

Microprocesadores y FPGA
Ninguno de los dos son circuitos dedicados. (no full custom) No estn diseados para una funcin especfica, sino que el usuario los programa. Los microprocesadores implementan funciones por software. Los FPGA lo hacen por hardware. (pero un procesador es, desde el punto de vista del diseador de procesadores (Intel, por ejemplo), un full custom ASIC!!)

Microprocesadores y FPGA
bits de configuracin instrucciones bits de configuracin

lgica

lgica

CPU
memoria

bits de configuracin

bits de configuracin

Programacin CPU:

lgica

lgica

Las instrucciones se obtienen de la memoria Las instrucciones seleccionan operaciones complejas

Configuracin FPGA: Bits permanecen en el dispositivo que programan Un bit de configuracin controla un switch o un bit de lgica

Tecnologas de Programacin

Field Programmable Gate Array


Lo que caracteriza o distingue a un FPGA de un ASIC es un aspecto crucial que justamente reside en su nombre:
Field Programmable Gate Array

Para poder programarlos necesitamos algn mecanismo que nos permita programar o configurar un chip de silicio preconstruido. Vamos a ver entonces las tecnologas de fabricacin que nos van a permitir programar (configurar) estos dispositivos.

Tecnologas de Programacin
Logic 1 Potential links a Pull-up resistors

NOT b

&
AND

y = 1 (N/A)

NOT

En la ausencia de links, todas las entradas a la puerta AND estan conectadas al valor lgico 1. Los pull-up resistors mantienen dbilmente el valor lgico 1. Para realizar una funcin hay que buscar un mecanismo que permita establecer uno o mas links.

Tecnologas de Programacin: (1) Fusible Link


Fuses Fat a Faf NOT b Fbf NOT Pull-up resistors Logic 1

Fbt

&
AND

y = 0 (N/A)

El dispositivo se fabrica con todos los enlaces en su lugar. Un enlace es un fusible. O sea que, en su forma no programada, la funcin valdr siempre 0 . Para remover los fusibles se aplican pulsos de un voltaje alto a las entradas.

Tecnologas de Programacin: (1) Fusible Link


Logic 1 Fat a Pull-up resistors

NOT b Fbf NOT

&
AND

y = a & !b

Removiendo los fusibles sealados, la funcin implementada es y=a & !b Este proceso de remover los fusibles se llama programacin (tambin se llama blowing o burning) Los dispositivos son OTP, porque el fusible no puede recuperarse despus de haberse quemado.

Tecnologas de Programacin: (2) Antifuse


Unprogrammed antifuses a Logic 1

Pull-up resistors

NOT b

&
AND

y = 1 (N/A)

NOT

En su estado no programado, el antifusible tiene una resistencia tan grande que puede considerarse un circuito abierto. Cuando se programa, (se dice que ha sido crecido (grown)) , aplicando pulsos de alto voltaje y corriente a las entradas del dispositivo.

Tecnologas de Programacin: (2) Antifuse


Programmed antifuses a Logic 1

Pull-up resistors

NOT b

&
AND

y = !a & b

NOT

Haciendo crecer los antifusibles sealados, la funcin programada es: !a & b

Tecnologas de Programacin: (3) ROM


Logic 1 Mask-programmed connection Row (word) line Pull-up resistor

Transistor Logic 0

Column (data) line

Celda de una memoria ROM

Consiste de array de filas (row) y columnas Cada columna tiene un nico pull-up que intenta mantener a 1 esa columna Cada interseccin fila/columna tiene un transistor y una conexin potencial La ROM se preconstruye y la misma arquitectura puede usarse para mltiples clientes.

Tecnologas de Programacin: (3) Mediante Mscara (ROM)


Logic 1 Mask-programmed connection Row (word) line Pull-up resistor

Transistor Logic 0

Column (data) line

Se pre-construyen y, para adaptarlas a los requerimientos del cliente se utiliza una mscara fotogrfica para definir cuales celdas tendrn o no una conexin programada. Si la lnea de fila se activa, el transistor se activa y :
Si hay conexin, en la columna aparece el valor lgico 0 Si no hay conexin, en la columna sigue el valor 1del pullup.

Celda de una memoria ROM

Tecnologas de Programacin: (4) PROM


Problema de los dispositivos Logic 1 programados con mscara: son caros! Se hacen en la Fusible link Pull-up resistor fbrica y solo salen a cuenta Row si son muchisimos (word) line Programmable ROM (1970) estn basados en la tecnologa de fusible link. En su estado no programado, tal como se Column Transistor compra, todos los enlaces (data) line Logic 0 estn presentes. O sea, si la lnea se activa, la columna conduce 0. Celda de una memoria PROM La programacin al remover los enlaces, hace que la celda almacene un 1.

Tecnologas de Programacin: (5) EPROM


Source terminal Control gate terminal Drain terminal Source terminal Control gate terminal Drain terminal

control gate control gate source drain

Silicon dioxide Silicon substrate


source

floating gate drain

(a) Standard MOS transistor

(b) EPROM transistor

Problema con las tecnologas basadas en fusible links y mscaras son OTP. Erasable Programmable EPROM (1971) : los transistores tienen una puerta adicional de polisilicio : puerta flotante En su estado no programado, la puerta flotante no est cargada y no afecta el normal funcionamiento del transistor. Al programar el transistor, se carga la puerta flotante, inhibiendo la normal operacin del transistor, y distinguiendo aquellas celdas que han sido programadas, de las que no lo han sido.

Tecnologas de Programacin: (5) EPROM


Logic 1 Pull-up resistor Row (word) line

EPROM Transistor Logic 0

Column (data) line

Para borrar la EPROM hay que quitarla del circuito. Problemas: mucho tiempo para ser borradas (20). Cuanta mas integracin, se necesita mas radiacin mas tiempo de exposicin.

En este caso, no es necesario el fusible. En su estado no programado, tal como se compra, todas las puertas flotantes estn descargadas. O sea, si la lnea se activa, se activa el transistor y la columna conduce 0. La programacin, al cargar la puerta flotante, inhibe la operacin del transistor, por lo tanto la columna conduce 1. Para descargar esa puerta, se utiliza radiacin ultravioleta.

Tecnologas de Programacin: (6) EEPROM y FLASH


Normal MOS transistor E2PROM transistor

Electrically Erasable Programmable ROM Necesita dos transistores, el normal se utiliza para el borrado. Son 2,5 veces mas grandes que los EPROM.

E2PROM Cell

FLASH: borran mas rpido que EPROM. Usan diversas arquitecturas, pero todas permiten ser borradas elctricamente. Estas arquitecturas con similares de las EEPROM.

Tecnologas de Programacin: (7) SRAM


Es un multitransistor formado por 4 a 6 transistores configurados como un latch. Dos de los seis transistores controlan el acceso al latch. Cuando la celda no se direcciona, los dos transistores de control estn cerrados y los datos se mantienen dentro del latch. Consumen mucha rea Pierden la informacin cuando dejan de ser alimentados. Pueden ser reprogramados rpidamente y repetidamente. Para escribir un 1, se pone B=1;B/=0 y se activa WordLine

SRAM

Tecnologas de Programacin: (8) .

La tecnologa avanza proximamente. MRAM. (magnetic RAM) quien sabe

Tecnologas de Programacin
Technology Fusible-link Antifuse EPROM E2PROM/ FLASH SRAM
SRAM

Symbol

Predominantly associated with ... SPLDs FPGAs SPLDs and CPLDs SPLDs and CPLDs (some FPGAs) FPGAs (some CPLDs)

Tecnologas de Programacin
Feature
Technology node Reprogrammable Reprogramming speed (inc. erasing) Volatile (must be programmed on power-up) Requires external configuration file Good for prototyping Instant-on IP Security Size of configuration cell Power consumption Rad Hard

SRAM
State-of-the-art Yes (in system) Fast

Antifuse
One or more generations behind No

E2PROM / FLASH
One or more generations behind Yes (in-system or offline) 3x slower than SRAM No (but can be if required) No Yes (reasonable) Yes Very Good Medium-small (two transistors) Medium Not really

----

Yes

No

Yes Yes (very good) No Acceptable


(especially when using bitstream encryption)

No No Yes Very Good Very small Low Yes

Large (six transistors) Medium No

Origen de los FPGA PLDs


Programmable Logic Device
Dispositivos cuya arquitectura interna est predeterminada por el fabricante, pero pueden ser configurados por los ingenieros en el campo para realizar una variedad de funciones. Pocas puertas lgicas funciones simples

PLDs

SPLDs

CPLDs

PROMs

PLAs

PALs

GALs

etc.

PROMs (1970)
a b c Predefined link Programmable link
& & & & & & & &

Address 0 Address 1 Address 2 Address 3 Address 4 Address 5 Address 6 Address 7 a !a b !b c !c

!a & !b & !c !a & !b & c !a & b & !c !a & b & c a & !b & !c a & !b & c a & b & !c a & b & c
l l l

La programacin se puede realizar con cualquiera de las tecnologas vistas (fusibles, EPROM, EEPROM). Solo es configurable la matriz OR. tiles para ecuaciones con pocas entradas y muchos trminos producto.

Predefined AND array

Programmable OR array

Implementacin de una funcin lgica combinacional


a b a b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 w 0 0 0 0 0 0 1 1 x 1 1 1 1 1 1 0 0 y 0 1 0 1 0 1 1 0

&

w x

0 0 0 0 1 1 1 1

Implementacin con PROM


a b c Predefined link Programmable link
& & & & & & & &

Address 0 Address 1 Address 2 Address 3 Address 4 Address 5 Address 6 Address 7 a !a b !b c !c

!a & !b & !c !a & !b & c !a & b & !c !a & b & c a & !b & !c a & !b & c a & b & !c a & b & c
l l l

Predefined AND array w = (a & b) x = !(a & b) y = (a & b) ^ c

Programmable OR array

PLA (Programmable Logic Array)


a b c Predefined link Programmable link

& &

N/A N/A
l l l

a !a b !b c !c Predefined AND array

Disponible a partir de 1975, se pueden programar los dos arrays. Se hicieron algunas variantes: arrays AND con arrays NOR. No mucho xito en el mercado Son tiles cuando diversas funciones usan o comparten trminos producto. Son mas lentas que las PROMS

Programmable OR array

&

N/A

Implementacin con PLA


a b c Predefined link Programmable link

& &

a & c !b & !c
l l l

a !a b !b c !c Predefined AND array w = (a & c) | (!b & !c) x = (a & b & c) | (!b & !c) y = (a & b & c)

Programmable OR array

&

a & b & c

PAL (Programmable Array Logic)


a b c Predefined link Programmable link
& & & & & &

Predefined OR array
l l l

Al revs de las PROM, la parte programable es la matriz AND Las GAL (Generic Array Logic) son variaciones de las PAL, mas sofisticados (EE) Todos estos dispositivos, aparecen en el mercado con una variedad de opciones: inversin de las salidas, salidas triestado, salidas registradas, etc. Adems de tener un nmero mas grande de entradas y salidas.

a !a b !b c !c

Programmable AND array

CPLDs (vamos llegando)

Programmable Interconnect matrix

Input/output pins SPLD-like blocks

A finales de los 70, los inventores de la PAL, introducen el Mega-Pal, dispositivo con 4 Standard Pals interconectadas de alguna manera. No funcion. Consuma mucho. 1984: Altera (nueva empresa) introduce el CPLD basado en tecnologa CMOS y EPROM.

Las conexiones entre los bloques se programan mediante la matriz de interconexin.

Proceso de Diseo
Como se diseaba un circuito usando PLDs?
Se realizaba un esquemtico o bien un diagrama de estados, todo en papel porque no existan las herramientas que hoy conocemos. El esquemtico se converta del papel a una tabla (con un formato especial, requerido por el dispositivo programador). Esta tabla indicaba que conexiones se deban programar. La tabla se tipeaba en un computadora y se bajaba luego al dispositivo programador. Cada vendedor de PLDs, obviamente, haba desarrollado su propio formato para el archivo, que solo serva para sus dispositivos.

Unprogrammed device Programmed device

(a) Host computer

(b) Device programmer

Ensambladores y Herramientas de Diseo


1980: JEDEC (Joint Electron Device Engineering Council) propone un formato standard para los archivos de configuracion de los PLDs. John Birkner, creador de las PAL, crea PALASM el primer ensamblador para PAL. Es un primitivo HDL (Hardware Description Languaje) y adems una aplicacin software. Es usado para trasladar expresiones booleanas y grafos de estados a una tabla para PAL. PALASM solo es para PALs fabricadas por MMI (Monolithic Memories Inc). No realiza minimizaciones o optimaciones. 1983: ABEL (Advanced Boolean Expression Languaje ) y CUPL (Common Universal tool for Programmable Logic). Ambas herramientas trabajan con diversos tipos de PLDs y de fabricantes. Estas herramientas y HDL son las precursoras de VHDL y Verilog, lenguajes HDL de alto nivel y herramientas que son usadas hoy para los ASICs y FPGA.

PALASM

PALASM
opcional
TITLE Example PATTERN Simple REVISION A AUTHOR ECEN 220 COMPANY BYU DATE March 1, 1995 CHIP Example PAL2OL8 ;PINS ; 1 2 3 4 5 6 7 8 B A C D NC NC NC NC

obligado

9 10 11 12 NC NC NC GND

; 13 14 15 16 17 18 19 20 21 22 23 24 NC NC NC NC NC NC NC NC Z /X NC VCC

Equaciones booleanas Trace define que seales mostrar el simulador. SETF define el valor de las variables en cada simulacin.

EQUATIONS X=/A*B + A*B + A*/B + /A*/B*C Z=/A*B + A*B + A*/B + /A*/B*C SIMULATION TRACE-ON A B C /X Z SETF /A /B /C SETF /A /B C SETF /A B /C SETF /A B C SETF A /B /C SETF A /B C SETF A B /C SETF A B C TRACE-OFF

PAL20L8
Entradas (20) : 1..11; 13-14; 16..23 Salidas (8): 15..22 Algunas salidas (16..22) son triestado. Es decir, pueden ser configuradas tanto como entradas como salidas. Todas las salidas son negadas. Pin 12 es ground, Pin 24 es Vcc.

Esquema de la PAL

24-Pin Small PAL Family

PAL 20 L 8

PALASM: archivo .xpt


Despus de creado el archivo extensin .pds se ensambla. El ensambaldor genera dos archivos: .xpt: contiene el fuse map .trf es el archivo para simulacin x se usa para denotar un contacto quemado. Columnas 0,1,2,3,4 5 corresponden a las entradas y sus complementarios. Filas 0,1,2,3 corresponden a la funcin \x (sus tminos producto y su habilitacin) Filas 8 y 9 corresponden a la funcin Z. Sus trminos producto y su habilitacin. Fijense que cada OR puede admitir hasta 7 trminos producto (pues uno de ellos se reserva para la habilitacin)

PALASM: archivo .xpt


Interpretacin de los trminos producto.
La funcin X=/A*B + A*B + A*/B + /A*/B*C Simplificada es : /X=A + B + C Comprobarlo!!!!! (Pista: Usar Mapas de Karnaugh o bien deducirlo de la Tabla de Verdad). La funcin Z=/A*B + A*B + A*/B + /A*/B*C Es idntica a la anterior, salvo en el valor de la variable dependiente Z, que ahora la usamos sin negar. Pero, las salidas son negadas en el dispositivo. As que el ensamblador tiene que complementar la expresin

Z=A + B + C /Z= ??????? (aqu se aplica Morgan)

PALASM: archivo .trf (simulacin)

ASIC
Application Specific IC
Diseado para una funcin especfica. Contienen cientos de millones de puertas lgicas y pueden ser usados para crear funciones complejas. El proceso de diseo y construccin de un ASIC es largo y caro, y finaliza en su realizacin en silicio. No puede ser usado ni testeado antes de su fabricacin.

Fabricacin de un IC
Los transistores y sus conexiones se construyen mediante muchas capas (typical 10 to 15 in CMOS) puestas unas sobre las otra Cada capa tiene una forma especial definida por una mscara. Algunas de las capas o niveles forman transistores, otras los planos de conexin. Un aspecto importante de un IC es el tamao del mas pequeo transistor que puede ser fabricado: Este es medido en micrones (mm, 10-6 meter) Por ejemplo, decimos que un IC est construido con un proceso de 0.50 mm Tal cual como profetiz Moore, el proceso contina mejorando, o sea haciendose mas pequeo. En este momento, el proceso de miniaturizacin es menor que 0.1 mm (deep sub-micron)

ASICs
ASICs

Gate Arrays

Structured ASICs

Standard Cell

Full Custom

Increasing complexity

ASIC: Es un chip (circuito integrado, IC) diseado para una determinada aplicacin y para una determinada compaa. Full custom: hecho enteramente por encargo (a medida): desde componentes pequeos, a microprocesadores diseados y fabricados para una compaa especfica.

Gate Array
Gate Array: (1975) basado en la idea de celdas bsicas formadas por transistores y resistencias sin conexin. Cada fabricante de ASIC determina que incluir en una celda bsica, y construye chips presiliconados formados por arrays de celdas. (sea of cells). Los fabricantes definen una librera funciones lgicas (puertas primitivas, multiplexores, y registros) que son los que usan los ingenieros de la aplicacin. Los ingenieros disean hasta llegar a nivel de netlist. Luego se hace el mapeo, ubicacin y routing con las herramientas provistas por el fabricante. El resultado de este proceso son las mscaras con las cuales se crean los niveles de metalizacin que unirn las celdas bsicas entre s, as como los componentes dentro de las celdas bsicas.

(a) Pure CMOS basic cell (b) BiCMOS basic cell

I/O cells/pads Channels Basic cells

(a) Single-column arrays (b) Dual-column arrays

Schematic. Gate Level. Netlist.


SET_A SET_B G1 = NAND DATA CLOCK G2 = NOT G4 = DFF CLEAR_A CLEAR_B G3 = OR CLEAR N_DATA Q N-Q SET

Gate Level: el diseo se representa como una coleccin de puertas lgicas y funciones y conexiones entre ellas. Netlist: para poder usar el simulador, el diseo debe describirse de forma textual (archivos de texto)

BEGIN CIRCUIT=TEST INPUT SET_A, SET-B, DATA, CLOCK, CLEAR_A, CLEAR_B; OUTPUT Q, N_Q; WIRE SET, N_DATA, CLEAR; GATE GATE GATE GATE G1=NAND G2=NOT G3=OR G4=DFF (IN1=SET_A, IN2=SET_B, OUT1=SET); (IN1=DATA, OUT1=N_DATA); (IN1=CLEAR_A, IN2=CLEAR_B, OUT1=CLEAR); (IN1=SET, IN2=N_DATA, IN3=CLOCK, IN4=CLEAR, OUT1=Q, OUT2=N_Q);

END CIRCUIT=TEST;

Structured ASIC

(2002) Cada vendedor tiene su arquitectura. Cada dispositivo est formado por elemento bsico llamado mdulo (tiles) que contiene una mezcla de lgica prefabricada (multiplexores, puertas, lookup table) junto con uno o mas registros y posiblemente algo de RAM Un array (sea) de estos elementos se prefabrica sobre la superficie del chip. Adems, en los bordes de este mar de tiles (tejas, baldosas, ladrillo) hay bloques de RAM, generadores de reloj, etc. Cada dispositivo se particulariza mediante niveles de metalizacin, aunque muchos de estos niveles ya estn tambin predefinidos. Solo 2 o 3 niveles se deben aplicar. Reduccin de costos. Consumen mas que un standard cell. Tambien ocupan mas. (dos o tres veces mas).

Structured ASIC tiles


LUT

LUT

(a) Gate, mux, and flop-based

(b) LUT and flop-based

Prefabricated I/O, cores, etc. Embedded RAM Sea-of-tiles

Generic structured ASIC

Standard Cell
Como en el caso de Gate Arrays, el fabricante define un conjunto de bloques bsicos (multiplexores, registros, puertas, etc) que ofrece al ingeniero en forma de libreras. Tambin ofrece libreras que pueden incluir microprocesadores, elementos de comunicacin, funciones de ROM y RAM. Adems hay IP que los ingenieros pueden reusar. IP: Intellectual Property: bloques funcionales creados por algun otro. Se compran. Los ingenieros, con todos esos elementos hacen el diseo hasta llegar a nivel de netlist, que describe las puertas lgicas que usarn y sus conexiones. Las herramientas de diseo son, incluso hoy, muy sofisticadas) La diferencia con las Gate Arrays es que no hay nada prefabricado. Cada funcin se crea con el mnimo nmero de transistores necesarios, sin componentes redundantes. Mas eficiente uso del silicio que Gate Arrays.

Circuitos Dedicados (full custom)


Los ingenieros tienen el control completo sobre cada una de las mscaras usadas para fabricar el chip. El vendedor del ASIC no prefabrica ningn componente en el silicio y no provee ninguna librera ni puertas predefinidas. Por medio de las herramientas apropiadas, los ingenieros pueden modelar a mano las dimensiones de los transistores y pueden crear sus propias funciones basados en estos transistores. Incluso, las propias herramientas con las que ellos hacen estas cosas son diseadas por ellos. El proceso es altamente complejo, y consume mucho tiempo, pero el chip resultante contiene la mxima cantidad de lgica con el mnimo desperdicio de silicio.

FPGA

Hacia 1980, es evidente que hay un GAP entre el mundo de los IC. Por un lado, los dispositivos programables, muy sencillos pero muy configurables. Por el otro, los ASICs, soportando funciones complejas, pero muy caros, y muy costosos en tiempo de disear. Adems, una vez el diseo estaba hecho, quedaba congelado en el silicio. Para salvar ese GAP, Xilinx lanza al mercado en 1984, una nueva clase de IC: FPGA.

PLDs

ASICs

SPLDs CPLDs

The GAP

Gate Arrays Structured ASICs* Standard Cell Full Custom


*Not available circa early 1980s

FPGA
Basados en el concepto de bloque lgico programable, que contiene una LUT, un registro y un multiplexor. Cada FPGA contendr un nmero grande de estos bloques. Utilizando SRAM todos los bloques se pueden programar para que realicen una funcin diferente.

a b c

3-input LUT

y mux flip-flop q

d clock

FPGA
Required function a b c & | y = (a & b) | !c y Truth table a b c 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 y 1 0 1 1 1 0 1 1 Programmed LUT
SRAM cells

1 0 1 1 1 0 1 1

000 001 010 011 100 101 110 111

8:1 Multiplexer

abc

Un FPGA est compuesto por un gran nmero de bloques lgicos islas rodeados por un mar de interconexiones programables. Adems, suele haber interconexiones globales de alta velocidad que atraviesan todo el chip. Y, entradas/salidas. Los FPGA son el puente entre los ASICs y los PLDs porque son altamente configurables, y, pueden ser utilizados para implementar funciones complejas. Pueden ser utilizados en diseos hbridos, junto con ASIcs. Los FPGA son arquitecturas de grano medio porque utilizan bloques lgicos, a diferencia de los ASIC que son grano fino porque se programan a nivel de transistor

Programmable interconnect Programmable logic blocks

To other chips on the board

To other chips on the board To other chips on the board

ASIC FPGA

To other chips on the board

Anexos
Rendimiento y Consumo en microprocesadores y ASICs Moore High End Reconfigurable Computing

Consumo y Rendimiento Comparacin entre procesadores y ASICs


Efficient Embedded Computing .Artculo de Stanford University, est en la pgina. Computer. Julio 2008 Algunos nmeros interesantes de rendimiento:
Dispositivos electrnicos (telfonos celulares, cmaras de video y televisin digital) realizan ms operaciones que la ms rpida computadora, y con mucho menor consumo que una computadora personal. Ejemplo: 3G mobile phone receiver requiere 35 a 40 GOPS (Giga( mil millones) Operaciones por segundo) de rendimiento para soportar un canal de 14.4 Mbps (para un canal de 100Mbps (OFDM) requeririan entre 210 y 290 GOPS. En contraste, el rendimiento de pico de una computadora tpica es de algunos GOPS, pero mantiene menos de un GOPs en la mayora de las aplicaciones.

Consumo y rendimiento
Consumo:
Eficiencia requerida para un embebido: 25pJ/op (para el receptor 3G)
Un ASIC , diseado cuidadosamente, puede conseguir una eficiencia de 5pJ/op en la tecnologa CMOS de 90-nm. Un procesador embebido muy eficiente o un DSP requieren 250pJ/op Un laptop requiere 20nJ/op (4000 veces la de un ASIC) Conclusin: las eficiencias de los procesadores programables son inadecuadas para las aplicaciones embebidas, obligando a los ingenieros a usar hardware. (caro, muy caro!!! En dinero y en tiempo de desarrollo )

Ley de Moore
Moore di un discurso en el ao 1965, donde predijo que en el ao 1970 (cinco aos mas adelante) el costo por componente sera la dcima parte del actual costo. Y adems predijo que esa tendencia se mantendra por 10 aos.

40 aos de Ley de Moore


Una de las maneras en que se enunci la ley de Moore fu : El nmero de transistores en un circuito integrado se podr duplicar cada dos aos Este cuadro muestra el crecimiento exponencial de la integracin de transistores en un chip.

Es interesante tambin extrapolar hacia atrs podemos ver como la


tecnologa hace que el poder de cmputo crezca exponencialmente con el tiempo.
En rigor, el autor de este cuadro (The Law of Accelerating Returns by Ray Kurzweil) dice que lo que no nos damos cuenta es que hay un doble crecimiento exponencial, de lo contrario no estaramos obteniendo una curva sino una lnea recta en el cuadro de la derecha). Estn representadas 49 mquinas. Desde las primeras calculadoras electromecnicas que calcularon el censo de EEUU entre 1890 y 1899, la mquina de Robinson que craque el cdigo secreto de los nazis en 1940, la mquina CBS de tubos de vacio que predijo la eleccin de Eisenhower, las computadoras que se usaron en los primeros lanzamientos al espacio. Y. Aquellas en las que escribimos y mostramos esta transparencia.

Sin embargo
Miremos este cuadro. Muestra que si tomamos como medida la densidad computacional que relaciona el nmero de operaciones por segundo, la frecuencia de operacin y el rea ocupada, vemos que sta ha ido descendiendo con los aos Esto muestra que los microprocesadores no estn siendo capaces de traducir en un aumento equivalente en el rendimiento (MOPS) al aumentar la frecuencia y el rea ocupada. Sin embargo, en el mismo perodo de tiempo, los FPGA, han sobrepasado la Ley de Moore.

Referencia: BEE2: A High-End Reconfigurable Computing System. Chen Chang, John Wawrzynek, and Robert W. Brodersen. University of California, Berkeley. IEEE Design & Test of Computers, MarchApril 2005.

el rendimiento de un solo procesador no aumenta acorde a la tecnologa

Como aumentar el rendimiento? (Como hacer que la Ley de Moore contine?)


Si un solo procesador ya no puede ser capaz de obtener un aumento exponencial del rendimiento conforme la tecnologa avanza, entonces el aumento del rendimiento debe provenir de multiplicar los ncleos de procesador (arquitecturas multicore) dentro del chip. Es el camino que siguen en este momento IBM (PowerPc), Sun e Intel. Esto quiere decir que toda la computacin se vuelve paralela!

High Performance Computing


En el mundo de las Supercomputadoras, rendimientos entre los 100Gflops y 10Teraflops se obtienen en base a sistemas construidos como una coleccin de procesadores del mercado (componentes off-the-shelf). Como se producen tan pocos sistemas de este tipo, no se justifica utilizar procesadores dedicados al cmputo de alto rendimiento (Todas las veces que se intent, la empresa quebr. )

High End Reconfigurable Computing


Son sistemas de super cmputo basados en FPGAs.

RAMP Blue: contiene (http://ramp.eecs.berkeley.edu/index. php?index)


21 sistemas llamados BEE2. Cada uno de los sistemas BEE2 contiene 48 cores de Microblaze (core de procesador implementado en una FPGA) O sea, en total el sistema tiene 1008 procesadores

Referencias
BEE2: A High-End Reconfigurable Computing System Chen Chang, John Wawrzynek, and Robert W. Brodersen. University of California, Berkeley IEEE Design & Test of Computers, 0740-7475/05/$20.00 2005 IEEE The Law of Accelerating Returns by Ray Kurzweil The Landscape of Parallel Computing Research: A View from Berkeley. David Paterson et al.

http://www.embedded.com/1999/9905/9 905turley.htm. Embedded processors by the numbers. Jim Turley

También podría gustarte