Ejercicios Resueltos VHDL2006

July 18, 2017 | Author: elfrich | Category: Vhdl, Logic Gate, Digital Electronics, Logic, Electrical Engineering
Share Embed Donate


Short Description

Download Ejercicios Resueltos VHDL2006...

Description

INGENIERO TÉCNICO DE TELECOMUNICACIÓN. ESPECIALIDAD TELEMÁTICA.

DISEÑO DE SISTEMAS ELECTRÓNICOS. EJERCICIOS RESUELTOS DE VHDL.

Dpto de Tecnología Electrónica

Problema 1. Concurrencia. Construya el listado VHDL que describa el circuito “Cero” de la figura adjunta, sabiendo que presenta el comportamiento descrito en la tabla de verdad que la acompaña. x 0 0 0 0 1 1 1 1 x 0 0

x y

CERO

H

z

y 0 0 1 1 0 0 1 1 y 0 0

z 0 1 0 1 0 1 0 1 z 0 1

-- Solución 1: Generación de la tabla de verdad.

-- Solución 2: Minimizando (Ecuaciones lógicas)

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

ENTITY Cero IS PORT ( sX, sY, sZ: IN std_logic; sH: OUT std_logic); END Cero;

ENTITY Cero IS PORT ( sX, sY, sZ: IN std_logic; sH: OUT std_logic); END Cero;

ARCHITECTURE CeroArch OF Cero IS BEGIN sH sF2 ); -- Se actualizan las funciones de salida -- (Almacenadas en las señales auxiliares). sF1sB, sOut=>sX1 );

·4·

Problema 4 Uso de configuraciones (II). Escriba la descripción VHDL estructural (metodología de instanciación) del circuito de la figura adjunta:

BEGIN sOut sU, sIn2=>sV, sOut=>sX2 ); FD_1: FlipFlopD PORT MAP(sD=>sX2, CLK=>CLK_C, sQ=>sX3 );

COMPONENT FlipFlopD IS PORT (sD, CLK: IN std_logic; sQ: OUT std_logic ); END COMPONENT;

G3: Puerta2 PORT MAP(sIn1=>sX2, sIn2=>sX3, sOut=>sS ); END CircuitoArch;

--Declaración de variables auxiliares. SIGNAL sX1, sX2, sX3: std_logic;

·6·

Problema 5. Control de vagoneta. Se pretende diseñar un circuito de control de la vagoneta esquematizada en la figura adjunta; el cual se debe comportar de la siguiente manera: s Mientras no se pulse el pulsador (P), la vagoneta se encontrará parada en el punto A. s Al activar el pulsador (P), independientemente de que se vuelva a pulsar P, la vagoneta se dirigirá hacia el punto B y, una vez que haya llegado, automáticamente regresará al punto A. s De nuevo en el punto A, si pulsamos P se repetirá el ciclo y si no se pulsa la vagoneta se para. Se sabe además que: s La detección de la posición de la vagoneta se lleva a cabo mediante dos sensores (SA y SB) colocados en los puntos A y B respectivamente, los cuales toman el valor lógico ‘1’ al detectar la presencia de la vagoneta y el de ‘0’ en caso contrario. s El sentido del movimiento de la vagoneta se controla mediante la combinación de dos señales digitales (I, D) atendiendo a las siguientes combinaciones: I 0 0 1 1

D 0 1 0 1

Acción Motor parado Mover Derecha Mover Izquierda No Valido

P

SB

SA A

B

·7·

a) Descripción de la interfaz: • Entradas: Tres entradas asociadas a los sensores de detección (SA y SB) y al pulsador (P) más una señal de reloj (CLK) y otra de inicialización (ResetH), asociadas a la parte secuencial. • Salidas: Dos (I y D), encargadas de controlar el sentido del movimiento.

SA SB

I

MÁQUINA DE ESTADOS

P CLK

D

ResetH

b) Diagrama de estados inicial

P SA SB / I D E Notación Mealy

Equivalentes

·8·

P SA SB / I D

c) Diagrama de estados final

E Notación Mealy

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ControlVagoneta IS PORT ( sA, sB, sP: IN std_logic; --Señal de entrada. CLK: IN std_logic; --Señal de reloj. sResetH: IN std_logic; --Señal de inicialización sI, sD: OUT std_logic); --Salida END ControlVagoneta; ARCHITECTURE ControlVagonetaArch OF ControlVagoneta IS --Declaración del tipo asociado a los estados. TYPE TipoEstados IS (IZQUIERDA, DERECHA); --Señales auxiliares para la codificación del --estado actual y siguiente. SIGNAL tEstadoActual, tEstadoSiguiente: TipoEstados; BEGIN -- Proceso dedicado a la lógica de estado: LOGICA_ESTADO: PROCESS(tEstadoActual, sEntrada) BEGIN CASE (tEstadoActual) IS WHEN IZQUIERDA => IF (sP = ‘1’ and sA = ‘1’ and sB=’0’) THEN tEstadoSiguiente
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF