Вы находитесь на странице: 1из 10

Tecnolgico De Estudios Superiores De Jocotitln

Ingeniera En Sistemas Computacionales


Asignatura:
Principios Electricos y Aplicaciones Digitales

Lenguajes HDL
P R E S E N T A:
Luis Alberto Prez Gonzlez
Jorge Luis Mondragon Zepeda
Hugo Cesar Moreno Nicolas

Docente: Leopoldo Gil Antonio


Grupo: ISC-403

Jocotitln, Estado De Mxico A 19 De Junio de 2015

Introduccin

Los circuitos de escala de integracin media y alta se disearon mediante la


realizacin de un prototipo formado por mdulos ms sencillos y la comprobacin
de su funcionamiento antes de proceder a la integracin. Esta forma dediseo
recibe el nombre de abajo a arriba (bottom-up) porque se enlazan diversos
mdulos para constituir un bloque funcional ms complejo. Pero en el caso de los
circuitos integrados de complejidad VLSI y superiores no resulta prctica la
realizacin fsica de un prototipo y por ello es necesario simular y verificar su
correcto comportamiento antes de integrarlos.. As, mediante simulacin es posible
una rpida deteccin de errores en fases tempranas del diseo, resulta factible la
reutilizacin del mismo para diferentest ecnologas y se pueden utilizar las
herramientas de sntesis actuales para obtener rpidamente un esquema lgico o
estructural y, en definitiva, una netlist* de entrada para el trazado fsico (layout) del
ASIC, MCM, etc. o la asignacin de recursos (mapping) en el caso de la lgica
programable (PLDs y FPGAs).Todo ello, obviamente, incrementa la productividad
y la eficacia del diseo.
Los HDL utilizan expresiones estndar basadas en texto que reflejan la estructura
de los circuitos electrnicos, as como su comportamiento a lo largo del tiempo. Al
igual que los lenguajes de programacin concurrentes, la sintaxis y semntica de
los HDL incluyen notaciones especficas para manejar la concurrencia. Sin
embargo, al contrario de lo que ocurre con la mayora de los lenguajes de
programacin, los HDL incluyen tambin una notacin especfica para el tiempo,
debido a que este es una caracterstica fundamental en los circuitos electrnicos
reales.
Los lenguajes cuyo nico propsito es expresar la conectividad entre una jerarqua
de bloques son ms bien clasificados como "lenguajes de listas de conexiones" (o
lenguajes "netlist"), tales como los que se usan en los programas de diseo
asistido por ordenador (CAD). Los HDL son algo ms rico que estos lenguajes de
listas de conexiones, ya que no slo permiten definir la estructura de un circuito,
sino tambin su comportamiento.
As, los HDL pueden ser usados para escribir especificaciones "ejecutables" de
hardware. Es decir, un programa escrito en HDL hace posible que el diseador de
hardware pueda modelar y simular un componente electrnico antes de que este
sea construido fsicamente. Es esta posibilidad de "ejecucin" de componentes lo
que hace que a veces los HDL se vean como lenguajes de programacin
convencionales, cuando en realidad se debera clasificarlos ms precisamente
como lenguajes de modelado.

UNIDAD 4- LENGUAJES HDL


4.1 Dispositivos lgicos programables
Un dispositivo lgico programable (PLD) es cualquier dispositivo lgico cuya
funcin esta especificada por el usuario, se usan para reemplazar lgica SSI y
MSI, ahorrando as en costo y tiempo en el diseo. Entre ellos se encuentran:
Arrays Lgicos Programables
Un Array Lgico Programable (PLA), es un circuito PLD que puede programarse
para ejecutar una funcin compleja, normalmente se utilizan para implementar
lgica combinacional, pero algunos PLA pueden usarse para implementar
diseos lgicos secuenciales
Otros dispositivos lgicos programables son:
-

ROM, memoria de solo lectura


PROM, memoria de solo lectura programable
EPROM, memoria de solo lectura programable y borrable
EPROM, memoria de solo lectura programable y borrable
electrnicamente
RAM, memoria de acceso aleatorio
SRAM, memoria de acceso aleatorio esttica

