Deber Vhdl 3

3
ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO FACULTAD DE INFORMÁTICA Y ELECTRÓNICA ESCUELA DE INGENIERÍA ELECTRÓNICA EN TELECOMUNICACIONES Y REDES “VHDL” ARQUITECTURAS Semestre: Noveno “A” Nombre: Welington Tapuy Código: 352 Profesor: Ing. Wilson Baldeón M.Sc. Riobamba – Ecuador 2015

description

Deber Vhdl 3

Transcript of Deber Vhdl 3

Page 1: Deber Vhdl 3

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO

FACULTAD DE INFORMÁTICA Y ELECTRÓNICA

ESCUELA DE INGENIERÍA ELECTRÓNICA EN

TELECOMUNICACIONES Y REDES

“VHDL”

ARQUITECTURAS

Semestre: Noveno “A”

Nombre: Welington Tapuy

Código: 352

Profesor: Ing. Wilson Baldeón M.Sc.

Riobamba – Ecuador

2015

Page 2: Deber Vhdl 3

VHDL Página 1

ARQUITECTURAS

Con un estilo funcional, programe en VHDL el funcionamiento del motor de un

ventilador en que el motor gire en un sentido al presionar el botón 'a' y en

dirección contraria al oprimir el botón b.

- - declaracion funcional motor

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity motor is port(

a,b: in STD_LOGIC;

c: out STD_LOGIC);

end motor;

architecture arq_motor of motor is

begin

mo_tor : process (a,b,c) begin

if (a = ´1´ and b=`0`) then c <= `ror`;

else if (a=`0`and b=`1`) c <= ´rol`;

end if;

end if;

end process

end arq_motor;

Con un estilo por flujo de datos, programe en VHDL el funcionamiento de un

panel en una fábrica de empaquetamiento de arroz. Este panel muestra el

contenido de 2 silos (a, b) que tiene la fábrica para guardar el arroz; un sensor

detecta cuán llenos están, cuando se encuentran al 100% de su capacidad, envía

un '1 lógico', y cuando tienen 25% o menos envía un '0 lógico'; si en uno de estos

silos disminuye el contenido a 25% o menos, se prende una luz (c), si los dos

sobrepasan ese límite se enciende otra luz (d) y suena una alarma (e).

- - declaracion funcional panel de arroz

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity panel_arroz is port(

a,b: in STD_LOGIC;

c,d,e: out STD_LOGIC);

end panel_arroz;

architecture arq_panel of panel_arroz is

begin

c <= `1` when (a= `1`and b=`0`and when a=`0`and b=`1`) else

c <=`0`;

d <= `1` when (a= `0`and b= `0`) else

d <= `0`;

e <= `1` when (a= `0`and b= `0`) else

e <= `0`;

end arq_panel;

Page 3: Deber Vhdl 3

VHDL Página 2

Mediante el estilo de programación por flujo de datos, programe en VHDL el

funcionamiento de un robot en una planta que espera a que se llene una tarima

con cuatro cajas antes de llevarla a la bodega de almacenamiento; para saber si la

tarima está llena cuenta con cuatro sensores, cada uno apunta a sendas cajas; si

hay una caja marca un '1 lógico'; si falta, marca un '0 lógico'. Si falta alguna caja

el robot no se puede ir, cuando están las cuatro cajas el robot se lleva la tarima.

- - declaracion funcional robot

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity robot1 is port(

a,b,c,d: in STD_LOGIC;

e: out STD_LOGIC);

end robot1;

architecture arq_robot1 of robot1 is

begin

e<= `1` when (a= `1`and b=`1`and c=`1`and b=`1`) else

c <= `0;

end arq_robot1;

Con el estilo de programación por flujo de datos, programe en VHDL el

funcionamiento de una caja de seguridad cuya apertura requiere la presión

simultánea de tres de cuatro botones.

- - declaracion funcional caja de seguridad

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity caja1 is port(

a,b,c,d: in STD_LOGIC;

e: out STD_LOGIC);

end caja1;

architecture caja1 of caja1 is

begin

e <= `1` when (a= `1`and b=`0`and c=`1`and b=`1`) else c <= `0;

end caja1;