# ethanledbetter1625-glitch/cpe304finalproj architecture

> Architecture diagram of the GitHub repository ethanledbetter1625-glitch/cpe304finalproj, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ethanledbetter1625-glitch/cpe304finalproj
- Repository: https://github.com/ethanledbetter1625-glitch/cpe304finalproj

## Overview

This repository appears to be an FPGA vending-machine project implemented in VHDL and opened as a Quartus project. The reference-file names indicate customer vending and payment scenarios, plus technician setup and price changes. The likely user-to-result workflow is selecting an item, paying, and vending it, with technician configuration as a separate capability. No source excerpts were provided, so module responsibilities and call relationships cannot be verified; the graph therefore shows the VHDL modules without inferred connections.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_project["Project control"]
  node_finalproject["Final project<br/>[FinalProject.vhd]"]
  node_lab5["Lab 5 logic<br/>[LAB5.vhd]"]
  node_part2["Part 2 logic<br/>[Part2.vhd]"]
end

subgraph group_transaction["Vending transaction"]
  node_payment["Payment<br/>[Payment.vhd]"]
  node_change_calc["Change calculation<br/>[ChangeCalc.vhd]"]
end

subgraph group_hardware["Hardware support"]
  node_ram["RAM entity<br/>[RAM_Entity.vhd]"]
  node_to_int["Integer conversion<br/>[To_Int_Entity.vhd]"]
  node_debounce["Input debounce<br/>[Debounce.vhd]"]
  node_clk_div["Clock divider<br/>[clk_div.vhd]"]
end

click node_finalproject "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/FinalProject.vhd"
click node_lab5 "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/LAB5.vhd"
click node_part2 "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/Part2.vhd"
click node_payment "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/Payment.vhd"
click node_change_calc "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/ChangeCalc.vhd"
click node_ram "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/RAM_Entity.vhd"
click node_to_int "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/To_Int_Entity.vhd"
click node_debounce "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/Debounce.vhd"
click node_clk_div "https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/clk_div.vhd"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_finalproject,node_lab5,node_part2 toneBlue
class node_payment,node_change_calc toneAmber
class node_ram,node_to_int,node_debounce,node_clk_div toneMint
```

## Components

### Project control

- [Final project](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/FinalProject.vhd): `FinalProject.vhd`
- [Lab 5 logic](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/LAB5.vhd): `LAB5.vhd`
- [Part 2 logic](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/Part2.vhd): `Part2.vhd`

### Vending transaction

- [Payment](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/Payment.vhd): `Payment.vhd`
- [Change calculation](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/ChangeCalc.vhd): `ChangeCalc.vhd`

### Hardware support

- [RAM entity](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/RAM_Entity.vhd): `RAM_Entity.vhd`
- [Integer conversion](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/To_Int_Entity.vhd): `To_Int_Entity.vhd`
- [Input debounce](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/Debounce.vhd): `Debounce.vhd`
- [Clock divider](https://github.com/ethanledbetter1625-glitch/cpe304finalproj/blob/main/clk_div.vhd): `clk_div.vhd`
