OpenCores
Encyclopedia
OpenCores is the world's largest open source hardware community developing digital
open source hardware
through electronic design automation
, with a similar ethos
to the free software movement
. OpenCores hopes to eliminate redundant design work and slash development costs. A number of companies have been reported as adopting OpenCores IP in chips, or as adjuncts to EDA tools. OpenCores is also cited from time to time in the electronics press as an example of open source in the electronics hardware community, for example, while EE Times reported in late 2008 that OpenCores had passed the 20,000 subscriber mark. In October 2010 it reached 95,000 registered users and has approximately 800 projects.
In mid-2007 an appeal was put out for a new backer, and, in November of that year, Swedish design house ORSoC AB agreed to take over maintenance of the OpenCores website.
, which states that any modifications to a component must be shared with the community, while you can still use it together with proprietary
components. The less restrictive 3-clause BSD license is also used in some hardware projects, while the GNU GPL
is often used for software components, such as models and firmware.
s, memory controller
s, peripheral
s, motherboard
s, and other components. Emerging semiconductor
manufacturers could use the information and license designs for free.
Currently the emphasis is on digital modules called 'cores', commonly known as IP Core
s. The components are used for creating both custom integrated circuit
s (ASICs
) and FPGAs
.
The cores are implemented in the hardware description language
s Verilog
, VHDL or SystemC
which may be synthesized to either silicon or gate array
s.
The project aims at using a common non-proprietary system bus
named Wishbone
, and most components are nowadays adapted to this bus.
Among the components created by OpenCores contributors are:
Alternatives to the Opencores IP library include GRLIB
and the Milkymist
system on chip, both available under the GNU GPL.
processor and implement it into an ASIC
-component. OpenCores affiliated with OpenCores, for example OpenSPARC
and LEON
.
Digital
A digital system is a data technology that uses discrete values. By contrast, non-digital systems use a continuous range of values to represent information...
open source hardware
Open source hardware
Open source hardware consists of physical artifacts of technology designed and offered in the same manner as free and open source software . Open source hardware is part of the open source culture movement and applies a like concept to a variety of components. The term usually means that...
through electronic design automation
Electronic design automation
Electronic design automation is a category of software tools for designing electronic systems such as printed circuit boards and integrated circuits...
, with a similar ethos
Ethos
Ethos is a Greek word meaning "character" that is used to describe the guiding beliefs or ideals that characterize a community, nation, or ideology. The Greeks also used this word to refer to the power of music to influence its hearer's emotions, behaviors, and even morals. Early Greek stories of...
to the free software movement
Free software movement
The free software movement is a social and political movement with the goal of ensuring software users' four basic freedoms: the freedom to run their software, to study and change their software, and to redistribute copies with or without changes. The alternative terms "software libre", "open...
. OpenCores hopes to eliminate redundant design work and slash development costs. A number of companies have been reported as adopting OpenCores IP in chips, or as adjuncts to EDA tools. OpenCores is also cited from time to time in the electronics press as an example of open source in the electronics hardware community, for example, while EE Times reported in late 2008 that OpenCores had passed the 20,000 subscriber mark. In October 2010 it reached 95,000 registered users and has approximately 800 projects.
History of OpenCores
Damjan Lampret, one of the founders of OpenCores states on his website that it began in 1999 http://www.lampret.com/. The first public record of the new website and its objectives was on CNET News in 2001. Through the following years it was supported by advertising and sponsorship, including Flextronics.In mid-2007 an appeal was put out for a new backer, and, in November of that year, Swedish design house ORSoC AB agreed to take over maintenance of the OpenCores website.
Licensing
In the absence of a widely accepted open source hardware license, the components produced by the OpenCores initiative use several different software licenses. The most common is the GNU LGPLGNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
, which states that any modifications to a component must be shared with the community, while you can still use it together with proprietary
Proprietary hardware
Proprietary hardware is computer hardware which is owned by the proprietor.Historically, most early computer hardware was designed as proprietary until the 1980s, when IBM PC changed this paradigm...
components. The less restrictive 3-clause BSD license is also used in some hardware projects, while the GNU GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
is often used for software components, such as models and firmware.
The OpenCores library
The library will consist of design elements from central processing unitCentral processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
s, memory controller
Memory controller
The memory controller is a digital circuit which manages the flow of data going to and from the main memory. It can be a separate chip or integrated into another chip, such as on the die of a microprocessor...
s, peripheral
Peripheral
A peripheral is a device attached to a host computer, but not part of it, and is more or less dependent on the host. It expands the host's capabilities, but does not form part of the core computer architecture....
s, motherboard
Motherboard
In personal computers, a motherboard is the central printed circuit board in many modern computers and holds many of the crucial components of the system, providing connectors for other peripherals. The motherboard is sometimes alternatively known as the mainboard, system board, or, on Apple...
s, and other components. Emerging semiconductor
Semiconductor
A semiconductor is a material with electrical conductivity due to electron flow intermediate in magnitude between that of a conductor and an insulator. This means a conductivity roughly in the range of 103 to 10−8 siemens per centimeter...
manufacturers could use the information and license designs for free.
Currently the emphasis is on digital modules called 'cores', commonly known as IP Core
Semiconductor intellectual property core
In electronic design a semiconductor intellectual property core, IP core, or IP block is a reusable unit of logic, cell, or chip layout design that is the intellectual property of one party. IP cores may be licensed to another party or can be owned and used by a single party alone...
s. The components are used for creating both custom integrated circuit
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...
s (ASICs
Application-specific integrated circuit
An application-specific integrated circuit is an integrated circuit customized for a particular use, rather than intended for general-purpose use. For example, a chip designed solely to run a cell phone is an ASIC...
) and FPGAs
Field-programmable gate array
A field-programmable gate array is an integrated circuit designed to be configured by the customer or designer after manufacturing—hence "field-programmable"...
.
The cores are implemented in the hardware description language
Hardware description language
In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic...
s Verilog
Verilog
In the semiconductor and electronic design industry, Verilog is a hardware description language used to model electronic systems. Verilog HDL, not to be confused with VHDL , is most commonly used in the design, verification, and implementation of digital logic chips at the register-transfer level...
, VHDL or SystemC
SystemC
SystemC is a set of C++ classes and macros which provide an event-driven simulation kernel in C++ . These facilities enable a designer to simulate concurrent processes, each described using plain C++ syntax...
which may be synthesized to either silicon or gate array
Gate array
A gate array or uncommitted logic array is an approach to the design and manufacture of application-specific integrated circuits...
s.
The project aims at using a common non-proprietary system bus
Computer bus
In computer architecture, a bus is a subsystem that transfers data between components inside a computer, or between computers.Early computer buses were literally parallel electrical wires with multiple connections, but the term is now used for any physical arrangement that provides the same...
named Wishbone
Wishbone (computer bus)
The Wishbone Bus is an open source hardware computer bus intended to let the parts of an integrated circuit communicate with each other. The aim is to allow the connection of differing cores to each other inside of a chip...
, and most components are nowadays adapted to this bus.
Among the components created by OpenCores contributors are:
- OpenRISCOpenRISCOpenRISC is the original flagship project of the OpenCores community. This project aims to develop a series of general purpose open source RISC CPU architectures...
- a highly configurable RISC central processing unit - Amber (processor core)Amber (processor core)The Amber processor core is an Open-source ARM-compatible 32-bit RISC processor. It is hosted on the OpenCores website and is part of a movement to develop a library of open source hardware intellectual property. The Amber core is fully compatible with the ARMv2 instruction set and is therefore...
- an ARMARMAn arm is an upper limb of the body.Arm may also refer to:-Geography:* Arm , a narrow stretch of a larger body of water** Canal arm, a subsidiary branch of a canal or inland waterway** Distributary or arm, a subsidiary branch of a river...
-compatible RISC central processing unit - A Zilog Z80Zilog Z80The Zilog Z80 is an 8-bit microprocessor designed by Zilog and sold from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes...
clone - USB 2.0Universal Serial BusUSB is an industry standard developed in the mid-1990s that defines the cables, connectors and protocols used in a bus for connection, communication and power supply between computers and electronic devices....
controller - Tri EthernetEthernetEthernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
controller, 10/100/1000 Mbit - EncryptionEncryptionIn cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information...
units, for example DESData Encryption StandardThe Data Encryption Standard is a block cipher that uses shared secret encryption. It was selected by the National Bureau of Standards as an official Federal Information Processing Standard for the United States in 1976 and which has subsequently enjoyed widespread use internationally. It is...
, AESAdvanced Encryption StandardAdvanced Encryption Standard is a specification for the encryption of electronic data. It has been adopted by the U.S. government and is now used worldwide. It supersedes DES...
& RSA - HyperTransportHyperTransportHyperTransport , formerly known as Lightning Data Transport , is a technology for interconnection of computer processors. It is a bidirectional serial/parallel high-bandwidth, low-latency point-to-point link that was introduced on April 2, 2001...
Tunnel - A PIC16F84PIC microcontrollerPIC is a family of Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instrument's Microelectronics Division...
core - ZetZETThe Zagrebački električni tramvaj is the major transit authority responsible for public transport in Zagreb, the capital of Croatia, and one part of the Zagreb County. ZET is now a branch of the Zagreb Holding...
: an x86 compatible core
Alternatives to the Opencores IP library include GRLIB
LEON
LEON is a 32-bit CPU microprocessor core, based on the SPARC-V8 RISC architecture and instruction set. It was originally designed by the European Space Research and Technology Centre , part of the European Space Agency , and after that by Gaisler Research. It is described in synthesizable VHDL...
and the Milkymist
Milkymist
The Milkymist project is an informal organization of people and companies who develop, manufacture and sell a comprehensive open source solution for the live synthesis of interactive visual effects for VJs...
system on chip, both available under the GNU GPL.
OpenRISC ASIC
In April 2011 OpenCores opened donations for a new project to develop a complete System on a chip design based on the OpenRISCOpenRISC
OpenRISC is the original flagship project of the OpenCores community. This project aims to develop a series of general purpose open source RISC CPU architectures...
processor and implement it into an ASIC
ASIC
ASIC may refer to:* Application-specific integrated circuit, an integrated circuit developed for a particular use, as opposed to a customised general-purpose device.* ASIC programming language, a dialect of BASIC...
-component. OpenCores affiliated with OpenCores, for example OpenSPARC
OpenSPARC
OpenSPARC is an open-source hardware project started in December 2005. The initial contribution to the project was Sun Microsystems' register-transfer level Verilog code for a full 64-bit, 32-thread microprocessor, the UltraSPARC T1 processor. On 21 March 2006, Sun released the source code to the...
and LEON
LEON
LEON is a 32-bit CPU microprocessor core, based on the SPARC-V8 RISC architecture and instruction set. It was originally designed by the European Space Research and Technology Centre , part of the European Space Agency , and after that by Gaisler Research. It is described in synthesizable VHDL...
.
See also
- Open contentOpen contentOpen content or OpenContent is a neologism coined by David Wiley in 1998 which describes a creative work that others can copy or modify. The term evokes open source, which is a related concept in software....
- Free contentFree contentFree content, or free information, is any kind of functional work, artwork, or other creative content that meets the definition of a free cultural work...
- Open-source hardware
- WishboneWishbone (computer bus)The Wishbone Bus is an open source hardware computer bus intended to let the parts of an integrated circuit communicate with each other. The aim is to allow the connection of differing cores to each other inside of a chip...