4.1.1 Tipos
PAL
MMI introdujo un dispositivo revolucionario en 1978, la Programable Array Logic
(Matriz lgica programable). La arquitectura era ms sencilla que la FPLA
porque omita la matriz OR programable. Esto hizo los dispositivos ms rpidos,
ms pequeos y ms baratos. Estaban disponibles en encapsulados de 20
pines y DIP de 300 milsimas de pulgada, mientras que las FPLAs venan en
encapsulados de 28 pines y DIP de 600 milsimas de pulgada. Ciertas
publicaciones sobre PALs desmitificaban el proceso de diseo. El software de
diseo PALASM (PAL Assembler, ensamblador PAL) converta las ecuaciones
Booleanas de los ingenieros en el patrn de fusibles requerido para programar
el dispositivo. Los PAL de MMI pronto fueron distribuidos por National
Semiconductor, Texas Instruments y AMD.
GALs
Una innovacin del PAL fue la matriz lgica genrica (Generic array Logic) o
GAL. Ambas fueron desarrolladas por Lattice Semiconductor en 1985. Este
dispositivo tiene las mismas propiedades lgicas que el PAL, pero puede ser
borrado y reprogramado. La GAL es muy til en la fase de prototipo de un
diseo, cuando un fallo en la lgica puede ser corregido por reprogramacin.

Las GALs se programan y reprograman utilizando un programador OPAL, o


utilizando la tcnica de programacin circuital en chips secundarios.

FPGAs
Mientras el desarrollo de las PALs se enfocaba hacia las GALs y CPLDs (ver
secciones superiores), apareci una corriente de desarrollo distinta. Esta
corriente de desarrollo desemboc en un dispositivo basado en la tecnologa de
matriz de puertas y se le denomin field-programmable gate array (FPGA).
Algunos ejemplos de las primeras FPGAs son la matriz 82s100 y el
secuenciador 82S105 de Signetics, presentados a finales de los 70. El 82S100
era una matriz de trminos AND, y tambin tena funciones de biestable.

4.1.2 Caractersticas
ASIC: Son dispositivos definidos por el usuario. Pueden contener funciones
analgicas, digitales y combinacionales.
PROM: Son memorias programables de solo lectura.
combinaciones de entrada en funciones de salida.

Son usadas para codificar las

PAL: Son dispositivos de matriz programables. Son los dispositivos programables por
usuario ms empleados.
GAL: Las gal son dispositivos de matrices lgica genrica. Son electrnicamente borrables.
PLA: Son matrices lgicas programables. Tienen mayor flexibilidad que otros dispositivos.
FPGA: Son campos de matrices de puertas programables. Contienen mltiples niveles de
lgica.

4.1.3 Fabricantes
Actel: Es un fabricante de FPGAs y soluciones lgica programables.
Altera Corp.: Es un fabricante lder de dispositivos lgicos programables.
Atmel Corp. (www.atmel.com): Es un fabricante de semiconductores.
Chip Express.
Cypress Sem: Es una empresa dedicada al diseo de semiconductor.
Lattice Sem.
Quicklogic Corp.: Son proveedores de matrices de puertas programables de campo, con
dispositivos solo programables una vez.
Xilinx Inc.: Proveedor de dispositivos de lgica programable

4.1.4. Pasos para el diseo con PLDs

Son IC's estndar de la familia de ASICs que estn disponibles en


configuraciones estndar desde catlogos de partes y se venden en grandes
volmenes a muchos consumidores. Sin embargo, los PLD's pueden
configurarse o programarse para crear partes configurables para una
aplicacin especfica, los PLD's utilizan diferentes tecnologas para permitir la
programacin del dispositivo. Entre las principales caractersticas de los PLD's
se puede destacar:
No poseen mascaras o capas ni celdas lgicas configurables.
Rpido diseo.
Un solo gran bloque de interconexiones programables.
Poseen una matriz de macro celdas lgicas que usualmente consiste de un
arreglo programable lgico seguido por un flip-flop o latch

4.2 Programacin de circuitos combinacionales con HDL


