Сделать ROM массивом не unsigned, а natural. И преобразование сделать в конце:
DO <= to_unsigned(ROM(TO_INTEGER(ADR)), DataWidth_g);