Conceptos Generales
VLSI
Para
saber sobre VLSI, tenemos que saber sobre IC o circuito integrado. Un IC es un
chip o un paquete de procesos que contiene transistores o circuitos digitales
en miles de millones.
VLSI o integración a gran escala se refiere al
proceso para incorporar transistores (especialmente transistores MOS) para
formular IC.
Los dispositivos VLSI constan de miles de puertas lógicas. Ayudan a
crear grandes matrices de memoria. Las matrices se utilizan en
microcontroladores y microprocesadores. Es posible incorporar 104 al 89 componentes
en un solo chip en la técnica de diseño estándar VLSI.
Un
diseño VLSI tiene varias partes. Necesita una representación física,
estructural y de comportamiento correcta y perfecta del circuito. Se omite la
información redundante y repetitiva para hacer un buen sistema de arte. Se
logra mediante el uso de la descripción del diseño gráfico y la representación
simbólica de los componentes y las interconexiones.
Las
arquitecturas VLSI utilizan transistores de efecto de campo MOS de canal n y
MOS complementarios.
MSI
MSI (Médium Scale Integration): Esta escala comprende todos aquellos integrados cuyo número de puertas oscila entre 12 y 100 puertas. Es común en sumadores, multiplexores,... Estos integrados son los que se usaban en los primeros ordenadores aparecidos hacia 1970.
La
existencia de muchos sistemas digitales complejos normalizados tales como
contadores, multiplexores, decodificadores, etc., ha permitido su diseño en
circuito integrado y produjo la aparición de la escala de integración media
(MSI). bajo esta denominación se incluyen aquellos circuitos integrados que
contienen de 100 a 1000 componentes, equivalentes aproximadamente a 10 y 100
puertas lógicas respectivamente.
SSI
SSI
(Small Scale Integration) Integración a pequeña escala.
SSI
(Short Scale Integration): Es la escala de integración mas pequeña de todas, y
comprende a todos aquellos integrados compuestos por menos de 12 puertas.
Se
comenzó integrando puertas elementales en un número de una a seis en función
del número de entradas, y biestables del tipo j-k principal subordinado
(master-slave), tipo d activado por flancos (edge-triggered) y d cerrojo
(latch). estos circuitos constituyen la pequeña escala de integración (SSI),
denominación que engloba a los circuitos integrados que contienen entre 10 y
100 componentes, equivalentes aproximadamente a 1 y 12 puertas lógicas
respectivamente.
FPGAS
Las
FPGAS son una gran solución en la elaboración de prototipos gracias a la
flexibilidad que ofrecen en el diseño. Debido a su importancia, se presenta
como ejemplo de diseño, la descripción de un circuito combinacional en lenguaje
VHDL programado en una FPGA Spartan XCS200E.
Los
FPGAs son circuitos integrados que contienen un arreglo de bloques lógicos
idénticos con interconexiones programables, en los que el usuario puede
programar tanto las funciones realizadas por cada bloque lógico como las
conexiones entre bloques. Los FPGAs tienen varias ventajas con respecto a
MPGAs. Un arreglo de compuertas tradicional puede ser usado para implementar
cualquier circuito, pero 27 sólo se puede programar en fábrica ya que se
requiere hacer una máscara específica para un circuito en particular y el
tiempo de diseño para un circuito integrado basado en arreglo de compuertas es
de algunos meses. Por otro lado, los FPGAs son productos comerciales, el tiempo
de manufactura se puede reducir de meses a algunas horas cambiando de MPGAs a
FPGAs. De la misma forma, se vuelve más fácil y más barato corregir errores en
los diseños. A volúmenes no tan altos, los FPGAs son más baratos que los MPGAs.
El interior de los FPGAs contiene típicamente tres elementos programables: los
bloques lógicos, los bloques de entrada/ salida y las interconexiones. Se
considera que los bloques de entrada/ salida se encuentran en la periferia del
circuito integrado, éstos conectan las señales lógicas a los pines del chip.
Los bloques lógicos se encuentran distribuidos dentro del FPGA y el espacio
entre ellos se usa para mandar conexiones entre bloques. La programabilidad de
campo se logra por los elementos que pueden ser reconfigurables por el usuario.
Los bloques lógicos se crean usando multiplexores, look-up tables y arreglos de
compuertas AND-OR o NAND-NAND, y cualquiera de estas cosas puede ser programada
(o configurada) por el usuario. Lo que diferencia un FPGA de un CPLD es la
interconexión flexible de propósito general. En un CPLD la interconexión es
bastante restringida, mientras que en un FPGA es muy flexible, lo cual a veces
puede resultar ser una desventaja ya que mandar una conexión de una parte del
chip a otra muy alejada puede hacer el diseño más lento. Los bloques lógicos
entre FPGAs varían en los componentes básicos que emplean. Algunos FPGAs usan
bloques basados en LUTs, mientras que otros usan multiplexores y compuertas
lógicas. Existen también bloques lógicos que simplemente consistían en pares de
transistores. En los primeros FPGAs de Altera, los bloques consistían en PLDs.
28 Los bloques lógicos también varían en el tamaño. Algunos FPGAs usan bloques
básicos grandes, capaces de implementar varias funciones de cuatro o cinco
variables, con algunos flip flops. En contraste, también existen FPGAs con
bloques que sólo permiten una función de tres variables y un flip flop en cada
bloque. Los distintos fabricantes usan nombres diferentes para sus bloques, por
ejemplo, en Xilinx un bloque lógico programable se llama Configurable Logic
Block; Altera los llama Logic Elements (LEs) y una colección de ocho o diez de
ellos se llama Logic Array Block (LAB). Un elemento importante en los FPGAs es
la interconexión programable entre bloques lógicos. Existen diferentes tipos de
conexiones en FPGAs comerciales. Algunos usan matrices de switches, en las que
hay un switch en cada intersección de “cables”. Una matriz de switches soporta
cualquier conexión entre cable y cable, pero resulta muy cara esta tecnología,
además de que no todas las conexiones pueden existir al mismo tiempo. Otros
FPGAs usan conexiones especiales entre bloques lógicos adyacentes. Este tipo de
conexiones son rápidas porque no necesitan pasar por una matriz de ruteo. En
este tipo de FPGAs las interconexiones directas se dan hacia los cuatro bloques
vecinos (arriba, abajo, izquierda y derecha), en otros casos se dan hacia los
ocho vecinos, incluyendo así a los diagonales. Los pines de un FPGA están
conectados a bloques programables de entrada/ salida que facilitan conectar las
señales de los bloques lógicos al mundo externo. Cada bloque de entrada salida
tiene un número de opciones. El pin puede ser configurado para ser entrada o
salida mediante un buffer triestado. El bloque contiene flip flops para guardar
los valores de entrada o de salida. La señal de salida puede ser invertida si
se desea, mediante una compuerta XOR. 29 Los FPGAs recientes tienen también
bloques especializados. Dentro de estos bloques existen los de memoria RAM, que
van de 16k a 10M bits los cuales pueden servir para almacenar datos necesarios
en un proceso. El vendedor puede incluir también bloques de procesamiento
digital de señales con hardware para realizar transformadas rápidas de Fourier,
filtros FIR e IIR, entre otras cosas. Existen también bloques embebidos de
procesadores dentro de los FPGAs modernos, como el MicroBlaze de Xilinx y el
Nios de Altera.
CPLD
Los
avances en tecnología han hecho posible la creación de circuitos integrados
programables equivalentes a varios PLDs en el mismo chip. A estos circuitos
integrados se les llaman dispositivos lógicos programables complejos (CPLDs por
sus siglas en inglés). Un CPLD es un circuito integrado que consiste en un
número de bloques lógicos parecidos a un PAL, incluyendo además una matriz
programable de interconexiones entre estos bloques. Algunos CPLDs se basan en
la arquitectura del PAL, en cuyo caso cada macrocelda contiene un flip flop y
una compuerta OR, cuyas entradas están asociadas a un arreglo de compuertas AND
fijo, mientras que los CPLDs que se 24 basan en PLAs cada salida de compuertas
AND en un bloque se puede conectar a la entrada de cualquier compuerta OR en
ese bloque. Los más grandes fabricantes de CPLDs hoy en día son Xilinx, Altera,
Lattice Semiconductor, Cypress y Atmel. Algunos de estos vendedores especifican
sus productos en términos de cantidad de compuertas, mientras que otros lo
hacen en términos de elementos lógicos. Por ejemplo, Altera vende tres series de
CPLDs, las cuales son MAX II, MAX 3000 Y MAX 7000. Cada una de éstas tiene
especificaciones en general y los dispositivos dentro de cada serie se
diferencian de acuerdo a sus capacidades lógicas y el número de pines de
entrada/ salida. Dentro de la serie MAX 7000 existen dispositivos que van de
las 600 compuertas (32 macroceldas) hasta 5000 compuertas (256 macroceldas). Su
arquitectura esta basada en módulos de arreglos lógicos, llamados Logia Array
Blocks (LABs) que consisten en arreglos de 16 macroceldas. Los LABs se conectan
por medio del Programmable Interconnect Array (PIA) alimentado por todas las
entradas, pines de entrada/salida así como por las macroceldas.
Las
macroceldas de la serie MAX 7000 pueden ser configuradas individualmente para
operar con lógica combinacional o secuencial. Tienen tres bloques funcionales:
el arreglo lógico, la matriz de selección de términos producto y el registro
programable.
CMOS
Siglas en inglés de Complementary Metal
Oxide Semiconductor (semiconductor complementario del óxido de metal, «MOS
Complementario»), es una tecnología utilizada para crear circuitos integrados,
como pueden ser compuertas lógicas, contadores (entre éstos, muy populares los
Decimales Johnson), etc. Consiste básicamente en dos transistores, uno PFET y
otro NFET. De esta configuración resulta el nombre.
Los chips CMOS consumen menos potencia
que aquellos que usan otro tipo de transistor. Tienen especial atractivo para
emplearlo en componentes que funcionen con baterías, como las computadoras
portátiles. Las computadoras de sobremesa también contienen dispositivos de
memoria CMOS de bajo consumo de potencia para almacenar la fecha, hora y
configuraciones (BIOS).
Existen diversos tipos de ventajas y
desventajas contra estos circuitos, siendo el problema del daño por
electricidad estática el fantasma que más afecta el uso comercial de estos
integrados.
Diversos estudios afirman que dicho
planteamiento no es más que un mito, ya que deben darse muchos factores tanto
ambientales como físicos, aparte de lo eléctrico, para dañarlos.
Dentro de las ventajas mayores que
tienen los CMOS destacan las siguientes dos:
- Funcionan con tensiones desde los 3 hasta los
15 V, por ende no necesitan una fuente de voltaje dedicada para ellos.
- Se ha demostrado que un CMOS determinado tiene
muchas más aplicaciones (o dichas aplicaciones trabajan mejor en CMOS) que
en un TTL.
Además, su fabricación es relativamente
fácil y barata, en comparación con otras tecnologías.
La familia CMOS se identifica mediante
los prefijos 74 y 54, seguidos de una letra o letras que indican la serie y a
continuación un número que indica el tipo de dispositivo lógico. El prefijo 74
indica que se trata de un dispositivo de propósito general, el prefijo 54
indica que es un dispositivo para aplicaciones militares.
La serie básica CMOS de 5 V y sus
denominaciones son las siguientes:
- 74HC y 74HCT. CMOS de alta velocidad (la “T”
indica compatibilidad TTL).
- 74AC y 74ACT. CMOS avanzada.
- 74AHC y 74AHCT. CMOS de alta velocidad
avanzada.
La serie básica CMOS 3.3 V y sus
denominaciones son las siguientes:
- 74LV. CMOS de baja tensión.
- 74LVC. CMOS de baja tensión.
- 74ALVC. CMOS de baja tensión avanzada.
Existen además series que combinan
ambas tecnologías, CMOS y TTL, que se denominan BiCMOS. La serie básica y sus
denominaciones son las siguientes:
- 74BCT. BiCMOS.
- 74ABT. BiCMOS.
- 74LVT. BiCMOS de baja tensión.
- 74ALB. BiCMOS de baja tensión.
VHDL
Las siglas de VHDL es VHSIC (Very High Speed Integrated
Circuits) Hardware Description Language. Esto significa que VHDL
permite acelerar el proceso de diseño. VHDL no es un lenguaje de programación,
por ello conocer su sintaxis no implica necesariamente saber diseñar con él.
VHDL es un lenguaje de descripción de hardware, que permite describir circuitos
síncronos y asíncronos. Para realizar esto debemos: - Pensar en puertas y
biestables, no en variables ni funciones. - Evitar bucles combinacionales y
relojes condicionados. - Saber qué parte del circuito es combinacional y cuál
secuencial. ¿Por qué usar un lenguaje de descripción hardware? - Poder
descubrir problemas en el diseño antes de su implementación física. - La
complejidad de los sistemas electrónicos crece exponencialmente, es necesaria
una herramienta que trabaje con el ordenador. - Permite que más de una persona
trabaje en el mismo proyecto. En particular VHDL permite tanto una descripción
de la estructura del circuito (descripción a partir de subcircuitos más
sencillos), como la especificación de la funcionalidad de un circuito
utilizando formas familiares a los lenguajes de programación. La misión más
importante de un lenguaje de descripción HW es que sea capaz de simular
perfectamente el comportamiento lógico de un circuito sin que el programador
necesite imponer restricciones (ver ejemplo 1). En el ejemplo, una ejecución
del código utilizando las reglas básicas de cualquier lenguaje de programación
al uso daría dos resultados diferentes sobre la misma descripción del circuito.
Esto es debido a que en HW todos los circuitos trabajan a la vez para obtener
el resultado (todo se ejecuta en paralelo) mientras que en software el orden de
las instrucciones delimita la actualización de las variables (ejecución
secuencial de las instrucciones). Un lenguaje de descripción HW, VHDL o
cualquier otro de los existentes en el mercado, nos debe dar el mismo resultado
en simulación para los dos programas del ejemplo 1.
• Tocci, R.J., Widmer, N.S. (2007). Sistemas digitales: Principios y aplicaciones. (10a edición). México: Pearson Education.
• Floyd, T.L. (2006). Fundamentos de sistemas digitales. (9 a edición). Madrid: Pearson Education.
• Morris, M. (2003). Diseño digital. (1 a edición). México: Prentice Hall.
• Mandado, E. (1992). Sistemas electrónicos digitales. (7ª Edición). México: Marcombo.
Comentarios
Publicar un comentario