Está en la página 1de 13

Lenguaje VHDL

Arquitecturas ( Descripción por flujo de datos) Descripción por flujo de datos mediante ecuaciones booleanas Otra forma de describir el circuito comparador de dos bits es mediante la obtención de sus ecuaciones booleanas. En el listado se observa este desarrollo.

.Lenguaje VHDL Arquitecturas ( Descripción por flujo de datos) Descripción por flujo de datos mediante ecuaciones booleanas Describa mediante ecuaciones booleanas el circuito mostrado a continuación.

En la figura se encuentra un esquema del circuito comparador de igualdad de 2 bits. sumadores. . contadores. lógicos establecidos El usuario puede diseñar estas estructuras y guardarlas para su uso posterior o tomarlas de los paquetes contenidos en las librerías.Lenguaje VHDL Arquitecturas ( Descripción estructural) Basa su comportamiento en modelos (compuertas.). está formado por compuertas nor-exclusivas y una compuerta AND. etc.

Lenguaje VHDL Arquitecturas ( Descripción estructural) Cada compuerta (modelo lógico) se encuentra dentro del paquete gatespkg. ya que la función de entrada/salida es conocida. En el ejemplo se conoce la función de salida de las dos compuertas xnor. Este tipo de arquitecturas estándares se conoce como componentes. En VHDL esta conectividad se conoce como netlist o listado de componentes. es necesario la descomposición lógica del diseño en pequeños submódulos (jerarquizar). Para iniciar la programación de una entidad de manera estructural. que al interconectarse por medio de señales internas (xO. por lo que al unirlas a la compuerta and. los cuales permiten analizar de manera práctica el circuito. la salida c es el resultado de la operación and efectuada en el interior a través de las señales xO y xl. x l ) permiten proponer una solución. . del cual se toman para estructurar el diseño.

. Dividir el problema hace de la descripción estructural una forma sencilla de programar.Lenguaje VHDL Arquitecturas ( Descripción estructural) Una jerarquía en VHDL se refiere al procedimiento de dividir en bloques y no a que un bloque tenga mayor jerarquía (peso) que otro.

Lenguaje VHDL Arquitecturas ( Descripción estructural) Los componentes xnor y and no se declaran debido a que se encuentran en el paquete gatespkg. El algoritmo (11 a 13) describe la estructura así: cada compuerta es como un bloque lógico independiente (componente) del diseño original. (8) inicia la arquitectura estructural. . signal x (xO y xl). (7). las cuales se declaran dentro de la arquitectura y no en la entidad. debido a que no representan a una terminal (pin) y sólo se utilizan para conectar bloques de manera interna. la salida de cada uno de estos bloques se maneja como una señal (9). que se le asigna una variable temporal (U0. U1 y U2). dentro de la librería work.

. Realice el programa correspondiente en VHDL para el circuito mostrado en la figura utilizando descripción estructural.Lenguaje VHDL Arquitecturas ( Descripción estructural) Ejemplo.

un diseño puede describirse por medio de ecuaciones booleanas. es conveniente utilizar la descripción funcional.Lenguaje VHDL Arquitecturas ( Comparación entre los estilos de diseño) El estilo de diseño utilizado en la programación del circuito depende del diseñador y de la complejidad del proyecto. si se requiere diseñar un sistema cuyo funcionamiento dependa sólo de sus entradas y salidas. pero si es muy extenso quizá sea más apropiado emplear estructuras jerárquicas para dividirlo. la cual presenta la ventaja de requerir menos instrucciones y el diseñador no necesita un conocimiento previo de cada componente del circuito. ahora bien. Por ejemplo. .

En VHDL existen tres tipos de declaraciones concurrentes: • Declaraciones condicionales asignadas a una señal (when-else) • Declaraciones concurrentes asignadas a señales • Selección de una señal (with-select-when) . Esto se debe a que en una declaración concurrente no importa el orden en que se escriban las señales. Como se mencionó antes. ya que el resultado para determinada función sería el mismo. las declaraciones concurrentes se encuentran fuera de la declaración de un proceso y suelen usarse en las descripciones de flujo de datos y estructural.Lenguaje VHDL Diseño lógico combinacional mediante VHDL Programación de estructuras básicas mediante declaraciones concurrentes.

Lenguaje VHDL Diseño lógico combinacional mediante VHDL Declaraciones condicionales asignadas a una señal (whenelse). La declaración when-else se utiliza para asignar valores a una señal. consideremos la entidad mostrada en la figura. determinando así la ejecución de una condición propia del diseño. Para ejemplificar. . cuyo funcionamiento se define en la tabla de verdad.

Lenguaje VHDL Diseño lógico combinacional mediante VHDL Declaraciones condicionales asignadas a una señal (whenelse). La entidad se puede programar mediante declaraciones condicionales (when-else). debido a que este modelo permite definir paso a paso el comportamiento del sistema .

la condición de entrada "111". puede ejecutarse antes que la condición "000" sin alterar el resultado final. compuertas OR y compuertas AND. Nótese que la función de salida f (línea 10) depende directamente de las condiciones que presentan las variables de entrada. en VHDL la solución es directa utilizando la función lógica and. es decir. La ventaja de la programación en VHDL en comparación con el diseñológico puede intuirse considerando que la función de salida f mediante álgebra booleana se representa con: f = a’b’c’+a’bc+abc’+abc en el diseño convencional se utilizarían inversores. el resultado es el mismo. además y dado que la ejecución inicial de una u otra condición no afecta la lógica del programa. .Lenguaje VHDL Diseño lógico combinacional mediante VHDL Declaraciones condicionales asignadas a una señal (whenelse). visualizada en la tabla de verdad.

xor. or. nand. Las operaciones que se efectúen entre ellos (excepto not) deben realizarse con datos que tengan la misma longitud o palabra de bits. xnor y not. Al ser compilados los operadores lógicos presentan el siguiente orden y prioridad: 1) Expresiones entre paréntesis 2) Complementos 3) Función AND 4) Función OR Las operaciones xor y xnor son transparentes al compilador y las interpreta mediante la suma de productos correspondiente a su .Lenguaje VHDL Diseño lógico combinacional mediante VHDL Operadores lógicos Los operadores lógicos más utilizados son los operadores and.