Операции мастера Авалон




Скачать 121.83 Kb.
Дата16.07.2016
Размер121.83 Kb.

Операции мастера Авалон


Сигналы Авалон для операций мастера.

Основная операция чтения, выполняемая мастером на шине Авалон.

Основная операция записи, выполняемая мастером на шине Авалон.
------------------------

Операции мастера Авалон


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

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

Есть «золотое» правило операций мастера: надо установить все сигналы, чтобы инициализировать операцию шины, и затем ждать от модуля шины Авалон сброса сигнала запроса ожидания. С этим правилом становятся понятны основные операции чтения и записи подчиненного устройства, и интерфейс порта мастер с,____________________________________________.

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

Сигналы Авалон для операций мастера

В табл.4, приведенной ниже, приведены названия сигналов, которыми порт мастера внешнего устройства связан с интерфейсом модуля шины Авалон. Дается краткое описание портов, которые требуются для работы в определенных обстоятельствах. Не все сигналы, перечисленные в табл.4 будут присутствовать на внешних устройствах, их наличие или отсутствие будет определяться в зависимости от периферийного проекта и портов, объявленных в PTF файле внешнего устройства.



Таблица 4. Сигналы порта мастера Авалон


Тип сигнала

Разрядность

Направление

Требуется?

Описание

clk


1

in


yes


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

reset


1

in


no

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

address


1 - 32

out



yes


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

byteenable


0, 2, 4

out


no

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

read


1

out


no

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

readdata


1 - 32

in

no

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

write


1

out


no

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

writedata


1 - 32

out

no

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

waitrequest


1

in

yes


Останавливает мастера при обмене данными по шине до тех пор, пока шина на будет готова продолжить операцию..

irq



1

in

no

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

irqnumber


6

in

no

Приоритет запроса прерывания подчиненного порта. Меньший номер имеет высший приоритет.

endofpacket


1

in

no

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

datavalid



1

in

no

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

flush



1

out

no

Сигнал для чтения с латентностью. Мастер может сбросить любое чтение с латентностью (задержкой), которое находится в состоянии ожидания выдачи данных, устанавливая этот сигнал.


Примечание:

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

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

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



Основная операция чтения, выполняемая мастером на шине Авалон

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



Смотрите раздел "Расширенные Операции Шины Авалон ", где приведены описания для операций чтения мастера со временем ожидания, и потоковые операции мастера.

Мастер начинает операцию чтения на переднем фронте clk. Сразу же после первого переднего фронта clk, мастер устанавливает сигналы address и read_n. Если модуль шины Авалон не может представлять свои данные на шинах readdata в пределах первого цикла шины, то он устанавливает запрос ожидания перед следующим передним фронтом clk. Если мастер видит запрос ожидания, установленный на переднем фронте clk, то он ждет. Мастер должен удерживать все свои выходы постоянными до следующего переднего фронта синхрочастоты после того, как запрос ожидания будет сброшен. После эого, порт мастера тогда фиксирует readdata на следующем переднем фронте clk, и сбрасывает сигналы address и read_n. Мастер может инициализировать другую операцию немедленно в следующем цикла шины. В примере 10 показано, что если запрос ожидания не установлен модулем шины Авалон, то операция чтения заканчивается в одном цикле шины.



Даже в том случае, если запрос ожидания не устанавливается, он - активный сигнал в основной операция чтения, выполняемой мастером.

Пример 10. Основная операция чтения без циклов ожидания, выполняемая мастером.



Описание временных соотношений сигналов

(A) Первый цикл шины начинается на переднем фронте clk.

(B) Порт мастера устанавливает достоверные сигналы address, be_n и read_n.


  1. Достоверные данные на шине readdata возвращается от модуля шины Авалон в

течение первого цикла шины.

(D) Порт мастера фиксирует readdata на следующем переднем фронте clk и сбрасывает все

свои выходные сигналы.

Здесь заканчивается операция чтения и на следующем цикле шины может быть начало другой операции.

Основная операция чтения с нулевым временем ожидания выполняется только тогда, когда адресованное подчиненное внешнее устройство асинхронное (SRAM), не имеет времени ожидания и находится на кристалле. Если целевое внешнее устройство синхронно, подобно большинству других внешних устройств на кристалле, то, по крайней мере, один цикл ожидания обязательно должен быть.

В примере 11 показан случай, когда запрос ожидания установлен модулем шины Авалон для неопределенного числа циклов шины. Если N - число циклов шины, в которых модуль шины Авалон устанавливает запрос ожидания, то полная операция шины будет занимать (N + 1) циклы шины.