4.2.1 Por captura esquemtica
Por Captura Esquemtica se entiende el proceso de descripcin, mediante un dibujo, de un
circuito elctrico, en el se que representan a los diferentes componentes del circuito y solo
se efectan interconexiones entre ellos.
Existen varios programas con la aplicacin de Captura Esquemtica como el Schematic
del IspStarter de Lattice Semiconductor o Fundation de XILINX entre otros.
Esta tcnica permite simular en la computadora el circuito virtualmente y verificar su
funcionamiento antes de su fabricacin o implementacin en un PLD, reduciendo as el
ciclo de diseo y el tiempo de obtencin de un producto
Utilizando el programa IspStarter de Lattice Semiconductor, el primer paso en el proceso de
obtener el circuito es precisamente la captura esquemtica en donde se genera un archivo
de extensin .SCH, posteriormente se pasa al proceso de enlace (link) en donde se valida si
los componentes son permitidos en el dispositivo seleccionado, adems si el dispositivo
tiene la capacidad de integrar los elementos requeridos (FitDesign).
Tambin es posible efectuar la simulacin antes de obtener el circuito final con la intencin
de asegurar que este cumpla con los requerimientos solicitados.

4.2.2 Por tabla de verdad


Para aclarar el proceso es necesario un ejemplo especfico, la tabla de verdad especifico
Un circuito combinacional con dos entradas y dos salidas. Las funciones de BOOLE pueden
expresarse en suma de trminos mnimos.

El diseo de circuitos combinacionales parte la especificacin del problema y culmina en un


diagrama lgico de circuitos o un conjunto de funciones booleanas a partir de las cuales se
puede obtener el diagrama lgico. El procedimiento implica los pasos siguientes:
De la especificacin del circuito, deduzca el nmero requerido de entradas y salidas; asigne
un smbolo a cada una. Deduzca la tabla de verdad que define la relacin requerida entre
las entradas y las salidas. Obtenga las funciones booleanas simplificadas para cada salida
en funcin de variables de entrada. Dibuje el diagrama lgico y verifique que el diseo sea
correcto

4.2.3. POR ECUACIONES BOOLEANAS


Si se requiere reducir la funcin que realiza el circuito. Este proceso parte del diagrama
lgico dado y culmina en un conjunto de funciones BOOLEANAS, una tabla de vedad o una
posible explicacin del funcionamiento del circuito.
Si el diagrama lgico analizar va acompaado de un nombre de funcin o de una
explicacin de lo que se supone que hace, el problema de anlisis se reduce a una
verificacin de la funcin planeada.
El anlisis se efecta manual mente encontrando las funciones BOOLEANAS o la TABLADE
VERDAD, o bien utilizando un programa de simulacin de computadora.
El primer paso del anlisis consiste en asegurarse del que el circuito dado sea
combinacional y no secuencial.
El diagrama del circuito combinacional tiene compuertas lgicas sin trayectoria de
retroalimentacin ni elementos de memoria. Una trayectoria de retroalimentacin es una
conexin de salida de una compuerta a la entrada de una segunda compuerta que forma
parte de la entrada a la primera compuerta.
El anlisis del circuito combinacional dela figura ilustra, es un circuito que tiene tres
entradas binarias A, B y C y dos salidas binarias F1 y F2. Las salidas de diversas
compuertas que son funcin nicamente de variables de entrada son T1 y T2. La salidaF2
se deduce fcilmente de las variables de entrada. Las funciones BOOLEANAS de esta salida
son:
F2= AB+AC+BC
F1= A+B+C
T2= ABC

4.2.4. POR DESCRIPCIN DE COMPORTAMIENTO


Lenguaje de Descripcin de Hardware de alta escala de integracin (VHDL).
VHDL es el acrnimo que representa la combinacin de VHSIC y HDL, donde VHSIC es el
acrnimo de Very High Speed Integrated Circuit y HDL es a su vez el acrnimo de Hardware
Description Language.
Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers)
(ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros
mtodos para disear circuitos son la captura de esquemas (con herramientas CAD) y los

diagramas de bloques, pero stos no son prcticos en diseos complejos. Otros lenguajes
para el mismo propsito son Verilog y ABEL.
Aunque puede ser usado de forma general para describir cualquier circuito se
usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lgico
Programable), FPGA (Field Programable Gate Array), ASIC y similares Dentro del VHDL hay
varias formas con las que podemos disear el mismo circuito y es tarea del diseador elegir
la ms apropiada. Funcional: Describimos la forma en que se comporta el circuito. Esta es la
forma que ms se parece a los lenguajes de software ya que la descripcin es secuencial.
Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los
procesos son ejecutados en paralelo entre s, y en paralelo con asignaciones concurrentes
de seales y con las instancias a otros componentes.

4.3. Programacin de circuitos secuenciales con HDL


