Коммуникационная структура на основе NoC для бесшовной IP-интеграции в сложных системах

Фабьен Клермиди, Дидье Варро, Дидье Латтард, CEA / LETI
Гренобль, Франция

Аннотация:

В этой статье мы представляем коммуникационную среду на основе NoC, которая используется для разработки сложных микросхем, включая большое количество гетерогенных IP-адресов. Схемы синхронизации и реконфигурации предлагаются для управления сложностью и эффективного отделения связи SoC от вычислений. Наконец, мы описываем чип 8Mgates NoC, предназначенный для телекоммуникационных приложений, который был разработан, чтобы доказать эту концепцию.
ВВЕДЕНИЕ
Сегодня платформы с несколькими приложениями являются обязательными для соответствия требованиям стоимости и времени выхода на рынок. С этой растущей сложностью существующие архитектуры SoC на основе шины могут привести к серьезным несоответствиям на этапе интеграции. На этом уровне каждая модификация очень затратна по времени и ресурсам. Более того, как только проблема интеграции решена, трудности отображения приложений все еще присутствуют.

Интеграция IP в этот тип системы на кристалле (SoC) приводит к некоторым классическим проблемам, таким как проверка функциональности и производительности, средства тестирования и отладки, место и маршрут, а также новые проблемы, такие как программирование нескольких приложений и реконфигурация платформы.
В этой статье мы предлагаем полную коммуникационную среду, основанную на сети на чипе (NoC), и связанную с ней методологию. Главная особенность этой системы - предложить как синхронизирующие, так и реконфигурируемые схемы, адаптированные для поддержки нескольких приложений.

Эта структура была использована для разработки многофункциональной телекоммуникационной платформы под названием FAUST (гибкая архитектура унифицированной системы для телекоммуникаций), предназначенной для обработки нескольких систем на основе OFDM.
Первыми сопоставленными приложениями являются IEEE 802.11a и SISO MC-CDMA в рамках проекта MATRICE [1], и он, естественно, был расширен до MIMO для проекта 4MORE [2].
II. FAUST NOC ARCHITECTURE
А. Введение и мотивация
NoC - это полностью распределенная система связи только с локальными соединениями, которая позволяет осуществлять все возможные передачи данных между подключенными IP-адресами (рис. 1). NoC обычно состоит из узлов, связей между узлами и сетевыми интерфейсами (NI), которые являются уровнем, который позволяет IP взаимодействовать со средой связи.

В настоящее время NI может изменять протоколы между IP и протоколом NoC [3]. В [4] добавлена ​​дополнительная интеллектуальность с механизмом QoS, который разделяет доступную полосу пропускания между различными IP-адресами настраиваемым способом.

Тем не менее, сам поток связи управляется внутри другого IP с протоколом более высокого уровня. Кроме того, после того, как IP-адрес интегрирован в систему, нет гарантии совпадения связи с другим IP-адресом.

Рис
Рис. 1: Пример структуры NoC

Архитектура, описанная в этой статье, предлагает сетевой интерфейс высокого уровня, который объединяет политику QoS, схему синхронизации, которая обеспечивает безопасную интеграцию IP и облегчает программирование приложений конечного SoC, и общую схему динамической реконфигурации IP.

B. Обзор FAUST NoC
Архитектура FAUST представляет собой NoC на основе двумерной сетки. Узлы подключены максимум к 5 блокам, которые могут быть соседними узлами или IP-блоками.

NoC передает пакеты в потоке червоточины от излучателя к получателю. Пакеты состоят из пороков. Первый фрагмент, названный заголовком, содержит путь маршрутизации (кодируется в IP-адресе отправителя). Узел декодирует этот путь, чтобы узнать новое направление (то есть выход узла), которому нужно следовать. Затем он осуществляет арбитраж между различными запросами в этом направлении, используя алгоритм «первым пришел - первым обслужен». Доступны два виртуальных канала: первый предназначен для трафика с максимальными усилиями, а второй предназначен для трафика в реальном времени (пакеты с гарантированной задержкой).
Сетевой интерфейс содержит блоки, предназначенные для управления связью QoS, синхронизации потока данных, управления реконфигурацией, а также управления прерываниями, тестированием и отладкой (рис. 2). В этой статье мы сосредоточимся только на аспектах синхронизации и реконфигурации связи.
NoC передает пакеты в потоке червоточины от излучателя к получателю
Рис. 2: Обзор сетевого интерфейса

