The difference between a single port and a single port is that a single port only has a set of data lines and address lines, so reading and writing cannot be performed at the same time. The dual port has two sets of data lines and address lines, which can be read and written simultaneously. FIFO read/write can be performed at the same time and can be considered as a dual port.
Dual-port RAM is divided into pseudo-dual-port RAM (Xilinx referred to as simple two-Dual RAM) and dual-port RAM (Xilinx referred to as true two-Dual RAM ). Pseudo-dual-port RAM: one port is read-only, and the other port is write-only. Both ports of dual-port RAM can read and write.
FIFO is also a port read-only, and the other port write only. The difference between FIFO and pseudo-dual-port RAM is that FIFO is the first-in-first-out, and there is no address line, and there is no addressing to the storage unit. Both ports of pseudo-dual-port RAM have an address line, addressing a storage unit.
Asynchronous Clock Domain caching can be completed as long as it is a dual-port device. However, FIFO does not require address control, which is the most convenient.