You are on page 1of 47

UNIVERSIDAD NACIONAL AUTNOMA

DE MXICO

FACULTAD DE INGENIERA

LABORATORIO DE DISEO DE
SISTEMAS DIGITALES

MANUAL DE PRCTICAS DE
DISEO DE SISTEMAS DIGITALES

EQUIPO SISTEMAS-1

*GARCIA CALLEJAS RICARDO [GRUPO 6 DE TEORA]

*HERNNDEZ ENCISO IAKI ANTONIO [GRUPO 6 DE TEORA]

PROFESORA: M.I. MARA DEL SOCORRO GUEVARA RODRGUEZ

GRUPO: 4

OBJETIVO
Que el alumno que cursa la asignatura de Diseo de sistemas digitales obtenga
las herramientas y estrategias necesarias para aplicar sus conocimientos
teoricos y llevarlos de manera adecuada a la prctica

CMO CREAR UN PROYECTO EN ISE DE XILINX?

Laboratorio de Diseo de Sistemas Digitales. Pgina 2


1) Creamos una nueva carpeta en el escritorio o en la ruta donde
deseamos archivar el proyecto con el nombre que nosotros deseamos,
en este caso la llamaremos Compuertas en el fichero Xilinx

2) Nos dirigiremos al icono de ISE para que empezar a trabajar, una vez
cargada la interfaz en la pestaa de file daremos click en el apartado como
NEW PROYECT al hacer click nos aparecer la siguiente ventana, donde
debemos ajustar los parmetros similar a la imagen

3) Ah
daremos

Laboratorio de Diseo de Sistemas Digitales. Pgina 3


Next > tantas veces sea necesario hasta que de lado derecho de aquella
ventana emergente nos d la opcin de agregar New Source, daremos
click de nueva cuenta y seleccionaremos el tipo de archivo que vamos a
utilizar y el nombre.

De nueva cuenta daremos Next > tantas veces sea necesario y est disponible
y obtendremos nuestro espacio de trabajo para realizar nuestro proyecto.

Recuerda salvar tus progresos unas cuantas veces para evitar accidentes o
contratiempos.

*NOTA: De requerir ms recursos en nuestro archivo solo bastar con dar click
derecho en la imagen del integrado y seleccionar la opcin de New Source

Laboratorio de Diseo de Sistemas Digitales. Pgina 4


CMO HACER UNA SIMULACIN EN ISE DE XILINX?

Siguiendo el proceso de la ayuda CMO CREAR UN PROYECTO EN ISE DE


XILINX? Y obteniendo nuestro trabajo terminado quedando solamente
nuestra fase de correccin de errores es por ello que al dar sintetizar
procedemos a realizar nuestra
simulacin.

De nueva cuenta nos posamos


encima de nuestra imagen del
integrado y con el botn
derecho damos click sobre l y
seleccionamos New Source

Seleccionamos el modo Test


Bench WaveForme, le asignamos
un nombre, en este caso se le
nombr compo.

Procedemos a dar Next > tantas


veces sea necesario

Finalmente en la seccin de la
primera ilustracin donde hemos
dibujado una fecha procedemos
a seleccionar la opcin
Behavioral y simlate para revisar nuestro proceso. Cabe aclarar que
dependiendo del trabajo a realizar procederemos a seguir con el proceso.

Laboratorio de Diseo de Sistemas Digitales. Pgina 5


UBICACIN DE LOS PINES EN LA TARJETA SPARTAN-3

Asignacin de los pines en el display de 7 segmentos

Laboratorio de Diseo de Sistemas Digitales. Pgina 6


QU ES UN CONVERTIDOR DE ESCALA DE FRECUENCIA?

Para poder implementar nuestro cdigo correctamente debemos de modificar


la frecuencia en la que nuestro Oscilador trabaja es decir que cambiaremos la
velocidad de nuestra tarjeta a una que nuestro ojo sea capaz de percibir y que
no sea tan lenta como para aburrir a nuestro cliente o tan rpida que no pueda
verla, la tarjeta de desarrollo spartan3 por defecto tiene una frecuencia de 50
MHz en su oscilador lo que en una cantidad escalar sera 50,000,000 lo que
vendra colocado en nuestro programa.

