Um núcleo IP (propriedade intelectual) é um bloco de lógica ou dados que é usado para fazer um array de gate array programável de campo ( FPGA ) ou circuito integrado específico da aplicação ( ASIC ) para um produto. Como elementos essenciais da reutilização de design , os núcleos IP fazem parte da crescente automação de design eletrônico ( EDA ) tendência da indústria para o uso repetido de componentes previamente projetados. Idealmente, um núcleo IP deve ser inteiramente portátil - ou seja, capaz de ser facilmente inserido em qualquer tecnologia de fornecedor ou metodologia de design. Receptor/Transmissor Assíncrono Universal ( UART s), unidades centrais de processamento ( CPU s), controladores Ethernet e interfaces PCI são exemplos de núcleos IP.
núcleos IP que se enquadram em uma das três categorias: núcleos duros , núcleos firmes , ou núcleos macios . Núcleos duros são manifestações físicas do projeto IP. Estes são melhores para aplicações plug-and-play, e são menos portáteis e flexíveis do que os outros dois tipos de núcleos. Como os núcleos rígidos, núcleos firmes (às vezes chamados semi-hard ) também carregam dados de posicionamento, mas são configuráveis para várias aplicações. Os três núcleos mais flexíveis, soft cores existem como uma netlist (uma lista das portas lógicas e interconexões associadas que compõem um circuito integrado) ou linguagem de descrição de hardware ( HDL ) code.
Um número de organizações, como o Free IP Project e Open Cores, foram formados para promover o compartilhamento aberto de núcleos IP.