Lab1

Páginas: 6 (1433 palabras) Publicado: 8 de octubre de 2015
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERÍA ELECTRÓNICA, ELÉCTRICA Y TELECOMUNICACIONES

Diseño Digital
Laboratorio

Problemas
Propuestos
Introducción a las herramientas de síntesis y uso del estilo
flujo de datos para el diseño e implementación en FPGA de
circuitos combinacionales

Informe Final N° 1 y 2 - 22/09/2015
Prof. A. Granados L.

Muñasqui Paredes Andres Onofrio07190081

LABORATORIO N° 1

PROBLEMAS PROPUESTOS
I. MULTIPLICADOR 4 BITS
Implemente un multiplicador de 4 bits por 4 bits
Considerando que la multiplicación de dos números binarios da un resultado de 8 bits, y
asumiendo números sin signo, el código se simplifica a lo siguiente:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity MULT4 isPort( A,B: in std_logic_vector(3 downto 0);
Z: out std_logic_vector(7 downto 0) );
end MULT4;
architecture Behavioral of MULT4 is
begin
Z <= A*B;
end Behavioral;
Para la simulación se usa una cuenta ascendente para A, y números diferentes para B. Cabe
resaltar que se emplea extracción de SNF funcional. La salida es correcta según la imagen:

II. COMPARADOR 4 BITS CON SIGNO
Implementar un comparadorde dos números de 4 bits (A y B) teniendo en cuenta el bit de signo
(bit de mayor peso de cada entrada). Las salidas debe indicar si A < B, A > B, A = B.
Tomaremos uso de la librería IEEE.STD_LOGIC_ARITH.ALL, que permitirá trabajar con los tipos
SIGNED y UNSIGNED. Las entradas de 4 bits A y B usarán el tipo de dato SIGNED:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity COMP is
Port( A,B: in signed(3 downto 0);
Z1, Z2, Z3: out std_logic);
end COMP;

LABORATORIO N° 1

PROBLEMAS PROPUESTOS
architecture Behavioral of
begin
Z1 <= '1' when
Z2 <= '1' when
Z3 <= '1' when
end Behavioral;

COMP is
A < B else '0';
A = B else '0';
A > B else '0';

La simulación puede traer confusión ya que, como se verá luego, al parecer MAX+plus II enla
ventana del Waveform Editor no interpreta los números negativos, pero si se pasa a binario y
usando el complemento a 2 se verifica que los resultados son correctos. En binario:

Con Z3 indicando A > B, se nota que cumple hasta el cambio a -1 y 0, donde Z1 (A final de la secuencia se agrega ceros para comprobar la igualdad, Z2 activado. De haberse activado
la vista en decimal,ningún número negativo se hubiera mostrado, confundiendo al mostrar que
7>8:

III. ALTA IMPEDANCIA
Implementar el siguiente circuito:

LABORATORIO N° 1

PROBLEMAS PROPUESTOS
Se debe considerar que estamos tratando con buffers triestado, y hay que expresar su alta
impedancia:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity TRI isPort( A,B,C: in std_logic;
Q0,Q1: out std_logic);
end TRI;
architecture Behavioral of TRI is
begin
Q0 <= A when C = '0' else 'Z';
Q1 <= B when C = '1' else 'Z';
end Behavioral;
Como se observa en la simulación, la salida de cada buffer es alternada según C:

Ya que no hay manera de juntar las dos salidas directamente (ERROR: Q has multiple sources),
como indica la web de Xilinx sobre estos casos, sepuede unir físicamente las patillas fuera del
chip. (Véase la bibliografía usada al final del informe).

IV. ALARMA
Implemente un circuito para activar una alarma cuando se tenga las siguientes condiciones:
 Sensor de corriente superior a 100 mA.
 Sensor de voltaje por debajo de 5 V e inferior de 100 mA.
 Sensor de potencia superior a 10 mW y por debajo de 5 V.
Considerando los sensores comovariables binarias, superior ‘1’ e inferior ‘0’, se tiene:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity ALARMA is
Port( SC,SV,SP: in std_logic;
ACT: out std_logic);

LABORATORIO N° 1

PROBLEMAS PROPUESTOS
end ALARMA;
architecture Behavioral of ALARMA is
begin
ACT <= '1' when ((SC='1') OR (SV='0' AND SC='0')
OR (SP='1' AND...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lab1
  • Lab1
  • Lab1
  • lab1
  • lab1
  • Lab1
  • Lab1
  • Lab1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS