Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prathampatel25/vending-machine_verilog-hdl
https://github.com/prathampatel25/vending-machine_verilog-hdl
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/prathampatel25/vending-machine_verilog-hdl
- Owner: PrathamPatel25
- Created: 2024-12-03T17:55:50.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-03T18:20:52.000Z (about 1 month ago)
- Last Synced: 2024-12-03T19:26:37.499Z (about 1 month ago)
- Language: Verilog
- Size: 1.44 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Vending Machine Project
## Features
- **Item Selection**: Allows selection from four items priced at 15, 20, 25, and 30 coins.
- **Payment Validation**: Accepts payments in 5 and 10 coin denominations only.
- **Change Calculation**: Returns change accurately using 5 and 10 coin denominations when payment exceeds the item's price.
- **Finite State Machine**: Implements modular FSMs to control item selection, payment validation, and change dispensing.
- **Simulation**: Verified for accuracy using a test bench and simulation waveforms.## Project Structure
- **`Main Module`**: Controls the overall functionality of the vending machine.
- **`Item Modules`**: Separate modules for each of the four items to handle payment and change calculation.
- **RTL Schematic**: Includes a Register Transfer Level (RTL) schematic for better visualization of the design.
- **Test Bench**: Simulates various user interactions to validate functionality.
- **Simulation Results**: Demonstrates FSM state transitions and correctness of outputs.## How It Works
1. **Item Selection**: Users select an item using encoded inputs.
2. **Payment**: Insert coins in denominations of 5 or 10.
3. **Validation**: The machine checks if the amount is sufficient.
4. **Dispensing**: The selected item is dispensed, and change is returned if necessary.## Results
- Accurate transaction processing, validating payments and dispensing the correct item.
- Precise change calculation and dispensing for overpayments.## Future Scope
- Extend payment options to additional denominations (e.g., ₹1, ₹2, ₹50).
- Expand the product range with more items.
- Optimize change dispensing for efficiency.
- Optimize our code