Vous êtes sur la page 1sur 16

Instituto Tecnolgico de Oaxaca

Diseo Digital con VHDL Ingeniera Electrnica 11:00 AM-12:00 AM Ejercicios para el examen de la primera unidad Ing. Leticia Callejas ALUMNO Martinez Gomez Luis Angel

EJERCICIOS CAPITULO I
1.1- Qu significa monolitico? El termino monolitico se deriva de las raices griegas mono y lithos que significan uno y piedra respestivamente 1.2- Cul es el siginificado de las siglas ASIC? Circuitos integrados desarrollados para aplicaciones especificas 1.3- Cules son las categorias de tecnologias de fabricacion de los CI? Diseo totalmente a la medida (full custom), matrices de puertas predifundidas ( semi custom / gate arrays), celdas estandares precaracterizadas (semi custom / standard cells), logica programable ( CPLD y FPGA) 1.4- Describa en que consiste el diseo Full Custom Consiste en desarrollar un circuito para una aplicacin especfica mediante la integracin de transistor por transistor. 1.5- Mencione las caracteristicas mas relevantes del diseo Full Custom Tiene total libertad de diseo, pero requiere de todas las etapas del proceso de fabricacion, los riesgos y costos son muy elevados 1.6- Cul es el significado de las siglas PLD? Dispositivos Logicos Programables 1.7- Qu tienen en comun los dispositivos PROM, PLA, PAL, GAL y los CPLD Y FPGA? Que todos son dispositivos logicos programables 1.8- Qu es OLMC? son Macroceldas logicas de salida estan formadas por circuito logicos que se pueden programar como logica combinacional o secuencial
Pgina 2

1.9- Cul es el significado de las siglas CPLD y FPGA? CPLD(Dispositivos Logicos Programables Complejos) y FPGA (Arreglo de Compuertas Programables en Campo) 1.10- Describa como se encuentra estructurado un CPLD La estructra basica de un CPLD contiene multiples bloques logicos conectaods por medio de seales canalizadas desde la interconexion programable (PI). La unida PI se encarga de interconectar los bloque logicos y los bloques de entrada/salida del dispositivo sobre las redes apropiadas 1.11- Describa la estructura de un FPGA en terminos generales Un FPGA esta formado por arreglo de bloques logicos configurables (CLB) que se comunican entre ellos y con las terminales de entrada/salida (E/S) por medio de alambrados llamados canales de comunicacion 1.12- Que es un compilador logico? Es el programa en el que se procesa y sintetiza el diseo logico que se va a introducir en un PLD mediante un diseo asistido por computadora 1.13- Cul es el significado de las siglas VHDL? Lenguaje de descripcion de hardware de circuitos integrados de muy alta velocidad 1.14- qu significado tienen las siglas VHSIC? Circuitos integrados de muy alta velocidad 1.15- Describa tres ventajas de la programacion en VHDL NOTACION FORMAL: los circuitos integrados VHDL cuentan con una notacion que permite el uso en cualquier diseo electronico DISPONIBILIDAD PUBLICA: VHDL es un estandar no sometido a patente o marca registrada alguna por lo que
Pgina 3

cualquier empresa o instituto puede utilizarla sin restricciones. Ademas, dado que el IEEE lo mantiene y documente existe la disponibilidad de estabilidad y soporte INDEPENDENCIA TECNOLOGICA DE DISEO: VHDL se diseo para soportar diversas tecnologias de diseo (PLD, FPGA, ASIC, etc). Con distinta funcionalidad, a fin de satisfacer las distintas necesidades de diseo 1.16- Cules son las compaias mas importantes en la fabricacion de dispositvos logicos programables? Xilinx, Motorola, Clear Logic, Cypress Semiconductor y Altera Corporation

EJERCICIOS CAPITULO 2
UNIDADES BASICAS DE DISEO
2.1- Describa los cinco de tipo de unidades de diseo en VHDL La declaracion de la entidad (entity declaration), arquitectura (architecture), configuracion (configuration), declaracion del paquete (package declaration) y cuerpo del paquete (package body)

