7
Simulación Máquina Expendedora Génesis Daniella Rodríguez Silva 144753 Diseño Digital Dr. Gibrán Etcheverry Doger San Andrés Cholula a 8 de mayo de 2015

Simulación con compuertas lógicas de una máquina expendedora

Embed Size (px)

DESCRIPTION

El siguiente documento muestra el reporte de uso del IDE Active-HDL, intentando resolver el siguiente problema: máquina expendedora que vende un producto en 15 centavos, únicamente recibe dimes y nickels y se deberá evaluar los estados en los que esta debe otorgar cambio al usuario. El diagrama expuesto no se asegura que se pueda ejecutar, ya que fue un proyecto hecho en la teoría de la materia de diseño digital y su único objetivo era darnos una pequeña introducción al uso del IDE.

Citation preview

Page 1: Simulación con compuertas lógicas de una máquina expendedora

Simulación

Máquina Expendedora

Génesis Daniella Rodríguez Silva

144753

Diseño Digital

Dr. Gibrán Etcheverry Doger

San Andrés Cholula a 8 de mayo de 2015

Page 2: Simulación con compuertas lógicas de una máquina expendedora

INTRODUCCIÓN

En el presente documento se reportará la simulación de una máquina expendedora, la cual

está basada en sistemas digitales secuenciales , los cuales son aquellos que su salida

depende de sus entradas y de estados previos, es por eso que son necesarios elementos que

guarden la información, es decir, elementos de memoria. Para el desarrollo de esta

simulación ocupamos el IDE Active-HDL.

PLANTEAMIENTO DEL PROBLEMA

El problema a resolver trata de una máquina que despacha un único producto, el cual es una

goma de mascar con un valor de 15¢. Esta recibe nickels (5¢) y dimes (10¢) y tiene la

capacidad de devolver cambio cuando sus estados posibles lo requieran. Sus estados

posibles son: 0¢, 5¢, 10¢ y 15¢ y en cada combinación debemos evaluar cuándo se

devolvería cambio y para facilitar la explicación adjuntaré la tabla de estados.

TABLA DE ESTADOS

Present State In Next State Out

D N

0¢ = 00 0 0 0 0

0 1 5¢ 0

1 0 10¢ 0

1 1 15¢ Producto

5¢ = 01 0 0 5¢ 0

0 1 10¢ 0

1 0 15¢ Producto

1 1 20¢ Cambio

10¢ = 10 0 0 10¢ 0

0 1 15¢ Producto

1 0 20¢ Cambio

1 1 25¢ Cambio

15¢ = 11 0 0 15¢ Producto

0 1 20¢ Cambio

1 0 25¢ Cambio

1 1 30¢ Cambio

Page 3: Simulación con compuertas lógicas de una máquina expendedora

En la tabla de estados podemos observar todas las posibles combinaciones con las monedas

permitidas y marcado en verde vemos que es cuando la máquina se activa y despacha el

producto. En color rojo observamos el estado cuando se entrega el producto al cliente y

además les otorga cambio.

MATERIAL Y EQUIPO

1. Laptop

2. Software Active-HDL

DISEÑO EN ACTIVE-HDL

El diseño de la máquina expendedora contiene cuatro estados posibles con sus respectivas

combinaciones, en las cuales se simula cuando la máquina es autorizada para entregar el

producto o para entregar el producto y el cambio correspondiente. A continuación

procederé a explicar cada uno de sus casos con sus diferentes combinaciones.

Page 4: Simulación con compuertas lógicas de una máquina expendedora

Caso 1

En este caso nuestra máquina está en un estado inicial de 00, esto quiere decir que no tiene

saldo a favor. En este caso únicamente existe una combinación que hace que la máquina

despache el producto al cliente y esta es 11, ya que al insertar una moneda de 10¢ + 5¢ nos

da un total de 15¢, el cual es el valor requerido para que se entregue el producto.

Caso 2

Luego tenemos el caso 01, en el cual tenemos un saldo a favor de 5¢, esto quiere decir que

nuestra máquina entregará el producto cuando nuestros valores de entrada estén en 10 y 11,

ya que así tenemos dos combinaciones que favorecen al saldo requerido, estas son:

5¢ + 10¢ (10), Entrega producto

5¢ + 5¢ + 10¢ (11), Entrega producto y devuelve cambio

En los valores restantes (00 y 01) no se obtiene el saldo suficiente para entregar un

producto al usuario.

Caso 3

Posteriormente tenemos este tercer caso, el cual no activará la máquina en únicamente una

de sus combinaciones, la cual es 00 ya que al tener un saldo inicial de 10¢ y al no tener

alguna otra moneda en los bits de entrada, esta no alcanza el saldo suficiente.

Page 5: Simulación con compuertas lógicas de una máquina expendedora

Las otras tres combinaciones permiten la entrega del producto y devuelven cambio. La

única combinación que te da producto sin necesidad de cambio es 01, ya que si nuestro

saldo inicial es 10¢ y nuestro bit en alto es el de 5¢, este nos da el precio justo para adquirir

la goma de mascar. En el caso de 10, nos da un saldo total de 20¢, así que la máquina

debería volver un cambio de 5¢. Lo mismo sucede cuando los bits de entrada están en 11,

ya que el saldo total en este caso sería de 25¢, la cual rebasa aún más el saldo requerido y

se tendría que devolver el saldo de más.

Caso 4

Por último, tenemos un caso en el que la máquina está lista para entregar el producto desde

sus inicios, ya que tiene un saldo a favor de 15¢ y al ingresar cualquier otra moneda en

cualquier de sus combinaciones estaría sobrepasando el valor del producto. La única

combinación en los valores de entrada que solo daría el producto sería en 00, ya que tendría

el saldo exacto para la obtención del producto.

Page 6: Simulación con compuertas lógicas de una máquina expendedora

CONCLUSIONES

Desde mi punto de vista me fue grata la pequeña y rápida experiencia en el uso de Active-

HDL, ya que me fue más fácil comprender el uso de circuitos secuenciales con un ejemplo

más tangible como lo es la máquina expendedora, puesto que es algo que usamos casi todos

los días y muy pocas personas sabemos cómo funciona internamente. Mi experiencia en

este reporte me ha llevado a interesarme en aprender la programación, ya que se me hizo

muy útil lo poco que he podido ir entendiendo. He estado viendo videos que me ayuden a

comprender la estructura de la programación y poder así llevar a cabo este mismo proyecto

en código, pues creo que al tener bases en c++ y algunos otros lenguajes de programación

no debería tener tanto problema.

Sería muy grato que en nuestra universidad se implementará más el trabajo VHDL, pues

creo que hace más dinámico el aprendizaje y en mi caso, me resulta más fácil comprender

viendo el funcionamiento que aprendiendo de manera un tanto abstracta los temas del

curso.

Page 7: Simulación con compuertas lógicas de una máquina expendedora

REFERENCIAS

Katz, R. H., (1993), Contemporary Logic Design, California, EU.

Addison Wesley Publishing Company

Perry, D. L, VHDL: Programming by example, EU. McGraw-Hill

Mano, M., (1987), Diseño Digital, Los Angeles, EU. Pearson Educación

Tutorial 1 Introduction to Active-HDL

Tutorial 2 Introduction to Active-HDL