Hi,
Remember this is hardware and for a given bus the bits are fixed. If you mean how to use different indices per different instantiations or statements then you can use HDL to compute j,i and later use them provided they are integers.
example: fifo_data_in(191:0) written to 12 fifos and fifo_data_out(191:0) read out, each fifo is 16 bits wide)
g1: for i in 0 to 11 generate
TS_fifo: mpeg_fifo
port map(
aclr => reset,
data => fifo_data_in(i*16+15 downto i*16),
wrclk => rx_subclk,
wrreq => CA_vld_in(i),
rdclk => output_clk,
rdreq => read_fifo,
rdempty => fifo_empty(i),
rdfull => fifo_full(i),
wrusedw => fifo_wr_words(i),
q => fifo_data_out(i*16+15 downto i*16)
);
end generate;