Code Monkey home page Code Monkey logo

moore-fpgavendingmachine's Introduction

Moore Model Vending Machine FSM

Moore model Verilog FSM created in the Xilinx ISE Design Suite

Contributors

  • Thomas Bivins
  • Patrick Cook
  • Josue Lugo Roldan

Design Description

The FSM takes 5 inputs, 3 of which are coin inputs (Quarter, Nickel, Dime) and 2 are select inputs (Soda, Diet). There are 3 outputs (GiveSoda, GiveDiet, Change). All coin inputs pulse high then immediately low when they are input from the FPGA board, and the selection inputs will pulse high then low when the corresponding output goes high. Both soda outputs pulse high upon input of 45 cents or more and all change is output in nickels.

This is also a pure FSM, meaning that there is no arithmetic used in the calculation of current price and change, only FSM state transitions.

Test Vectors and Waveforms

Waveform 1: 55 cents image

Waveform 2: 35 cents image

Waveform 3: 45 cents image

FPGA Input/Output Mapping

# PlanAhead Generated physical constraints 
#NET "SW<7>" CLOCK_DEDICATED_ROUTE = FALSE;
##Clock Signal 100MHz
	NET "CLK"	LOC=D11 ;

##Switches
	NET "SW[0]"	LOC= V5	; ## RESET		
	NET "SW[1]"	LOC= U4	; ## SODA INPUT
	NET "SW[2]"	LOC= V3	; ## DIET INPUT				

## LEDs
	NET "LED[0]"	LOC=W3	; ## GIVESODA OUTPUT	
	NET "LED[1]"	LOC=Y4	; ## GIVEDIET OUTPUT
	NET "LED[2]"	LOC=Y1	; ## CHANGE OUTPUT

##Buttons
	NET "BTN[1]"	LOC=D5	; ## QUARTER INPUT
	NET "BTN[2]"	LOC=A3	; ## NICKEL INPUT
	NET "BTN[3]"	LOC=AB9	; ## DIME INPUT

I/O Map to physical ports present on FPGA

moore-fpgavendingmachine's People

Contributors

thomasbiv avatar psycho-stitch avatar datachefboyardee avatar

Stargazers

Jordane McCalla avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.