Question
Develop a vending machine controller in Verilog and a testbench to validate its operation. The controller will have three inputs. Each of these three inputs
Develop a vending machine controller in Verilog and a testbench to validate its operation. The controller will have three inputs. Each of these three inputs will indicate to the controller what coins are being inserted (name them: inquarter, indime, innickle). One input will signal that a quarter was inserted by toggling from the default low state to high (active high) for a duration of one clock cycle. The other two inputs will do the same but for dimes and nickels.
The vending machine controller will also have three additional inputs that are used to indicate the beverage selected by the user (name them: inbev1, inbev2, inbev3). These inputs will be active high for a duration of one clock cycle. The beverage costs will be $1.00, $1.20, and $1.15 for bev1, bev2, and bev3 respectively.
The vending machine controller must have three outputs to indicate to the change dispenser how much change it needs to provide. Similar to the coin input logic, the vending machine controller must provide a sequence of active high pulses to the change dispenser indicating what coins must be released (name them: outquarter, outdime, outnickle).
The vending machine controller must have three additional outputs used to dispense one of the three beverages selected if enough coins were inserted into the machine (name them: outbev1, outbev2, outbev3). These outputs must also be active high for a duration of one clock cycle.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started