Vending Machine

profilejahguy
labfinal_-_vending_machine.pdf

University of Texas at El Paso

Electrical and Computer Engineering Department

EE 2169 –Laboratory for Digital Systems Design I

Lab Final – Algorithmic State Machine – The Burrito Vending Machine

Due Dates

Prelab: 7/3/2017

Demonstration 7/6/2017

Design Package: 7/9/2017 1:00 pm

You are tasked with designing the digital system of a burrito vending machine. The vending machine will be rolled out

all over UTEP campus by the beginning of the 2018 Fall term, so the design package (which should contain your ASM

chart, Verilog module (.V), user constraints (.UCF), programing (.BIT) files, team members, and conclusions) is due by

Sunday, July 6 at 1:00 pm.

The vending machine is designed to hold three different types of burritos: Bean, Steak, and Chicken. It only accepts US

coin denominations of 5, 10, and 25 cents. The price of each burrito is based on your student ID number but has to be a

multiple of 5 (you may round to nearest power of 5 achieve this restriction). For Example, if a student engineer has the

ID number 80-205288, the bean burrito should be priced at $0.20, the chicken burrito at $0.50 and the steak burrito at

$0.90. The steak burrito should be the most expensive of the three. The bean burrito should be the cheapest. You may

decide the prices based on your student ID in the report document and use them as constants when describing the system.

Design the vending machine so that it displays the balance on the two seven-segment displays at all times. When initially

programed or reset; the machine should have a “00” balance. Assign the buttons on the DFEB as follows.

BTN3 = $0.05 inserted

BTN2 = $0.10 inserted

BTN1 = $0.25 inserted

BTN0 = reset machine

To vend the burrito, the balance displayed should greater than or equal to the price of each burrito (the vending machine

doesn’t give any change back). Use the switches to choose each burrito as follows:

SW7 = Bean Burrito

SW6 = Chicken Burrito

SW5 = Steak Burrito

When vending: All the LEDs (LD7 through LD0) should turn on and the seven-segment display should show which

burrito it is vending. Use “BB” for Bean, “CB” for chicken, and “SB” for steak. After one clock pulse the vending

machine should go back to the initial “00” state and wait for the next customer.

A few notes on the implementation:

1. Assume that only one button or switch can and will be pressed at a time. No need to account for multiple inputs being on.

2. Assume you will not insert more that $1.00 in coins. 3. If amount of money inserted is not greater than or equal the price of the selected burrito, no action is required

from the vending machine. Feel free, however to include some kind of indication that there’s not enough

money in the vending machine to buy a particular burrito.

4. Use the CLK signal with (1Hz) frequency as your synchronizing clock.

Pre-Lab Draw the Algorithmic State Machine (ASM) chart that describes your design for the burrito vending machine.

This is YOUR design, there’s no right or wrong answer, just the one that works correctly. Draw the ASM chart

completely as possible, reference chapter 8 in Mano & Ciletti.

Lab Email your design package as a compressed folder (.zip) to [email protected] by Sunday Jul 6, 1:00 pm. Name the folder as follows: EE2169_Lastname_Firstname. Your design package should include the following

files:

ASM Chart in PDF or Word format

Verilog module (.v)

User Constrains file (.ucf)

FPGA Programing file (.bit)

Names of the team members.

Notes & Conclusions.

 You are encouraged to work in teams. Each team may consist of 2 and only 2 students.

 If the working vending machine is demonstrated by July 5th a 10% extra credit will be assign to the burrito machine grade.

 If the design package is turned in after the due date, a deduction to the burrito machine grade will be made.