using soft crc & soft fifo