Anda di halaman 1dari 10

UNIDAD 4 - LENGUAJES HDL 4.1.

DISPOSITIVOS LGICOS PROGRAMABLES Un Dispositivo Lgico Programable (PLD) es cualquier dispositivo lgico cuya funcin est especificada por el usuario, despus de fabricado el dispositivo. Se usan para remplazar lgica SSI y MSI, ahorrando as en costo y tiempo en el diseo. Entre ellos, encontramos: Arrays Lgicos Programables Un Array Lgico Programable (PLA), es un circuito PLD que puedeprogramarse para ejecutar una funcin compleja. Normalmente se utilizan paraimplementar lgica combinacional, pero algunos PLA pueden usarse paraimplementar diseos lgicos secuenciales. El PLA es una solucin con un solocircuito integrado a muchos problemas lgicos, que pueden tener muchasentradas y muchas salidas. Se trata de una solucin AND-OR de dos niveles combinacional que puedeprogramarse para realizar cualquier expansin lgica de suma de productos,sujeta a las limitaciones del producto. Estas limitaciones son el nmero deentradas (n), el nmero de salidas (m) y el nmero de trminos productos (p). Se puede describir como un PLA n x m con p trminos productos. Por tanto suutilidad est limitada a funciones que puedan expresarse en forma de suma deproductos usando p o menos trminos productos. Un caso especial de PLA es el de uno de los PLDs ms populares, el PAL(Lgica de ArrayProgramable). En este dispositivo solo es programable la partecorrespondiente a la AND, mientras que la OR es fija. Otros dispositivos lgicos programables de inters son: ROM, memoria de solo lectura PROM, memoria de solo lectura programable EPROM, memoria de solo lectura programable y borrable EEPROM, memoria de solo lectura programable y borrable electrnicamente RAM, memoria de acceso aleatorio SRAM, memoria de acceso aleatorio esttica DRAM, memoria de acceso aleatorio dinmica 4.1.1. TIPOS ASICS Desde los finales de la dcada de 1970, los equipos electrnicos digitales utilizan Circuitos Integrados (CI o CHIPS) de funcin lgica fija, realizados en pequea o mediana escala de integracin (SSI, MSI). Para la implementacin de aplicaciones muy complejas, que requieren de una gran cantidad de circuitos de funcin fija, por lo que resulta ms conveniente intgralos en un

solo dispositivo fabricado a la medida, los cuales son llamados: ASICS, ApplicationSpecificIntegratedCircuits. (Circuitos Integrados de Aplicacin Especifica o circuitos a la medida). Entre las ventajas que presenta el uso de los ASICs podemos mencionar que: Ahorran espacio, reducen el nmero de dispositivos, tienen menor costo, reducen el tiempo de ensamble, bajo consumo de potencia, menor calentamiento, facilidad en la verificacin (control de calidad) y mejor confiabilidad. Los ASIC se pueden clasificar por su tecnologa defabricacin en cuatro categoras: Arreglos de Compuertas,Celdas Estndar, Full Custom y Lgica Programable Clasificacin de los ASICS Las tecnologas de Arreglos de Compuertas, Celdas Estndar y Full Custom, estn encaminadas a la produccin industrial de alto volumen y requieren de equipo especializado para la fabricacin del ASIC. Por otro lado, con la Lgica Programable es posible disear e implementar funciones desde un solo circuito con el uso de solamente una computadora, un programador y software de Diseo Electrnico Asistido EDA (ElectronicDesignAssistant). PLD Un dispositivo de lgica programable (PLD) es un Circuito Integrado cuya estructura lgica final es directamente configurada por el usuario, sin necesidad de llevar a cabo ningn proceso de fabricacin. PeggyAycinena de la revista electrnica IntegratedSystemDesign asegura que los dispositivos lgicos programables son la ola del futuro porque presentan las siguientes caractersticas: 10,000 compuertas en 1 in2, entradas y salidas configurables reprogramables y programables remotamente para diferentes funciones. Los PLDs facilitan el proceso de diseo y reducen el tiempo de desarrollo, cuando se requieren prototipos o produccin de baja escala, pues todo el proceso se puede llevar a cabo con la ayuda de una computadora personal, programas de aplicacin y el programador los cuales actualmente estn disponibles a bajo costo. Los diferentes tipos de dispositivos de lgica programable que existen hoy en da pueden clasificarse por su tecnologa o su capacidad (Figura 2) tales como: Simplex Programmable Logic Device SPLDs. Complex Programmable Logic Device CPLDs. Field Programmable Gate Arraysevice FPGAs. Field Programmable Inter Connect FPICs. De la clasificacin anterior en este documento slo nos enfocaremos, como ejemplos a los Simplex ProgrammableLogicDeviceSPLDs. Los SPLDs estn constituidos por un arreglo de compuertas AND, seguido por otro

