UNIDAD 4 - LENGUAJES HDL 4.1.

DISPOSITIVOS LÓGICOS PROGRAMABLES Un Dispositivo Lógico Programable (PLD) es cualquier dispositivo lógico cuya función está especificada por el usuario, después de fabricado el dispositivo. Se usan para remplazar lógica SSI y MSI, ahorrando así en costo y tiempo en el diseño. Entre ellos, encontramos: Arrays Lógicos Programables Un Array Lógico Programable (PLA), es un circuito PLD que puedeprogramarse para ejecutar una función compleja. Normalmente se utilizan paraimplementar lógica combinacional, pero algunos PLA pueden usarse paraimplementar diseños lógicos secuenciales. El PLA es una solución con un solocircuito integrado a muchos problemas lógicos, que pueden tener muchasentradas y muchas salidas. Se trata de una solución AND-OR de dos niveles combinacional que puedeprogramarse para realizar cualquier expansión lógica de suma de productos,sujeta a las limitaciones del producto. Estas limitaciones son el número deentradas (n), el número de salidas (m) y el número de términos productos (p). Se puede describir como un “PLA n x m con p términos productos”. Por tanto suutilidad está limitada a funciones que puedan expresarse en forma de suma deproductos usando p o menos términos productos. Un caso especial de PLA es el de uno de los PLD’s más populares, el PAL(Lógica de ArrayProgramable). En este dispositivo solo es programable la partecorrespondiente a la AND, mientras que la OR es fija. Otros dispositivos lógicos programables de interés 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 electrónicamente · RAM, memoria de acceso aleatorio · SRAM, memoria de acceso aleatorio estática · DRAM, memoria de acceso aleatorio dinámica 4.1.1. TIPOS ASICS Desde los finales de la década de 1970, los equipos electrónicos digitales utilizan Circuitos Integrados (CI o CHIPS) de función lógica fija, realizados en pequeña o mediana escala de integración (SSI, MSI). Para la implementación de aplicaciones muy complejas, que requieren de una gran cantidad de circuitos de función fija, por lo que resulta más conveniente intégralos en un

están encaminadas a la producción industrial de alto volumen y requieren de equipo especializado para la fabricación del ASIC. cuando se requieren prototipos o producción de baja escala. con la Lógica Programable es posible diseñar e implementar funciones desde un solo circuito con el uso de solamente una computadora. pues todo el proceso se puede llevar a cabo con la ayuda de una computadora personal.solo dispositivo fabricado a la medida. Celdas Estándar y Full Custom. entradas y salidas configurables reprogramables y programables remotamente para diferentes funciones. sin necesidad de llevar a cabo ningún proceso de fabricación. menor calentamiento. reducen el número de dispositivos. Los diferentes tipos de dispositivos de lógica programable que existen hoy en día pueden clasificarse por su tecnología o su capacidad (Figura 2) tales como: • Simplex Programmable Logic Device SPLDs. reducen el tiempo de ensamble. los cuales son llamados: ASICS. como ejemplos a los Simplex ProgrammableLogicDeviceSPLDs. programas de aplicación y el programador los cuales actualmente están disponibles a bajo costo. un programador y software de Diseño Electrónico Asistido EDA (ElectronicDesignAssistant). Full Custom y Lógica Programable Clasificación de los ASICS Las tecnologías de Arreglos de Compuertas. PeggyAycinena de la revista electrónica IntegratedSystemDesign asegura que los dispositivos lógicos programables son la ola del futuro porque presentan las siguientes características: 10. Los ASIC se pueden clasificar por su tecnología defabricación en cuatro categorías: Arreglos de Compuertas. De la clasificación anterior en este documento sólo nos enfocaremos. seguido por otro . PLD Un dispositivo de lógica programable (PLD) es un Circuito Integrado cuya estructura lógica final es directamente configurada por el usuario.Celdas Estándar. • Complex Programmable Logic Device CPLDs. ApplicationSpecificIntegratedCircuits. tienen menor costo. facilidad en la verificación (control de calidad) y mejor confiabilidad. Los SPLDs están constituidos por un arreglo de compuertas AND.000 compuertas en 1 in2. • Field Programmable Gate Arraysevice FPGAs. Los PLDs facilitan el proceso de diseño y reducen el tiempo de desarrollo. (Circuitos Integrados de Aplicación Especifica o circuitos a la medida). Entre las ventajas que presenta el uso de los ASICs podemos mencionar que: Ahorran espacio. Por otro lado. • Field Programmable Inter Connect FPICs. bajo consumo de potencia.