Пример 11. Основная операция чтения с запросом ожидания.


Описание временных соотношений сигналов

(A) Первый цикл шины начинается на переднем фронте clk.

(B) Порт мастера устанавливает достоверные сигналы address, be_n и read_n..

(C) Модуль шины Авалон устанавливает запрос ожидания перед следующим передним

фронтом clk.

(D) Порт мастера получает сигнал запроса ожидания по переднему фронту clk.

Этот цикл шины становится циклом ожидания.

(E-F) Пока запрос ожидания установлен, мастер удерживает все выходы постоянными.

(G) Достоверные данные на шине readdata возвращается от модуля шины Авалон.

(H) Модуль шины Авалон сбрасывает запрос ожидания.

(I) Порт мастера фиксирует readdata на следующем переднем фронте clk и сбрасывает все

свои выходные сигналы.


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

Если порт мастера использует сигнал be_n, все be_n линии должны быть установлены в течение операций чтения мастером. Порт мастера может использовать be_n, чтобы определить индивидуальные байты данных для операций записи мастера в к широкие внешние устройства, но be_n не используется для операций чтения, которые выполняет мастер, но тем не менее эти сингалы должны быть установлены.



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

Операция записи, выполняемая мастером, начинается на переднем фронте clk. Сразу после первого переднего фронта clk, мастер устанавливает адрес, writedata и сигналы write_n. Если данные не могут быть зафиксированы на следующем переднем фронте синхрочастоты, то модуль шины Авалон устанавливает запрос ожидания в течение первого же цикла шины. Мастер должен сохранять адрес, writedata и write_n, постоянными до следующего переднего фронта синхрочастоты после того, как запрос ожидания будет снят. После этого, порт мастера сбрасывает адрес, readdata и read_n на следующем переднем фронте clk. Мастер может инициализировать другую операцию в течение следующего цикла шины.

В примере 12 показана основная операция записи, выполняемая мастером. В этом примере, модуль шины Авалон не устанавливает запрос ожидания, и операция заканчивается в одном цикле шины.

Пример 12. Основная операция записи.


Описание временных соотношений сигналов

(A) Операция записи начинается на переднем фронте clk.

(B) Мастер устанавливает достоверный адрес, be_n writedata и write_n.


  1. Запрос ожидания не установлен на переднем фронте clk, так что операция записи

заканчивается.

На следующем цикле шины может выполняться другое чтение или операция записи.

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

Пример 11. Основная операция записи с запросом ожидания.



Описание временных соотношений сигналов

(A) Операция записи начинается на переднем фронте clk.

(B) Мастер устанавливает достоверный адрес, данные и write_n.


  1. Запрос ожидания установлен на переднем фронте clk, так что этот цикл шины

становится первым циклом ожидания. Мастер удерживает все выходы постоянными.

  1. Запрос ожидания установлен на переднем фронте clk снова, так что этот цикл

становится вторым циклом ожидания. Мастер удерживает все выходы постоянными.

(E) Модуль шины Авалон сбрасывает запрос ожидания.



  1. Запрос ожидания не установлен на переднем фронте clk, так что мастер сбрасывает все

выходы, и операция записи заканчивается. Другое чтение или операция записи могут

следовать на следующем цикле шины.


Порт мастера может использовать сигнал разрешения байта - be_n, которым можно выбирать определенные байты при записи. Сигналы be_n группируют в шину, имеющую разрядность 2 или 4 бита, так что каждый сигнал be_n используется для одного байта в слове writedata. Be_n обычно необходимы для операций записи в 32-х битные или 16-ти битные устройства памяти, адресуемые словом и находящиеся вне кристалла. Некоторые примеры использования be_n для порта мастера, имеющего разрядность 32 бита, показаны в табл. 5.

Таблица 5. Использование сигнала Разрешение Байта


be_n[3:0]

Действия при записи

0000

Запись полного 32-х битного слова

1100

Запись младших 2-х байт слова

0011

Запись старших 2-х байт слова

1110

Запись только одного байта – 0-ого

1011

Запись только одного байта – 2-ого



Если порт мастера должен записать отдельный байт, то он установит определенный адрес, такой чтобы выбрать нужный байт (так как адрес позволяет производить байтную адресацию) и установит только младший бит be_n. Если порт мастера не использует сигнал be_n, то модуль шины Авалон постоянно разрешает запись всех байтов для всех операций записи от этого порта.


База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница