Clases: Noviembre parte 2

 




Clase: 10 de Noviembre de 2020

Se realizo el siguiente ejercicio de maquinas de estado.





Clase: 11 de Noviembre de 2020

Se realizo el ejercicio del semáforo en clase 

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity semaforo_clase is
    Port ( CLK : in  STD_LOGIC;
           rst : in  STD_LOGIC;
           lights  : out  STD_LOGIC_VECTOR (5 downto 0));
end semaforo_clase;

architecture Behavioral of semaforo_clase is
  constant t_span : integer := 1000;
  signal counter  : integer range 0 to t_span+1:=0;
  signal flag     : std_logic := '0';
  signal lights_dummy    : std_logic_vector(5 downto 0);
  type state is (E1, E2, E3, E4);
  signal curs_s, nt_s : state:= E1;
begin
--temporizador 
process (CLK)
 begin 
     if (rising_edge(CLK)) then 
     counter <= counter+1; 
  flag <= '0'; 
  if counter = t_span then 
  counter <= 0;
  flag <= '1';
  end if;
end if;
end process;

--logica del estado siguiente
process (rst,CLK) 
begin 
 if (rst = '1') then 
     curs_s <= E1;
 elsif rising_edge(CLK) then 
     curs_s <= nt_s;
  end if;
end process; 

--Maquina de estado
state_machine: process (curs_s, nt_s, flag)
 begin 
 
 case curs_s is 
   when E1 => 
  if flag = '1' then 
     nt_s <= E2;
  lights_dummy <= "010100";
else
  nt_s <= E1;
  lights_dummy <= "001100";
end if;
   when E2 => 
  if flag = '1' then 
     nt_s <= E3;
  lights_dummy <= "100001";
  else 
      nt_s <= E2;
lights_dummy <= "010100";
    end if;
 
when E3 =>
    if flag = '1' then
    nt_s <= E4;
lights_dummy <= "100010";
else 
    nt_s <= E3;
lights_dummy <= "100001";
end if; 
  when E4 =>
     if flag = '1' then 
     nt_s <= E1;
  lights_dummy <= "001100";
  else 
     nt_s <= E4;
  lights_dummy <= "100010";
  end if;
  
  when others => 
  
     end case;
 end process;

end Behavioral;

Clase: 24 de Noviembre de 2020


En la clase presentada se vio un sumador con acumulador 




Máquina de estados 

Ejemplo 1:


Multiplicador binario 
Ejemplo en VHDL



Clase: 25 de Noviembre de 2020

Se realizo el siguiente ejercicio:








Clase: 24 de Noviembre de 2020

Se realizo el siguiente ejercicio:













--


-----------











Comentarios

Entradas populares de este blog

Llenado de tanque en VHDL

Práctica LCD

Practica LCD con RS232