/ˌdiː viː ˈaɪ/

n. "Digital video interface transmitting uncompressed TMDS pixel streams as DisplayPort's analog predecessor."

DVI, short for Digital Visual Interface, delivers uncompressed digital video via TMDS (Transition-Minimized Differential Signaling) over 1-2 data pairs (Single-Link=3.96Gbps, Dual-Link=7.92Gbps), supporting 1920x1200@60Hz single/2560x1600@60Hz dual without audio or daisy-chaining unlike modern DisplayPort. Developed by DDWG in 1999 as VGA successor, DVI-D (digital-only), DVI-I (integrated analog/digital), and DVI-A variants bridge CRT-to-LCD transition via 24-pin connectors with optional 5-pin VGA breakout.

Key characteristics of DVI include: TMDS Encoding transitions 8b→10b symbols minimizing EMI (max 165MHz pixel clock single-link); Single/Dual-Link versions double bandwidth via second TMDS pair for QXGA+ resolutions; DVI-D/DVI-I/DVI-A connector variants with 18/24 digital + 0/4/5 analog pins; No Audio/EDID2/hot-plug limitations vs HDMI/DP packetized protocols; Screw-lock mounting ensures desktop stability absent in USB-C ecosystems.

Conceptual example of DVI usage:

-- DVI TMDS encoder behavioral model (10-bit symbol generation)
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity tmds_encoder is
  port (
    clk   : in  std_logic;
    din   : in  std_logic_vector(7 downto 0);  -- 8-bit pixel data
    dout  : out std_logic_vector(9 downto 0)   -- 10-bit TMDS symbol
  );
end entity;

architecture behavioral of tmds_encoder is
  function count_ones(d : std_logic_vector) return integer is
  begin
    return count_ones(to_integer(unsigned(d)));
  end function;
  
begin
  process(clk)
    variable ones : integer;
  begin
    if rising_edge(clk) then
      ones := count_ones(din);
      if ones > 4 or (ones = 4 and din(7) = '1') then
        dout <= std_logic_vector(to_unsigned(ones*2 - 10, 10));  -- XOR invert
      else
        dout <= std_logic_vector(to_unsigned(10 - ones*2, 10)); -- No invert
      end if;
    end if;
  end process;
end architecture;

Conceptually, DVI blasts raw pixel clock+data through TMDS pairs with fixed 0.5UI eye openings, requiring clean 24AWG cables under 5m unlike USB4 retimers—link training absent forces graphics cards to guess voltage swing unlike DisplayPort LTK. Stress-tested via PRBS generators hitting TMDS receivers with CTLE compensation, now legacy in HDMI/DP era but immortalized in workstation GPUs tunneling through active adapters to 4K@30Hz max.