0x216 PLD
Programmable Logic Devices
1. FPGA
FPGA provides faster hardware prototype and optimized hardware acceleration. Looks like modern FPGA is integrated with processors. But they are expensive, the price of Intel Stratix 10 looks like over 20k dollars.
1.1. Microarchitecture
System-on-Chip Products
- Altera (Intel): Arria 10 (used for NLU on bing) -> Stratix 10
- Xilinx: Zynq Ultrascale+
Look-Up Tables (LUT) is intended to implement arbitrary combinational logic.
implemented by MUX and SRAM. SRAM stores the configuration memory. The input is used to select the stored memory via MUX. Can simulate any truth table (e.g. : AND NOR ... ) Typically 6-LUTs
Switches Switches can be configured to connect LUTs. It is something like bus
1.2. Synthesize
Language: Verilog or VHDL
FGPA routing is a NP-hard problem (a disadvantage of FPGA)
HDL
expressing the RTL (register-transfer-level) abstraction
Verilog