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

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

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