You are on page 1of 25

ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZO

FACULTAD: INFORMTICA Y ELECTRNICA


ESCUELA: INGENIERA ELECTRNICA EN CONTROL Y REDES
INDUSTRIALES
CARRERA: INGENIERA EN ELECTRNICA, CONTROL Y REDES
INDUSTRIALES
GUA DE LABORATORIO DE SISTEMAS DIGITALES
PRCTICA No. 2
(Diseo de sistemas con:
Compuertas Lgicas, Multiplexores, Demultiplexores, Codificadores y
Decodificadores utilizando VHDL)
1. DATOS GENERALES:

GRUPO N:
FECHA DE REALIZACIN:
5-11-2014

FECHA DE ENTREGA:
12-11-2014

2. OBJETIVO(S):
2.1.

2.2.

GENERAL
Diseo de circuitos digitales LSI y MSI utilizando lenguaje de
descripcin de hardware (VHDL).

ESPECFCOS
Aprender programacin bsica en VHDL.
Disear, programar e implementar circuitos con Compuertas Lgicas
utilizando VHDL.
Disear, programar e implementar circuitos con Multiplexores y
Demultiplexores utilizando VHDL.
Disear, programar e implementar circuitos con Codificadores y
Decodificadores utilizando VHDL.

3. METODOLOGA
La metodologa usada en esta prctica determinada para aprender la
programacin bsica en VHDL fu la siguiente, en primer lugar el Ingeniero
nos dio una explicacin prctica del manejo del software, a continuacin
programamos en el software los ejercicios de la prctica y los simulamos,
luego el ingeniero impartio la explicacin necesaria para programar e
implementar circuitos con Multiplexores y Demultiplexores utilizando VHDL,
y finalmente programamos e implementamos el circuito con Codificadores y
lo simulamos.
4. EQUIPOS Y MATERIALES:
EQUIPOS:
Laptop
Placa de Xilinx Spartan 3E.
SOFTWARE:
ISE Xilinx

5. MARCO TERICO:

SOFTWARE ISE DE XILINX


Actualmente cualquier proceso de investigacin dispone de un soporte software
que asiste al cientfico en el desarrollo de sistemas complejos. Los sistemas
electrnicos reconfigurables del tipo FPGA son un buen ejemplo de la
complejidad que se puede alcanzar, esta complejidad no sera abarcable sin la
ayuda de un entorno con herramientas que asistan en el proceso de diseo,
simulacin, sntesis del resultado y configuracin del hardware. Un ejemplo de
un entorno de este tipo es el software de la empresa Xilinx denominado ISE
(Integrated Software Environment).

La herramienta Xilinx-ISE (Integrated Software Environment) es una


herramienta de diseo de circuitos profesional que nos va a permitir, entre otras
funciones, la realizacin de esquemticos y su posterior simulacin y sntesis.
El desarrollo de las prcticas se realizar siguiendo los siguientes puntos:
En primer lugar, se estudiar la especificacin propuesta para determinar una
posible solucin. Este estudio se debe realizar antes de utilizar la herramienta
informtica, cuya introduccin se describe en este texto, ya que es la parte
fundamental para asimilar los conocimientos sobre diseo lgico.
A continuacin se har un estudio asistido por ordenador utilizando el paquete
informtico ISE de XILINX Inc. Este paquete informtico est formado por un
conjunto de herramientas que permiten disear circuitos digitales mediante
esquemas lgicos o utilizando lenguajes de descripcin de hardware como
VHDL o Verilog. Tambin permite simular el comportamiento de los circuitos
diseados, y sintetizarlos sobre dispositivos lgicos programables de XILINX.
La secuencia habitual de pasos se lleva a cabo del siguiente modo:
Se introduce el diseo que se quiere simular en el entorno de captura de
esquemas de la herramienta, llamado Xilinx ECS. La captura del diseo puede
realizarse mediante esquemticos o utilizando lenguajes de descripcin de
hardware.
Se crea un testbench para comprobar el funcionamiento del circuito, mediante
la herramienta HDL Bencher.

Se simula el funcionamiento del circuito llamando a la herramienta de


