{"id":18,"date":"2026-10-22T19:23:26","date_gmt":"2026-10-22T19:23:26","guid":{"rendered":"https:\/\/bugzyard.com\/?page_id=18"},"modified":"2026-10-22T19:23:26","modified_gmt":"2026-10-22T19:23:26","slug":"pacman-vhdl","status":"publish","type":"page","link":"https:\/\/bugzyard.com\/?page_id=18","title":{"rendered":"Pac-Man (VHDL, 800&#215;600)"},"content":{"rendered":"<div class=\"vb3-game\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;align-items:start;margin:10px 0 24px\"><div><p style=\"margin-top:0\">Pac-Man (VHDL, 800x600) is a student Basys 3 FPGA project written in VHDL. It uses serial terminal (USB-UART 9600 baud), Clocking Wizard 40 MHz, 3 Block Memory ROMs (.xcix). Play it free on this site: the simulation runs on your own PC, no FPGA board needed.<\/p><p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:pacman-vhdl\" style=\"display:inline-block;padding:10px 22px;border-radius:8px;background:#4fd1c5;color:#08201e;font-weight:700;text-decoration:none\">Play now &#9656;<\/a><\/p><h2 style=\"font-size:1.15em;margin:18px 0 6px\">How to play<\/h2><p>Typing goes to the USB-UART automatically: W A S D move. sw0 = reset<\/p><h2 style=\"font-size:1.15em;margin:18px 0 6px\">What it uses<\/h2><p>VHDL \u00b7 serial terminal (USB-UART 9600 baud), Clocking Wizard 40 MHz, 3 Block Memory ROMs (.xcix)<\/p><p style=\"opacity:.8\">Integer ports with different ranges (Vivado allows it) are converted automatically. Runs at about 7% of real time.<\/p><p style=\"opacity:.8\">Source code: <a href=\"https:\/\/github.com\/atahanyorganci\/pacman-in-vhdl\" rel=\"nofollow noopener\" target=\"_blank\">github.com\/atahanyorganci\/pacman-in-vhdl<\/a><\/p><\/div><\/div><h2 style=\"font-size:1.15em\">More games like this<\/h2><div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px\"><a href=\"https:\/\/bugzyard.com\/?page_id=10\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/bee-invaders.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Bee Invaders (Space Invaders style)<\/span><\/a><a href=\"https:\/\/bugzyard.com\/?page_id=14\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/flappy-qlearning.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Flappy Bird with Q-learning AI<\/span><\/a><a href=\"https:\/\/bugzyard.com\/?page_id=16\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/tetris.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Tetris<\/span><\/a><a href=\"https:\/\/bugzyard.com\/?page_id=80\" style=\"text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-pacman.png\" alt=\"\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;border-radius:8px;image-rendering:pixelated\"><span style=\"display:block;margin-top:4px;font-size:.9em\">Pac-Man sprite from a ROM<\/span><\/a><\/div><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"VideoGame\",\"name\":\"Pac-Man (VHDL, 800x600)\",\"description\":\"Pac-Man (VHDL, 800x600) is a student Basys 3 FPGA project written in VHDL. It uses serial terminal (USB-UART 9600 baud), Clocking Wizard 40 MHz, 3 Block Memory ROMs (.xcix). Play it free on this site: the simulation runs on your own PC, no FPGA board needed.\",\"image\":\"https:\\\/\\\/bugzyard.com\\\/wp-content\\\/plugins\\\/virtual-basys3\\\/app\\\/thumbs\\\/pacman-vhdl.png\",\"url\":\"https:\\\/\\\/bugzyard.com\\\/?page_id=18\",\"gamePlatform\":\"Basys 3 FPGA (simulated in Virtual Basys 3)\",\"applicationCategory\":\"Game\",\"isAccessibleForFree\":true}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Pac-Man (VHDL, 800&#215;600) is a student Basys 3 FPGA project written in VHDL. It uses serial terminal (USB-UART 9600 baud), Clocking Wizard 40 MHz, 3 Block Memory ROMs (.xcix). Play it free on this site: the simulation runs on your own PC, no FPGA board needed.<\/p>\n","protected":false},"author":1,"featured_media":19,"parent":9,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-18","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18"}],"version-history":[{"count":0,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/18\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/9"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/media\/19"}],"wp:attachment":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}