Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Actividad3 DigII

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Universidad Surcolombiana – Actividad #3.

“Máquinas de estado y sus aplicaciones”

PRACTICAL ACTIVITY #3, STATE MACHINES AND


APPLICATIONS.
Faculty of Engineering, Electronic Engineering.

Eng. Johan Julián Molina

Mon. Juan Diego Coronado

Juan Camilo Trujillo Leiva 20211199220 – u20211199220@usco.edu.co

Leidy Johana Casas Vanegas 20211198957 – u20211198957@usco.edu.co

09 de marzo – 2023

Resumen - La siguiente práctica tiene como objetivo profundizar en el conocimiento, análisis e interpretación del
funcionamiento de las máquinas de estado, incluyendo sus diversos tipos y funciones. Para lograrlo, se emplearán ejercicios
cotidianos que permitirán el uso de tablas de verdad, circuitos esquemáticos y ecuaciones para explicar la funcionalidad de
dichas máquinas. Además, se hará uso del software QUARTUS II para la simulación de los ejercicios propuestos.

Abstract - The following practice aims to deepen the knowledge, analysis and interpretation of the operation of state machines,
including their various types and functions. To achieve this, daily exercises will be used that will allow the use of truth tables,
schematic circuits and equations to explain the functionality of these machines. In addition, the QUARTUS II software will be
used to simulate the proposed exercises.

DESARROLLO
En primer lugar, se realizó una introducción a las máquinas de estado, con el objetivo de brindar una comprensión
básica sobre su estructura y funcionamiento. Durante esta introducción, se discutieron los diferentes tipos de
máquinas de estado, así como su algoritmo y proceso de construcción a partir de un problema determinado.
Posteriormente, se profundizó en el estudio de los flip-flops tipo D, los cuales son elementos clave para el
almacenamiento de datos en cada estado del sistema. Se examinó su arquitectura y su funcionamiento, con el fin de
comprender cómo se utilizan estos componentes en el diseño de una máquina de estado.
Una vez que se obtuvo una comprensión previa de los conceptos, se procedió a analizar y observar el ejercicio
propuesto en detalle. Durante este proceso, se evaluaron los requisitos del problema y se estudiaron las diferentes
soluciones posibles.
Universidad Surcolombiana – Actividad #3. “Máquinas de estado y sus aplicaciones”

Ilustración 1. Problema “Estados _carrito_”

Paso 1: DIAGRAMA DE ESTADOS

Paso 2: TABLA LOGICA DE VERDAD

Q (t ) ¿ Q ( t+1 ) OUT

Qa Qb SL SR Qa Qb LM RM Da Db

0 0 0 0 0 0 1 1 0 0
0 0 0 1 0 1 0 1 0 1
0 0 1 0 1 0 1 0 1 0
0 0 1 1 0 1 0 1 0 1
0 1 0 0 0 0 1 1 0 1
0 1 0 1 0 1 0 1 0 0
0 1 1 0 1 0 1 0 1 1
0 1 1 1 0 1 0 1 0 0
1 0 0 0 0 0 1 1 1 0
1 0 0 1 0 1 0 1 1 1
1 0 1 0 1 0 1 0 0 0
1 0 1 1 0 1 0 1 1 1
1 1 0 0 X X X X X X
Universidad Surcolombiana – Actividad #3. “Máquinas de estado y sus aplicaciones”

Paso 3: ECUACIONES LOGICAS Y KARNAUGHT

LM

M =( Qa∗SR ) + ( Qb∗SR )
RM

M =( SL+Qa+ SR ) ( SL∗SR∗Qs)
Da

Da=( Qa∗SL∗SR ) +(Qa∗Qb∗SL)+(Qa∗Qb∗SR)


Simplificando…

Da=Qa∗Qb ( SL+ SR ) +Qa∗SL∗SR

Db
Universidad Surcolombiana – Actividad #3. “Máquinas de estado y sus aplicaciones”

Db=( Qb∗SR ) +(Qa∗Qb∗SR)

Paso 4: CODIGO QUARTUS II

library ieee; control_MR <= '0';


use ieee.std_logic_1164.all; estado_actual <= S2;
elsif SL = '1' and SR = '1' then
entity carrito is control_ML <= '0';
port ( control_MR <= '1';
SL : in std_logic; estado_actual <= S1;
SR: in std_logic; end if;
ML : out std_logic;
MR : out std_logic); -- Estado S1 01
end carrito; when S1 =>
if SL = '0' and SR = '0' then
architecture movimiento of carrito is control_ML <= '1';
-- Definir los tipos enumerados para los estados control_MR <= '1';
type estado is (S0, S1, S2); estado_actual <= S0;
-- Declarar la señal para el estado actual elsif SL = '0' and SR = '1' then
signal estado_actual : estado := S0; control_ML <= '0';
-- Declarar las señales para las salidas de control control_MR <= '1';
signal control_ML : std_logic := '1'; estado_actual <= S1;
signal control_MR : std_logic := '1'; elsif SL = '1' and SR = '0' then
begin control_ML <= '1';
-- Combinational Process control_MR <= '0';
combinatorial : process (SL, SR, estado_actual) estado_actual <= S2;
begin elsif SL = '1' and SR = '1' then
case estado_actual is control_ML <= '0';
-- Estado S0 00 control_MR <= '1';
when S0 => estado_actual <= S1;
if SL = '0' and SR = '0' then end if;
control_ML <= '1';
control_MR <= '1'; -- Estado S2 10
estado_actual <= S0; when S2 =>
elsif SL = '0' and SR = '1' then if SL = '0' and SR = '0' then
control_ML <= '0'; control_ML <= '1';
control_MR <= '1'; control_MR <= '1';
estado_actual <= S1; estado_actual <= S0;
elsif SL = '1' and SR = '0' then elsif SL = '0' and SR = '1' then
control_ML <= '1'; control_ML <= '0';
Universidad Surcolombiana – Actividad #3. “Máquinas de estado y sus aplicaciones”

control_MR <= '1'; case estado_actual is


estado_actual <= S1; when S0 =>
elsif SL = '1' and SR = '0' then ML <= control_ML;
control_ML <= '1'; MR <= control_MR;
control_MR <= '0';
estado_actual <= S2; when S1 =>
elsif SL = '1' and SR = '1' then ML <= control_ML;
control_ML <= '0'; MR <= control_MR;
control_MR <= '1';
estado_actual <= S1; when S2 =>
end if; ML <= control_ML;
MR <= control_MR;
end case;
end process combinatorial; end case;
end process flip_flop;
-- Sequential Process
flip_flop : process (estado_actual) end movimiento;
begin

Paso 5: CIRCUITO LOGICO

También podría gustarte