simulacin ISE Simulator.
Se comprueba que el funcionamiento del circuito es el deseado, analizando
las formas de onda de las seales pertinentes. En caso de que los resultados
no sean los esperados, se debe revisar el diseo empezando por la
especificacin de partida para localizar donde est el fallo, retocando entonces
el esquema y repitiendo el ciclo de diseo.
Para ver como se realizan todos estos pasos, as como para aprender el
manejo de las distintas funciones de las herramientas, en el siguiente apartado
se realizar una prctica guiada con un ejemplo sencillo.
VDHL
VHDL es un lenguaje definido por el IEEE (Institute of Electrical and Electronics
Engineers) usado por ingenieros para describir circuitos digitales. VHDL es el
acrnimo que representa la combinacin de VHSIC y HDL, donde VHSIC es el
acrnimo de Very High Speed Integrated Circuit y HDL es a su vez el acrnimo
de Hardware Description Language.
Aunque puede ser usado de forma general para describir cualquier circuito se
usa principalmente para programar PLD (Programable Logic Device Dispositivo
Lgico
Programable), FPGA (Field
Programmable
Gate
Array), ASIC y similares.
Otros mtodos para disear circuitos son la captura de esquemas (con
herramientas CAD) y los diagramas de bloques, pero stos no son prcticos en
diseos
complejos.
Otros
lenguajes
para
el
mismo
propsito
son Verilog y ABEL.
Dentro del VHDL hay varias formas con las que podemos disear el mismo
circuito y es tarea del diseador elegir la ms apropiada.

Funcional: Describimos la forma en que se comporta el circuito. Esta es


la forma que ms se parece a los lenguajes de software ya que la
descripcin es secuencial. Estas sentencias secuenciales se encuentran
dentro de los llamados procesos en VHDL. Los procesos son ejecutados en
paralelo entre s, y en paralelo con asignaciones concurrentes de seales y
con las instancias a otros componentes.

Flujo de datos: describe asignaciones concurrentes (en paralelo) de


seales.

Estructural: se describe el circuito con instancias de componentes.


Estas instancias forman un diseo de jerarqua superior, al conectar los

puertos de estas instancias con las seales internas del circuito, o con
puertos del circuito de jerarqua superior.

Mixta: combinacin de todas o algunas de las anteriores.

En VHDL tambin existen formas metdicas para el diseo de mquinas de


estados, filtros digitales, bancos de pruebas etc.

6. PROCEDIMIENTO:
1. Observacin y reconocimiento del sOFTWARE.
2. programacin del primer circuito y su simulacin.
3. Comprobacin de la tabla de verdad.
4. Implementacin del primer circuito en proteus.
5. Comprobacin de la tabla de verdad
6. Implementacin del circuito en multisim
7. Anlisis y obtencin de la funcin del segundo ejercicio
8. Obtencin de la tabla de verdad
9. Implementacin del circuito en los simuladores
10. Comprobacin de la tabla de verdad
a) Abra el programa ISE Desing Suite de Xilinx
b) Cree un nuevo proyecto para ello de click en la pestaa File -> New
Project, luego en la nueva ventana donde dice Name, escriba
compuertas, en el tem Location, escriba la ruta donde guardar su
proyecto (no debe contener espacios en blanco, caracteres especiales,
ni tener una ruta muy larga, preferiblemente cree una carpeta en el disco
local c:\ ), en Top-level source type, escoja HDL, de click en Next >
c) La siguiente ventana muestra el dispositivo (FPGA) que se va a utilizar.
Modifique hasta que quede igual a la siguiente figura:

d) De click en Next > y luego en la venta siguiente en finish.


e) Vamos a crear nuestro archivo VHDL para eso de click derecho en New
Source, como muestra la figura.

f) En la siguiente ventana escogemos VHDL MODULE y escribimos un


nombre que puede ser el mismo de compuerta, y damos clik en Next>.

g) Ponga los datos como muestra la siguiente ventana.

h) El primer circuito a escribir en VHDL sern el de las compuertas lgicas


(observar la siguiente figura), por lo cual el profesor le ayudar con el
cdigo, y su explicacin pegue un impreso del cdigo, realizado.

i) Realice el testbench, ponga el nombre de compuerta_tb para ello


hgalo como se observa en la siguiente figura.

j) Pegue un impreso del testbench utilizado y la simulacin en ISim. Y


compruebe que se cumple con la tabla de verdad.

k) Ahora repita los pasos desde el literal b al g. Puede poner como nombre
al proyecto zoolgico y al testbench como zoolgico_tb para el
siguiente problema.
Problema:
En un mini zoolgico existen monos, jirafas aves exticas, cndores
leones tortugas, tigre y elefantes, el administrador requiere automatizar
el sistema que lleva el alimento a cada uno de estos, sabiendo que
algunos de los animales son carnvoros y otros no, disee dicho circuito
en VHDL.

l) Pegue una impresin del cdigo realizado

m) Pegue un impreso del testbench utilizado y la simulacin en ISim. Y


compruebe que se cumple con la tabla de verdad.

n) Ahora repita los pasos desde el literal b al g. Puede poner como nombre
al proyecto control y al testbench como control_tb para el problema
resuelto en la prctica N1.
Problema:
Un sistema de control industrial dispone de tres pulsadores para
mover dos motores (M1, M2), para activar M1 es necesario que los
tres pulsadores estn activados o que no lo estn ninguno de ellos,

