Sidequest: VGA scan doubler
Posted: Sun Apr 07, 2019 12:46 pm
Hello, me again!
So, I like to have several projects going at once, as you have probably guessed from my short attention span.
I wanted to get started with small and very cheap FPGAs (as opposed to the huge and expensive Cyclones) so I picked up some MAX-Vs in my last Mouser order. These guys go all the way down to $1.32 each.
So I decided to do a VGA scandoubler that reads the RGB values straight out of the shifter into a couple of SRAMs. I started several months ago and today came to a point where it's worth discussing. Here's what it looks like plugged in:
The MAX-V is at the bottom centre. The two SRAMs on the right alternate between reading and writing. The addresses on both are generated by ripple counters (above the SRAMs). At the top are the three DACs for RGB, and the VGA pin header. I had to do a couple of fix-up wires, which is fun on an EQFP-64 with 0.4mm pin spacing.
Unfortunately the picture isn't great right out of the gate. It looks like it could be because of address lines changing in the middle of reads or writes, and thus reading or writing to/from the wrong address, but I haven't been able to narrow it down any further than that so far. Because I took the photo on my phone, it's got that annoying moire pattern on the pic, but you can see the vertical green lines on the right half for example. The dodgy pixels are also quite evident in the menu bar due to the presence of lots of text.
Anyway, apart from the "reflections", the image is quite stable and crisp, and the colours look right. So that's something I guess!
I'm probably violating the timing requirements for VGA, but you can't have everything.
So, I like to have several projects going at once, as you have probably guessed from my short attention span.
I wanted to get started with small and very cheap FPGAs (as opposed to the huge and expensive Cyclones) so I picked up some MAX-Vs in my last Mouser order. These guys go all the way down to $1.32 each.
So I decided to do a VGA scandoubler that reads the RGB values straight out of the shifter into a couple of SRAMs. I started several months ago and today came to a point where it's worth discussing. Here's what it looks like plugged in:
The MAX-V is at the bottom centre. The two SRAMs on the right alternate between reading and writing. The addresses on both are generated by ripple counters (above the SRAMs). At the top are the three DACs for RGB, and the VGA pin header. I had to do a couple of fix-up wires, which is fun on an EQFP-64 with 0.4mm pin spacing.
Unfortunately the picture isn't great right out of the gate. It looks like it could be because of address lines changing in the middle of reads or writes, and thus reading or writing to/from the wrong address, but I haven't been able to narrow it down any further than that so far. Because I took the photo on my phone, it's got that annoying moire pattern on the pic, but you can see the vertical green lines on the right half for example. The dodgy pixels are also quite evident in the menu bar due to the presence of lots of text.
Anyway, apart from the "reflections", the image is quite stable and crisp, and the colours look right. So that's something I guess!
I'm probably violating the timing requirements for VGA, but you can't have everything.