Таблица 1. Частичный перечень сигналов подчиненного устройства шины Авалон

Тип сигнала

Разрядность

Направление

Требуется?

Описание

address

1 - 32

in

no

Шины адреса к подчиненному, от модуля Авалон. Позволяют производить байтное адресование.

read

1

in

no

Сигнал чтения периферийного устройства. Не применяется в тех случаях, когда периферийное устройство не читается мастером. Если этот сигнал применяется, то должны применяться и сигналы readdata.

readdata

1 - 32

out

no

Шины данных для модуля Авалон, применяются при операциях чтения. Не применяется в тех случаях, когда периферийное устройство не читается мастером. Если этот сигнал применяется, то должен применяться и сигнал read.

write

1

in

no

Сигнал записи в периферийное устройство. Не применяется в тех случаях, когда периферийное в устройство не производится запись мастером. Если этот сигнал применяется, то должны применяться и сигналы writedata.

writedata

1 - 32

in

no

Шины данных модуля Авалон, применяются при операциях записи. Не применяется в тех случаях, когда периферийное в устройство не производится запись мастером. Если этот сигнал применяется, то должен применяться и сигналы write.

irq

1

out

no

Запрос прерывания. Подчиненный устанавливает этот сигнал, для того, чтобы его обслужил мастер.

Примечание:

Сигналы, перечисленные в табл.1 активны при высоком уровне. Однако, шина Авалон также предлагает инверсную версию каждого типа сигнала. Добавляя в PTF декларации к названию типа сигнала "_n" (например, irq_n, read_n), соответствующий порт объявляется активным при низком уровне. Это полезно для многих внешних устройств вне кристалла, которые используют логику с активным низким уровнем.

НЕ нашли? Не то? Что вы ищете?

Сигналы шины Авалон и выполняемые ими действия будут те же самые, независимо от того расположено ли внешнее устройство внутри системного модуля, или вне его. В том случае, когда устройство является внутренним, SOPC Builder автоматически подключает порт мастера или подчиненный порт этого внешнего устройства к модулю шины Авалон. В том случае, когда устройство является внешним, разработчик должен вручную подключить порт мастера или подчиненного к системному модулю. В любом случае, сигналы шины Авалон ведут себя одинаково.

Режим одновременной работы нескольких мастеров шины Авалон

На шине Авалон может быть размещено множество портов типа мастер, связанных с модулем шины Авалон. При этом не используются специальные сигналы, внешние к модулю шины Авалон, чтобы осуществить возможность одновременного функционирования мультимастера шины. Логика арбитража, расположенная на стороне подчиненного устройства и находящаяся внутри модуля шины Авалон, выносит решение в случае конфликта на шине, когда несколько внешних устройств типа мастер пытаются одновременно обратиться к одному и тому же подчиненному внешнему устройству. Схема арбитража полностью скрыта от внешних устройств шины Авалон. Поэтому, протокол для передачи данных по шине Авалон между портами мастера и подчиненным портами будет тот же самый, не зависимо от того используется ли арбитраж или нет.

Другими словами, подчиненные порты не знают, что несколько мастеров одновременно требовали доступ к шине для передачи данных. Аналогично, внешнее устройство мастер, которое вынуждено ждать подтверждения арбитража, не знает, что есть другой мастер и он имеет доступ к шине. Порт мастера просто «видит» свой установленный сигнал запроса ожидания, и знает, что он должен ждать, пока требуемый ему подчиненный не будет готов продолжить передачу по шине. Сокрытие деталей арбитража внутри модуля шины Авалон очень упрощает проект периферийного устройства, потому что любое внешнее устройство Авалон может использоваться, и в архитектурах с единственным мастером, и в архитектурах с несколькими мастерами.

Передачи данных подчиненного устройства

