1
\$\begingroup\$

Whats the difference between Soft IP and Hard IP in FPGA? I dont know whats the main difference. Can anybody help.

\$\endgroup\$
1
  • \$\begingroup\$ The others answered well, I would add just one clarification: as soft IP uses RTL, which in turn is expressible using logic blocks/flip-flops, it can be synthesized for any FPGA (as all of them are expected to have logic blocks/flip-flops). Hard IP requires specific hard blocks, and can only be synthesized for devices with these blocks, making the design much less portable. \$\endgroup\$ Jul 30, 2020 at 20:08

2 Answers 2

6
\$\begingroup\$

Soft IP is anything made from the generic logic fabric (LUTs, logic blocks, etc.) in the FPGA. The capability for soft IP is what makes an FPGA an FPGA.

Hard IP is anything that is circuitry that is hard-wired and etched into silicon to do only one thing and do it well. No extra baggage with all the fat trimmed so it can be small, efficient, and fast. Things like processors, DSP blocks, and high speed transceivers. For example, anything the core and all peripherals in a regular microcontroller or processor are hard IP.

\$\endgroup\$
3
\$\begingroup\$

Soft IP is rendered into lookup tables and flip-flops. Hard IP are chip blocks that perform higher level functions, like the Xilinx DSP48 slice that does multiply-accumulate.

Some parts have CPUs (e.g. Zynq ARM) and large controllers (e.g., PCI Express) that would otherwise take up a lot of resources and not make timing if they were rendered as soft IP.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.