Los circuitos de conmutacin secuenciales tienen la propiedad de que la salida no slo
depende de la entrada actual, sino tambin de la secuencia de entradas anteriores.
Son las siglas de Programable Logic Designo dispositivos de lgica programable. Estos
circuitos integrados permiten generar dentro de las mismas funciones que no disponemos
en los C.I. Comerciales (decodificadores, comparadores, sumadores, etc.).Los PLDs
pueden reemplazar circuitos integrados de propsito especfico en el diseo de circuitos
digitales. Un solo PLD es funcionalmente equivalente a dispositivos que tienen desde 5
hasta 10,000compuertas lgicas.
Estos dispositivos estn basados en transistores bipolares transistores especiales que
cuando se hace circular una fuerte corriente dejan de conducir, pero pueden volver a
conducir aplicando una diferencia de potencial en el circuito.

4.3.1. POR CAPTURA ESQUEMTICA


Los programas de captura esquemtica son aplicaciones creadas para esbozar circuitos
electrnicos y exportar los esquemas como archivos netlist; los cuales satisfacen las
sintaxis de algn ncleo de simulacin en particular.
Dentro de este grupo de programas, que delegan al usuario la tarea de enlazar los archivos
netlist generados con el ncleo de simulacin, se encuentran: XCircuit 11, y gschem 12;
pertenecientes a los grupos Open Circuit Design, respectivamente. La principal
caracterstica de ambos programas, es que pueden generar dibujos de circuitos de gran
calidad, debido a la tecnologa utilizada en su implementacin: el lenguaje Post script para
la descripcin de diagramas. Sin embargo, se aprecia una ligera diferencia entre estas dos
aplicaciones, lo cual podra ayudar a discriminar una a otra.

4.3.2. POR TABLA DE VERDAD

La tabla de verdad es un instrumento utilizado para la simplificacin de circuitos digitales a


travs de su ecuacin booleana. Las tablas de verdad pueden tener muchas columnas,
pero todas las tablas funcionan de igual forma hay siempre una columna de salida (ltima
columna a la derecha) que representa el resultado de todas las posibles combinaciones de
las entradas.
El nmero total de columnas en una tabla de verdad es la suma de las entradas que hay
+1 (la columna de la salida).El nmero de filas de la tabla de verdad es la cantidad de
combinaciones que se pueden lograr con las entradas y es igual a 2n, donde n es el
nmero de columnas de la tabla de verdad (sin tomar en cuenta la columna de
salida)Ejemplo: en la siguiente tabla de verdad hay 3 columnas de entrada, entonces
habrn:23= 8 combinaciones (8 filas)Un circuito con 3 interruptores de entrada (con
estados binarios "0" o "1"), tendr 8posiblescombinaciones. Siendo el resultado (la columna
salida) determinado por el estado de los interruptores de entrada.

4.3.3. POR ECUACIONES BOOLEANAS


Los Nmeros Reales lo conocemos muy bien, as como todas las operaciones definidas en
l. Estamos acostumbrados a trabajar con ellos desde pequeos, por eso este tipo de
ecuaciones nos parecen intuitivas y sencillas, aunque no comprendamos lo que significan
las variables usadas. Hemos dicho que los circuitos digitales trabajan con nmeros, y que
estos nmeros se expresan en binario. Veremos ms adelante cmo con un conjunto de
ecuaciones podemos describir lo que hace un circuito, que transforma los nmeros de la
entrada y los saca por la salida. Sin embargo, puesto que estos nmeros vienen
expresados en binario, las variables y nmeros utilizados no son reales. Para describir un
circuito digital utilizaremos ecuaciones, Para describir un circuito digital utilizaremos
ecuaciones matemticas. Sin embargo, estas ecuaciones tienen variables y nmeros que
no son reales, por lo que no podemos aplicar las mismas propiedades y operaciones que
conocemos. Hay que utilizar nuevas operaciones y nuevas propiedades, definidas en el
lgebra de Boole.

4.3.4. POR DESCRIPCIN DE COMPORTAMIENTO


Descripcin VHDL de comportamiento. Esta es quizs la etapa ms importante del diseo,
ya que en ella se toman decisiones claves para el resultado final. El mtodo se clarifica con
un ejemplo, en el cual se ha buscado tambin la aplicacin delos criterios de jerarqua,
modularidad y regularidad. Para ello se trata de que todos los pasos de la secuencia sean
iguales, cuando ello es posible.
Tambin se siguieron las recomendaciones de no usar lgica auxiliar en las seales de reloj
(todos los cambios del sistema se producen sincronizados con la seal de reloj la cual es
nica para todos los Flip Flops.)Sntesis.- Ya en la descripcin inicial se halla presente la
divisin del circuito en una parte de control y una parte de datos.
Por lo tanto la sntesis consistir en pasar de la descripcin de comportamiento a una
descripcin de estructura (y comportamiento) que contemple los requisitos expuestos.

