Deber Vhdl 3
-
Upload
wilis-tace -
Category
Documents
-
view
329 -
download
15
description
Transcript of 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
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;
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;