OpenCores
![](http://upload.wikimedia.org/wikipedia/commons/f/f6/OpenCores_logo.png)
OpenCores — свободное сообщество людей, интересующихся разработкой цифрового открытого аппаратного обеспечения при помощи автоматизированных средств проектирования электронных компонентов, с подобным же отношением к движению свободного программного обеспечения.
Компоненты, изготовленные по инициативе OpenCores используют несколько разных лицензий на программное обеспечение, но наиболее часто это GNU LGPL, которая устанавливает, что любые изменения компонентов должны быть доступны для сообщества, при этом вы можете использовать их одновременно с проприетарными компонентами.
Библиотека будет состоять из конструктивных элементов процессоров, контроллеров памяти, периферийного оборудования, материнских плат и других компонентов. Появляющиеся производители полупроводников могут свободно пользоваться информацией и проектами в соответствии с их лицензиями.
В настоящее время акцент делается на цифровые модули, называемые «cores» (ядра), также широко известные как IP Cores. Компоненты используются для создания как обычных интегральных микросхем (ASIC), так и для ПЛИС.
Проекты ядер выполнены на языках описания аппаратуры Verilog, VHDL и SystemC, которые могут быть синтезированы также для кремния или матричного кристалла.
Проект ставит своей целью использовать общедоступную открытую системную шину Wishbone и поэтому большинство компонентов адаптированы для работы с ней.
Множество компонентов созданных участниками OpenCores включает в себя:
- OpenRISC — центральный процессор с RISC-архитектурой
- Клон Zilog Z80
- Контроллер USB 2.0
- Контроллер Ethernet, работающий в трёх режимах — 10, 100 и 1000 Мбит/с
- Различные аппаратные реализации криптографических шифраторов, например, DES, AES и RSA
- Шина HyperTransport
- Ядро микроконтроллера PIC16F84
- Zet (англ.) — ядро x86-совместимого процессора.