j-jacobson / jpong Goto Github PK
View Code? Open in Web Editor NEWDigital Ping Pong implementation
License: GNU General Public License v3.0
Digital Ping Pong implementation
License: GNU General Public License v3.0
It is cluttered. See if any of the if statements overlap and remove them for efficiency.
Add more comments to make it easily understandable.
And instantiate it into the TB so that you have to touch the TB less.
Increment the score when the ball hits one of the players x bounds.
It is pretty good, but it can be better. Preferably make one that can be copied into the project from jacobson_ip with only the name of the DUT will needing to be modifed. This will allow rapid bring-up of other projects.
Make it so the ball moves.
Ball should always start by heading towards one of the paddles (should be the loser? Look up the rules). It should begin when a button is pushed (center button for now.)
Every time it hits a paddle the speed should increase slightly. Every time it hits a wall it should slow down slightly.
Ball should reset position once it hits x=0 or x=h_Size.
I want to have an encoder that I can spin and make the paddle move. I believe this was how the original controller worked.
Would likely be a variable resistor without a stop (so it spins continuously). An encoder would work as well but those are more expensive .. create a pros cons list and decide which is best. Then add functionality.
The whole thing. Make a separate one for programming the board.
Make the ball speed up and slow down based on when it hits the walls and paddles
See http://tinyvga.com/vga-timing/640x480@60Hz
What speed will the FPGA be running?
currently, score is only one digit. fix this so it changes to 2 digits when the score is >10
Ball should bounce when it hits a wall or a paddle, nothing else.
When it hits the x bounds, it should reset. See #14
Make it basically a design document.
Line 114 in bf4e06b
Instead of going through all 10 numbers and listing out the segments needed, go through each segment and list out the numbers that require it to be off.
Instead of:
if(num = 0){
seg(1) = off;
seg(2) = off;
seg(N-1) = off;}
Do:
if(num = 0 or num = 1 or num = 2){
seg 0 = off;}
if (num = 0 or num = 5 or num = 3){
seg 1 = off;}
etc.
You'll have max 7 if statements, and only a signal line under each! They just might be long if statements with lots of 'or's.
Write a(nother) 7 segment display driver, this time for the on-board 7 segment.
Should be easier than the pixel art one, LOL.
Implement a sound driver.
I want a note played when the ball hits a paddle, a different note when it hits a wall, and a third note when it hits out-of-bounds.
add an AI with different difficulty levels
Should delete precompiled libs so that everything is recompiled.
Add cocotb and use that to verify this module.
It is reading the build tcl files I lifted from vivado.jou and somehow those 800bytes count for more than my kBs of vhd code in /src???
vcom -work <my_lib>
pong_lib OK?
Maybe even create mini tbs for ip blocks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.