USB Transceiver With a Serial Interface Engine and FIFO Queue for Efficient FPGA-to-FPGA Communication

This paper presents a universal serial bus (USB) transceiver with a serial interface engine (SIE) and an asynchronous first-in first-out (FIFO) queue for packet transformation and data transmission in field-programmable gate array (FPGA)-to-FPGA communication. The SIE block receives the data to be transmitted from the central processing unit of a PC and transfers those data to the universal transceiver macrocell interface, which handles data serialization and deserialization, bit stuffing, clock recovery, and clock synchronization. An asynchronous FIFO queue of 2 kilobits is designed to guarantee correct communication between two FPGA development boards. A parallel-in serial-out block converts parallel input data into serial data. A product identification (PID) check block determines whether the serial data are in the USB packet format. The cyclic redundancy check (CRC) checksums, namely CRC5 and CRC16, are presented with data check statements. After passing through the NRZI decoder, bit-unstuffing, PID check, and CRC16 blocks, the received serial data are converted into parallel output data by using a serial-in parallel-out block. The FPGA-to-FPGA communication design operates correctly. An application-specific integrated circuit (ASIC) of the USB transceiver is implemented using TSMC 0.18- $\mu \text{m}$ CMOS technology. The gate counts, power consumption, operating frequency, and chip area of the ASIC are 14,547, 2.6742 mW, 50 MHz, and $0.7\times0.67$ mm2, respectively, at a supply voltage of 1.8 V and total pin number of 38.

[1]  M. A. Haron,et al.  An FPGA implementation of shift converter block technique on FIFO for RS232 to universal serial bus converter , 2012, 2012 IEEE Control and System Graduate Research Colloquium.

[2]  V. Vijaya,et al.  FPGA implementation of RS232 to Universal serial bus converter , 2011, 2011 IEEE Symposium on Computers & Informatics.

[3]  Oleg V. Drozd,et al.  The device of secure data transmission based on Magma crypto algorithm with implementation on FPGA , 2018, 2018 Moscow Workshop on Electronic and Networking Technologies (MWENT).

[4]  Guo-Ming Sung,et al.  Serial interface engine asic with usb physical transceiver based on fpga development board , 2017, 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC).

[5]  Guo-Ming Sung,et al.  Hardware design on FPGA for Ethernet/SONET bridge in smart sensor system , 2018, 2018 7th International Symposium on Next Generation Electronics (ISNE).

[6]  Yves Deswarte,et al.  Survey on security threats and protection mechanisms in embedded automotive networks , 2013, 2013 43rd Annual IEEE/IFIP Conference on Dependable Systems and Networks Workshop (DSN-W).

[7]  Mandeep Singh Narula,et al.  USB 2.0 Transceiver macrocell Interface implementation on Xilinx Vivado , 2016, 2016 International Conference on Signal Processing and Communication (ICSC).

[8]  P. M. Szecowka,et al.  USB receiver/transmitter for FPGA implementation , 2012, 2012 International Conference on Signals and Electronic Systems (ICSES).

[9]  K. Babulu,et al.  FPGA Implementation of USB Transceiver Macrocell Interface with USB2.0 Specifications , 2008, 2008 First International Conference on Emerging Trends in Engineering and Technology.

[10]  Arvind M. Patel Signal and error-control coding , 1989 .

[11]  A. Bouhraoua,et al.  A Fundamentally Secure Payment Device Interfaced to Regular PCs , 2008, 2008 IEEE Region 5 Conference.

[12]  W. W. PETERSONt,et al.  Cyclic Codes for Error Detection * , 2022 .

[13]  Kunlin Yu The Aircraft Engine Blade Detection System Based on USB2.0 and FPGA , 2014, 2014 International Conference on Computational Intelligence and Communication Networks.