In Ethernet module , why do we need FIFO block before the mac layer ? Can we bypass it ? Thanx in advance
The FIFO reduces the number of interrupts the attached processor has to service. In theory you could bypass it, but if you do so, the microprocessor will typically waste a lot of time on the overhead of interrupt servicing.
For a quick analogy, let's assume you were asked to move 40 gallons of water 20 miles. The FIFO is roughly equivalent to a truck with a 20 gallon water tank, so you make only two trips to get all the water to the destination. Without the FIFO, you can only carry one water bottle at a time, so you'd have to make around 500 trips back and forth instead.