Está en la página 1de 8

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
TTULO: DISEO DE LA SEMAFORIZACIN DIGITAL MEDIANTE LENGUAJE VHDL

AUTOR: EDSON TACANGA LAURO

CDIGO: 07190001

CURSO: DISEO DIGITAL

PROFESOR: ING. DARO UTRILLA

AO:

UNMSM

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

1. PLANTEAMIENTO, DELIMITACIN Y FORMULACIN DEL PROBLEMA El trfico en la mayora de los distritos de nuestra ciudad capital es muy pesado, produce estrs tanto para los conductores como para los peatones. Adems conforme pasan los aos el parque automotor aumenta y la poblacin tambin; esto crea la necesidad de implementar sistemas eficaces para un mejor ordenamiento urbano y una de las medidas prcticas es llevar a cabo proyectos innovadores como la semaforizacin digital de todo un distrito, ciudad o pas. En este proyecto mostramos el funcionamiento de la semaforizacin en un cruce de vas, pero simulada de tal manera que arroja resultados que se acercan a la realidad del funcionamiento del circuito digital implementado. Este proyecto ser diseado el lenguaje de programacin de descripcin de hardware llamado VHDL. Este programa nos permite ver los errores, por ejemplo, como de respuesta en cualquier sistema digital, haciendo de la simulacin lo ms cercana posible a la realidad. 2. OBJETIVOS a) OBJETIVO GENERAL Con este proyecto pretendo Simular la semaforizacin digital para un cruce de dos vas usando el lenguaje VHDL e implementando en un FPGA. b) OBJETIVOS ESPECFICOS Establecer las reglas del flujo real del trfico en un cruce de vas. Disear en VHDL el funcionamiento de dos semforos sincronizados con las reglas planteadas. Recopilar y analizar los resultados obtenidos para con nuestra simulacin. Implementar este circuito digital en un FPGA.

3. HIPTESIS Con el diseo del circuito y la posterior simulacin de la semaforizacin digital para el cruce de dos vas se mostrar el funcionamiento en tiempo real del mismo.

UNMSM

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

a) HIPTESIS ESPECFICAS El establecimiento de reglas influye directamente en el funcionamiento de la semaforizacin, por ello, este proceso debe ser ejecutado con sumo cuidado y de manera correcta. El lenguaje VHDL nos permitir observar el estado en tiempo real de la semaforizacin. El anlisis de los datos nos permitir observar la versatilidad de nuestra simulacin.

4. CDIGO DE VHDL

--DECLARACIN DE LA LIBRERA Y DE SUS PAQUETES library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;

--DECLARACIN DE LA ENTIDAD QUE VAMOS A UTILIZAR Y DE SUS PUERTOS DE ENTRADA Y SALIDA entity Semaforo is PORT (clk,pare: in std_logic; luces: out std_logic_vector(2 downto 0); display: out std_logic_vector(4 downto 0)); end Semaforo;

--DECLARACIN DE LA ARCHITECTURA DE LA ENTIDAD architecture Senalizacion of Semaforo is --DECLARACIN DE SEALES INTERNAS PARA EL CLOCK Y PARA EL CONTADOR signal nuevo_clk: std_logic:='0';

UNMSM

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

signal cuenta: std_logic_vector(4 downto 0):=(others=>'0'); --DECLARACIN DE LOS ESTADOS DEL SEMFORO type estados is (Q0,Q1,Q2); signal ep,es:estados; signal cuenta_display: std_logic_vector(4 downto 0):=(others=>'0'); begin --PROCESO DEL CLOCK PARA EL DIVISOR DE FRECUENCIA process(clk) variable contador: integer:=1; begin if(clk 'event and clk='1') then if(contador = 25000000) then nuevo_clk<=not nuevo_clk; contador:=1; else contador:=contador+1; end if; end if; end process;

--PROCESO REFERIDO A LA MQUINA DE ESTADOS DEL SEMFORO process(ep,pare,cuenta) begin case ep is when Q0 => if(pare='1') then

UNMSM

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

es <= Q1; else es <= Q0; end if;

when Q1 => if(cuenta="00101") then es <= Q2; else es <= Q1; end if;

when Q2 => if(cuenta="11001") then es <= Q0; else es <= Q2; end if; end case; end process;

--PROCESO DEL CONTADOR process(clk) begin if(clk 'event and clk='1') then case ep is

UNMSM

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

when Q0 => cuenta <= (others=>'0'); when Q1 => cuenta <= cuenta+1; when Q2 => cuenta <= cuenta+1; end case; end if; end process;

process(clk) begin if(clk 'event and clk='1') then ep <= es; end if; end process;

luces <= "001" when ep=Q0 else "010" when ep=Q1 else "100";

--PROCESO PARA LAS SEALES DE SALIDOA process(clk) begin if(clk 'event and clk='1') then if(ep=Q2 and (cuenta="10100")) then cuenta_display <= "00101"; elsif(ep=Q2 and (cuenta> "10100" and cuenta <= "11001")) then cuenta_display <= cuenta_display-1;

UNMSM

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

end if; end if; end process;

display <= cuenta_display; end Senalizacion;

5. SIMULACIN

UNMSM

Proyecto Final de Diseo Digital

Edson Tacanga Lauro

En esta simulacin podemos observar como las salidas luces y display cambian de estado debido al clock y a la entrada pare.

En esta otra simulacin debido a que la entrada pare se mantiene en cero luego del segundo clock, la salida display y la salida luces permanecen en el mismo estado.

UNMSM

También podría gustarte