SEP

DGEST
INSTITUTO

TECNOLÓGICO

SNEST

DE

MATAMOROS

DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Diseño Digital con VHDL
Equipo:

Alumno(s):

Núm. de control:

Mario Arturo Cruz Colunga

11260077

Miguel Angel Fierros Peña

11260081

Hermenegildo Martínez de la Cruz

11260095

Jorge Alejandro Reyes Torres

11260108

H. MATAMOROS, TAM.

28 de Octubre del 2013
Practica 8
Objetivo:
Esta práctica implementará el funcionamiento de una maquina despachadora de
bebidas.
Marco teórico:
Máquina de estados
Se denomina máquina de estados finitos (FSM por finitestate machine) si el
conjunto de estados de la máquina es finito, este es el único tipo de máquinas de
estados que podemos modelar en un computador en la actualidad; debido a esto
se suelen utilizar los términos máquina de estados y máquina de estados finitos de
forma intercambiable. Sin embargo un ejemplo de una máquina de estados
infinitos sería un computador cuántico esto es debido a que los Qubit que utilizaría
este tipo de computadores toma valores continuos, en contraposición los bits
toman valores discretos (0 ó 1). Otro buen ejemplo de una máquina de estados
infinitos es una Máquina universal de Turing la cual se puede definir teóricamente
con una "cinta" o memoria infinita.
La representación de una máquina de estados se realiza mediante un Diagrama
de estados, sin embargo también es posible utilizar un Diagrama de flujo.
Material:
Laptop
Kit spartan3e
Software aldec HDL, xilinx ISE, adept.

Procedimiento:
Se crea nuevo proyecto en aldec HDL
Se crea un diagrama de estados
Diagrama de estados maquina despachadora
EM

Entity : maq
Architecture: maq_arch

RM
R
A

SM
S5

m clk

SR
SA

J

M 15

SJ

A='1'
R='1'

Sreg0
J='1'

mclk
ce

M5
M 10

SM <='0';S5<='0';SR<='0';SA<='0';
SJ<='0';M 5<='0';M 10<='0';M 15<='0'

nom onedas
/000/

No clock enable

SM <='0';S5<='0';SR<='0';SA<='0';
SJ<='0';M 5<='1';M 10<='0';M 15<='0'
RM='1'
SM <='1'

EM='1'
A='1'

pesos5
/001/
RM='1'
RM='1'

SM <='1'

J='1'
SJ<='1'

SA<='1'

A='0' and J='0' and R='0'
and EM='0' and RM='0'
R='1'

SM <='1'
EM='1'

pesos10
/010/

J='1'

A='1'
SA<='1'

SR<='1'

SM <='0';S5<='0';SR<='0';SA<='0';
SJ<='0';M 5<='0';M 10<='1';M 15<='0'

SJ<='1'
A='0' and J='0' and R='0'
and EM='0' and RM='0'
EM='1'

pesos15
/100/
EM='1'
S5<='1'

SM <='0';S5<='0';SR<='0';SA<='0';
SJ<='0';M 5<='0';M 10<='0';M 15<='1'

A='0' and J='0' and R='0' and EM='0' and RM='0'
Reloj del sistema
libraryieee;
use ieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityclkdivis
port(
mclk: in std_logic;
clr: in std_logic;
clk48: outstd_logic
);
endclkdiv;
architectureclkdiv of clkdivis
signal q: std_logic_vector(23 downto 0);
begin
process(mclk, clr)
begin
ifclr='1' then
q <= x"000000";
elsifmclk'event and mclk ='1' then
q <= q + 1;
endif;
endprocess;
clk48 <= q(23);
endclkdiv;
Unión del circuito

U2
mclk

m c lk

U1
c lk 4 8

c lr

GND
clkdiv

A
EM
J

A

M10

EM

M15
M5

m c lk

R
RM

J

S5

R

SA

RM

SJ
SM
SR

M10
M15
M5
S5
SA
SJ
SM
SR

maq
Observaciones y conclusiones:
La máquina despachadora aceptaba las entradas y salidas de acuerdo a las operaciones que se le
programaron, realizando correctamente la función especificada en el diagrama de estados.
Aunque como el reloj era un poco lento algunas veces se llegaba a ignorar algún pulso de los
interruptores utilizados para la simulación, pero ese problema se corregía aumentando un poco
más la velocidad de reloj sin exceder el tiempo de duración de los pulsos en los interruptores.