Para modificar la secuencia del reloj de nuestro programa nos basaremos en las
siguientes ecuaciones fundamentales para realizar dicho clculo:

1
F= T [Hz] Donde T es el tiempo en segundos que dura nuestro contador

Para que nuestro contador dure 3 segundos nuestra frecuencia debera estar
dada de la siguiente forma:

1
F= 3 = 0.333334[Hz]

La conversin de la escala de tiempo para modificar nuestro reloj se da por la


siguiente ecuacin:

Laboratorio de Diseo de Sistemas Digitales. Pgina 7


FRECUENCIA INICIAL
f=
FRECUENCIA DESEADA

50[ MHz]
f= = 150 [MHz]= 150,000,000
0.333[Hz ]

*Nota debido que una seal est formada por altos y bajos se colocar en
nuestro parmetro de tiempo 75,000,000

Y lo colocaremos en el siguiente cdigo para un divisor de frecuencia:

Laboratorio de Diseo de Sistemas Digitales. Pgina 8


PRCTICA 1 COMPUERTAS LGICAS EN MODO GRFICO

OBJETIVOS

Que nosotros como estudiantes de ingeniera de la divisin elctrica


observemos y comprobemos el comportamiento que una compuerta lgica
tiene como respuesta a dos o ms entradas as como realizar combinaciones
ms simples de diseos ms complejos

INTRODUCCIN

ALGEBRA BOOLEANA

El lgebra Booleana inventada por George Boole define un conjunto de


operaciones en donde sus valores pueden ser nicamente ciertos o falsos. Fue
designado como el primer modelo de computadoras cuando las primeras
computadoras digitales fueron inventadas, estaba claro que el lgebra de
Boole poda ser utilizado para describir el diseo de circuitos digitales.

En el mbito de la programacin las expresiones booleanas son utilizadas para


realizar y expresar operaciones lgicas

EXPRESIONES BOOLEANAS Y SUS TABLAS DE VERDAD

Una expresin booleana involucra a un operador booleano y a uno o ms


operandos, cada operacin implica un valor de cierto o falso.

Una tabla de verdad muestra los posibles resultados de la combinacin de


dichos operandos con el operador y suele asociarse el numero 0 (cero) para el
valor de falso y el 1 (uno) para el valor de verdadero. En el mbito de la
computacin existen 3 operadores esenciales AND, OR y NOT y algunas
compuestas siendo NAND, NOR, XOR y XNOR

Laboratorio de Diseo de Sistemas Digitales. Pgina 9


COMPUERTAS LGICAS [Bsicas]

La operacin AND requiere dos operandos, la tabla que nos


indica que a nicamente la salida ser verdadera cuando
las dos entradas sean verdaderas, tambin se le conoce como
identificador de ceros.

Al igual que AND, OR requiere 2 operandos, su tabla de


verdad nos indica que la salida de la operacin es falsa
nicamente cuando ambas entradas son falsas. Tambin es conocido como
un identificador de 0s

Laboratorio de Diseo de Sistemas Digitales. Pgina 10


NOT es la negacin de las operaciones lgicas, cuando se trabaja
con las compuertas lgicas suele anteponerse el smbolo
en la salida de estas, a diferencia de los otros operadores, NOT
es unitario, mientras que los dems son binarios.

COMPUERTAS LGICAS [Compuestas]

Estas operaciones son las negaciones


de AND Y OR respectivamente, se le
suelen representar con la compuerta
lgica AND u OR con un inversor en la
parte de adelante o con un pequeo
crculo.

NAND= NOT (AND)

NOR= NOT (OR)

XOR u OR disyuntiva, esta compuerta lgica


es muy til para identificar si sus salidas son
diferentes, en caso de ser diferentes
devolver el valor de 1 (verdaderos). XNOR
es la negacin de esta ltima y suele

