https://github.com/barrettotte/vga-square
Bounce a square around a VGA display using FPGA
https://github.com/barrettotte/vga-square
fpga vga
Last synced: 7 months ago
JSON representation
Bounce a square around a VGA display using FPGA
- Host: GitHub
- URL: https://github.com/barrettotte/vga-square
- Owner: barrettotte
- License: mit
- Created: 2024-07-24T23:35:42.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-27T21:09:58.000Z (about 1 year ago)
- Last Synced: 2025-02-03T13:13:13.025Z (8 months ago)
- Topics: fpga, vga
- Language: Verilog
- Homepage:
- Size: 8.12 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vga-square
Bounce a square around a VGA display using FPGA.
Targets Basys 3 Artix-7 board (XC7A35TCPG236-1).

## Development
This assumes Windows with WSL is used for FPGA development.
### Requirements
- Vivado 2023.2+
- GNU Make
- GTKWaveVerify Vivado is installed and its binaries (`xilinx/Vivado/2023.2/bin`) are in system path with `vivado -version`.
Also, verify GNU Make is installed with `make -v` and GTKWave is installed with `wsl -e gtkwave --version`.### Workflow
Edit source in VS Code, the [vscode-verilog-hdl-support](https://github.com/mshr-h/vscode-verilog-hdl-support) extension seems to work well for Verilog and Tcl.
```sh
# build bitstream file
make build# simulate, generate waveform, and open in gtkwave
make simulate# build and upload bitstream to FPGA
make program_board
```Optionally, you can still develop in project mode with the following:
```sh
# create Vivado project
make create_project# open Vivado project in GUI
make gui
```## References
- [Basys 3 Reference Manual](https://digilent.com/reference/programmable-logic/basys-3/reference-manual)
- [Vivado Design Suite Tcl Command Reference Guide](https://docs.amd.com/r/en-US/ug835-vivado-tcl-commands)
- https://projectf.io/posts/vivado-tcl-build-script/
- http://www.tinyvga.com/vga-timing/640x480@60Hz