arreglo de compuertas OR, con uno o ambos arreglos programables. Algunos incluyen FlipFlops. Arreglo And Or de un SPLD. A su vez los SPLDs se pueden clasificar segn su estructura interna en: PAL ProgrammableArrayLogic, VANTIS. GAL Generic Array Logic, Lattice Semiconductor. PLA ProgrammableLogicArray. PLD

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. Programa de Captura Esquemtica. Los cuatro componentes bsicos de la captura esquemtica son: Smbolos, Conectores, Etiquetas y Puertos de Entrada y/o Salida. 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.

En el proceso de enlace se genera un archivo reporte con extensin .REP que nos indica, entre otras cosas, laasignacin de terminales (Pin Out) y el archivo JEDEC con el cual efectuaremos la programacin del circuito a travs de un programador.

Diagrama del proceso de diseo digital por medio de captura esquemtica.

La desventaja de la captura esquemtica es que en eldiseo de circuitos grandes no es posible comprenderlosdebido a que hay demasiados componentes einterconexiones en la pantalla, para esos casos esrecomendable el uso de lenguajes de descripcin dehardware.

4.2.2. POR TABLA DE VERDAD Para aclarar el proceso es necesario un ejemplo especfico, la tabla de verdad especifica 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 ediagrama 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 TABLA DE 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 salida F2 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 acrnimode Very High SpeedIntegratedCircuit y HDL es a su vez el acrnimo de Hardware DescriptionLanguage.

Es un lenguaje definido por el IEEE (Institute of Electrical and ElectronicsEngineers) (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 debloques, 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 principalmentepara programar PLD (Programable LogicDevice - Dispositivo Lgico Programable),FPGA (Field ProgrammableGateArray), ASIC y similares

Dentro del VHDL hay varias formas con las que podemos disear el mismo circuito y es tarea deldiseador elegir la ms apropiada.

* Funcional:
Describimos la forma en que se comporta el circuito. Esta es la forma que msse 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. * Flujo de datos: describe asignaciones concurrentes (en paralelo) de seales. * Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseo de jerarqua superior, al conectar los puertos de estas instancias con las seales internas del circuito, o con puertos del circuito de jerarqua superior. * Mixta: combinacin de todas o algunas de las anteriores. En VHDL tambin existen formas metdicas para el diseo de mquinas de estados, filtros digitales, bancos de pruebas etc. 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 losC.I. Comerciales (decodificadores, comparadores, sumadores, etc).Los PLDs pueden reemplazar circuitos integrados de propsito especifico 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 la 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 y gEDA , respectivamente. La principal caracterstica de ambos programas, es que pueden generar dibujos decircuitos de gran calidad, debido a la tecnologa utilizada en su implementacin: el lenguaje Postscript para la descripcin de diagramas. Sin embargo, se aprecia una ligera diferencia entre estas dos aplicaciones, locual podra ayudar a discriminar entre una y otra. Por una parte, el autor de gschem reconoce que XCircuit produce mejores salidas grcas; y por otra, gschem est ms orientado al diseo de circuitos que a dibujos de calidad en s, lo cual se aprecia en su funcionalidad. Lamentablemente, la desventaja de programas de este tipo, es el hecho de tener que enlazar explcitamente el ncleo de simulacin; lo cual incrementa la curva de aprendizaje de usuarios provenientes de ambientes ms amigables 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 unatabla 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 8 posiblescombinaciones. 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 ALGEBRA DE BOOLE. Por tanto, vamos a trabajar con unas ecuaciones a las que NO estamos acostumbrados. Son muy sencillas, pero al principio pueden resultar poco intuitivas. En este captulo aprenderemos a trabajar con ellas. Las operaciones del lgrebra de Boole En el lgebra de Boole hay dos operaciones, denotadas con los smbolos + y ( - ) _ pero que no tienen nada que ver con las operaciones que todos conocemos de suma y producto!!. No hay que confundirlas!!!!. El + y el _ del Algebra de Boole se aplican a bits, es decir, a nmeros que slo pueden ser el 0 el 1. La operacin + Esta operacin se define de la siguiente manera: 0+0=0 0+1=1 1+0=1 1+1=1 Las tres primeras operaciones nos resultan obvias, son iguales que la suma que conocemos, sin embargo la expresin 1 + 1 = 1 nos puede resultar chocante. Pero no me haban dicho toda la vida que 1+1=2??, nos podemos estar preguntando. S, pero hay que recordar que aqu estamos utilizando otra operacin que NO ES LA SUMA, la denotamos con el mismo smbolo +, pero no es una suma normal!! Hay que cambiar el chip!! Ahora estamos con Algebra de Boole!! 4.3.4. POR DESCRIPCIN DE COMPORTAMIENTO Descripcin VHDL de comportamiento.- Esta es quizs la etapa mas 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 de los 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. En esta etapa son importantes la eleccin del tipo de lgica a utilizar y la estrategia de reloj, esto se podr apreciar en el ejemplo que consiste en un circuito de control para un convertidor A/D de aproximaciones sucesivas. Comportamiento. En una especificacin de este tipo decimos cual es la funcin que cumple el sistema.

Anda mungkin juga menyukai