Laboratorio de Diseo de Sistemas Digitales. Pgina 11


utilizarse para identificar si las entradas son iguales devolvindonos el valor de
1(verdadero)

DESARROLLO

En esta prctica se har el uso de la aplicacin Xilinx que simula el


comportamiento de las compuertas lgicas a diferentes entradas, con ello
podremos comprobar el comportamiento que estas nos dicen tener en sus
tablas de verdad adems de que podramos ver que compuerta lgica sera un
buen sustituto de otra en caso de que no podamos conseguirla en estos
momentos. Lo primero que debamos de hacer era crear un nuevo proyecto y
elegir con qu tipo de familia vamos a trabajar, en este caso vamos a realizar
una prueba que podra cargarse en una tarjeta de la familia spartan3.

Una vez que creamos el documento sobre el que trabajamos localizamos la


seccin que nos permitira colocar las compuertas lgicas, estas se encuentran
en el lado izquierdo del simulador en la seccin de recursos sources, en ella
encontraremos las compuertas lgicas. Una vez que las encontramos
procedemos a ponerlas sobre el rea de trabajo que est marcada por un fondo
blanco con unos puntos distribuidos en toda su rea, para colocarlas basta con
seleccionarlas en el submen de sources y dar click sobre el rea punteada.
Para dejar de colocar compuertas iguales basta con teclear ESC y seleccionar
otra compuerta.

Laboratorio de Diseo de Sistemas Digitales. Pgina 12


Una vez que terminamos de colocar nuestras compuertas lgicas bsicas, las
compuestas y el inversor procederemos a conectarlos entre s, por ello
tendremos que alambrarlos, para eso necesitaremos la herramienta wire para
interconectar las entradas de las compuertas con la de AND para que podamos
observar el comportamiento de las seales cuando las seales cambian.

Laboratorio de Diseo de Sistemas Digitales. Pgina 13


Antes de simular nuestro circuito elctrico debemos cerciorarnos de que este
funciona de la manera correcta, de otro modo nuestro circuito tendr errores o
bien al momento de armarlo y descargarlo podemos daar nuestros materiales,
para evitar estos accidentes basta con darle seleccionar la funcin sintetizar
synthesize en el panel de procesos.

Finalmente podremos hacer la simulacin siguiendo los siguientes pasos:

Laboratorio de Diseo de Sistemas Digitales. Pgina 14


Podemos observar que efectivamente las compuertas lgicas actan segn las
tablas de verdad realizadas gracias a la aplicacin del lgebra booleana.
Adems de que usando la informacin que nos dan las simulaciones podemos
utilizarla a nuestro beneficio para reducir el gasto de materiales de compuertas
sustituyendo su funcin-comportamiento mediante otra compuerta.

PRCTICA 4 MODO ESTRUCTURADO

OBJETIVO

Analizar los sistemas multi-funciones por medio de programacin Estructurada

DESARROLLO

El ejercicio para hacer uso de los conocimientos adquiridos consista en recrear


e implementar por medio de la tarjeta de desarrollo spartan y la plataforma
Xilinx en el display de 7 segmentos tilizando lgica negada para su expresin
nuestro nmero de cuenta al realizar la combinacin de 4 bits , las funciones
fueron las siguientes:

I BCD a b c d E F g #D

Laboratorio de Diseo de Sistemas Digitales. Pgina 15


n ec
0 0 0 0 0 * * * * * * * * *
1 0 0 0 1 * * * * * * * * *
2 0 0 1 0 * * * * * * * * *
3 0 0 1 1 * * * * * * * * *
4 0 1 0 0 0 0 0 0 1 1 0 3 6
5 0 1 0 1 1 0 0 1 1 1 1 1 95
6 0 1 1 0 1 0 0 1 1 1 1 1 95
7 0 1 1 1 0 0 0 0 0 0 1 0 1
8 1 0 0 0 0 0 0 1 1 0 0 9 12
9 1 0 0 1 1 0 0 1 1 0 0 4 76
1
1 0 1 0 0 0 0 0 0 0 0 8
0 0
1
1 0 1 1 0 0 0 0 1 1 0 3
1 6
1 12
1 1 0 0 1 1 1 1 1 1 0 -
2 7
1
1 1 0 1 0 0 0 1 1 0 0 9
3 12
1
1 1 1 0 * * * * * * * * *
4
1
1 1 1 1 * * * * * * * * *
5

