An FPGA is a higher layer of abstraction on top of an ASIC. An FPGA is an ASIC. But an ASIC is not an FPGA. An ASIC is essentially gates you interconnect and with those you construct logic equations. FPGA have logic blocks which contains hundreds or thousends of gates and are predefined macros, you have no choice but to use these cells. Hence your logic equations need to use these cells and unavoidable some of the gates or flops in an FPGA cell will be left unused. You get programmability in exchange for less efficient use of gates hence slower, more area and more power consumption.
Hardware and software advisor for tech startups. ASIC, FPGA, RPi, Arduino, AI, robots, drones, blockchain, Machine learning, vision processing, IoT and 3D printers are my fields of expertise.