Accelerating the verification of forward error correction decoders by PCIe FPGA cards

Presilicon forward error correction (FEC) decoding hardware is typically designed using hardware description languages (HDLs). Its verification is a hard task due to its intrinsic tendency to correct errors. The generation and injection of millions of random inputs as well as the cross-checking of t...

Descripción completa

Detalles Bibliográficos
Autores: Suárez Plata, Daniel Nicolás, Fernández Solórzano, Víctor Manuel|||0000-0003-0614-151X, Posadas Cobo, Héctor, Sánchez Espeso, Pablo Pedro
Tipo de recurso: artículo
Fecha de publicación:2023
País:España
Institución:Universidad de Cantabria (UC)
Repositorio:UCrea Repositorio Abierto de la Universidad de Cantabria
Idioma:inglés
OAI Identifier:oai:repositorio.unican.es:10902/29938
Acceso en línea:https://hdl.handle.net/10902/29938
Access Level:acceso abierto
Palabra clave:Bit or codeword error rate (BER/CER) testing
Data Center Alveo Cards
Emulation
FPGA acceleration
Prototyping
Verification
Descripción
Sumario:Presilicon forward error correction (FEC) decoding hardware is typically designed using hardware description languages (HDLs). Its verification is a hard task due to its intrinsic tendency to correct errors. The generation and injection of millions of random inputs as well as the cross-checking of the corresponding outputs are highly recommended. Using HDL simulations for such work leads to prohibitive execution times. This letter proposes a verification strategy in which the software testbed is executed on a multicore host and the hardware under verification is prototyped on a PCIe accelerator card. Data are transferred in big blocks of codewords over a high-bandwidth PCIe channel and applied to the decoder using a pipeline management to maximize the use of computational resources and minimize the verification time. The decoder is replicated with parallel access to DDRs. OpenMP is used to leverage the parallel capabilities of the host and OpenCL, together with Xilinx Runtime (XRT) Library, to manage the PCIe FPGA card execution. The results show an important speed-up with respect to HDL simulation and to other prototyping approaches.