# OpenCores

OpenCores es la comunidad de hardware de código abierto más grande del mundo que desarrolla hardware libre digital a través de la automatización de diseño electrónico, con un ethos similar al del movimiento del software libre. OpenCores espera eliminar el trabajo de diseño redundante y reducir costes de desarrollo. Un número de compañías son conocidas por adoptar OpenCores IP en chips, o como adjuntos a las herramientas EDA. OpenCores también es citado cada cierto tiempo en la prensa electrónnica como un ejemplo de código libre en la comunidad de hardware electrónico, por ejemplo, EE Times informó a finales de 2008 que OpenCores había superado los 20.000 suscriptores. En octubre de 2010 alcanzó los 95.000 usuarios registrados y tiene aproximadamente 800 proyectos, en julio de 2013 alcanzó 150.000 usuarios registrados.

## Historia de OpenCores

Damjan Lampret, uno de los fundadores de OpenCores declara en su web que empezó en 1999 . El primer registro público de la nueva web y de sus objetivos fue en CNET News en 2001. A través de los siguientes años fue apoyado por publicidad y patrocinios, incluyendo Flextronics.
A mediados de 2007 una apelación fue sofocada por un nuevo patrocinador, y, en noviembre de ese año, la empresa de diseño sueca ORSoC AB acordó hacerse cargo del mantenimiento de la web de OpenCores.

## Licencias

En ausencia de una licencia de hardware libre ampliamente aceptada, los componentes producidos por la iniciativa OpenCores utiliza diferentes licencias software. La más común es la GNU LGPL, la cual establece que cualquier modificación de un componente debe ser compartida con la comunidad, mientras que todavía se puede utilizar con componentes propietarios. La licencia de tres claúsulas BSD menos restrictiva también se utiliza en algunos proyectos de hardware, mientras que la GNU GPL a menudo es usada por componentes de software, tales como modelos y firmware.

## La librería OpenCores

La librería consistirá en elementos de diseño de unidades centrales de procesamiento, controladores de memoria, periféricos, placas base y otros componentes. Los fabricantes de semiconductores emergentes podrían usar la información y los diseños de licencias de forma gratuita.
Actualmente se hace hincapié en los módulos digitales llamados 'núcleos', comúnmente conocidos como IP Cores. Los componentes son usados para crear tanto circuitos integrados personalizados (ASICs) y FPGA.
Los núcleos están implementados en los lenguajes de descripción de hardware Verilog, VHDL o SystemC, que puede ser sintetizado tanto por silicio como por matriz de puertas.
El propósito del proyecto es el uso de un bus no propietario común llamado Wishbone, y la mayoría de los componentes están adaptados a este bus actualmente.
Entre los componentes creados por colaboradores OpenCores se encuentran:
* OpenRISC - una unidad central de procesamiento RISC altamente configurable
* Amber (processor core) - una unidad central de procesamiento RISC compatible con ARM
* Un clon de Zilog Z80
* Controlador USB 2.0
* Controlador Tri Ethernet, 10/100/1000 Mbit
* Unidades de cifrado, por ejemplo DES, AES y RSA
* Túnel HyperTransport
* Un núcleo PIC16F84
* Zet: un núcleo compatible con x86

## OpenRISC ASIC

En abril de 2011 OpenCores abrió donaciones para un proyecto nuevo para desarrollar un diseño System on a chip completo basado en el procesador OpenRISC e implementarlo en un componente ASIC. OpenCores afiliados con OpenCores, por ejemplo OpenSPARC y LEON.