130 Antonalog analog VGA

130 : Antonalog analog VGA

Design render

Overview

My first attempt at an IHP analog (actually, mixed-signal) design. It implements an analog VGA test pattern generator (but it's also pin-compatible with a Tiny VGA PMOD).

I leaned heavily on https://github.com/htfab/ttihp0p3-r2r-dac for the analog layout parts of this.

How it works

A digital block based on my tt08-vga-fun project drives 3x 8-bit DACs to produce analog VGA outputs.

In this case, the DACs are simple R2R DACs (where R=8660).

Note that, in order to get balanced digital outputs driving the DACs, there is a long thin digital block dedicated to buffering the main logic's output signals, using sg13g2_buf_8 buffer cells.

How to test

Plug in a Tiny VGA PMOD and supply a 25MHz clock. Select a test pattern configuration on ui_in, and then reset the design. See here for more information on the test pattern modes: https://tinytapeout.com/runs/tt08/tt_um_algofoogle_tt08_vga_fun

External hardware

Tiny VGA PMOD for basic digital VGA output testing.

Op-amps on the analog output pins; see here for a guide: https://tinytapeout.com/runs/tt06/tt_um_algofoogle_tt06_grab_bag -- but note that this IHP version is expected to be 0-1.2V out, not 0-1.8V

IO

#InputOutputBidirectional
0mode[0] / dac_in[0]r7vblank_out
1mode[1] / dac_in[1]g7hblank_out
2mode[2] / dac_in[2]b7
3mode[3] / dac_in[3]vsync
4mode[4] / dac_in[4]r6
5mode[5] / dac_in[5]g6
6mode[6] / dac_in[6]b6
7mode[7] / dac_in[7]hsync