Aqu la tabla donde se presenta la lgica de cada segmento segn el digito a


plasmar en la plataforma, en este caso se utiliz el nmero de cuenta
31109483-9, a continuacin dejamos la tabla de cada segmento con su
respectiva funcin simplificada

TABLAS DE SEGMENTOS

Laboratorio de Diseo de Sistemas Digitales. Pgina 16


Una vez que comprobamos que nuestras
funciones estuvieran correctas procedimos a
realizar el programa siguiendo las indicaciones
de la ayuda 1 de cmo realizar un proyecto en
la pgina 3 y seleccionalos la opcin de VHDL
module.

Una vez ah procedemos a ingresar los


nombres de nuestras variables e indicando
si es de entrada o salida, damos Next > y
siguiendo la siguiente sintaxis procedemos
a asignar los valores de nuestras
variables:

Ab<= ASIGNACIN;

Ab<= A XOR B;

Laboratorio de Diseo de Sistemas Digitales. Pgina 17


C D

0 0 0 1 0 1 0 0
0 0 0 0 1 0 1 0
* * * * * * * *
0 0 * * 0 1 * *
PRACTICA N 5 ASIGNACIN SELECTIVA(BCD)+(B'C'D)+
(B'CD') (BC'D')
OBJETIVO
E F
Analizar los sistemas multi-funciones por medio de programacin asignacin
selectiva. 0 1 1 0 0 1 1 1
1 1 1 0 0 0 1 0
En esta prctica realizaremos el diseo de*un* circuito
* * que en *la entrada
* * sea *la
cuenta del 0 al 9 (nmero de 4 bits) y la salida
0 1 *se despliegue
* 0en decimal
0 * el *
nmero en un display de 7 segmentos (Utilizando lgica negada ya que el
(A'CD)+(A'B'D)+
display de la tarjeta spartan es nodo comn):
D+(BC'D) (A'B'C)
G
I/De O/D
BCD a b c d e f g
c ec
1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 1 0
1 0 0 0 1 1 0 0 1 1 1 1 79
* * * *
2 0 0 1 0 0 0 1 0 0 1 0 18
0 0 * *
3 0 0 1 1 0 0 0 0 1 1 0 6
(A'B'C')+(BCD)
4 0 1 0 0 1 0 0 1 1 0 0 76

Laboratorio de Diseo de Sistemas Digitales. Pgina 18


5 0 1 0 1 0 1 0 0 1 0 0 36
6 0 1 1 0 0 1 0 0 0 0 0 32
7 0 1 1 1 0 0 0 1 1 1 1 15
8 1 0 0 0 0 0 0 0 0 0 0 0
9 1 0 0 1 0 0 0 1 1 0 0 12
------
1 0 1 0 * * * * * * *
10 --
------
1 0 1 1 * * * * * * *
11 --
------
1 1 0 0 * * * * * * *
12 --
------
1 1 0 1 * * * * * * *
13 --
------
1 1 1 0 * * * * * * *
14 --
------
1 1 1 1 * * * * * * *
15 --

Minimizacion por mapa de Karnaugh

A B

0 1 0 0 0 0 0 0
1 0 0 0 0 1 0 1
* * * * * * * *
0 0 * * 0 0 * *
(A'B'C'D)+(BC'D') (BC'D)+(BCD')

DESARROLLO

Primero creamos un nuevo proyecto y al momento de asignar los modulos


ingresamos el nombre de la entrada y de la salida, en este caso el Display,
activamos la casilla del bus como se muestra en la siguiente captura de
imagen y creamos el proyecto.

Laboratorio de Diseo de Sistemas Digitales. Pgina 19


En la pantalla de
programacin
agregamos a partir de
begin la opcion de que
con el BCD se
modifique lo que se
muestre en el Display
como se muestra en la
siguiente captura:

Se simula el proyecto
mostrandonos una pantalla como la siguiente:

Laboratorio de Diseo de Sistemas Digitales. Pgina 20


Por ultimo asignamos los pins y generamos el archivo para descargarlo a la
tarjeta Spartan

Y as es como se cumplio con el objetivo desdeado, logramos poder analizar un


sistema de varias funciones con una diferente asignacion y aprendimos a
programar usando la asignacion selectiva

PRACTICA N 6 SUMADOR COMPLETO Y MEDIO SUMADOR

OBJETIVO

Analizar las caractersticas de un sumador completo y de un medio sumador


binarios y con base en ello saber como est estructurado y poder emplearlo
correctamente al realizar trabajos de modo estructurado o grfico

DESARROLLO

Laboratorio de Diseo de Sistemas Digitales. Pgina 21


Para esta actividad vamos a necesitar el codificador que utilizamos en el
desarrollo de la prctica 5, el cual es la representacin de un BCD display de 7
segmentos utilizando la lgica negada para su funcionamiento ya que el
display de la tarjeta de desarrollo es de tipo nodo comn.

Haciendo uso de nuestros antecedentes


previos realizamos el planteamiento de nuestro
codificador a un display de 7 segmentos mediante algunas
lneas de codigo en modo
estructurado.

De modo similar planteamos la lgica de nuestros medio sumador y sumador


completo binarios haciendo uso de compuertas lgicas es decir haciendo uso
de componentes de integracin de baja escala para plantear el funcionamiento
de ellos.

Laboratorio de Diseo de Sistemas Digitales. Pgina 22


Finalmente las implementamos y las colocamos directamente a nuestro
decodificador como en el esquema planteado, a pesar de ser 3 palabras de dos
bits cada una nuestro decodificador solamente utiliza 4 pines ya que son los

Laboratorio de Diseo de Sistemas Digitales. Pgina 23


necesarios para formar la mayor salida de nuestra suma ya que unicamente
podemos representar con estos el resultado mximo de 9 en decimal.

En base a dicho aprendizaje podemos entender que en base a estas dos


herramientas apoyadas de otras funciones o de otros circuitos sencillos
podemos realizar multiples operaciones como la resta o inclusive una
multiplicacin pero recordando que depender de nosotros si es viable hacer
uso de estos medios sumadores o sumadores complejos contra un circuito
integrado de otro tipo, recordando mantener un equilibrio entre costo beneficio
de nuestros proyectos.

PRACTICA N 7 MULTIPLICADORES

Laboratorio de Diseo de Sistemas Digitales. Pgina 24


OBJETIVO

Analizar las caractersticas de un circuito multiplicador Binario e implementarlo


en forma estructurada y grfica.
DESARROLLO

Primero planteamos la lgica de nuestros medio sumador y sumador completo


binarios haciendo uso de compuertas lgicas es decir haciendo uso de
componentes de integracin de baja escala para plantear el funcionamiento de
ellos.

Laboratorio de Diseo de Sistemas Digitales. Pgina 25


Creamos de forma estructurada una multiplicacion de dos palabras de tres
bit`s con ayuda de nuestros HA y FA recientemente creados, hasta obtener lo
siguiente:

A continuacion simulamos y deberia aparecer lo siguiente:

Laboratorio de Diseo de Sistemas Digitales. Pgina 26


Por ultimo obtendremos la multiplicacion de las dos palabras y logramos
cumplir con el objetivo de implementarlo de forma grafica mostrando en la
tarjeta Spartan lo siguiente:

Donde los leds muestran el resultado de la multiplicacion.

Laboratorio de Diseo de Sistemas Digitales. Pgina 27


PRACTICA N 8

DECODIFICACIN UTILIZANDO MEDIANA ESCALA DE INTEGRACIN

OBJETIVO

Analizar sus caractersticas y disear funciones utilizando Decodificadores (Recuerda


que en esta prctica se estn utilizando dos tipos de decodificadores de 3:8 y de 7
segmentos)

DESARROLLO

Se tienen las cuatro funciones siguientes:

F1 (A,B,C,D)=m(0,2,5,7,8,9,12,14)
F2 (A,B,C,D)=M(0,4,5,9,10,14)
F3 (A,B,C,D)=M (3,4,5,8,9,11)
F4 (A,B,C,D)=m(0,1,2,7,8,10,11,12,13,14,15)

Realizar una tabla que contenga:

Funciones de salida del Salidas Display Deco-7 Decim


Entradas Deco 3:8 segmentos al
ABCD F4 F3 F2 F1 Logica negada (practica 5)
0 0 0 0 1 1 0 1 1000010 66
0 0 0 1 1 1 1 0 0110000 48
0 0 1 0 1 1 1 1 0111000 56
0 0 1 1 0 0 1 0 0010010 18
0 1 0 0 0 0 0 0 0000001 1
0 1 0 1 0 0 0 1 0110000 79
0 1 1 0 0 1 1 0 0100000 32
0 1 1 1 1 1 1 1 0111000 56
1 0 0 0 1 0 1 1 1100000 96
1 0 0 1 0 0 0 1 0110000 79
1 0 1 0 1 1 0 0 0111111 63
1 0 1 1 1 0 1 0 0001000 8
1 1 0 0 1 1 1 1 0111000 56
1 1 0 1 1 1 1 0 0110000 48
1 1 1 0 1 1 0 1 1000010 66
1 1 1 1 1 1 1 0 0110000 48

Laboratorio de Diseo de Sistemas Digitales. Pgina 28


Para el diseo de un Deco 3:8 anexamos el siguiente cdigo:

entity practica8 is

port (a: in std_logic_vector(2 downto 0);


e: in std_logic ;
y: out std_logic_vector(7 downto 0));

end practica8;

architecture Behavioral of practica8 is

begin
process (e, a)
begin
if e = '1' then
if a = "000" then y <="00000001";
elsif a = "001" then y <="00000010";
elsif a = "010" then y <="00000100";
elsif a = "011" then y <="00001000";
elsif a = "100" then y <="00010000";
elsif a = "101" then y <="00100000";
elsif a = "110" then y <="01000000";
elsif a = "111" then y <="10000000";
else null;
end if;
end if;
end process;

end Behavioral;

Realiza el diagrama lgico implementando las cuatro funciones utilizando unicamente dos
decodificadores de 3:8 que diseaste y compuertas bsicas.

Laboratorio de Diseo de Sistemas Digitales. Pgina 29


Utilizaremos el deco de 7 segmentos que realizamos en prcticas anteriores y o
anexamos en el siguiente cdigo

entity DISPLAYBCD7 is

Port ( BCD : in STD_LOGIC_VECTOR (3 downto 0);

DISPLAY : out STD_LOGIC_VECTOR (6 downto 0));

end DISPLAYBCD7;

architecture Behavioral of DISPLAYBCD7 is

begin

with BCD select

DISPLAY<= "0000001" WHEN "0000",------CERO

"1001111" WHEN "0001",------1

"0010010" WHEN "0010",----2

"0000110" WHEN "0011",-----3

"1001100" WHEN "0100",-----4

"0100100" WHEN "0101",-----5

"0100000" WHEN "0110",-----6

"0001111" WHEN "0111",-----7

Laboratorio de Diseo de Sistemas Digitales. Pgina 30


"0000000" WHEN "1000",-----8

"0001100" WHEN "1001",-----9

"0001000" WHEN OTHERS;

end Behavioral;

En modo concurrente o comporta mental se diseara el decodificador 3:8 SA=0


o SA=1 hazlos smbolo y el decodificador a 7 segmentos. En modo grfico
utiliza 2 smbolos de los decodificadores que diseaste, con ayuda de
compuertas implementa las 4 funciones. Conecta las 4 funciones al
decodificador que diseas te para visualizar el nmero que se forma en el
display de la spartan.

Laboratorio de Diseo de Sistemas Digitales. Pgina 31


Por ultimo asignamos los pins y generamos el archivo para descargarlo a la
tarjeta Spartan

Aqu se puede
apreciar
el

resultado en la tarjeta
Spartan a as logramos
entender el uso de los
decodificadores asi como sus
caracteristicas y el como definirlos para poder usarlos con diferentes funciones.

Laboratorio de Diseo de Sistemas Digitales. Pgina 32


PRACTICA N 9 SECUENCIALES (FLIP FLOP , DIVISIN DE
TIEMPO)

OBJETIVO

Mediante el uso de Flip-Flop realizaremos una pequea rutina con un orden


determinado y que se repita una ve que ha terminado, lo que denominamos
secuencua, pero para ello es necesario conocer los componentes con los que
se va a tratar

FLIP FLOP

Este Flip Flop est construido y basado en el Latch D, aunque


pocas veces utilizado para fabricar un contador debido a que es
mucho ms complejo simplificar nuestras operaciones de
minimizacin es bastante fcil de usar debido a las pocas
operaciones que se requieren analizar para implementar las
salidas ya que simplemente se analiza D en trminos de sus
Qs

Cabe aclarar que esta prctica no se simular ya que estaremos trabajando


con el oscilador de la tarjeta Spartan

Laboratorio de Diseo de Sistemas Digitales. Pgina 33


DECODIFICADOR BCD 7 SEGMENTOS

De nueva cuenta haremos uso de un decodificador de 7 segmentos con sus


respectivas tablas de verdad para una mayor simplificacin de trabajo ya sea al
hacerlo en modo grfico o en lenguaje VHDL

Laboratorio de Diseo de Sistemas Digitales. Pgina 34


Se utilizar un display de 7 segmentos cuya
lgica de encendido es e lgica negada, es
decir encender cuando la seal de entrada
recibida por el display sea de 0 y estar en
apagado cuando reciba un nmero 1

Representacin en
Hexadecimal de nuestro
decodificador de 7
segmentos

Laboratorio de Diseo de Sistemas Digitales. Pgina 35


DESARROLLO

PRCTICA 10 SISTEMAS SECUENCIALES

OBJETIVOS

Laboratorio de Diseo de Sistemas Digitales. Pgina 36


El alumno ser capaz de englobar mltiples secuenciales para crear un sistema
que a lo largo de su formacin sern de utilidad y en la mayora de los casos se
utilizarn para procesos repetitivos o exclusivos que requieran de una sola
memoria

Retomando parte prctica anterior haremos usos de un divisor de frecuencia y


mediante un flip-flop lo que haremos ser implementar 3 rutinas secuenciales,
los cuales constan de ser el nmero de cuenta del alumno, su nmero
telefnico (*) y un pequeo texto de 4 letras que forman la palabra HOLA

Nuestro siguientes componentes a utilizar son los siguientes:

Este Flip Flop est construido y basado en el Latch D, aunque


pocas veces utilizado para fabricar un contador debido a que es
mucho ms complejo simplificar nuestras operaciones de
minimizacin es bastante fcil de usar debido a las pocas
operaciones que se requieren analizar para implementar las
salidas ya que simplemente se analiza D en trminos de sus
Qs

Q
D

FLIP FLOP TIPO D


_
Q

CL
K

Laboratorio de Diseo de Sistemas Digitales. Pgina 37


DECODIFICADOR BCD 7 SEGMENTOS

Se utilizar un display de 7 segmentos cuya


lgica de encendido es e lgica negada, es
decir encender cuando la seal de entrada
recibida por el display sea de 0 y estar en
apagado cuando reciba un nmero 1

Representacin en
Hexadecimal de nuestro
decodificador de 7
segmentos

Laboratorio de Diseo de Sistemas Digitales. Pgina 38


DECODIFICADOR DEL SALUDO

Se definirn nicamente 4 trminos de la


secuencia ya que los dems dgitos que
podemos formar con los 4 bits que
ocupamos no nos interesa, en la parte
del cdigo que utilizamos la prctica
anterior podemos sustituir el cdigo del
decodificador con lo siguiente: WHEN
X"0"=>SEG<=X"91
";
WHEN
X"1"=>SEG<=X"03
";
WHEN
X"2"=>SEG<=X"1D
";
WHEN
X"3"=>SEG<=X"11
";

DECODIFICADOR DEL NMERO DE CUENTA


WHEN
X"0"=>SEG<=X"0D
";
WHEN
X"1"=>SEG<=X"9F"
;
WHEN
X"2"=>SEG<=X"9F"
;
WHEN
X"3"=>SEG<=X"03
";
WHEN
X"4"=>SEG<=X"09
";
WHEN
Al igual que en el decodificador anterior no
X"5"=>SEG<=X"99
tendremos la necesidad";de definir todos los
segmentos, restantesWHENya que solamente nos
X"6"=>SEG<=X"01
interesa que nuestra secuencia abarque del
";
0 hasta el 9 por lo que de manera anloga
WHEN
podemos sustituir el decodificador BCD de
X"7"=>SEG<=X"0D
la prctica anterior por ";
lo siguiente:
WHEN
X"8"=>SEG<=X"FD
";
WHEN
Laboratorio de Diseo de Sistemas Digitales. Pgina 39
X"9"=>SEG<=X"09
";
WHEN OTHERS=>
null;
DECODIFICADOR DEL NMERO TELEFNICO

Al igual que en el decodificador anterior no


tendremos la necesidad de definir todos los
segmentos, restantes ya que solamente nos
interesa que nuestra secuencia abarque del
0 hasta el 7 por lo que de manera anloga
podemos sustituir el decodificador bcd de la
prctica anterior por lo siguiente:
WHEN
X"0"=>SEG<=X"49
";
WHEN
X"1"=>SEG<=X"0D
";
ASIGNACIN WHEN DE LA TARJETA .
X"2"=>SEG<=X"01
";
WHEN
X"3"=>SEG<=X"0D
";
WHEN
X"4"=>SEG<=X"03
";
WHEN
X"5"=>SEG<=X"9F"
;
WHEN
X"6"=>SEG<=X"9F"
;
WHEN
X"7"=>SEG<=X"0D
";
WHEN OTHERS=>
Reset
null;

Laboratorio de Diseo de Sistemas Digitales. Pgina 40


DESARROLLO

Utilizando como base el cdigo anterior indicaremos las modificaciones

1) Podemos declarar otro


vector de 3 o 2 bits
para seleccionar
nuestras funciones

Laboratorio de Diseo de Sistemas Digitales. Pgina 41


*Aqu es donde se coloca la
correccin pertinente o bien
podemos abrir un case desde la
nota uno para cada funcin

PRCTICA 11 MQUINAS DE ESTADOS

DESARROLLO

Se crea un archivo nuevo en Xilinx de tipo State Diagram

Laboratorio de Diseo de Sistemas Digitales. Pgina 42


Una vez creado se crea el diagrama deseado como se muestra en la siguiente
imagen

Laboratorio de Diseo de Sistemas Digitales. Pgina 43


Al final deberiamos tener un modelo como el siguiente:

Laboratorio de Diseo de Sistemas Digitales. Pgina 44


Despues se configuran las condiciones para el programa y usamos la opcion
Generate HDL

Nos mostrara el siguiente codigo el cual copiaremos y pegamos en un nuevo


archivo de VHDL

Laboratorio de Diseo de Sistemas Digitales. Pgina 45


Al final diseamos el shcematic del diagrama que creamos y lo descaramos a
la tarjeta Spartan y nos mostrara lo siguiente donde el ultimo led indica el
contador de monedas que se ingresaran.

Laboratorio de Diseo de Sistemas Digitales. Pgina 46


Laboratorio de Diseo de Sistemas Digitales. Pgina 47

You might also like