Está en la página 1de 2

El firmware es un bloque de instrucciones de programa para propsitos especficos, grabado en una memoria de tipo no

voltil (ROM, EEPROM, flash, etc), que establece la lgica de ms bajo nivel que controla los circuitos electrnicos de un
dispositivo de cualquier tipo. Al estar integrado en la electrnica del dispositivo es en parte hardware, pero tambin
es software, ya que proporciona lgica y se dispone en algn tipo de lenguaje de programacin. Funcionalmente, el
firmware es el intermediario (interfaz) entre las rdenes externas que recibe el dispositivo y su electrnica, ya que es el
encargado de controlar a sta ltima para ejecutar correctamente dichas rdenes externas.

Un microcontrolador es un circuito integrado que incluye en su interior las tres unidades funcionales de
una computadora: unidad central de procesamiento, memoria y perifricos de entrada y salida. Son diseados para reducir
el costo econmico y el consumo de energa de un sistema en particular. Por eso el tamao de la unidad central de
procesamiento, la cantidad de memoria y los perifricos incluidos dependern de la aplicacin. El control de un
electrodomstico sencillo como una batidora utilizar un procesador muy pequeo (4 u 8 bits) porque sustituir a un
autmata finito. En cambio, un reproductor de msica y/o vdeo digital (mp3 o mp4) requerir de un procesador de 32 bits o
de 64 bits y de uno o ms Cdecs de seal digital (audio y/o vdeo). El control de un sistema de frenos ABS (Antilock Brake
System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electrnico del motor en
un automvil.

Un procesador digital de seales o DSP (sigla en ingls de digital signal processor) es un sistema basado en un
procesador o microprocesador que posee un juego de instrucciones, un hardware y un software optimizados para
aplicaciones que requieran operaciones numricas a muy alta velocidad. Debido a esto es especialmente til para el
procesado y representacin de seales analgicasen tiempo real: en un sistema que trabaje de esta forma (tiempo real) se
reciben muestras (samples en ingls), normalmente provenientes de un conversor analgico/digital (ADC).

Se ha dicho que puede trabajar con seales analgicas, pero es un sistema digital, por lo tanto necesitar un conversor
analgico/digital a su entrada y digital/analgico en la salida. Como todo sistema basado en procesador programable
necesita una memoria donde almacenar los datos con los que trabajar y el programa que ejecuta.

Si se tiene en cuenta que un DSP puede trabajar con varios datos en paralelo y un diseo e instrucciones especficas para
el procesado digital, se puede dar una idea de su enorme potencia para este tipo de aplicaciones. Estas caractersticas
constituyen la principal diferencia de un DSP y otros tipos de procesadores.

Logica programada es lo contrario de la lgica cableada, es decir, este tipo de diseo permite utilizar un circuito o un
proyecto para muchas otras funciones con el simple cambio del software que incorpora.

La lgica programada se basa en dispositivos lgicos programables (PLD), los cuales tienen una funcin no establecida, al
contrario que las puertas lgicas que tienen una funcin fja en el momento de su fabricacin. Antes de poder utilizar el PLD
en un circuito, este debe ser programado.

Antes de que se inventasen las PLDs, los chips de memoria de solo lectura (ROM) se utilizaban para crear funciones
de lgica combinacional arbitrarias con un nmero determinado de entradas. Considerando una ROM con m entradas, a las
que se denomina lneas de direccin; y con n salidas, a las que se denomina lneas de datos. Cuando se utiliza como
memoria, la ROM contiene 2mpalabras de n bits. Supongamos que las entradas no son direccionadas por una direccin
de m-bits, sino por m seales lgicas independientes. Tericamente, hay 2m funciones booleanas posibles de
estas m seales, pero la estructura de la ROM permite solo producir n de estas funciones en los pines de salida. Por lo
tanto, en este caso, la ROM se vuelve un equivalente de n circuitos lgicos separados, cada uno generando una funcin
elegida de las m entradas.

Un CPLD (del acrnimo ingls Complex Programmable Logic Device) es un dispositivo electrnico.

Los CPLD extienden el concepto de un PLD (del acrnimo ingls Programmable Logic Device) a un mayor nivel de
integracin ya que permite implementar sistemas ms eficaces, ya que utilizan menor espacio, mejoran la fiabilidad del
diseo, y reducen costos. Un CPLD se forma con mltiples bloques lgicos, cada uno similar a un PLD. Los bloques lgicos
se comunican entre s utilizando una matriz programable de interconexiones, lo cual hace ms eficiente el uso del silicio,
conduciendo a una mejor eficiencia a menor costo. A continuacin se explican brevemente las principales caractersticas de
la arquitectura de un CPLD.

Matriz de Interconexiones Programables


La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a las entradas del bloque lgico,
o las salidas del bloque lgico a las entradas de otro bloque lgico o inclusive a las entradas del mismo. La mayora de
los CPLDs usan una de dos configuraciones para esta matriz: interconexin mediante bloques o interconexin
mediante multiplexores.

El primero se basa en una matriz de filas y columnas con una celda programable de conexin en cada interseccin. Al igual
que en las GAL esta celda puede ser activada para conectar/desconectar la correspondiente fila y columna. Esta
configuracin permite una total interconexin entre las entradas y salidas del dispositivo o bloques lgicos. Sin embargo,
estas ventajas provocan que disminuya el rendimiento del dispositivo, adems de aumentar el consumo de energa y el
tamao del componente.

Un FPGA (del ingls Field Programmable Gate Array) es un dispositivo semiconductor que contiene bloques de lgica cuya
interconexin y funcionalidad puede ser configurada 'in situ' mediante un lenguaje de descripcin especializado. La lgica
programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lgica o un sistema
combinacional hasta complejos sistemas en un chip.

Las FPGAs se utilizan en aplicaciones similares a los ASICs sin embargo son ms lentas, tienen un mayor consumo
de potencia y no pueden abarcar sistemas tan complejos como ellos. A pesar de esto, las FPGAs tienen las ventajas de ser
reprogramables (lo que aade una enorme flexibilidad al flujo de diseo), sus costes de desarrollo y adquisicin son mucho
menores para pequeas cantidades de dispositivos y el tiempo de desarrollo es tambin menor.

Ciertos fabricantes cuentan con FPGAs que slo se pueden programar una vez, por lo que sus ventajas e inconvenientes se
encuentran a medio camino entre los ASICs y las FPGAs reprogramables.

Histricamente las FPGA surgen como una evolucin de los conceptos desarrollados en las PAL y los CPLD.