You are on page 1of 5

El nivel de compuertas del circuito combinacional

1.1 INTRODUCCIN
VHDL significa "VHSIC (circuito de muy alta velocidad integrada) lenguaje de descripcin de hardware." La reunin fue patrocinada inicialmente por el Departamento de Defensa de EE.UU. y posteriormente trasladado la IEEE (Institute of Electrical and Electronics Engineers). El lenguaje esformalmente definido por el estndar IEEE 1076. La norma fue ratificada en 1987(en adelante, VHDL 87), y revisado varias veces. Este libro se ajusta fundamentalmente a la revisin en 1993 (en adelante, VHDL 93). VHDL est destinado a describir y modelar un sistema digital en varios niveles y es un lenguaje muy complejo. El enfoque de este libro es sobre el diseo de hardware en lugar de la lenguaje. En lugar de cubrir todos los aspectos de VHDL, se introduce la clave de la sntesis de las construcciones VHDL mediante el examen de una coleccin de ejemplos. Detallada cobertura de VHDL puede ser explorado a travs de las fuentes citadas en la bibliografa. En este captulo, se utiliza un comparador simple para ilustrar el esqueleto de un programa de VHDL. La descripcin slo utiliza operadores lgicos y representa un circuito de compuertas de nivel combinatorio, que se compone de puertas lgicas simples. En el captulo 3, cubrimos los operadores VHDL ms sofisticada y construye y examinar el nivel de mdulo circuitos combinacionales, que se componen de tamao intermedio, los componentes, tales como sumadores, comparadores y multiplexores.
Tabla 1.1 Tabla de verdad de un comparador de igualdad de 1-bit

.2 DESCRIPCIN GENERAL Considere la posibilidad de un comparador de igualdad de 1-bit con dos entradas, i0 y i1, y una salida, eq. La seal de la ecuacin se afirma cuando i0 y i1 son iguales. La tabla de verdad de este circuito se muestra en la Tabla 1.1.

Supongamos que queremos utilizar puertas bsicas lgica, que incluyen, y, o, not, para implementar el circuito xor. Una forma de describir el circuito es utilizar un formato de suma de productos. La expresin lgica es eq = i0. I1+ i0.i1
Un cdigo posible correspondientes VHDL se muestra del listado 1.1. Se examinan las construcciones del lenguaje y las declaraciones de este cdigo en las siguientes subsecciones. Listado 1.1 Puerta de la implementacin a nivel de un comparador de 1 bit

library ieee; use ieee.std_logic_1164.all; entity eq1 is port ( i0, i1: in std_logic; eq: out std-logic ); end eq1; architecture sop-arch of eq1 is signal po, p1: std_logic; -- sum of two product terms Begin -- sum of two product terms eq <= p0 or p1; -- product terms p0 <= (not i0) and (not i1); p1 <= i0 and i1; end sop_arch ;
1.2.1 Reglas lxicas bsicas VHDL es insensible a maysculas, lo que significa que las letras maysculas y minsculas se pueden utilizar indistintamente, y formato libre, lo que significa que los

espacios y lneas en blanco se pueden insertar libremente. Es una buena prctica agregar espacios adecuados para que el cdigo claro y para asociar un significado especial con los casos. En este libro, nos reservamos las letras maysculas para las constantes. Un identificador es el nombre de un objeto y se compone de 26 letras, dgitos y el guin(_), como en i0, i1, y de datos bus1 _enable. El identificador debe comenzar con una letra. Los comentarios comienzan con -- y el texto se ignora. En este libro, el VHDL palabras clave se muestran en negrita, como en la entidad, y los comentarios se muestran en el tipo de letra cursiva, como en --this is a comment 1.2.2 Biblioteca y paquete Las dos primeras lneas, library ieee; use ieee. std-logic-1164, all ; invoca la std-lgica-1164 del paquete de la biblioteca de la IEEE. El paquete de la biblioteca nos permite aadir otros tipos, operadores, funciones, etc VHDL. Las dos declaraciones son necesarias porque el tipo de datos especial se utiliza en el cdigo. 1.2.3 Declaracin de Entidad La declaracin de la entidad entity eq1 is port ( i0, i1: in std_logic; eq: out std_logic ); end eq1; Bsicamente describe las seales de E / S del circuito. La primera lnea indica que el nombre del circuito es eq1, y la seccin de puerto especifica las seales de E / S. El formato bsico de una declaracin de puerto E / S es seal nombre1, seal nombre2, ... : Modo tipos de datos; El trmino modo puede ser entrada o salida, lo que indica que el flujo de las seales correspondientes "entrada " o "de salida" del circuito. Tambin puede ser entrada _salida, para las seales bidireccionales.

