Wishbone

Шина Wishbone — параллельная компьютерная шина для объединения модулей в системе на кристалле. Шина описана в открытой спецификации, и широко используется в проектах цифровых систем с открытым исходным кодом на сайте OpenCores.org.[1] Изначально шина была создана корпорацией Silicore Corporation. Стандарт допускает присутствие нескольких ведущих устройств в системе, а также различные топологии соединения модулей.

Общие характеристики:

  • ширина шин адреса и данных: 8, 16, 32, 64 бит
  • тип шины: параллельная
  • внутренняя шина, используется только для соединения модулей на кристалле
  • нет возможности «горячего» подключения

Топологии

Wishbone предполагает несколько топологий соединения модулей в системе. Среди них:

  • точка-точка
  • общая шина
  • конвейер
  • коммутатор

Интерфейсы модулей

Интерфейсы ведущего и ведомого модулей в системе 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 Вспомогательные шины, которые могут использоваться, например, для передачи знаков четности, или других управляющих команд между ведущим и ведомым устройствами. Необязательные сигналы.

Примечания

  1. SoC Interconnection: Wishbone (англ.) (html) (7 сентября 2002). Дата обращения: 18 января 2010. Архивировано 22 февраля 2012 года.

Ссылки