Reporte vhdl8

  • 1.
    SEP DGEST INSTITUTO TECNOLÓGICO SNEST DE MATAMOROS DEPARTAMENTO DE INGENIERÍAELÉCTRICA Y ELECTRÓNICA Diseño Digital con VHDL Equipo: Alumno(s): Núm. de control: Mario Arturo Cruz Colunga 11260077 Miguel Angel Fierros Peña 11260081 Hermenegildo Martínez de la Cruz 11260095 Jorge Alejandro Reyes Torres 11260108 H. MATAMOROS, TAM. 28 de Octubre del 2013
  • 2.
    Practica 8 Objetivo: Esta prácticaimplementará el funcionamiento de una maquina despachadora de bebidas. Marco teórico: Máquina de estados Se denomina máquina de estados finitos (FSM por finitestate machine) si el conjunto de estados de la máquina es finito, este es el único tipo de máquinas de estados que podemos modelar en un computador en la actualidad; debido a esto se suelen utilizar los términos máquina de estados y máquina de estados finitos de forma intercambiable. Sin embargo un ejemplo de una máquina de estados infinitos sería un computador cuántico esto es debido a que los Qubit que utilizaría este tipo de computadores toma valores continuos, en contraposición los bits toman valores discretos (0 ó 1). Otro buen ejemplo de una máquina de estados infinitos es una Máquina universal de Turing la cual se puede definir teóricamente con una "cinta" o memoria infinita. La representación de una máquina de estados se realiza mediante un Diagrama de estados, sin embargo también es posible utilizar un Diagrama de flujo. Material: Laptop Kit spartan3e Software aldec HDL, xilinx ISE, adept. Procedimiento: Se crea nuevo proyecto en aldec HDL Se crea un diagrama de estados
  • 3.
    Diagrama de estadosmaquina despachadora EM Entity : maq Architecture: maq_arch RM R A SM S5 m clk SR SA J M 15 SJ A='1' R='1' Sreg0 J='1' mclk ce M5 M 10 SM <='0';S5<='0';SR<='0';SA<='0'; SJ<='0';M 5<='0';M 10<='0';M 15<='0' nom onedas /000/ No clock enable SM <='0';S5<='0';SR<='0';SA<='0'; SJ<='0';M 5<='1';M 10<='0';M 15<='0' RM='1' SM <='1' EM='1' A='1' pesos5 /001/ RM='1' RM='1' SM <='1' J='1' SJ<='1' SA<='1' A='0' and J='0' and R='0' and EM='0' and RM='0' R='1' SM <='1' EM='1' pesos10 /010/ J='1' A='1' SA<='1' SR<='1' SM <='0';S5<='0';SR<='0';SA<='0'; SJ<='0';M 5<='0';M 10<='1';M 15<='0' SJ<='1' A='0' and J='0' and R='0' and EM='0' and RM='0' EM='1' pesos15 /100/ EM='1' S5<='1' SM <='0';S5<='0';SR<='0';SA<='0'; SJ<='0';M 5<='0';M 10<='0';M 15<='1' A='0' and J='0' and R='0' and EM='0' and RM='0'
  • 4.
    Reloj del sistema libraryieee; useieee.std_logic_1164.all; useieee.std_logic_unsigned.all; entityclkdivis port( mclk: in std_logic; clr: in std_logic; clk48: outstd_logic ); endclkdiv; architectureclkdiv of clkdivis signal q: std_logic_vector(23 downto 0); begin process(mclk, clr) begin ifclr='1' then q <= x"000000"; elsifmclk'event and mclk ='1' then q <= q + 1; endif; endprocess; clk48 <= q(23); endclkdiv;
  • 5.
    Unión del circuito U2 mclk mc lk U1 c lk 4 8 c lr GND clkdiv A EM J A M10 EM M15 M5 m c lk R RM J S5 R SA RM SJ SM SR M10 M15 M5 S5 SA SJ SM SR maq Observaciones y conclusiones: La máquina despachadora aceptaba las entradas y salidas de acuerdo a las operaciones que se le programaron, realizando correctamente la función especificada en el diagrama de estados. Aunque como el reloj era un poco lento algunas veces se llegaba a ignorar algún pulso de los interruptores utilizados para la simulación, pero ese problema se corregía aumentando un poco más la velocidad de reloj sin exceder el tiempo de duración de los pulsos en los interruptores.