1.2.4 Tipo de datos y operadores VHDL es un lenguaje fuertemente tipado, lo que significa que un objeto debe tener

un tipo de datos y slo los valores definidos y las operaciones se pueden aplicar al objeto. A pesar de VHDL es rica en tipos de datos, la discusin se limita a un pequeo conjunto de tipos predefinidos que son adecuados para la sntesis, principalmente el tipo estndar de lgica y sus variantes. std-logic type. El tipo estndar de lgica se define en el std_logic_1164 paquete y consta de nueve valores. Tres de los valores, '0', '1', y 'Z', que representan a 0 lgico, lgica 1, y de alta impedancia, pueden ser sintetizadas. Dos valores, 'U' y 'X', que significan "sin inicializar" y "desconocido" (por ejemplo, cuando las seales con "0" y "1" los valores estn vinculados entre s), se pueden encontrar en la simulacin. Los otros cuatro valores, '-', 'H', 'L' y 'W', no se utilizan en este libro. Una seal en un circuito digital a menudo contiene varios bits. El std_logic_vector es un tipo de datos, que se define como una matriz con elementos de stdlgica, se puede utilizar para este propsito. Por ejemplo, sea a un puerto de entrada de 8 bits. Se puede declarar como
a: in std_logic_vector (7 downto 0) ; Podemos usar el trmino como una (7 downto 4) para especificar un rango deseado y el trmino como un (1) para acceder a un solo elemento de la matriz. La matriz tambin se puede declarar en orden ascendente: a: in std_logic_vector(0 to 7); Por lo general, evitar este formato ya que es ms natural asociar la MSB con la posicin ms a la izquierda Operadores lgicos varios operadores lgicos, como not, and, or y xor, se define por std_logic_vector y std_logic data type. Bit a bit operacin se utiliza cuando un operador se aplica a un objeto con el tipo estndar de lgica-vector de datos. Tenga en cuenta que la AND, OR, XOR y los operadores tienen la misma prioridad y tenemos que usar parntesis para especificar el orden deseado de la evaluacin, como en (a and b) or (c and d) 1.2.5 Cuerpo de la Arquitectura El cuerpo de la arquitectura, architecture sop_arch of eq1 is signal P0, p1: std_logic; begin

-- sum of two product terms

eq <= P0 or p1; -- product terms P0 <= (not i0) and (not i1); P1 <= i0 and i1; end sop_arch ; describe el funcionamiento del circuito VHDL permite mltiples organismos asociados a una entidad, por lo que el cuerpo es identificado por el nombre sop_arch ("suma de los productos de la arquitectura"). El cuerpo de la arquitectura puede incluir una seccin de declaracin opcional, que especifica las constantes, las seales internas, y as sucesivamente. Dos seales internas se declaran en este programa: signal p0, p1: std_logic; La descripcin principal, que abarca entre el comienzo y final, contiene tres sentencias concurrentes. A diferencia de un programa en lenguaje C, en el que las sentencias se ejecutan de forma secuencial, las declaraciones concurrentes son como partes de circuitos que operan en paralelo. La seal en el lado izquierdo de una sentencia puede ser considerada como el resultado de esa parte, y la expresin especifica la funcin de circuitos y seales de entrada correspondiente. Por ejemplo, considere la declaracin eq <= p0 or p1; Es un circuito que realiza la operacin or. Cuando p0 o p1 cambia su valor, esta declaracin se activa y se evala la expresin. El nuevo valor se asigna a la ecuacin despus de que el retardo de propagacin se realice por defecto.

You might also like