ENSC252 Fundamentals of Digital Logic and Design Assignment

Assignment Help Other Subject
Reference no: EM132582622

ENSC252 Fundamentals of Digital Logic and Design Assignment - Simon Fraser University, Canada

Final Project - Vending Machine Controller

Objective: To design a fully functional vending machine controller (VMC) in VHDL. Students will apply their digital design knowledge and various FSM principles to implement the hardware components necessary to realize a coin operated VMC based on a set of specifications. The machine will support four modes of operation: vending mode, program mode, display mode, and free mode. Consumers will use the vending and display mode, and vending machine operators the program, display, and free mode. Distinction between consumer and user will not be necessary in the context of this project.

Note - It's a Vhdl project on Quartus prime 19.1 lit verision.

1) Vending Machine Controller Overview

The vending machine controller (VMC) is a sequential, active-high circuit. The VMC may be set to a certain mode using the "Start" input, simultaneously applied with a "funct" (Function) input code. Accordingly, the start input signal will initiate the VMC to enter the "funct" specified mode of operation. The funct mode encodings are as follows:

0) Program Mode: program the price of a given product (operator)

1) Display Mode: display the price of a product (operator/user)

2) Vending Mode: purchase the selected product (user)

3) Free Mode: dispenses the selected product for free (operator)

When the VMC is set into the vending or program mode, the user specifies the product using input "prod", and the controller thereafter accepts three types of coins: Nickels (N), Dimes (D) and Quarters (Q). The N, D, and Q coins each have their own input slot in the vending machine, and hence the coins may be input simultaneously or individually by the user. An input called "set" applied during program mode will signal to the VMC that the user has finished inserting coins.

The outputs of the VMC will present the user with an indication of how much a product costs (total0-2), the running total (runTotal0-2 i.e. coins inserted into the VMC), and change (change0-2) returned to the user. A "finished" signal will be output to the user to indicate that the operation has been successfully completed, and that the product has been dispensed (if applicable). For the sake of simplicity, we will allow our VMC to support up to four products only.

2) System Specifications

The vending machine will consist of 5 main components depending on your implementation: program_unit, sram, convert2bcd, vend_unit, and the FSM required to control the VMC's operational modes. You will be required to determine any specifications that have been purposely left out, such as port/signal datawidths and types. The rest of the implementation is up to you; you must have a justification for your design choices. The following outlines specifications for each unit:

A) Program Unit - implements the VMC's program mode

B) SRAM

We will expand our knowledge by learning how to create and interface IP (Intellectual Property) cores available in Quartus' IP Catalog into our designs. Specifically, we will use a 1-PORT RAM component for which we will store and read our product prices (required of the program and display mode). To generate a RAM IP core, carefully follow the steps provided in the Appendix. Thoroughly test your RAM core through simulations to ensure you understand how to write and read data, and integrate the component within your design.

C) Display Mode

Design choice: This mode may be implemented within the top-level vending machine, or as a separate component integrated into the VMC. When the user specifies display mode, the product specified is read from the on-chip memory. Accordingly, the product number is applied to the address input, and the read enable signal is asserted.

Once the data is read, the done signal must be asserted in sync with the read data output from the VMC system, displayed on the total0..3 output segment display. Hint: ensure you thoroughly test the memory unit before proceeding to code the display mode functionality.

D) Vending unit (vend_unit) -implements vending mode

The vend_unit implements vending mode functionality. The unit is enabled whenever enable = '1'. The price_in input provides the selected product's price which is read from memory, and therefore the FSM in the top-level (vending_machine) must ensure that all signals are synced when vend mode is activated, such that enable and price_in are aligned with respect to time. i.e. when vending_unit is enabled, price_in is reflective of the product's price.

E) Free Mode - implements free mode

Likely the simplest to implement, and a good starting point. When the free state is entered, the mode simply sets all vending_machine outputs to the floating state 'Z' and dispenses the product specified by the user, represented by the assertion of the "finished" signal. Once asserted, the vending machine re-enters the idle state, where the finished signal is unasserted.

F) Vending Machine Controller Finite State Machine (VMC FSM) - top level FSM, initiating and completing the VMC modes of operation.

Attachment:- Fundamentals of Digital Logic and Design Assignment File.rar

Reference no: EM132582622

Questions Cloud

Prepare journal entry pertaining to transaction for january : Prepare journal entries pertaining to this transaction for January 1, 20X5, and December 31, 20X5, together with a summary journal entry to record
Name the binary compounds : Name the following binary compounds. You must spell correctly. CO2
Whole set of data and the buffer titration curve : If you drag the video to 2'42 and 3'00" , you will see almost the whole set of data and the buffer titration curve. You will have to watch the video
What are the objective of cash flow : How will Cash Flow assist an organization in managing its financial activities?What types of data need to be included in that specific Cash Flow?
ENSC252 Fundamentals of Digital Logic and Design Assignment : ENSC252 Fundamentals of Digital Logic and Design Assignment Help and Solution - Simon Fraser University, Canada - Assessment Writing Service
What is the molar mass of dry air : At a pressure of 1 atm and a temperature of 20 °C, dry air has a density of 1.2256 g/L. What is the (average) molar mass of dry air?
Conjugate acid-base pair : In the following reaction, which describes the conjugate acid-base pair?
Prepare a provision for the estimated bad debt expense : Prepare a Provision for the estimated bad debt expense in December 20X4 based on credit sales and Recovery of the AR written off in 20X3
Calculate the bond order for h2 : The molecular orbital configuration using either lines or diagram boxes and calculate the bond order for H2.

Reviews

Write a Review

Other Subject Questions & Answers

  Uniform commercial code

Identify and discuss each of the warranty protections that apply to leases under Article 2A of the Uniform Commercial Code (UCC). Provide an example for each that is not presented in the textbook. Why does the UCC allow for the buyer to sue for breac..

  What is parole officers face in carrying out their duties

What ethical issues do probation and parole officers face in carrying out their duties. Given the recent emphasis on law enforcement in probation

  The statute''s constitutionality issues

What effect does the evidence to the contrary have on the statute's constitutionality?

  Intercultural interaction reflection paper

Intercultural communication is the verbal and non-verbal interaction between people from different cultural backgrounds.

  How can you capitalize on these to better services to client

In what has these 3 factors (social, political and economic) influenced a psychological practice and delivery of services and How can you capitalize on these to better services to clients?

  Random access network with slotted ALOHA

Consider a random access network with slotted ALOHA. Define the following parameters: S = average throughput: average number of successful transmissions per unit time G = total traffic load: average number of transmissions attempted per unit time, in..

  Predict economic impact of components on healthcare system

Predict the economic impact of those components on the overall U.S. healthcare system over the next decade. Provide a rationale for your response.

  The wavelength of light from a hene laser

The wavelength of light from a HeNe laser is 6.33 x 10-7 m. If the frequency of the light from the laser is 4.74 x 1014 Hz, find the speed of light. Express the answer in scientific notation with the proper number of significant digits.

  Automatic incumbency and political process

Should elected political figures be required to be re-vetted by a bi-partisan committee prior to qualifying for automatic incumbency? What are the potential draw-backs to this?

  Three main types of feminism

What are the three main types of feminism? Is there one of these that seems to make the most sense? Why did feminism decline around 1920 and then regain momentum in the 1960s?

  Explain the fundamental legal principles of contract law

Apply and communicate relevant research material to a given situation, and produce logically structured and well balanced reports.

  Descriptive statistics different from inferential statistics

How are descriptive statistics different from inferential statistics, and when is it appropriate to use each - personal work experience or look

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd