First-Input-First-Output
(FIFO) buffers are extensively used in contemporary digital processors and
System-on-Chips (SoC). There are synchronous FIFOs and asycnrhonous FIFOs. And
different sized FIFOs should be implemented in different ways. FIFOs are used
not only for the pipeline design within a processor, for the inter-processor
communication networks, for example Network-on-Chips (NoCs), but also for the
peripherals and the clock domain crossing at the whole SoC level. In this
paper, we review the interface, the circuit implementation, and the various
usages of FIFOs in various levels of the digital design. We can find that the
usage of FIFOs could greatly facilitate the signal storage, signal decoupling,
signal transfer, power domain separation and power domain crossing in digital
systems. We hope that more attentions are
paid to the usages of synchronous and asynchronous FIFOs and more
sophististicated usages are discovered by the digital design communities.
References
[1]
Mano, M.M. and Ciletti, M.D. (2017) Digital Design: With an Introduction to the Verilog HDL, VHDL, and SystemVerilog. 6th Edition, Pearson, New York.
[2]
Hennessy, J.L. and Patterson, D.A. (2017) Computer Architecture: A quantitative Approach. 6th Edition, Morgan Kaufmann, Cambridge, MA.
[3]
Gordon-Ross, A., Abdel-Hafeez, S. and Alsafrjalni, M.H. (2019) A One-Cycle FIFO Buffer for Memory Management Units in Manycore Systems. IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Miami, FL, 15-17 July 2019, 265-270.
https://doi.org/10.1109/ISVLSI.2019.00056
[4]
Hu, D., Shang, D., Zhang, Y., et al. (2022) Timing and Area Optimized Re-Confi- gurable Network-On-Chip Router. Journal of Xidian University, 49, 125-134.
[5]
Hoppner, S., Yan, Y.X., Dixius, A., et al. (2021) The SpiNNaker 2 Processing Element Architecture for Hybrid Digital Neuromorphic Computing.
https://arxiv.org/pdf/2103.08392.pdf
Jiang, Z., Audsley, N., Shi, D.Y., et al. (2021) Brief Industry Paper: AXI-InterconnectRT: towards a Real-Time AXI-Interconnect for System-on-Chips. IEEE 27th Real-Time and Embedded Technology and Application Symposium (RTAS), Nashville, TN, 18-21 May 2021, 437-440. https://doi.org/10.1109/RTAS52030.2021.00046
[8]
Wang, S., Xu, Y., Tang, J., et al. (2021) Design of Asynchronous FIFO Controller Based on FPGA. International Core Journal of Engineering, 7, 153-159.
[9]
Wielage, P., Marinissen, E.J., Altheimer, M., et al. (2021) Design and DFT of a High- Speed Area-Efficient Embedded Asynchronous FIFO. International Core Journal of Engineering, 7, 153-159.
[10]
Shibata, N., Watanabe, M., Tanabe, Y., et al. (2002) A Current-Sensed High-Speed and Low-Power First-In-First-Out Memory Using a Wordline/Bitline-Swapped Dual-Port SRAM Cell. IEEE Journal of Solid-State Circuits, 37, 735-750.
https://doi.org/10.1109/JSSC.2002.1004578
Moreshet, T. and Iris Bahar, R. (2004) Effects of Speculation on Performance and Issue Queue Design. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 12, 1123-1126. https://doi.org/10.1109/TVLSI.2004.834226
[13]
Yu, Z.Y., Meeuwsen, M.J., Apperson, R.W., et al. (2008) AsAP: An Asynchronous Array of Simple Processors. IEEE Journal of Solid-State Circuits, 43, 695-704.
https://doi.org/10.1109/JSSC.2007.916616
[14]
Abdelhadi, A.M.S. and Li, H. (2021) Enabling Mixed-Timing NoCs for FPGAs: Reconfigurable Synthesizable Synchronization FIFOs. International Conference on Field-Programmable Logic and Applications, 43, 312-318.
https://doi.org/10.1109/FPL53798.2021.00062
[15]
Fariborz, M. and Ben Yoo, S.J. (2022) High Throughput Memory with Silicon Photonics in Chiplet-Based Architectures for Irregular Workloads. 27th OptoElectronics and Communications Conference (OECC) and 2022 International Conference on Photonics in Switching and Computing (PSC), Toyama, 3-6 July 2022, 1-3.
https://doi.org/10.23919/OECC/PSC53152.2022.9849864
[16]
Fischer, T., Rogenmoser, M., Cavalcante, M., et al. (2023) FlooNoC: A Multi-Tb/s Wide NoC for Heterogeneous AXI4 Traffic. IEEE Design & Test, 40, 7-17.
https://doi.org/10.1109/MDAT.2023.3306720