VHDL: Simple UART TX not working
I'm not a VHDL guru, but I think your comment 


  -- increment index by one (automatically overflows back to 0)


is misleading, and you have to explicitly reset the index after 12.