First, you have to specify, which register you want to read from by
where SLAVE is the slave i2c address and REGISTER is the register (e.g. 0x01 for FPGA version).
(note, that you have to init i2c via Wire.begin() first!)
After you selected the register, you can request the data with
where SLAVE is the i2c address again and numOfBytes is the number of bytes, you want to read. For example, to read the FPGA version, numOfBytes would be 1, for the firmware version it would be 4. If you request more bytes than the register has, the i2c device will return the following registers as well, e. g., if you request 2 bytes from register 0x01, you will also get the hardware version.
You need to read the bytes after requesting them via
if(Wire.available() >= numOfBytes)
for(int i = 0; i < numOfBytes; i++)
byte b = Wire.receive();