C. Схема синхронизации
Контроллер NoC (обычно ЦП) отвечает за программирование NoC и грубую синхронизацию зернистости (на уровне приложений). Точная зернистая синхронизация является особенностью NI.

Управление потоком данных и синхронизация осуществляются благодаря схеме «данные пулл». Для этой операции используются два блока NI, контроллер входной связи (ICC) и контроллер выходной связи (OCC). ICC - это программируемый кредитный генератор. Он связан с FIFO и распределяет доступные места FIFO другим IP (производителям данных) последовательным и программируемым образом. Для одновременного управления входными потоками можно использовать 2 или более FIFO.

На стороне вывода и в зависимости от конфигурации, выбранной потоком входных данных, OCC отправляет данные соответствующему потребителю (-ям) в соответствии с доступными кредитами. Затем OCC формирует пакет для потребителя (ей).

Например, на рисунке 3 показано управление входным потоком OFDM, которое появляется в классическом процессе передачи (операция кадрирования). На первом этапе (рис. 3а) «полные пилотные сигналы» должны передаваться из блока ОЗУ в модулятор OFDM:

  • ICC блока OFDM отправляет n кредитов в блок RAM.
  • OCC блока RAM отправляет первый пакет, который содержит начало блока данных.
  • Два предыдущих шага повторяются до тех пор, пока блок OFDM не получит весь блок данных.

На втором этапе (рис. 3б) данные должны передаваться из блока отображения, и одновременно непрерывные пилот-сигналы поступают из блока ОЗУ:

  • ICC из 2 входных FIFO блока OFDM отправляет кредиты в оба исходных блока (ОЗУ и отображение).
  • Модуль RAM отправляет непрерывные пилот-сигналы в FIFO 1, а модуль отображения отправляет данные в FIFO 0.
  • Предыдущие шаги повторяются до тех пор, пока блок OFDM не примет весь блок данных.


а) первая фаза
а) первая фаза

б) второй этап
б) второй этап

Рис. 3: Пример формирования кадров в OFDM

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

D. Схема реконфигурации
Благодаря функциям NI вычисление и передача IP-адреса динамически реконфигурируются во время обработки приложения.

Декодер чтения записи (RWD) и диспетчер конфигурации (CFM) - это два блока, предназначенных для управления конфигурациями IP. RWD декодирует конфигурации, необходимые как для самого NI, так и для IP-ядра. Так как только NI-часть является общей, инструмент позволяет разработчикам добавлять сопоставление IP-адресов для декодирования конфигурации. В соответствии с требованиями приложений, RWD может декодировать и хранить несколько конфигураций.
CFM предназначен для управления конфигурациями, декодированными RWD.

Для данного IP весь поток данных разбивается на блоки данных, то есть набор данных, использующих одну и ту же вычислительную конфигурацию. Первый сетевой пакет блока данных содержит определенную команду (INIT_WRITE) и идентификатор конфигурации, который будет использоваться для вычисления этих данных. Следующие сетевые пакеты содержат классические команды WRITE.

Когда происходит команда INIT_WRITE, CFM просыпается. Он декодирует идентификатор конфигурации и проверяет, является ли идентификатор конфигурации действительным. Если нет, прерывание отправляется через ИТ-менеджера, и поток данных останавливается, в противном случае CFM ожидает до конца предыдущей конфигурации (все соответствующие данные должны быть обработаны и выполнены с IP). Затем загружается новая конфигурация и запускаются вычисления.

Е. Вывод
Механизмы синхронизации и реконфигурации, представленные выше, улучшают разделение между связью и вычислениями, что облегчает интеграцию IP. Функции реконфигурации, связанные с характеристиками архитектуры NoC (высокая пропускная способность и высокая гибкость), позволяют поддерживать несколько приложений. И наконец, что не менее важно, поскольку в наших рамках синхронизация коммуникаций - это особенность NI, возможна ранняя оценка влияния коммуникаций [5], и фаза интеграции становится более эффективной.

III. ИНТЕГРАЦИОННАЯ СРЕДА

А. Введение
Полная среда, основанная на смешанной методологии SystemC / HDL [6], [7], используется для разработки и проверки всего приложения в нашей архитектуре на основе NoC.

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

Б. Лего ЛПВП ядро
Интеграция IP-ядра осуществляется с использованием потока данных. Разработчик должен различать параллельные потоки ввода и вывода. Один FIFO затем связывается с каждым потоком. Блок ICC присоединяется к входному FIFO для объединения входных потоков, а конфигурация блока OCC присоединяется к выходному FIFO для обработки выходных потоков. Блок RWD создается конструктором с информацией о карте базовых IP-адресов. Мы можем выбрать количество конфигураций для воспроизведения в CFM, сложность ICC, количество конфигураций OCC, выбрать ИТ для ядра и добавить блоки DUMP и TEST.

