The difference between single-port RAM, pseudo-dual-port RAM, dual-port RAM and FIFO[Copy link]
The commonly used data cache IPs are FIFO and RAM, among which RAM is divided into single-port RAM, pseudo-dual-port RAM, and dual-port RAM. The difference between single-port and dual-port is that a single-port has only one set of data lines and address lines, so reading and writing cannot be performed at the same time. A dual-port has two sets of data lines and address lines, so reading and writing can be performed at the same time. FIFO can be read and written at the same time, and can be regarded as a dual-port. Dual-port RAM is divided into pseudo-dual-port RAM (Xilinx calls it Simple two-dual RAM) and dual-port RAM (Xilinx calls it true two-dual RAM). For pseudo-dual-port RAM, one port is read-only and the other port is write-only; while for dual-port RAM, both ports can be read and written. FIFO is also read-only on one port and write-only on the other port. The difference between FIFO and pseudo dual-port RAM is that FIFO is first-in-first-out, has no address line, and cannot address storage units; while pseudo dual-port RAM has address lines on both ports and can address storage units. Asynchronous clock domain cache can be completed as long as it is a dual-port device. However, FIFO does not need to control the address, which is the most convenient.