Project update 2 of 7
Dog: Hey how’s it going?
Me: Fine, getting the Dazzler ready. It’s looking pretty good.
Dog: That’s the HDMI output thing, right?
Me: Yes, it seems to be working fine. I took a public Verilog HDMI encoder, loaded it on the FPGA, and my monitors all sync to it.
Dog: So you make sure it’s legal HDMI by trying it with a selection of monitors and TVs?
Me: Yes, that’s what I did for the Gameduino 1’s VGA output, back in 2011.
Dog: How did that work out?
Me: Quite well. Some people had sync trouble, but that’s to be expected. I can’t very well try it with every single monitor in the world. That was the idea when I worked at Microsoft - they had this huge compatibility barn that had everyth—
Dog: So you’ll know there’s a problem with your HDMI if customers start reporting trouble?
Me: Yes. That’s the idea.
Me: You think that’s rather cynical. But with HDMI all I can do is output it and see if the receiver accepts it.
Dog: You’re powerless to do better. That’s unfortunate. What kind of arrangements would a powerful person make instead?
Me: Well… they would capture the HDMI output in the simulator, then play it back into a "mock television" — just a software model that can decode the HDMI protocol. Hacking it up in Python shouldn’t take more than a few hours. That would be a way of confirming it.
Dog: That would certainly confirm that the design matches your understanding of HDMI.
Me: Oh I see what you’re saying. What if I’ve misunderstood something? Well, I could confirm the mock TV against other HDMI implementations. That would anchor it in reality.
Dog: Sounds good. Having a strong regression test suite is the first line of defense. If only there were some Oracle that you could ask if your signal is legal HDMI.
Me: There is! Those official HDMI compliance testing boxes that Agilent has been selling for tens of thousands of dollars.
Dog: Yes, since 2009.
Me: You are hinting that old ones might be available. [Checks eBay] Oh, they’re not very expensive at all, and I can always re-sell it after I’m done. OK!
Dog: You’re welcome.