Question: Create a vending machine controller in Verilog(using Xilinx vivado) and create a testbench to validate its operation. The controller will have three inputs. Each of

Create a vending machine controller in Verilog(using Xilinx vivado) and create 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: quarterin, dimein, nicklein). 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: indrink1, indrink2, indrink3). These inputs will be active high for a duration of one clock cycle. The beverage costs will be $1.00, $1.10, and $1.20 for drink1, drink2, and drink3 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: quarterout, dimeout, nickleout).

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: outdrink1, outdrink2, outdrink3). 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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!