Шина Wishbone — параллельная компьютерная шина для объединения модулей в системе на кристалле. Шина описана в открытой спецификации, и широко используется в проектах цифровых систем с открытым исходным кодом на сайте OpenCores.org.[1] Изначально шина была создана корпорацией Silicore Corporation. Стандарт допускает присутствие нескольких ведущих устройств в системе, а также различные топологии соединения модулей.
Общие характеристики:
ширина шин адреса и данных: 8, 16, 32, 64 бит
тип шины: параллельная
внутренняя шина, используется только для соединения модулей на кристалле
Wishbone предполагает несколько топологий соединения модулей в системе. Среди них:
точка-точка
общая шина
конвейер
коммутатор
Интерфейсы модулей
Сигнал
Описание
CLK_I
Сигнал синхронизации. Все операции считывания данных происходят по переднему фронту этого сигнала.
RST_I
Синхронный сброс. По высокому уровню этого сигнала элементы памяти интерфейсов сбрасываются в начальное состояние.
ADR_O
Шина адреса. Может быть 8, 16, 32 или 64 бит. Разрядность определяется объемом адресуемой памяти.
DAT_I, DAT_O
Шины данных. Могут быть 8, 16, 32 или 64 бит.
WE_O
Управляющий сигнал ведущего модуля, который определяет тип операции с ведомым модулем: чтение (низкий уровень) или запись (высокий).
SEL_O
Управляющая шина, которая определяет, какой из байт должен быть считан в шине данных.
STB_O
Строб операции. Ведомый интерфейс выполняет операции только если этот сигнал установлен в высокий уровень.
ACK_I, ACK_O
Оповестительный сигнал. Установив этот сигнал в высокий уровень, ведомое устройство подтверждает, что данные были успешно прочитаны или записаны. Ведущее устройство может снять строб операции и завершить цикл или приступить к следующей операции записи/чтения.
CYC_O
Оповестительный сигнал. Установив этот сигнал в высокий уровень, ведущее устройство сообщает, что начат цикл записи или чтения с ведомым устройством.
TAGN_O, TAGN_I
Вспомогательные шины, которые могут использоваться, например, для передачи знаков четности, или других управляющих команд между ведущим и ведомым устройствами. Необязательные сигналы.
Rudolf UsselmannOpenCores SoC Bus Review(англ.) (pdf) (9 января 2001). — Сравнение различных шин для объединения модулей в системе на кристалле. Дата обращения: 24 января 2010. Архивировано 15 апреля 2012 года.