We’re really not supposed to start a feature like this; but this hack is awesome. It’s a game of Snake implemented by an FPGA dev board. It uses a 16×16 LED matrix as the display and an SNES controller for input. So far it sounds like a very normal version of the game. But as you start to hear how it works in the presentation after the break you fall in love with what’s going on here.
First of all, it’s not written in VHDL — the predominant programming language for FPGAs. Instead, [Darrell] used the schematic-only approach to build the logic. Okay, that’s starting to get more interesting. As he continues to explain the circuit we get to see how the control input works (pretty simple since the SNES controller uses a parallel-to-serial shift register) and how the display is multiplexed. But the actual game logic is where things really take off. Each pixel in the display has its own individual logic circuit. Basically every cell is its own processor which reacts both to what is passed into it, as well as to a random seed. That seed system is called the ‘bucket brigade’ and passes a chance to spawn a piece of food from one cell to the next. All of this together makes for one simple game that is eloquently executed.[youtube=http://www.youtube.com/watch?v=niQmNYPiPw0&w=470]
s/eloquently executed/elegantly executed/
thank you and good night.
Great design. It’s a great deal of work.
But one more thing – VHDL is not a programming language, as it name states.
Indeed, it actually is – you can do file io, unbounded loops, and line by line execution in the VHDL spec; the fact that it is generally targeted at hardware, where you can’t do those things, doesn’t mean that the language itself isn’t a programming language. Check out the simulation-level routines for a look at what is possible :)
Also, how does the name VHDL state its a programming language? It stands for Very high speed integrated circuit Hardware Description Language, no where do they mention programming.
He’s talking about the article description, where it says
“First of all, it’s not written in VHDL — the predominant programming language for FPGAs.”
And really, it’s a hardware description language, I wouldn’t strictly consider it a programming language.
what… is wrong with posting something like this?
He’s saying it’s not proper writing to start an article with the sentence, “This is awesome!”
ah.
I wish there were more details, code released, etc. for some reason the FPGA guys all refuse to release anything for others to learn from.
Ask and ye shall receive:
http://www.engr.colostate.edu/~drt/lab12.pdf
Oh. When you said no VHDL I thought you meant he wrote it in AHDL or Verilog. Schematic is cool though. Never seen that done before.
This would have been so mutch easier with VHDL. I’m impressed with the complexity of this thing. Having a process(or) for each pixel seems a bit of an over kill.
I don’t think it’s overkill, I just think it’s more suited toward something like an implementation of the Game of Life.
This is very nicely done. I especially like how the presenter described what he had learned from doing the project.
Beautiful work!
I loved my Digital Logic class in college. It was definitely my favorite class. I was not aware that you could program schematics into FPGA chips. I will have to look into that.
Great design. Super inspiring!
Uh,,ndont most fpga toolsets have a schematic editor as well? I had one once when I played with fpga, didn’t like the verily stuff, so I just used the schematic editor since it was what I already knew
I think the point is that this was done via a schematic editor and the vast majority of people (those that I’ve read about anyways) are using Verilog or VHDL.
I’ve been researching FPGA/CPLD for my own project and there seems to fewer projects and documents that leverage the schematic editors as opposed to HDL’s. Of course, I’m coming from a software developer’s point of view so my search terms might be lilted towards HDL hits. An EE doing research might find more schematic based documents. :\
verilog ftw.
Thats Fuckinqq Awesome Like Im Not Even Jokinqq