What are IP Cores?

Assalaamu Alaikum (varah)....

May the Almighty bless you all with happiness and peace....aamin.

                              In today’s CHIP design, IP (Intellectual Property) cores play a major part. If you want me to explain them in a single sentence, then here comes the explanation..

             IP cores provide Pre-Programmed Design Elements     
                              (Something like ready made food).

It is nothing but a reusable logic unit. They can be used as building blocks for CHIP design. As the name suggests they belong to one particular party and can be licensed to another party. There are lots of vendors available nowadays who provide IP cores to VLSI design companies.

Why should I use them?

   IP cores are already designed and tested to near perfection by the vendors who supply them, hence when the clients buy them, they can use the particular IP block directly into their design. This saves the design and testing time. And obviously the product will be out soon from the company. 

For example, let us take the example of designing a JPEG decoder which includes several internal blocks, among them is the Huffman coder. If any company provides the ready made IP core which performs the task of Huffman coder, then it can be directly used in the design of JPEG decoder. This saves us the time to design Huffman coder by our self and testing time of it.

Nowadays IP cores are extensively used in SOC (System on a chip) design and ASIC design.

Basically IP cores are classified into two major categories; they are SOFT CORES and HARD CORES.

  • Soft cores are the ones which are used extensively in PLD (FPGA/CPLD/SPLD etc) based digital designs.

  • Soft cores are supplied to the customers either in the form of NETLISTS or in the form of SYNTHESIZABLE CODES (Usually written in VHDL or Verilog HDL).

  • If the customers get the Soft cores in the form of Synthesizable codes, they have the provision of changing the particular soft core according to their design needs.

  • In contrary to this, if the customer gets the Soft cores in the form of NETLISTS then he can’t change that particular soft core and hence he should be more careful in selecting the NETLIST based Soft core for his design.

  • One great  advantage with Netlist based soft cores is that, you can directly give the particular design which involves the Netlist based softcore to the foundry for manufacturing whereas in Synthesizable code based Netlist, if you changed that particular softcore then you have to search for the foundry which will accept your changed softcore.

Hard cores in the other hand used in ASIC based designs which involves analog and mixed signal elements. Hard cores are in the form of TRANSISTOR – LAYOUT FORMAT. Hence the customer cannot modify the Hard Core.

To brief out the differences between the softcores and hardcores, we can easily come to the conclusion that Softcores provide better customer flexibility whereas hardcores provide better predictability in terms of timing performance and area.

v     Fine… what are the demerits of the IP CORES?

            Once the Customer uses the IP CORES in his design he should search for appropriate foundries that will manufacture his designs. Unfortunately all the foundries will not manufacture all the IP CORES supplied to the customers.

To over come such a problem, there are lots of foundries which will supply their own IP CORES. The customers can buy the IP CORES from these manufacturers and use in their design and come back again to these foundries to manufacture their design.     

Thanks and Take Care,

May the Almighty guide us in the right path always...aamin.

God Knows best...

Your brother,
Aashiq Ahamed A


Post a Comment