Улучшая предыдущий ответ, вы могли бы написать:
ts0 <= to_unsigned(i, 1)(0);
При условии, что вы включили библиотеку "numeric_std", в которой определена эта функция:
library IEEE;
use IEEE.numeric_std.all;
Вы можете пропуститьявное приведение к типу "std_logic", потому что тип возвращаемого значения "to_unsigned ()" является массивом самого "std_logic":
type UNSIGNED is array (NATURAL range <>) of STD_LOGIC;