C. SYSTEMC / TLM платформа

Платформа моделирования уровня транзакций (TLM) включает в себя глобальную инфраструктуру разработки архитектуры и соответствующие средства программирования. Это позволяет как проверять глобальную интеграцию, так и разработку реальных приложений.

Структура глобальной архитектуры содержит 2 основных компонента для построения структуры на основе NoC: узлы (описанные асинхронной моделью, основанной на событиях) и NI.

Чтобы ответить на вопросы программирования, мы сильно отделим часть конфигурации каждого IP от вычислительного ядра.

Таким образом, каждый IP делится на класс конфигурации и класс вычислений. Класс конфигурации содержит основные конфигурации и адресную карту различных полей с помощью двух методов, метода декодирования, эквивалентного RWD, и метода кода, который преобразует конфигурации в пакеты. Этот последний метод очень полезен с точки зрения программирования, потому что когда класс конфигурации записан для IP, этот IP становится легко программируемым, просто с помощью вызова этого метода и без глубокого понимания IP. Дизайнер IP-адресов также может добавить метод для программирования или настройки своего IP-адреса. В этом случае IP с ассоциированным NI может быть черным ящиком для команды интеграции.

Само ядро ​​IP может быть написано на C, C ++, SystemC или языке HDL. В последнем случае для совместного моделирования доступны трансляторы TLM в HDL и HDL в TLM, и необходимо разработать только класс конфигурации SystemC.


Наконец, модель SystemC может использоваться для различных целей:

  • Проверка IP когда-то завернута в NI благодаря комплекту интеграции (простому тестовому средству на основе NoC).
  • IP программирование.
  • Прикладное программирование.
  • Анализ коммуникационных характеристик [5].
  • Разработка приложения: некоторые IP можно описать с помощью модели SystemC, другие с моделью HDL, а другие только с эмуляцией потока связи. Все уровни IP могут сосуществовать в этой среде, и мы можем перейти к пошаговой разработке приложений.

Внутривенно ОПИСАНИЕ ДЕМОНСТРАТОРА

Для проверки ранее описанных концепций мы разработали первый прототип ASIC на основе NoC, предназначенный для телекоммуникационных приложений 4G. Эта архитектура содержит 23 IP, подключенных к сети из 20 узлов (рис. 4 и 5), для общей сложности 8 Мгатов (0,13 ƒÝ CMOS-технология от STMicroelectronics).

Пять из IP приходят от разных партнеров:

  • Ядро ARM946ES, входящее в подсистему AHB. Подсистема подключена к NoC через специальный блок, состоящий из оболочки AHB и NI.
  • Два блока интенсивной обработки данных, турбокодер от France Telecom R & D и сверточный декодер (Viterbi) от Mitsubishi / ITE.
  • Реконфигурируемый блок (блок DART), разработанный в рамках сотрудничества между CEA / LIST и IRISA.

Интеграция этих IP-адресов подтверждает способность нашей инфраструктуры работать с различными типами IP-адресов, в частности программируемыми (ЦП со стандартным протоколом) и реконфигурируемыми структурами.

Например, сверточный декодер от ITE / Mitsubishi был интегрирован в нашу среду NoC всего за одну неделю. Тестовые векторы, доступные до интеграции, прошли через NoC с полным успехом.

Рис
Рис. 4: Архитектура чипа FAUST


V. РЕЗУЛЬТАТЫ

Типичный интерфейс NI, разработанный для демонстратора с возможностями синхронизации и реконфигурации, соответствует примерно 10 килограммам без FIFO. NI был синтезирован, размещен и направлен в разных единицах на частоте до 250 МГц (с использованием технологии 0,13 мкм). NI добавляет только 2 цикла задержки как на входном, так и на выходном уровнях. Для подсистемы AHB стоимость блока-обертки составляет около 20% от самого ядра ARM946 и меньше с учетом всей подсистемы.

Мы разработали две совместимые версии узлов: синхронную и асинхронную, которая очень подходит для реализации глобально асинхронной локально синхронной (GALS) [8]. С узлом 5 входов * 5 выходов, подключенных к IP, общая стоимость интеграции составляет около 18 кг для синхронной версии (узел + NI) и около 45 кг для асинхронной версии (узел + интерфейсы Async / Sync + NI) ,

