Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I. INTRODUCCION
Microcontroladores y FPGA 2
A. FPGA
Una matriz de rutado, encargada de conectar los CLBs entre
Programar un procesador de propósito general. La tarea del
ellos, y a su vez éstos con las celdas de entrada y salida.
programador es definir la función lógica que realizará cada
Celdas de entrada y salida (IOB): su misión es comunicar la
uno de los bloques lógicos de la FPGA e interconectarlos. Para
lógica interna de la FPGA con el exterior.
ello debe utilizar alguno de los entornos de desarrollo
especializados en el diseño de sistemas sobre FPGA. Si se
trata de un diseño sencillo puede hacerse con un esquemático,
No sólo los bloques de lógica son configurables, sino que
si no, habrá que utilizar un lenguaje de programación especial
tanto la matriz de rutado como las celdas de entrada y salida
HDL (Hardware Description Language) como VHDL o
son programables, otorgándole a las FPGAs de una gran
Verilog.
flexibilidad a la hora de ajustarse a las especificaciones de
cada diseño. (generatecnologias, 2014)
Además, en los últimos años han aparecido lenguajes para
diseñar sistemas en FPGA de un nivel mucho más alto, por lo
B. Microcontroladores que un diseñador poco experimentado tendrá mucho más fácil
su trabajo. Con lenguajes como SystemC o HandelC, pasar de
Aunque inicialmente todos los microcontroladores adoptaron la implementación software en C de una aplicación a su diseño
la arquitectura clásica de von Neumann, en el momento sobre una FPGA es mucho más rápido y sencillo.
presente se impone la arquitectura Harvard. B. Microcontroladores
La arquitectura de von Neumann se caracteriza por disponer
La idea principal era de expresar las formas lógicas por medio
de una sola memoria principal donde se almacenan datos e
de las funciones algebraicas. Tal idea pronto se transformó en
instrucciones de forma indistinta. A dicha memoria se accede a
un producto práctico que se convirtió más tarde en lo que hoy
través de un sistema de buses único (direcciones, datos y
en día conocemos como circuitos lógicos Y (AND), O (OR) o
control) mientras que la arquitectura Harvard dispone de dos
NO (NOT). El principio de su funcionamiento es conocido
memorias independientes, una que contiene sólo instrucciones
como algebra de Boole.
y otra sólo datos. Ambas disponen de sus respectivos sistemas
de buses de acceso y es posible realizar operaciones de acceso
V. LENGUAJES DE PROGRAMACION
(lectura o escritura) simultáneamente en ambas memorias.
* Ver Imagen N°2
Algunas arquitecturas de microcontrolador están disponibles A. FPGA
por tal cantidad de vendedores y en tantas variedades, que
podrían tener, con total corrección, su propia categoría. Entre La tarea del programador es definir la función lógica que
ellos encontramos, principalmente, las variantes de 8051 y realizará cada uno de los CLB, seleccionar el modo de trabajo
Z80. de cada IOB e interconectarlos. (programacion1abundiz.,
2014)
VHDL (10/100/1000)MBits
Verilog Multiplicación/División hardware en coma flotante
ABEL Debug vía conexión JTAG; 2 hardware breakpoints
En un intento de reducir la complejidad y el tiempo de y 2 data triggers
desarrollo en fases de prototipaje rápido, y para validar un Entornos de diseño:
diseño en HDL, existen varias propuestas y niveles de Quartus II
abstracción del diseño. Entre otras, National Instruments Nios II ID
LabVIEW FPGA propone un acercamiento de programación
gráfica de alto nivel.
B. Microcontroladores
B. Microcontroladores
o El voltaje externo (I/O) que necesita (generalmente 3,3
V);
Hay muchos lenguajes de programación para los o El voltaje interno (core) que necesita (será menor o
microprocesadores, pero algunos de los más destacados son: igual que el de I/O)
o Su multiplicador (4x, 4,5x, 5x...) y su velocidad de bus
• Lenguajes Declarativos: son los más parecidos al castellano
(66, 100, 133... MHz).
o ingles en su potencia expresiva y funcionalidad están en el
o El control de un electrodoméstico o un dispositivo
nivel más alto respecto a los otros. Son: SAS, SPSS,
sencillo usa un procesador muy pequeño.(4 u 8 bit).
NATURAL, IMS.
o El control de un dispositivo más complejo (mp3 o mp4)
• Lenguajes de Alto Nivel: son los más utilizados como usa un procesador más complejo (32 o 64 bit) y de uno
lenguaje de programación. Permiten que los algoritmos se o más Códec de señal digital (audio y/o vídeo).
expresen en un nivel y estilo de escritura fácilmente legible y o Suelen ser dispositivos de baja potencia.
comprensible por otros programadores. Son: PASCAL, APL,
FORTRAN, COBOL, SNOBOL, LISP, PROLOG, C, ADA,
PL/I. VII. FABRICANTES
A. FPGA.
• Lenguajes Ensambladores y los Lenguajes Maquina: son
A principios del año 2007, el mercado de las FPGA se ha
dependientes de la maquina. Cada tipo de máquina, tal como
colocado en un estado donde hay dos productores de FPGA de
VAX de digital, tiene su propio lenguaje maquina distinto y su
propósito general que están a la cabeza del mismo, y un
lenguaje ensamblador asociado.
conjunto de otros competidores quienes se diferencian por
ofrecer dispositivos de capacidades únicas.
• Algunos otros son: BASIC, C++, ASSEMBLER
• Xilinx es uno de los dos grandes líderes en la fabricación de
FPGA.
VI. CARACTERISTICAS TECNICAS EN GENERAL
• Altera es el otro gran líder.
A. FPGA
FPGA Altera Cyclone IV. • Lattice Semiconductor lanzó al mercado dispositivos FPGA
280 pines I/O disponibles al usuario. con tecnología de 90nm. En adición, Lattice es un proveedor
5 SPI. líder en tecnología no volátil, FPGA basadas en tecnología
5 I2C Flash, con productos de 90nm y 130nm.
5 Timers de 32 bits.
2 UART. • Actel tiene FPGAs basados en tecnología Flash
25.000 LE (Logic Elements), de los cuales reprogrammable. También ofrece FPGAs que incluyen
20.000 LE disponibles para el usuario. mezcladores de señales basados en Flash.
Memoria Flash 32MBytes.
• QuickLogic tiene productos basados en antifusibles
Memoria DDR2-SDRAM, 200MHz,
(programables una sola vez).
32MBytes.
Alimentación a 12Vdc, DC/DC incluidos,
• Atmel es uno de los fabricantes cuyos productos son
técnicas de “sequencing & soft-start”. reconfigurables (el Xilinx XC62xx fue uno de éstos, pero no
Mecanización sin conectores. están siendo fabricados actualmente). Ellos se enfocaron en
µP Nios II embebido de 32 bits con µCOS proveer microcontroladores AVR con FPGAs, todo en el
RTOS (Real Time Operating System). mismo encapsulado.
Web Server
Server Socket • Achronix Semiconductor tienen en desarrollo FPGAs muy
Triple Ethernet connection veloces
Microcontroladores y FPGA 4
VIII. APLICACIONES
• MathStar, Inc. ofrecen FPGA que ellos llaman FPOA
(Arreglo de objetos de matriz programable).
A. FPGA
B. Microcontroladores
Contador de microondas con interface HP-IB En consecuencia, los circuitos lógicos programables tienen un
Multímetro multiplexado gran campo de aplicación en la implementación de circuitos
Analizador de espectros (módulos de expansión para IR y RF lógicos de todo tipo.
comunicados vía Inter-face serie) Entre la amplia gama de PLDs tenemos a laa FPGAs, que son
utilizadas para diseños que manejan una mayor transferencia
•Aplicaciones automotrices: de datos y registros; además permiten implementar dentro de
Sistemas de frenado antiderrapante ellas memorias del tipo RAM, ROM, FIFO, etc, a través de
Control dinámico de la suspensión sus bloques de memoria.
Sistemas de navegación La elección de la familia de FPGA a utilizar dependerá de la
Alarmas automotrices cantidad de lógica combinacional (compuertas), la cantidad de
lógica secuencial (flip-flops) y por supuesto la cantidad de
•Otros: memoria a implementar. También un factor a tener en cuenta
Controladores de CRT son los tiempos de propagación internos, asimismo la cantidad
Teléfonos celulares de pines del dispositivo.
Cerraduras electrónicas
Control de displays
Secuenciamiento
Codificación/decodificación
Monitoreo y Adquisición de datos
Control retroalimentado
Temporización IX. REFERENCIAS
Cálculos aritméticos sencillos
[1] altera. (20 de 11 de 2014). http://www.altera.com.
Automatización
Obtenido de http://www.altera.com:
Despliegue digital
http://www.altera.com/products/devices/stratix-
Control on – off
fpgas/stratix-iv/stxiv-index.jsp
[2] galia. (s.f.). http://galia.fc.uaslp.mx. Obtenido de
(galia)
http://galia.fc.uaslp.mx:
http://galia.fc.uaslp.mx/~cantocar/microcontroladores
/SLIDES_8051_PDF/3_APLICA.PDF
[3] generatecnologias. (2014).
http://www.generatecnologias.es. Obtenido de
http://www.generatecnologias.es:
http://www.generatecnologias.es/ingenieria_fpga.htm
l
[4] programacion1abundiz. (2014).
http://programacion1abundiz.blogspot.com/.
Obtenido de
http://programacion1abundiz.blogspot.com/:
http://programacion1abundiz.blogspot.com/2009/09/l
enguaje-de-descripcion-de-hardware.html
Imagen 9: Automatizaciones
IV. CONCLUSIONES