M2 se activa en bajo, cuando al menos dos pulsadores estn


activados. Para evitar accidentes es necesario que al activarse M1 no
se accione M2 o viceversa.
o) Pegue una impresin del cdigo realizado.

p) Pegue un impreso del testbench utilizado y la simulacin en ISim. Y


compruebe que se cumple con la tabla de verdad.

q)

r)

s)

t) Ahora vamos a realizar un ejemplo con multiplexores, para lo cual repita


los pasos del literal b al g. Puede poner como nombre al proyecto
BitParidad, y al testbench como BitParidad_tb para que resuelva el
siguiente
Problema:
Implementar con un multiplexor el bit de paridad par para un cdigo de
tres bits
X2
0
0
0
0
1
1
1
1

X1
0
0
1
1
0
0
1
1

X0
0
1
0
1
0
1
0
1

F
0
1
1
0
1
0
0
1

a) Pegue una impresin del cdigo realizado.

b) Pegue un impreso del testbench utilizado y la simulacin en ISim. Y


compruebe que se cumple con la tabla de verdad.

c) Implemente el ejercicio anterior en la Protoboard con dos multiplexores


de 4 a 1 y compuertas adicionales.
d) Ahora veamos cmo se implementa un demultiplexor en VHDL, para
ello implementar los siguientes trminos mnimos con un demultiplexor
de 1- 8
F = (0, 2, 4, 5,6,7)
e) Pegue una impresin del cdigo realizado.

f) Pegue un impreso del testbench utilizado y la simulacin en ISim. Y


compruebe que se cumple con los trminos mnimos.

g)

h)

i) Implemente el ejercicio anterior en la Protoboard con dos


demultiplexores 1 a 4 y compuertas adicionales.
j) Ahora vamos a disear un codificador
en vhdl, por lo cual
resolveremos el siguiente ejercicio.
Problema:
Disee un codificador para los dgitos en base 6. Tal que su salida sea
un cdigo 2 en 4 (dos unos en cuatro bits).
I0
1
0
0
0
0
0

I1
0
1
0
0
0
0

I2
0
0
1
0
0
0

I3
0
0
0
1
0
0

I4
0
0
0
0
1
0

I5
0
0
0
0
0
1

k) Pegue una impresin del cdigo realizado.

X0
1
0
0
1
1
0

X1
1
1
0
0
0
1

X2
0
1
1
1
0
0

X3
0
0
1
0
1
1

l) Pegue un impreso del testbench utilizado y la simulacin en ISim. Y


compruebe que se cumple con la tabla de verdad.

m) Resuelva el siguiente ejercicio en vhdl.


Problema:
En un hotel existen tres diferentes lugares para comer: el penhouse, el
restaurant cmodo, y una cafetera, el dueo come en el penhouse, los
invitados en el penhouse o en el restaurant cmodo, los huspedes en el
restaurant cmodo o en la cafetera, el personal administrativo en el
restaurant cmodo y los trabajadores en la cafetera, adems cualquier
ciudadano puede comer en cualquier restaurant. Disee un codificador
que me indique que persona come en qu lugar.
n) Implemente el ejercicio anterior en la Protoboard con un codificador.
o) Disee un sumador completo utilizando decodificadores, en VHDL.
p) Pegue una impresin del cdigo realizado.
q) Pegue un impreso del testbench utilizado y la simulacin en ISim. Y
compruebe que se cumple con la tabla de verdad.

1. CONCLUSIONES Y RECOMENDACIONES:
CONCLUSIONES
Hemos concluido que la simulacin de circuitos en el software es muy
fcil de programar y simular. Tambin que es necesario dominar los
conocimientos de Digitales y un poco de programacin para saber cul
es el funcionamiento de las compuertas lgicas.
RECOMENDACIONES
Es recomendable conocer el funcionamiento de las compuertas para
poder utilizarlas, tambin que el software debe estar bien instalado para
que tenga un buen desempeo, caso contrario el simulador no correra.

2. BIBLIOGRAFA

http://es.wikipedia.org/wiki/Simulador_de_circuitos_electr
%C3%B3nicos#Caracterist.C3.ADcas

http://electronicacompleta.com/simuladores-de-circuitos/introduccional-multisim/

http://www.ni.com/multisim/esa/

http://claroline.ucaribe.edu.mx/claroline/claroline/backends/download.
php?
url=L1RQMV9NVUxUSVNJTV9TSU1VTEFET1IucGRm&cidReset=tr
ue&cidReq=IT0263

http://atc2.aut.uah.es/~marcos_s/recursos/U12CircuitosCombinacion
ales_I.pdf

http://www.unicrom.com/Dig_Combin_Secuenc.asp

ANEXOS

You might also like