Следующие разделы обсуждают передачи данных по шине между подчиненным портом и шиной Авалон. Обобщая, можно сказать что, с точки зрения системного уровня, внешние устройства типа мастер обмениваются данными с подчиненными внешними устройствами. Однако, с точки зрения подчиненного внешнего устройства, данные передаются между подчиненным портом внешнего устройства и модулем шины Авалон. Этот раздел посвящен описанию интерфейса между модулем шины Авалон и подчиненным портом. В дальнейшем описании работы шины с подчиненными портами, принимается, что внешнее устройство - мастер где-нибудь на шине Авалон, успешно инициализировало передачу на стороне мастера модуля шины Авалон. В результате, модуль шины Авалон инициализирует передачу с соответствующим подчиненным портом.

Сигналы Авалон для подчиненного устройства при передаче данных

В табл.2, приведенной ниже, перечислены типы сигналов, по которым происходит связь по интерфейсу с портом подчиненного внешнего устройства.

Направление сигналов приведено со стороны портов подчиненного устройства. В реальных внешних устройствах некоторые из портов присутствовать не будут, это зависит от проекта конкретного периферийного устройства и от объявлений в файле PTF. Таблица 2 дает краткое описание сигналов, какие из них требуются и в каких случаях.

Таблица 2. Сигналы порта подчиненного устройства Авалон

Тип сигнала

Разрядность

Направление

Требуется?

Описание

clk

1

in

no

Глобальный сигнал синхронизации для системного модуля и модуля шины Авалон. Все операции шины синхронны с clk, только асинхронные подчиненные порты могут не использовать этот сигнал.

reset

1

in

no

Глобальный сигнал сброса. Применение зависит от конкретного периферийного устройства.

chipselect

1

in

yes

Сигнал выбора устройства. Подчиненный порт должен игнорировать все другие сигналы шины, до тех пор, пока этот сигнал не будет установлен.

address

1 - 32

in

no

Шины адреса к подчиненному, от модуля Авалон. Позволяют производить байтное адресование.

byteenable

0, 2, 4

in

no

Сигналы разрешения байта. Применяются в операциях с памятью, которая имеет разрядность больше 8. Применение зависит от конкретной реализации.

read

1

in

no

Сигнал чтения периферийного устройства. Не применяется в тех случаях, когда периферийное устройство не читается мастером. Если этот сигнал применяется, то должны применяться и сигналы readdata.

readdata

1 - 32

out

no

Шины данных для модуля Авалон, применяются при операциях чтения. Не применяется в тех случаях, когда периферийное устройство не читается мастером. Если этот сигнал применяется, то должен применяться и сигнал read.

write

1

in

no

Сигнал записи в периферийное устройство. Не применяется в тех случаях, когда периферийное в устройство не производится запись мастером. Если этот сигнал применяется, то должны применяться и сигналы writedata.

writedata

1 - 32

in

no

Шины данных модуля Авалон, применяются при операциях записи. Не применяется в тех случаях, когда периферийное в устройство не производится запись мастером. Если этот сигнал применяется, то должен применяться и сигналы write.

waitrequest

1

out

no

Применяется в тех случаях, когда медленное периферийное устройство не успевает выдать свои данные при чтении. Останавливает обмен по шине.

readyfordata

1

out

no

Сигнал для потоковых операций. Означает, что подчиненный готов принимать данные потоком.

dataavailable

1

out

no

Сигнал для потоковых операций. Означает, что подчиненный имеет данные, для передачи потоком

endofpacket

1

out

no

Сигнал для потоковых операций. Может применяться, чтобы индицировать состояние «Конец пакета» для мастера. Применение зависит от конкретной реализации.

irq

1

out

no

Запрос прерывания. Подчиненный устанавливает этот сигнал, для того, чтобы его обслужил мастер.

resetrequest

1

out

no

Сигнал сброса, позволяющий периферийному устройству произвести сброс всего системного модуля.

begintransfer

1

out

no

Устанавливается во время первого цикла шины при каждой операции шины. Применение зависит от конкретной реализации.

Примечание:

Сигналы могут использоваться в виде read_n, write_n и byteenable_n.

Сигнал byteenable_n можно употреблять в сокращенном виде - be_n.

Сигналы могут использоваться в активном высоком уровне или в активном низком уровне, в зависимости от того, как они назначены в PTF-файле.

Операции чтения для подчиненного устройства на Шине Авалон

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5