Можно построить смешанную асинхронную / синхронную архитектуру NoC в соответствии с IP и сложностью подсистем: IP-адрес 100 KGates с синхронной интеграцией и IP-подсистема 350 KGates или подсистемы с асинхронной интеграцией соответствуют накладным расходам в 15% площади для управления связью QoS, синхронизация потоков, реконфигурация, управление ИТ, аспекты тестирования и отладки.

VI. ЗАКЛЮЧЕНИЕ

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

В этой статье мы представляем решение, облегчающее интеграцию IP: описываются как среда архитектуры, так и процесс интеграции. Предлагаемая архитектура организована вокруг структуры NoC для поддержки коммуникационных целей; Эта модульная магистраль обеспечивает масштабируемость на уровне архитектуры и гибкость на уровне приложений. Полная инфраструктура разработки, основанная на методологии TLM, использовалась для помощи в интеграции и верификации IP, а также для программирования нескольких приложений.

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

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


Рис
Рис. 5: Расположение микросхемы FAUST и реализация NoC

VII. БЛАГОДАРНОСТЬ
Эта работа была поддержана ST Microelectonics и Европейской комиссией в рамках FP6 с проектом 4More IST-2002-507039 (многоканальная многоканальная система 4G MC-CDMA для улучшения радиосвязи).

VIII. РЕКОМЕНДАЦИИ
[1] http://ist-matrice.org/

[2] http://ist-4more.org/

[3] Дж. Хенкель, В. Вольф, С. Чакрадхар, «Сети на кристалле: масштабируемая, ориентированная на коммуникацию парадигма проектирования встроенных систем», 17-я Международная конференция по проектированию СБИС, 2004 г., стр. 845 - V 851 ,

[4] E. Rijpkema, K. Goossens, A. Radulescu, J. Dielissen, J. van Meerbergen, P. Wielage и E. Waterlander, ¡§ Торговые предложения в дизайне маршрутизатора с гарантированным и с максимальными усилиями услуги для сетей на чипе, ДАТА, 2003, страницы 350-355.

[5] R. Lemaire, F.Clermidy, Y. Durand, D. Lattard и A. Jerraya ¡§ Оценка эффективности основанного на NoC проекта для телекоммуникаций MC-CDMA с использованием NS-2 ¡in, в RSP¡¦05 Intl Конференция, 2005

[6] «Справочник по языкам SystemC 2.0.1», «Open SystemC Initiative», http://www.systemc.org ,

[7] A. Clouard и др., «Использование моделей на уровне транзакций в процессе проектирования SoC», в «SystemC: Методологии и приложения», под редакцией W. Muller, W. Rosenstiel, J. Ruf, Kluwer Academic Publishers, 2003, с. 29-63.

[8] E. Beigne, F.Clermidy, P. Vivet, M. Renaudin, A. Clouard, ¡§ Асинхронная архитектура NOC, обеспечивающая обслуживание с низкой задержкой, и ее многоуровневая структура проектирования, в ASYNC, 05, Int Иль Конференция, 2005


Похожие