2.2- Determine cuales son las unidades de diseo necesarias para realizar un programa en VHDL La entidad y la arquitectura estruturacion de un programa son indispensables en la

2.3- Mencione las unidades de diseo primarias y secundarias Las declaraciones de entidad, paquete y configuracion se consideran primarias minetras que la arquitectura y el cuerpo del paquete se consideran secundarias

Pgina 4

DECLARACION DE ENTIDADES
2.4- Describa el significado de una entidad y cual es su palabra reservada Una entidad es el bloque elemental del diseo en VHDL, las enitdades son todos los elementos electronicos(sumadores, compuertas, flip flops, memorias, etc) que forman de manera indivual o en conjunto un sistema digital Su palabra reservada es entity 2.5- En la siguiente declaracion de entidad indique:

a) El nombre de la entidad seleccion b) Los puertos de entrada x con un vector de 0 a 3 c) Los puerto de salida Es f d) El tipo de dato Std_logic (estandar logico)

Pgina 5

2.6- Seale cual de los siguientes indicadores son correctos o incorrectos, colocando en la lines de respuesta la letra C o I respectivamente

1logico

desp_laza C N_ivel I c I

con_control C pagina C registro C 2suma I

Architecture S_uma# Res__ta I

2.7- Declare la entidad para la compuerta AND de ejercicio 2.7:

library IEEE; use IEEE.STD_LOGIC_1164.all; entity gate_and is port( a,b: in STD_LOGIC; c: out STD_LOGIC); end gate_and;

Pgina 6

2.8.- Declare la entidad para el siguiente circuito

library IEEE; use IEEE.STD_LOGIC_1164.all; entity DEMO_1 is port( a,b: in STD_LOGIC; demo: out STD_LOGIC); end demo_1; 2.9- Declare la entidad para el circuito que se muestra en la figura. Utilice vectores

library IEEE; use IEEE.STD_LOGIC_1164.all; entity promedio1 is port( a,b: in STD_LOGIC_VECTOR(2 downto 0); c: out STD_LOGIC_VECTOR(2 downto 0)); end promedio1;

Pgina 7

2.10- Declare la entidad para el siguiente circuito que utiliza vectores

library IEEE; use IEEE.STD_LOGIC_1164.all; entity circuito1 is port( a,b: in STD_LOGIC_VECTOR(0 downto 3); c: out STD_LOGIC_VECTOR(0 downto 3)); end circuito1; 2.11- Describa que es una librera en VHDL es un lugar al que se tiene acceso para utilizar la unidades de diseo predeterminadas por el fabricante de la herramienta (paquete) y su funcion es agilizar el diseo 2.12- Indique el significado de la siguiente expresion use ieee.std_logic_1164.all; ieee es la libreria, std_logic_1164 es el paquete y la palabra reservada es all que indica que se pueden usar todos los componentes almacenados en el paquete

Pgina 8

2.13- Declare la entidad del cirucuito multiplexor de 4:1 utilizando la librera use ieee.std_logic_1164.all;

library IEEE; use IEEE.STD_LOGIC_1164.all; entity mux41 is port( E: in STD_LOGIC_VECTOR(0 downto 3); S: in STD_LOGIC_VECTOR (0 downto 1); F: out STD_LOGIC); end circuito1;

2.14- Declare la entidad del multiplexor mostrado en la figura del ejercicio 2.13, si cada entrada esta formada por un vector de 4 bits library IEEE; use IEEE.STD_LOGIC_1164.all; entity mux41 is port(

Pgina 9

E(0): in STD_LOGIC_VECTOR(0 downto 3); E(1): in STD_LOGIC_VECTOR(0 downto 3); E(2): in STD_LOGIC_VECTOR(0 downto 3); E(3): in STD_LOGIC_VECTOR(0 downto 3); S(0): in STD_LOGIC_VECTOR (0 downto 3); S(1): in STD_LOGIC_VECTOR (0 downto 3); F: out STD_LOGIC); end circuito1; 2.15- Declare la entidad del circuito mostrado en el ejercicio 2.2 utilizando vectores y el paquete std_logic_1164. library ieee; use std_logic_1164.all; entity multiplicador is port (x0,x1,y0,y1: in std_logic_vector (3 downto 0); z0,z1,z2,z3: out std_logic_vector (3downto 0)); End multiplicador

