The Ultimate Guide to IP Cores

Welcome to the world of semiconductor IP cores. This article starts off with an introduction to the idea behind IP cores, the need, a few examples, and then provide some tips on how purchase an IP core and where to find them.


What is an IP Core?


Over the past couple of decades, FPGAs and SoCs have moved forward with a rapid pace. The reasons are firstly the development of advanced EDA tools which enabled designers to make complex and large design and translate them into ASICs efficiently — and secondly, new silicon process nodes were introduced enabling engineers to squeeze more transistor into a given area. The demand of adding more functionality into chips increased as well. This resulted in a huge burden on designers as the ASIC design flow became longer and more complicated.


To overcome the challenges of complex ASICs and longer design cycles, IP cores were introduced so that engineers can focus their efforts on their core innovative technology – what really matter.  IP cores were first introduced in late 1990s. Many small startups and large players started to create and sell IP cores allowing SoC designers to buy IP blocks, and integrated them into their design with low effort and risk.


Today, there are between 3-30 different IP blocks in every new SoC.


IP cores are split into two types, one is soft IP cores and the other is hard IP cores.


Soft IP cores are the ones where the designer can modify the code and add new functionality to the existing core. Soft IP cores are often provided in the form of HDL and can also be a case where it is provided as the gate level netlist files.


Hard IP cores are the ones, where the designer doesn’t have any option to modify the core’s basic functions. Such type of cores can be provided in the form of physical layout. This can come as a file (GDS) which can be fabricated from a foundry and cannot be modified (easily).


IP Core Examples


There are several IP cores available, both soft and hard. A couple of examples are listed here:


LogiCORE FIR Compiler Core


In digital signal processing, the most important is the filter component which is used to pass or stop desired frequencies. This implementation of the filters is also complex for the ICs. So, another core which is very important is the FIR Compiler by Xilinx.


This IP core can be used to implement multiple types of filters which include interpolated filters, Hilbert transform, pass band, stop band, half band, low pass band, high pass band, single rate filter. FIR filter is the one which is most used in digital signal processing. This conventional FIR filter is implemented using the below equation:



In equation above, N defines the number of filter coefficients for the FIR filter, higher coefficients, steeper step response and complexity is higher as the number of taps are increased. The conventional delay line for FIR filter is shown in figure below. One can observe in the figure below that as with each tap added to the delay line delay component (z-1), multiplier and adder also increase by a factor of one.



By each increase in above mentioned components the complexity of the algorithm increased. To overcome this issue, an IP core is used for this purpose. In this IP Core (shown in figure below), one has to set the parameters which include type of filter, frequency range, pass or stop band frequencies, number of taps, etc. A sample picture of the FIR Compiler screen is shown, which is take from Xilinx software. In this snapshot, a low pass filter is shown with a frequency range of 0 – 250 MHz and the stop band are limited to 125 – 250 MHz within the band required. The tool also shows a plot of the expected response of the filter.



8-bit Microcontroller D6803


In a system design, sometimes we require to automate some circuits and also use some battery-driven applications. The easiest way to handle such applications is the use of a microcontroller. But in ASICs, it is tough to implement the functionality of a microcontroller. For this purpose, D6803 IP core is presented by “Digital Design Core” which implements the function of an 8-bit microcontroller which is MC6803 by Motorola. Block diagram of MC6803 is shown below (which is taken from the datasheet of the Motorola microcontroller.


The provided core is fully synthesizable, and it can replace directly the Motorola MC6803. This core provides all the required features which include, a Control Unit, A decoder to decode the operation instructions (Opcode Decoder), Arithmetic Logic Unit (ALU), Bus controller to control and program memory, interrupt controller, the timer functionality to generate clock signals, and for interface SCI and IO ports are also provided. A real-time hardware debug unit (DoCD) is also included which is used to add functionality to debug whole SoC system.


This core comes with a good support, it has Verilog or VHDL source code with the testbench as well, netlist which can be used for silicon manufacturing, and all the technical documentations are also provided with the delivery of the IP core.


Purchasing an IP Core


Before purchasing an IP core, it is important to keep a few factors in mind:


Definition: a clear requirement document is a good start. Before you engage with any vendor, collect all the requirements into a single document (including your wish list) and make sure you have an internal agreement from your peers and stakeholder.


FPGA or SoC: IP cores can be targeted to FPGAs or SoC. So, depending on this requirement it is desirable to know which platform should be support by the IP core vendor. There are IP cores which are compatible with all FPGA devices and there are some that have limited support. If the IP core is targeted into a SoC design, then the fab name, process options and wafer configuration should be defined before purchasing the IP core.


Quality: Is the IP core fully tested and verified? Is it “silicon proven”, meant, whether the IP core has been tested in real-life inside an ASIC or an FPGA? The term “silicon proven” is a typical requirement from customers because they don’t want to take any risk if the IP is not tested in real life (e.g. on an ASIC).


Documentation: an IP core, is not just the HDL code or a GDSII database. It should also include proper documentation, datasheets, and additional collateral to help designers use the IP properly. A clear and concise documentation is a must for all IP core products.


Testability: following the integration of the IP core into the FPGA or SoC, the designer should be able to run various tests to verify the IP core functionality as a unit and inside the entire system. Therefore, it’s mandatory that test bench files and simulator related data should also be part of the deliverables.


Business model: some IP vendors will charge you for buy the IP and some will ask for royalties, which model is best for your company?


IP Core Market


IP Core market is considered amongst fastest growing market in the semiconductor industry with an estimated market value of about 5.6 billion USD in 2020. And for 2021, the market is expected to rise to about 7.3 billion USD. There are a number of market leaders who provide various IP cores. Some of the largest players are listed here:


The Future of IP Core


SoC are playing a vital role in developing every kind of intelligence and automation in many industries – from sensor to servers. With the increased growth in the field of information IoT and artificial intelligence, IP cores will play a vital role in the development of new. Using IP cores, fabless companies can accelerate time to market, reduce development cost and deliver state of the art SoCs designs with taking less risks.

Recent Stories