Week 04: HDMI and Pong

MIT Fall 2024

You are not logged in.

Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.

Lab Outline

We've been building up systems that move data between different systems the last few weeks. That's really all life is when you think about it. This week we're generating video data in the modern HDMI/DVI format and transferring it to a display. This is quite a complicated task, in large part because of the sheer volume of data that moves. A 720p 60 fps full color video stream involves sending in excess of 1 Gbps...that is a lot so much, much more needs to be done to prepare the data for transmission than is the case in UART or SPI.

We'll start off writing several modules that will create standard video signals for a DVI/HDMI type display, including how a display is encoded, how the individual pixel information is encoded, and how it is transmitted. After that we'll generate some simple test patterns on our display to make sure things are working before finally completing a simple variant of the ball-n-paddle genre of game shown below:

The ultimate fruits of our Week 4 endeavor...a Pong clone written from scratch.

Exercises + Checkoffs

  1. Exercise (SV): Video Signal Generation
  2. Exercise (SV): Transition Minimization
  3. Exercise (SV): Differential Balancing
  4. Checkoff 01: Test Patterns
  5. Checkoff 02: Pong