Wishbone Bus — это аппаратная компьютерная шина с открытым исходным кодом , предназначенная для того, чтобы части интегральной схемы могли взаимодействовать друг с другом. Цель — обеспечить соединение различных ядер друг с другом внутри чипа. Wishbone Bus используется во многих разработках в проекте OpenCores .
Wishbone задуман как «логическая шина». Он не определяет электрическую информацию или топологию шины. Вместо этого спецификация написана в терминах «сигналов», тактовых циклов и высоких и низких уровней.
Эта неоднозначность преднамеренна. Wishbone создан, чтобы позволить разработчикам объединять несколько проектов, написанных на Verilog , VHDL или каком-либо другом языке описания логики для автоматизации электронного проектирования (EDA). Wishbone предоставляет стандартный способ для разработчиков объединять эти аппаратные логические проекты (называемые «ядрами»). Wishbone определен как имеющий 8, 16, 32 и 64-битные шины. Все сигналы синхронизированы с одним тактовым сигналом, но некоторые подчиненные ответы должны генерироваться комбинаторно для максимальной производительности. Wishbone допускает добавление «шины тегов» для описания данных. Но сброс, простые адресуемые чтения и записи, перемещение блоков данных и неделимые циклы шины работают без тегов.
Wishbone — это проект с открытым исходным кодом . Чтобы предотвратить вытеснение своих технологий агрессивным патентованием, спецификация Wishbone включает примеры предшествующего уровня техники , чтобы доказать, что ее концепции находятся в общественном достоянии.
Устройство не соответствует спецификации Wishbone, если оно не включает в себя лист данных , описывающий, что оно делает, ширину шины, использование и т. д. Для содействия повторному использованию дизайна необходим лист данных. Создание дизайна, пригодного для повторного использования, в свою очередь, упрощает обмен им с другими.
Архитектура Simple Bus представляет собой упрощенную версию спецификации Wishbone. [1]
Wishbone хорошо адаптируется к распространенным топологиям, таким как точка-точка, многие-ко-многим (т. е. классическая шинная система), иерархическим или даже коммутируемым структурам, таким как коммутаторы Crossbar . В более экзотических топологиях Wishbone требует контроллера шины или арбитра, но устройства по-прежнему поддерживают тот же интерфейс.
Сигналы управления Wishbone по сравнению с другими стандартами шин систем на кристалле (SoC):