FPGA Snake game uses no VHDL at all

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.

Comments

  1. EccentricElectron says:

    s/eloquently executed/elegantly executed/

    thank you and good night.

  2. Leo says:

    Great design. It’s a great deal of work.

    But one more thing – VHDL is not a programming language, as it name states.

    • Adrian says:

      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.

      • brennanthl says:

        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.

  3. Jordan says:

    what… is wrong with posting something like this?

  4. fartface says:

    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.

  5. Hal H says:

    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.

  6. jwrm22 says:

    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.

  7. LifeSizeActionFigure says:

    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.

  8. Jim says:

    Great design. Super inspiring!

  9. Mike bradley says:

    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

    • SavannahLion says:

      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. :\

  10. Alex Rossie says:

    verilog ftw.

  11. Vicki Perez Kingston says:

    Thats Fuckinqq Awesome Like Im Not Even Jokinqq

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 91,380 other followers