ARQUITECTURAS
2.16- Mediante un estilo funcional programe en VHDL el funcionamiento de una lampara para codgio morse que encienda la luz al presionar un boton y la apague al soltarlo - - declaracion funcional lamapra morse library IEEE; use IEEE.STD_LOGIC_1164.all; entity lamp_morse is port( a: in STD_LOGIC;
Pgina 10

c: out STD_LOGIC); end lamp_morse; architecture lamp_morse of lamp_morse is begin morse : process (a,c) begin if a = 1then c <= `1`; else c <= 0`; end if; end process end lamp_morse;

2.17- Con un estilo funcional, programe en VHDL el funcionamiento del motor de un ventilador en el que el motor gire en un sentido al presionar el boton a y en direccion contraria al presionar el boton 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 motor of motor is
Pgina 11

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 motor; 2.18- Con un estilo de flujo de datos, programe en VHDL el funcionamiento de un panel una fabrica de empaquetamiento de arroz. Este panel muestra el contenido de 2 silos (a,b) que tiene la fabrica para guargar el arroz, un sensor detecta cuan llenos estan, cuando se encuentran al 100% de su capacidad envian un 1 logico y cuando tienen 25% o menos envia un 0 logico, si en uno de estos silos disminuye el contenido a 25% o menos se prende una luz (C), si los dos sobrepasan ese limite se enciende una 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 panel_arroz of panle_arroz is
Pgina 12

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 c <= `0`; e <= `1` when (a= `0`and b= `0`) else c <= `0`; end panel_arroz; 2.19- Mediante un estilo de programacion por flujo de datos, programe en VHDL el funcionamiento de un robot en una planta que espera a que se llene una tarima con 4 cajas antes de llevarla a la bodega de almacenamiento, para saber si la tarima esta llena cuenta con 4 sensores, cada uno apunta a sendas cajas, si hay una caja marca un 1 logico, si falta marca un 0 logico. Si falta alguna caja el robot no se puede ir, cuando estan las 4 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 robot1 of robot1 is begin e<= `1` when (a= `1`and b=`1`and c=`1`and b=`1`) else c <= `0; end robot1;

Pgina 13

2.20- Mediante el estilo de programacion por flujo de datos, programe en VHDL el funcionamiento de una caja de seguridad cuya apertura requiere de tres de cuatro botones (a,b,c y d). Los botones que se deben oprimir son a, c y d. - - 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;

2.21- Mediante el estilo de programacion estructural, programe en VHDL el problema del apagador de escalera. La funcion para este problema es c= ab + ab donde a es el interruptor inferior, b es el interruptor superior y c es el foco. library IEEE; use IEEE.STD_LOGIC_1164.all; entity apagador_escalera is port( a,b,: in STD_LOGIC;

Pgina 14

c: out STD_LOGIC); end apagador_escalera; use work.compuerta.all; architecture estructura of apagador_escalera is signal x: bit_vector (0 to 1); begin U0: and2 port map (a, b, x(0)); U1: and2 port map (not a, b, x(1)); U2: or3 port map (x(0), x(1), c); End estructura;

2.22- Con un estilo de programacion estructural, programe en VHDL el funcionamiento de un motor que enciende con la siguiente ecuacion

library IEEE; use IEEE.STD_LOGIC_1164.all; entity motor is port( a,b,c,: in STD_LOGIC; y: out STD_LOGIC); end motor;

Pgina 15

use work.compuerta.all; architecture estructura of motor is signal x: bit_vector (0 to 2); begin U0: and2 port map (a, not b, x(0)); U1: and2 port map (not b, c, x(1)); U2: and2 port map (a, c, x(2)); U3: or3 port map (x(0), x(1), x(2), y); End estructura;

Pgina 16

Vous aimerez peut-être aussi