{"id":50756376,"url":"https://github.com/matthewyjiang/fpga-blind-maze","last_synced_at":"2026-06-11T05:05:23.109Z","repository":{"id":206327881,"uuid":"716374094","full_name":"matthewyjiang/fpga-blind-maze","owner":"matthewyjiang","description":"EE354 (Intro to Digital Circuit Design) - Final Project by Matthew Jiang and Kelvin Cao","archived":false,"fork":false,"pushed_at":"2023-12-01T08:50:43.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-01-09T19:08:03.066Z","etag":null,"topics":["fpga","fpga-programming","game-development"],"latest_commit_sha":null,"homepage":"","language":"Verilog","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matthewyjiang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-09T02:07:00.000Z","updated_at":"2023-11-21T03:39:10.000Z","dependencies_parsed_at":"2023-11-27T21:26:33.169Z","dependency_job_id":null,"html_url":"https://github.com/matthewyjiang/fpga-blind-maze","commit_stats":null,"previous_names":["matthewyjiang/ee354_final_project","matthewyjiang/fpga-blind-maze"],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/matthewyjiang/fpga-blind-maze","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewyjiang%2Ffpga-blind-maze","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewyjiang%2Ffpga-blind-maze/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewyjiang%2Ffpga-blind-maze/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewyjiang%2Ffpga-blind-maze/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewyjiang","download_url":"https://codeload.github.com/matthewyjiang/fpga-blind-maze/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewyjiang%2Ffpga-blind-maze/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34183145,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fpga","fpga-programming","game-development"],"created_at":"2026-06-11T05:05:22.397Z","updated_at":"2026-06-11T05:05:23.103Z","avatar_url":"https://github.com/matthewyjiang.png","language":"Verilog","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blind Maze Game (FPGA Game)\n\nBlind Maze Game for **Digilent Nexys A7** by Matthew Jiang and Kelvin Cao.\n\nFinal project for EE354 (Introduction to Digital Circuit Design) at USC\n\n## Game Objective\n\nThe objective of the game is too reach the end point, which is marked green and exactly 30 units across from the start.\n\nThe player is shown the maze layout for a short duration, depending on the difficulty selection. The player now needs to attempt to navigate the to the end point, with a lack of information. If a maze obstacle is hit, the player loses and must reset the game by pressing btnC.\n\n## Map Generation\n\nMaps are randomly generated and validated using a script, and later read into FPGA memory. The map generation script is written using the rust language but simply outputs a text file with a map, 1 representing an obstacle and 0 representing a clear space. Map generation rules can be altered.\n\n## Controls\n\nThe game is controlled by the FPGA push buttons. \n\n- Center Button: reset game\n- Top Button: move up\n- Bottom Button: move down\n- Left Button: move left\n- Right Button: move right\n\n- In starting menu (blue), top button -\u003e start\n- When lost (red) or won (green), center button -\u003e reset game \n\n## Build Instructions\n\n- Clone the project and import it into Vivado, select all verilog files to add to project. \n- Generate the bitstream file and upload it to the FPGA Board. \n- **This project is designed for the Nexys A7 Variant and thus only contains design constraints (.xdc file) to support the Nexys A7 board.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewyjiang%2Ffpga-blind-maze","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthewyjiang%2Ffpga-blind-maze","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewyjiang%2Ffpga-blind-maze/lists"}