component top word_length : generic integer = 8 T_IO : generic type = bitvector(word_length) data_in : in T_IO data_out : out T_IO register storage: T_IO = 0 begin storage[0] = storage[word_length-1] storage[1:word_length-1] = data_in[0:word_length-2] data_out = storage end