4.3.5. POR TABLA DE ESTADO


Un circuito cuya salida depende no solo de la combinacin de entrada, sino tambin de la
historia de las entradas anteriores se denomina Circuito Secuencial. La historia de las
entradas anteriores en un momento dado se encuentra resumida en el estado del circuito,
el cual se expresa en un conjunto de variables de estado. El circuito secuencial debe ser
capaz de mantener su estado durante algn tiempo, para ello se hace necesario el uso de
dispositivos de memoria. Los dispositivos de memoria utilizados en circuitos secuenciales
pueden ser tan sencillos como un simple retardador (inclusive, se puede usar el retardo
natural asociado a las compuertas lgicas) o tan complejos como un circuito completo de
memoria denominado multivibrador biestable o Flip Flop.
Como puede verse entonces, en los circuitos secuenciales entra un factor que no se haba
considerado en los combinacionales, dicho factor es el tiempo. De hecho, los circuitos
secuenciales se clasifican de acuerdo a la manera como manejan el tiempo en circuitos
secuenciales sncronos y circuitos secuenciales asncronos.
En un circuito secuencial asncrono, los cambios de estado ocurren al ritmo natural
marcado por los retardos asociados a las compuertas lgicas utilizadas en su
implementacin, es decir, estos circuitos no usan elementos especiales de memoria, pues
se sirven de los retardos propios (tiempos de propagacin) de las compuertas lgicas
usados en ellos.
Esta manera de operar puede ocasionar algunos problemas de funcionamiento, ya que
estos retardos naturales no estn bajo el control del diseador y adems no son idnticos
en cada compuerta lgica. Los circuitos secuenciales sncronos, slo permiten un cambio
de estado en los instantes marcados por una seal de sincronismo de tipo oscilatorio
denominada reloj.
Con esto se pueden evitar los problemas que tienen los circuitos asncronos originados por
cambios de estado no uniformes en todo el circuito.

4.3.6. POR DIAGRAMA DE TRANSICIN


Dibujar el diagrama de transicin de estados y produccin de salidas, las tablas de
transicin y la expresin lgica de las funciones f y g para el circuito secuencial de la figura.
Obsrvese que ahora hay realimentacin desde la salida y por consiguiente a la entrada se
calculan funciones de x(t) y Q(t) pero Q(t) procede de los valores de D en (t-t). Si el
biestable D se dispara a subidas dibujar la evolucin temporal de la seal en Q cuando en
la entrada x(t) y en el reloj Ck.

Conclusiones

El presente trabajo plante como objetivo primario el estudiar el lenguaje HDL


para describir algunas de sus arquitecturas. Como objetivo secundario se propuso
simular las descripciones realizadas modificando los parmetros de inters: ancho
de palabra y nmero de iteraciones, para determinar la exactitud que se obtiene
en los resultados. La simulacin se llev a cabo con el clculo de las funciones
seno, coseno y arcotangente. La conclusin a esta unidad es sobre el Lenguaje
HDL es que estos fueron diseados para arreglar muchos problemas como
errores al hacer los circuitos integrados estos nos sirven para poder corregir
errores antes de montar los circuitos y pues en esta unidad aprendimos algo sobre
el leguaje HDL .
Las simulaciones funcionales en VHDL se pueden llevar a cabo fcilmente
mediante la descripcin algortmica de los bancos de prueba. Si bien las
simulaciones exhaustivas llevan mucho tiempo, se pueden realizar de manera
sencilla, ya que las diferentes metodologas existentes para describir bancos de
prueba permiten generar gran cantidad de patrones de verificacin.

Referencias
http://sedici.unlp.edu.ar/bitstream/handle/10915/3835/Conclusiones.pdf?
sequence=8.
https://www.google.com.mx/search?q=introduccion+al+lenguaje+HDL&ie=UTF8&sa=Search&channel=
http://www.google.com.mx/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCUQFjAB&url=http%3A%2F
%2

Вам также может понравиться