Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 65
Текст из файла (страница 65)
В 14-м такте функциональный блок переходит в состояние теьв и готов к выполнению следующего задания, Рассмотрим теперь функционирование компонента ведущего устпройства. В 13-м такте сигнал ееепгз= т, что указывает на необходимость в конце этого такта защелкнуть результат, полученный функциональным модулем, и начать его передавать. В 14-м такте блок ведущего устройства запрашивает шину АНВ, и она ему предоставляется. В 15-м такте выставляется адрес и команда.
Адрес обращения определяется в соответствии с идентификатором ведущего устройства, от которого было получено задание. Предполагается, что модуль, выдавший задание, должен иметь компонент ведомого устройства, которому будет возвращен результат. Поскольку навлпх= ' т, то в 16-м такте на линии данных выставляется результат. нквлох сохраняет значение 'т, что указывает на то, что результат успешно записан, поэтому в следующем такте этот компонент переходит в состояние иокк.
В этом состоянии компонент ведущего устройства ожидает получения следующего задания от функционального компонента. ~спи '; ":," .':1тв1бв,".;;й::,г",."1""гп".7 ~; ",:г„' Ч!Г ' ОПЗ" " ':, 2аав '"".-.:": ЗОПВ ...' Оаьвзг - ' ООПа .:.,",:',.'.1ООПЗ' '." 12ОПО все о оо вгеве! '1' вве! оаоаоаоо ООООООО1 ваббг Оаааааав ввбге о в!гапв 2 впггеабу '1' ввабу 'О' 1 о 1 о Ю1.Е Е1 Е2 !ОСЕ Е1 Е2 !ОСЕ Е! 1 О 1.Е зеба!а 1 виаге ю! е в1апс гуре Х И вепб вага ев!ие Х ва вепб 'О' впввгег !б Х сз пв!а!е Е 2 сз зга!е Е 1 !ОЬЕ Е1 Е2 !ОСЕ Е1 Е2 !ОСЕ Е1 Е2 Глава 5 !гаев! '1' гса О О йпгпав1аг «! йвв ча1не и !вепб 'О' Мене юье Пнпс !упе О О Е вепб О О гВПО В\на О !а вепб О О йнпаивг М О сГ пв!а1а 1О1.Е 101.Е Ю1.Е сГ в!в!в 1О1.Е О Г !бей! п!Вв! йг Х Х Х 14434В 474ВЗ гев О Цо пгсгй 'О' пгйнвгвя с!Огас! и!Вббг пг!гепв 'О' О агапы 'О' О пггввбу 'О' гпп\вп О пппввгвг гб О пав в и О паапб 'О' О гав на!не О п и\с пап1ВМ$а асгй пгс в!в!В ч ПП, псп! В Рис.
8.26. Временные диаграммы функционирования блска ведомого устройства — (а), функционального блока — (б), блока ведущего устройства — (в). Обработка неправильного обращения Практика применения МНР~ Рассмотрим теперь обработку неправильного обращения к вычислителю специальной функции (временные диаграммы представлены на рис. 5.25). В этом примере обращение к блоку ведомого устройства начинается также в 3-м такте. Сигнал шины АНВ, нивттв= с (в модели компонента ведомого устройства — сигнал порта еиттее), осуществляется попытка чтения.
Блок ведомого устройства идентифицирует такое обращение как неправильное. Вследствие этого, в 4-м и 5-м такте он выдает код подтверждения каков (рис. 5.25, е), после чего снова переходит в состояние тпьв. Остальные блоки вычислителя специальной функции так и остаются в своих начальных состояниях. Организация шины АМВА АНВ для взаимодействия модулей в системах-на-кристалле.
Блок связей на основе мультиплексоров Рассмотрим вариант организации Блока связей модулей для систем-накристалле на базе шины АНВ. Будем проектировать модуль коммуникационной системы таким образом, чтобы он мог использоваться в системах с различным количеством ведущих и ведомых устройств. Внутри Блока связей можно выделить два основных узла: Арбитр и Мультиплексор. К Мультиплексору поступают выходные сигналы от всех ведущих устройств, на их базе формируются входные сигналы для всех ведомых устройств. Аналогично в этот узел поступают выходные сигналы от всех ведомых устройств; на их базе формируются входные сигналы для ведущих устройств.
Мультиплексор функционирует под управлением Арбитра. Арбитр определяет пару ведущее/ведомое устройства, которая будет участвовать в обмене, и формирует управляющие сигналы для блока мультиплексирования. В соответствии с перечнем функций, которые возлагаются на арбитра шины АНВ, Арбитру необходимо отслеживать ход выполнения запросов и определять конец очередного запроса. Арбитр можем представить в виде совокупности следующих компонентов: (3 компонент определения следующего ведущего устройства; (3 компонент определения следующего ведомого устройства; 0 компонент, выполняющий контроль расщепленных транзакций; 0 компонент, определяющий конец очередного запроса.
Каждый из компонентов Блока связей должен проектироваться таким образом, чтобы этот модуль мог использоваться в системах-на-кристалле с различным количеством ведущих и ведомых устройств шины АНВ. Количество устройств определяется на этапе синтеза. Чтобы проектировщик, не редак- 358 Глава 5 тируя описание самого модуля, мог определить количество устройств в системе, для которой синтезируется модуль Блока связей, будет использован пакет АМВА АНВ рагаптегегз.пЫ (листинг 5.!6), в котором описаны две константы ыи — количество ведущих устройств в системе и ыя — количество ведомых устройств в системе.
Необходимость наличия такого пакета, а ие использование механизма цепег)с, связано с тем, что на базе значений параметров иа и ыя определяется размер массивов в пакете АМВА АНВ р.уЫ. Параметризацию разрядности адресов и данных на шине АНВ обеспечивают константы н лппв и н Влтл, специфицированные в пакете АМВА АНВ р. Листинг вд6 Распеве ЛИВЛ ЛНВ рапаппепепя 4в ооавеаае Ипо ллеедея: = 3; ооовеаае ня: лвееяев: =4; еао рао)саяе ливл..лнв рапаеепепяг Узел Мультиплексор Узел Мультиплексор описываем на ЧНП!.
как один компонент. Рассмотрим описание интерфейса и организацию внутренней структуры Мультиплексора. К Мультиплексору поступают выходные сигналы от всех ведущих и ведомых устройств. Интерфейс компонента должен быть описан таким образом, чтобы количество ведущих и ведомых устройств могло быть различным, количество входных сигналов должно быть функцией от параметров ие и ыя. Рассмотрим, как на базе этих двух параметров может быть описан интерфейс Мультиплексора. К Мультиплексору поступают выходные сигналы от всех ведущих устройств.
Одноименные сигналы от всех ведущих устройств можно сгруппировать в массивы. Для этого будут использованы типы нт — нп, описанные в пакете АМВА АНВ рч)к! (см. листинг 5.8). Эти типы описаны как массивы неопределенной длины. Для того чтобы их использовать при описании портов объекта, необходимо определить размер массива. Для того чтобы размеры массивов соответствовали конфигурации конкретной системы, нх размер должен определяться на основе значения константы ипп Например, описание порта для линий адреса может выглядеть следующим образом: въавяя: 'а НЛ(Х По 4аа)Г Линии адреса являются выходными для ведущих устройств, а для Мультиплексора — входными. Ведущему устройству с номером у' соответствует элемент массива с номером у. Аналогичным образом к Мультиплексору подключаются выходные сигналы от ведомых устройств. Для определения размеров массивов используется константа ыя.
Практика применения )зН01 359 Рассмотрим, какие управляющие сигналы должны поступать к узлу Мультиплексора от компонента Арбитра. Мультиплексоры, на которые поступают выходные сигналы от ведущих устройств, можно разделить на две большие группы: мультиплексоры адреса и управления, и мультиплексоры данных, записываемых в ведомые устройства. В рамках каждой из этих групп мультиплексоры управляются одним и тем же сигналом, но сигналы управления для каждой из этих групп — это два разных сигнала.
Такое разделение связано с тем, что последняя фаза данных одного запроса может перекрываться первой фазой адреса следующего запроса. В результате линии данных могут использоваться одним ведущим устройством, а линии управления и адреса — другим.
Мультиплексоры, на которые поступают выходные данные от ведомых устройств, образуют одну группу, работаю- а(ую под управлением одного сигнала. Таким образом, для управления Мультиплексором должно использоваться три сигнала: Э номер ведущего устройства, использующего линии адреса и управления; зз номер ведущего устройства, использующего линии данных; 0 номер ведомого устройства, использующего линии данных и подтверждения. Описание компонента Мультиплексор с пзззхя приведено в листинге 5.17. Листинг оз?7 1пзтету 1еее? пве 1ЕЕЕ.ятс? 1одзс 1164.а11? пве 1ЕЕЕ.ятс? 1одьс атьяна.а11; пве 1ЕЕЕ.
ясз? 1одз.с ипя1дпес?. а11; пве АННА АНВ р.АНВА АНВ р.а11; пве АННА АНВ ратапзететя.АННА АНЕ рагазпетегя.а11з ват1еу с ппзхя 1в Ватт(яд?стася з ЗЛ Н2 (1 СО НЗП) З пз?зяьтез 1а НЗ(1 Ео Нзп)з ?0 гяс: да НЗ(1 Ео Нп); пз?зитзсез 1а Н1(1 Ео Ып)з П?Зртссз 1а Н4(1 ЕО ЫП)З пдзас?з?гз 1а НА(1 Ео На) з п4зпг?атаз 1п НЭ(1 Ео Бт) з пзьгеас?уз оис ятс? 1одьсз п?згеярз оис яг 1од1с ззессот(1 Еоипсо 0) Глава 5 пйтдатас сия япд 1сд?с частот((НРАТА-1) дс«псе О)? вЬтеадус 1п Н1(1 По Нв)? вЬтевр: 1п Н2(1 Со Ив); вьтдага: 1п нр(1 по нв); вЬадс)тс оип втд 1сд?с деспот((Н А1ЕЖ-1) дои«Со О); в1ит?тес опт втд 1сд?с? вЬСтапяс сап всд 1сд?с деспот(1 домппо О)? вЬя?гес оип всд.