en el se que representan a los diferentes componentes del circuito y solo se efectúan interconexiones entre ellos. de un circuito eléctrico. Existen varios programas con la aplicación de Captura Esquemática como el “Schematic” del IspStarter de Lattice Semiconductor o “Fundation” de XILINX entre otros.arreglo de compuertas OR.SCH. Arreglo And Or de un SPLD. Lattice Semiconductor. • PLA ProgrammableLogicArray. Algunos incluyen FlipFlops. Los cuatro componentes básicos de la captura esquemática son: Símbolos. con uno o ambos arreglos programables. Utilizando el programa IspStarter de Lattice Semiconductor. VANTIS. También es posible efectuar la simulación antes de . POR CAPTURA ESQUEMÁTICA Por Captura Esquemática se entiende el proceso de descripción. • PLD 4. el primer paso en el proceso de obtener el circuito es precisamente la captura esquemática en donde se genera un archivo de extensión . Conectores.1. • GAL Generic Array Logic. reduciendo así el ciclo de diseño y el tiempo de obtención de un producto. Esta técnica permite simular en la computadora el circuito virtualmente y verificar su funcionamiento antes de su fabricación o implementación en un PLD.2. posteriormente se pasa al proceso de enlace (link) en donde se valida si los componentes son permitidos en el dispositivo seleccionado. Etiquetas y Puertos de Entrada y/o Salida. mediante un dibujo. además si el dispositivo tiene la capacidad de integrar los elementos requeridos (FitDesign). A su vez los SPLDs se pueden clasificar según su estructura interna en: • PAL ProgrammableArrayLogic. Programa de Captura Esquemática.

entre otras cosas. El procedimiento implica los pasos siguientes: De la especificación del circuito. deduzca el número requerido de entradas y salidas. la tabla de verdad especifica un circuito combinacional con dos entradas y dos salidas. En el proceso de enlace se genera un archivo reporte con extensión . 4. laasignación de terminales (Pin Out) y el archivo JEDEC con el cual efectuaremos la programación del circuito a través de un programador.obtener el circuito final con la intención de asegurar que este cumpla con los requerimientos solicitados. Deduzca la tabla de verdad que define la relación requerida entre las entradas y las . POR TABLA DE VERDAD Para aclarar el proceso es necesario un ejemplo específico. asigne un símbolo a cada una. La desventaja de la captura esquemática es que en eldiseño 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 descripción dehardware. Diagrama del proceso de diseño digital por medio de captura esquemática.2.REP que nos indica. Las funciones de BOOLE pueden expresarse en suma de términos mínimos. | | El diseño de circuitos combinacionales parte la especificación del problema y culmina en un diagrama lógico de circuitos o un conjunto de funciones booleanas a partir de las cuales se puede obtener ediagrama lógico.2.

salidas. POR ECUACIONES BOOLEANAS Si se requiere reducir la función que realiza el circuito. Este proceso parte del diagrama lógico dado y culmina en un conjunto de funciones BOOLEANAS.3. Dibuje el diagrama lógico y verifique que el diseño sea correcto | | | | | | | |||| |||||| || |||||| | ||| | || | | | | |||| |||||| | ||| |||| |||||| || 4. El primer paso del análisis consiste en asegurarse del que el circuito dado sea . o bien utilizando un programa de simulación de computadora. El análisis se efectúa manual mente encontrando las funciones BOOLEANAS o la TABLA DE VERDAD. el problema de análisis se reduce a una verificación de la función planeada. Si el diagrama lógico analizar va acompañado de un nombre de función o de una explicación de lo que se supone que hace.2. una tabla de vedad o una posible explicación del funcionamiento del circuito. Obtenga las funciones booleanas simplificadas para cada salida en función de variables de entrada.

Las salidas de diversas compuertas que son función únicamente de variables de entrada son T1 y T2. pero éstos no son prácticos en diseños complejos.B y C y dos salidas binarias F1 y F2. es un circuito que tiene tres entradas binarias A.combinacional y no secuencial. Es un lenguaje definido por el IEEE (Institute of Electrical and ElectronicsEngineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas debloques. Otros lenguajes para el mismo propósito son Verilog y ABEL. El diagrama del circuito combinacional tiene compuertas lógicas sin trayectoria de retroalimentación ni elementos de memoria. Una trayectoria de retroalimentación es una conexión de salida de una compuerta a la entrada de una segunda compuerta que forma parte de la entrada a la primera compuerta. El análisis del circuito combinacional dela figura ilustra. .4. Las funciones BOOLEANAS de esta salida son: F2= AB+AC+BC F1= A+B+C T2= ABC 4. POR DESCRIPCIÓN DE COMPORTAMIENTO Lenguaje de Descripción de Hardware de alta escala de integración (VHDL) VHDL es el acrónimo que representa la combinación de VHSIC y HDL.2. donde VHSIC es el acrónimode Very High SpeedIntegratedCircuit y HDL es a su vez el acrónimo de Hardware DescriptionLanguage. La salida F2 se deduce fácilmente de las variables de entrada.

Los PLD´s pueden reemplazar circuitos integrados de propósito especifico en el diseño de circuitos digitales. Esta es la forma que másse parece a los lenguajes de software ya que la descripción es secuencial. * Estructural: se describe el circuito con instancias de componentes. Son las siglas de Programable Logic Designo dispositivos de lógica programable.FPGA (Field ProgrammableGateArray).000compuertas lógicas. Estas instancias forman un diseño de jerarquía superior.I. o con puertos del circuito de jerarquía superior.Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmentepara programar PLD (Programable LogicDevice . etc). Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. * Flujo de datos: describe asignaciones concurrentes (en paralelo) de señales. filtros digitales. * Funcional: Describimos la forma en que se comporta el circuito. ASIC y similares Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea deldiseñador elegir la más apropiada. sino también de la secuencia de entradas anteriores.Dispositivo Lógico Programable). sumadores. Comerciales (decodificadores.3. 4. Programación de circuitos secuenciales con HDL Los circuitos de conmutación secuenciales tienen la propiedad de que la salida no sólo depende de la entrada actual. comparadores. Estos circuitos integrados permiten generar dentro de las mismas funciones que no disponemos en losC. Un solo PLD es funcionalmente equivalente a dispositivos que tienen desde 5 hasta 10. Estos dispositivos están basados en transistores bipolares transistores especiales que . al conectar los puertos de estas instancias con las señales internas del circuito. En VHDL también existen formas metódicas para el diseño de máquinas de estados. * Mixta: combinación de todas o algunas de las anteriores. Los procesos son ejecutados en paralelo entre sí. bancos de pruebas etc. y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.

El número total de columnas en unatabla de verdad es la suma de las entradas que hay + 1 (la columna de la salida). Hay siempre una columna de salida (última columna a la derecha) que representa el resultado de todas las posibles combinaciones de las entradas. donde n es el número 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. se aprecia una ligera diferencia entre estas dos aplicaciones. pertenecientes a los grupos Open Circuit Design y gEDA . 4. El número de filas de la tabla de verdad es la cantidad de combinaciones que se pueden lograr con las entradas y es igual a 2n.2. Dentro de este grupo de programas. Por una parte. 4. y gschem 12.pero pueden volver a conducir aplicando una diferencia de potencial en el circuito. se encuentran: XCircuit 11.3. lo cual se aprecia en su funcionalidad. entonces habrán: 23= 8 combinaciones (8 filas) Un circuito con 3 interruptores de entrada (con estados binarios "0" o "1").3. Sin embargo. Siendo el resultado (la columna salida) determinado por el estado de los interruptores de entrada. La principal característica de ambos programas. el autor de gschem reconoce que XCircuit produce mejores salidas gráficas. debido a la tecnología utilizada en su implementación: el lenguaje Postscript para la descripción de diagramas. respectivamente. la desventaja de programas de este tipo. tendrá 8 posiblescombinaciones. que delegan al usuario la tarea de enlazar los archivos netlist generados con el núcleo de simulación. pero todas las tablas funcionan de igual forma.cuando se hace circular una fuerte corriente dejan de conducir . es que pueden generar dibujos decircuitos de gran calidad. Las tablas de verdad pueden tener muchas columnas. y por otra.1. es el hecho de tener que enlazar explícitamente el núcleo de simulación. lo cual incrementa la curva de aprendizaje de usuarios provenientes de ambientes más amigables 4. Lamentablemente. POR TABLA DE VERDAD La tabla de verdad es un instrumento utilizado para la simplificación de circuitos digitales a través de su ecuación booleana. los cuales satisfacen la sintaxis de algún núcleo de simulación en particular. locual podría ayudar a discriminar entre una y otra.3. gschem está más orientado al diseño de circuitos que a dibujos de calidad en sí.3. POR ECUACIONES BOOLEANAS . POR CAPTURA ESQUEMÁTICA Los programas de captura esquemática son aplicaciones creadas para esbozar circuitos electrónicos y exportar los esquemas como archivos netlist .

son iguales que la suma que conocemos. vamos a trabajar con unas ecuaciones a las que NO estamos acostumbrados. Por tanto. Veremos más adelante cómo con un conjunto de ecuaciones podemos describir lo que hace un circuito. Sí. Para describir un circuito digital utilizaremos ecuaciones matemáticas. ¿¿Pero no me habían dicho toda la vida que 1+1=2??. Son muy sencillas. denotadas con los símbolos + y ( . También se siguieron las . puesto que estos números vienen expresados en binario. definidas en el ALGEBRA DE BOOLE. POR DESCRIPCIÓN DE COMPORTAMIENTO Descripción VHDL de comportamiento. En este capítulo aprenderemos a trabajar con ellas. cuando ello es posible. ¡¡¡No hay que confundirlas!!!!.) _ pero que ¡¡no tienen nada que ver con las operaciones que todos conocemos de suma y producto!!. pero hay que recordar que aquí estamos utilizando otra operación que NO ES LA SUMA. en el cual se ha buscado también la aplicación de los criterios de jerarquía. La operación + Esta operación 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.Esta es quizás la etapa mas importante del diseño. Hemos dicho que los circuitos digitales trabajan con números. El + y el _ del Algebra de Boole se aplican a bits. modularidad y regularidad. sin embargo la expresión 1 + 1 = 1 nos puede resultar chocante. Estamos acostumbrados a trabajar con ellos desde pequeños. que transforma los números de la entrada y los saca por la salida.4. nos podemos estar preguntando. es decir. Sin embargo.. a números que sólo pueden ser el ’0’ ó el ’1’. la denotamos con el mismo símbolo ’+’. pero al principio pueden resultar poco intuitivas.Los Números Reales lo conocemos muy bien. las variables y números utilizados NO SON REALES. por eso este tipo de Ecuaciones nos parecen intuitivas y sencillas. Sin embargo. Para describir un circuito digital utilizaremos ecuaciones. aunque no comprendamos lo que significan las variables usadas. Para ello se trata de que todos los pasos de la secuencia sean iguales. Las operaciones del Álgrebra de Boole En el Álgebra de Boole hay dos operaciones. estas ecuaciones tienen variables y números que NO SON REALES. y que estos números se expresan en binario.3. ya que en ella se toman decisiones claves para el resultado final. Hay que utilizar nuevas operaciones y nuevas propiedades. El método se clarifica con un ejemplo. así como todas las operaciones definidas en él. por lo que NO podemos aplicar las mismas propiedades y operaciones que conocemos. ¡¡pero no es una suma normal!! ¡¡Hay que cambiar el “chip”!! ¡¡Ahora estamos con Algebra de Boole!! 4.

) Síntesis. En una especificación de este tipo decimos cual es la función que cumple el sistema. En esta etapa son importantes la elección del tipo de lógica a utilizar y la estrategia de reloj..Ya en la descripción inicial se halla presente la división del circuito en una parte de control y una parte de datos. esto se podrá apreciar en el ejemplo que consiste en un circuito de control para un convertidor A/D de aproximaciones sucesivas.recomendaciones de no usar lógica auxiliar en las señales de reloj (todos los cambios del sistema se producen sincronizados con la señal de reloj la cual es única para todos los Flip Flops. Comportamiento. . Por lo tanto la síntesis consistirá en pasar de la descripción de comportamiento a una descripción de estructura (y comportamiento) que contemple los requisitos expuestos.

Sign up to vote on this title
UsefulNot useful