Сеть против центров безопасности: чем отличается NOC от SOC?
Джо Панеттьери • 13 июля 2017 г. Роландо Торрес Тысячи MSP (провайдеров управляемых услуг) уже имеют свои собственные NOC (центр управления сетью) или подключаются к сторонним NOC. Сейчас многие из этих МСП пытаются выяснить, нужен ли им SOC (центр безопасности). Но в чем истинная разница между NOC и SOC? Одно из лучших
NoC Interconnect Fabric IP улучшает мощность, производительность и площадь SoC
Чарли Янак (президент и генеральный директор), Моника Танг (менеджер по разработке приложений) Arteris Представьте, что вы определили структуру системы на кристалле, и теперь вам нужно собрать все блоки IP и заставить их взаимодействовать на кристалле. Вы провели месяцы, тщательно выбирая SoC IP, который отражает желаемую функциональность чипа. Однако без встроенной соединительной матрицы это просто набор изолированных блоков. Блоки становятся окончательной архитектурой
Как получить письмо без возражений или NOC в Непале
Если вы хотите поехать учиться за границу, вам нужно будет заплатить в международный университет / колледж / институт. Для этого вам нужно будет сделать перевод SWIFT в международную школу, в которую вы пытаетесь попасть. А для того, чтобы банки могли вам помочь, им требуются определенные документы, и одним из них является «Письмо без возражений» или NOC. Для получения письма NOC или No Возражения в Непале все, что вам нужно сделать, это посетить
Загрузка, установка, использование веб-браузера Lynx на основе командной строки в Ubuntu
Хотя графический пользовательский интерфейс (GUI) почти стал синонимом персональных компьютеров в наши дни, системы все еще существуют, которые предлагают только интерфейс командной строки (CLI). Даже если вы не используете эти системы на основе интерфейса командной строки, иногда, когда вы устраняете проблему, вам необходимо переключить систему в режим командной строки. Что делать, если есть необходимость доступа в Интернет, когда ваша система работает в режиме командной строки? Существуют
Создайте каталог продукции на Joomla
... в, разделенных на конкретные категории или темы. Они могут касаться нишевых вопросов или включать очень специфическую категорию, связанную с местной деятельностью. Создание каталога на основе сайта. это в основном довольно просто. Мы подготовили статью, из которой вы можете узнать больше о деятельности, ведущей к созданию профессионального веб-сайта каталога. Каковы преимущества наличия страницы каталога товаров? Создание онлайн-бизнеса на основе каталога
Композитор и WordPress cz. 1
Composer - менеджер пакетов для проектов PHP. Его использование экономит время при поиске библиотек и гарантирует согласованность сред, что важно при работе с другими людьми. Побочным эффектом использования Composer является чистый репозиторий и общий порядок в коде. Если вы хотите знать, как начать работать с ним и как использовать его в своих проектах WordPress, то эта серия для вас. последняя статья Я спросил
Использование telnet для тестирования открытых портов
Многие люди считают, что проверить, открыт ли порт, слишком сложно. Однако одним из наиболее эффективных способов является использование сетевого протокола Telnet. Telnet позволяет пользователю тестировать отдельные порты и видеть, открыты они или нет. В этой статье мы рассмотрим, как Telnet можно использовать для проверки портов в Windows 10, Windows Server 2016, 2012 и 2008. Что такое Telnet? Короче говоря, Telnet - это компьютерный протокол, созданный для взаимодействия

Комментарии

Но в чем истинная разница между NOC и SOC?
Но в чем истинная разница между NOC и SOC? Одно из лучших определений, которое мы видели, пришло от Abacode, MSSP в Тампе, штат Флорида. На фоне усилий компании по созданию третьего SOC в Тампе, штат Флорида, главный операционный директор Роландо Торрес предложил следующее заявление на дебатах NOC против SOC: «Рынок иногда путают между Центром сетевых операций (NOC) и Сервисным центром безопасности (SOC). Думайте об этом таким образом; NOC - это ваша центральная нервная система,
Какой вид бизнеса на основе каталога продуктов вы бы хотели создать?
Какой вид бизнеса на основе каталога продуктов вы бы хотели создать? Как упоминалось ранее, нет никаких ограничений на каталоги продукции. Давайте посмотрим некоторые интересные каталоги, построенные на основе Joomla Веб-сайт, представляющий различные продукты - например, электронику или устройства, используемые для ухода за садом. Сайт туристического агентства, предлагающий поездки, праздники или активные формы проведения свободного времени Страницы
Какой будет структура и какие библиотеки Javascript вы будете использовать: MooTools или jQuery?
Какой будет структура и какие библиотеки Javascript вы будете использовать: MooTools или jQuery? PHP, .Net или Rails? WordPress или Drupal? Эти решения должны быть приняты на ранних стадиях проекта. Подготовьте стратегию после запуска нового сайта. Ваша работа не заканчивается созданием хорошего сайта. Вы должны подготовить план продвижения в средствах массовой информации, PR-кампанию и сообщения в блоге. Публикуйте маркетинговый контент на этих каналах не
Знаете ли вы о каких-либо других интернет-картографических системах, о которых должны знать дизайнеры?
Знаете ли вы о каких-либо других интернет-картографических системах, о которых должны знать дизайнеры? Поделитесь ссылкой в ​​комментариях ниже. Дальнейшее чтение на SmashingMag:

Но в чем истинная разница между NOC и SOC?
Что делать, если есть необходимость доступа в Интернет, когда ваша система работает в режиме командной строки?
Каковы преимущества наличия страницы каталога товаров?
2008. Что такое Telnet?
Но в чем истинная разница между NOC и SOC?
Какой вид бизнеса на основе каталога продуктов вы бы хотели создать?
Какой будет структура и какие библиотеки Javascript вы будете использовать: MooTools или jQuery?
Net или Rails?
WordPress или Drupal?
Знаете ли вы о каких-либо других интернет-картографических системах, о которых должны знать дизайнеры?

Новости