FPGA Programming for the Masses. - BACON, DAVID F.; RABBAH, RODRIC; SHUKLA, SUNIL (Communications of the ACM, 2013)
The article discusses the programming of field programmable gate array (FPGA) computer hardware, a version of programmable logic device (PLD), which can be used as an alternative to general-purpose processors (GPPs) and application-specific integrated circuits (ASICs) to balance computer performance and programmability. Look-up tables (LUTs), flip-flops (FFs), and block random access memory (BRAM) components are discussed, as well as integrated circuits (ICs), graphics processing units (GPUs), and central processing units (CPUs).