Виаком
телефон
поискпоиск входаккаунт корзинакорзина


на складе в Киеве под заказ

не выполнен вход

 

Новости компании



28.09.2012

Преимущества системного проектирования на ПЛИС Altera. Оболочка QSYS

Загрузить статью в PDF (2,5 Мб) >>

Вторая статья цикла (cм. http://biakom.com/news/338/, "CHIP NEWS Украина", № 6, 2012 г.) об особенностях проектирования на ПЛИС посвящена преимуществам системного проектирования с использованием оболочки QSYS в сравнении с традиционным построением системы благодаря гибкости такой системы и легкости в отладке.

Введение

Остановимся подробнее на такой особенности программируемых матриц как универсальность. Заключается она в том, что можно построить практически любые решения, выполненные на специализированных мик росхемах, а также заменить (интегрировать) любой микроконтроллер или DSP-процессор, выиграв при этом в производительности, потому как FPGA матрицы, как правило, производятся на технических процессах более высокой точности. Для того, чтобы лучше понять отличия между традиционным и матричным проектированием, необходимо рассмотреть примеры с использованием обоих способов.

Традиционное построение систем

Системное проектирование обычно трудоемкий и кропотливый процесс, так как различные узлы системы имеют свои интерфейсы (стандартные и нестандартные).

Пример типичной системы:
Традиционное построение систем

В проекте имеются различные устройства, выполняющие свои отдельные задачи. Каждое из них имеет различные интерфейсы, но при этом каждый узел такой системы должен быть сочленен с другими узлами для обеспечения работоспособности всего проекта. Необходимы большие технические усилия для создания собственного интерфейса, такие как описание логики работы шины, адаптер разрядности для всех устройств,
а затем арбитраж всей периферии. При этом эта дополнительная логика не дает преимуществ проекту - она просто необходима. Процесс согласования работы устройств естественно подвержен ошибкам, поскольку проектировщик пытается связать различные данные, обеспечить контроль и сигналы статуса между различными интерфейсами так же, как временное разделение этих сигналов. Даже в случае, когда в системе все устройства имеют стандартный интерфейс для связи (что бывает крайне редко), все равно процесс их согласования требует немалых временных затрат. Нельзя также забывать и о том, что достаточно трудно найти одного специалиста, одинаково хорошо разбирающегося во всех узлах системы: DSP-процессорах, микроконтроллерах различных архитектур, ПЛИС. Поэтому я часто вижу, когда в системе применяются не оптимальные для нее компоненты, а лишь те, которые хорошо изучены разработчиком. Это с одной стороны правильно, но с другой - делает систему неоптимальной и более дорогой в отладке, т. к. для каждого компонента необходимо использовать свои программные и аппаратные средства отладки.

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

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

Преимущества использования стандартных интерфейсов

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

  1. Требуемые сигналы и их поведение определены интерфейсами, таким образом, инженер не должен волноваться о ручном определении, назначении и обеспечении контроля связи сигналов статуса и данных. Это приводит к сокращению числа ошибок.
  2. Связь между системными компонентами предопределена интерфейсом. Это означает, что два компонента, поддерживающие этот интерфейс, могут общаться друг с другом без затруднений. Это также означает, что два компонента, даже поддерживающие различные интерфейсы, могут общаться посредством мостов и адаптеров. Мосты и адаптеры могут служить для обеспечения индивидуального контроля, сигналов статуса и данных между интерфейсами. Это позволяет разработчику проектировать систему на верхнем уровне, потому что он должен заботиться только об объединении компонентов
    в систему, а не об индивидуальных сигналах, которые обеспечивают согласование интерфейсов компонентов. Это облегчает создание конструктивных изменений, делая их намного быстрее и проще.
  3. Использование стандартных интерфейсов добавляет разработчику уверенности, что при подключении компонента с индивидуальным интерфейсом не возникнет трудностей. Например, если особый компонент или проект в системе используют нестандартный, определенный владельцем компонента интерфейс при помощи адаптера или моста, чтобы согласовать его, все компоненты в системе все еще могут использовать стандартные интерфейсы. Это также освобождает проектировщика от необходимости создания системы на низком уровне, когда необходимо обеспечивать топологию и соединение игналов с покупным компонентом (проектом), дав возможность сосредоточиться лишь на объединении компонентов в систему на верхнем уровне.

 

Преимущества в использовании и основные особенности оболочки QSYS

Для начала следует отметить, что оболочка организации систем на ПЛИС Altera ранее называлась SOPC Builder, однако, претерпев в новой версии САПР Quartus II существенные изменения (в основном не касающихся GUI), была переименована в QSYS.

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

Так какие же типы систем могут быть разработаны в QSYS? Достаточно хорошо любой проект FPGA (соответственно и любая конструкция из отдельных цифровых ИС) может быть реализован в этой оболочке. Если рассмотреть в общем основные части для реализации типичных проектов, то условно их можно разделить на два типа: организация сигналов управления и организация сигналов данных. Оба типа поддерживаются в
QSYS. Часть, относящаяся к управлению, использует нанесенные на карту памяти интерфейсы, в которых компоненты представляют собой регистры управления и статуса системы. Этими компонентами управляются чтение и запись этих регистров. Часть, относящаяся к данным, использует интерфейсы типа точка-точка, куда пакетированные данные непрерывно перемещаются или переносятся из системы. Уровень данных тогда использует такие переключающиеся механизмы, как мультиплексоры и демультиплексоры, или такие манипуляторы данных, как накопители или мосты, чтобы управлять направлением данных. Таким образом, целевым применением для QSYS являются обработка видео и изображения, высокоскоростные интерфейсы и протоколы, также как и реализация любых встроенных систем с памятью.

Первый компонент архитектуры связей оболочкиQSYS - это стандартные интерфейсы, используемые компонентами системы для общения друг с другом. QSYS в настоящее время поддерживает два стандартных интерфейса: Avalon-MM (интерфей с карты памяти) и Avalon-ST (интерфей с потока данных). Интерфейс Avalon-MM используется для уровня управления. С этим интерфейсом компоненты "Masters" выполняют
чтение и запись запросов в систему, а компоненты "Slave" отвечают за чтение и запись запросов от системы. Интерфей с Avalon-ST используется для уровня данных. С этим интерфейсом источники направляют данные к определенному адресу, Avalon-ST "sinks" принимают данные от специализированного источника системы. Более детальному рассмотрению этих интерфейсов необходимо посвящать отдельную статью, так как объем необходимого материала значительно превысит рамки данной статьи.

Хотя интерфейсы Avalon-ST и Avalon-MM в настоящее время единственные, поддерживаемые в QSYS, другие стандартные интерфейсы будут добавлены в последующих версиях оболочки. Для начала планируется поддержка интерфейса AXI, а затем и других стандартизированных интерфейсов, подходящих для задач по системному проектированию.

Начать проектирование в QSYS достаточно легко, освоив несложный интерфейс пользователя:

Основной вид интерфейса пользователя утилиты QSYS
Основной вид интерфейса пользователя утилиты <strong>QSYS</strong>

Рассмотрим детальнее основные окна интерфейса пользователя (GUI).

"Component Library" (Библиотека компонентов) перечисляет все доступные IP-ядра, перечисленные в секции "Library" и подсистемы, перечисленные в секции "Project". Все они могут быть добавлены в вашу текущую систему. Любое самостоятельно описанное IP‑ядро или компонент будут находиться в секции "Project". Библиотека компонентов организована категориями, чтобы облегчить нахождение необходимых IP-ядер. Просто расширьте категорию и выдвиньте на первый план компонент, который хотите добавить в систему. Чтобы добавить компонент к системе, дважды щелкните по его названию или нажмите на кнопку "Add" при выделенном компоненте. Вы также можете использовать область поиска, чтобы фильтровать составляющую библиотеку по имени. QSYS динамически фильтрует список уже при начале ввода имени необходимого компонента.

Закладка "System Contents" (Содержимое системы) показывает все компоненты и подсистемы, которые были добавлены к существующей системе. Это окно используют, чтобы легко управлять взаимоотношениями компонента с остальной системой, включая его связи с другими компонентами и внешними портами (I/O) на верхнем уровне, а также его расположением в адресном пространстве.

Когда вы добавляете компонент к своей системе, окно System Contents показывает для него все интерфейсы. Каждый интерфейс - отдельная группа сигналов, которые компонент использует, чтобы общаться с другими компонентами в системе.

Представление компонента системы в окне "SystemContents"
Представление компонента системы в окне «SystemContents»

Большинство, но не все, составляющие интерфейсы должны быть подключены. Некоторые неиспользованные интерфейсы можно оставить неподключенными, за одним исключением - интерфейсы тактовой частоты и сброса, считающиеся в QSYS (в отличие от предшественника - SOPC Builder) отдельными, должны быть обязательно подключены.

Панель соединений (рис. ниже) показывает как компоненты связаны друг с другом. Таким образом, используя панель соединений, вы быстро и легко делаете связи от компонентов master к компонентам slave, от выхода тактовой частоты - к ее потребителям, от формирователя прерываний - к их получателям, а также от отправителя собственных команд - к компонентам, которым они предназначены. Просто переместите
указатель мыши через группу связей и внесите изменения в ее матрицу. Заполненная черным цветом точка означает, что два интерфейса связаны, и, соответсвенно, не заполненная - не связаны. Основываясь на связях в панели соединений, QSYS генерирует изготовленную на заказ и подключенную к сети структуру, составленную из блоков содержимого системы. Простота такого процесса подключения экономит много времени разработчикам, поскольку не требуется управлять сигналами и отладкой вручную.

Панель соединений
Панель соединений

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

В QSYS любой компонент интерфейса, показанный в панели соединений, может быть экспортирован. При экспортировании сигналы, которые составляют этот интерфейс, будут вынесены на верхний уровень системы для внешнего соединения. Для быстрого экспортирования интерфейса щелкните в экспортной колонке вдоль ряда нужного интерфейса во вкладке "System Contents". По умолчанию появится сообщение "<component_instance_name>_<interface_name>", но при необходимости его можно изменить. После того, как экспорт будет завершен, система соединений комонента изменится от стрелочек и линий к символу порта I/O, чтобы указать, что этот интерфейс будет представлен портом в файле верхнего уровня.

Чтобы добавить тактовую частоту к системе, необходимо добавить компонент источника тактовой частоты. У этого компонента имеются отдельные входные и выходные интерфейсы частоты и сброса. Так, например, как описано выше, можно экспортировать входной интерфейс так, чтобы соединиться с внешними источниками. Затем вы соединяете выход интерфейса тактовой частоты и соответствующие входы компонентов системы. Источником тактовой частоты может выступать ФАПЧ (PLL), расположенный на чипе.

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

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

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

Для арбитража QSYS использует круговую схему связей.

Следующая закладка - "Address Map" (Карта адресов). Эта закладка содержит карту адресов всех устройств памяти, что позволяет достаточно легко изучить свободное и заполненное адресное пространство в вашей системе. Здесь каждая память "Master" помещена в колонку, а каждая память "Slave" - в ряд. Если "Master" и "Slave" связаны, то клетка на их пересечении, заполнена адресом "Slave", подходящим для данного "Master". По умолчанию каждому "Slave" назначается то же самое адресное пространство, что и у связанного с ними "Master". При необходимости можно дважды щелкнуть по клетке и отредактировать адрес для определенного "Slave". Если "Slave" связан не с одним "Master", то его адрес изменяется только для того "Master", в колонке которого расположена клетка.

На вкладке "Clock Settings" вы можете управлять тактовыми частотами вашей системы. Тут можно:

  • добавить в систему новый источник частоты;
  • переименовать название сигнала частоты для удобства при чтении;
  • задать значение частоты.

На вкладке установок проекта "Project Settings" можно выбрать опции, которые затрагивают установки матрицы связей оболочки QSYS, например, выбрать целевое устройство или задать
способ прохождения частотного домена через логику, FIFO или установить режим "Авто" (чтобы оставить выбор за QSYS).

Следующая вкладка интерфейса пользователя - "System Inspector". Эта панель позволяет проектировщику рассматривать систему и ее составляющие более детально, а также увидеть результаты настройки параметров, выбранных во вкладке "System Contents". Например, разработчик может более детально рассмотреть системную иерархию, экспортируемые интерфейсы и сигналы, интерфейсы для каждого компонента и то, как они связаны с другими составляющими системы. Также можно отредактировать некоторые параметры настройки. Если расширить для детального рассмотрения любой компонент, то можно увидеть интерфейсы для выбранного компонента. Выделив их, вы сможете увидеть свойства интерфейса, включая диаграммы записи и чтения. Это может быть очень полезно в период отладки системы.

В последней вкладке интерфейса пользователя "Generation" можно выбрать тип файлов, которые должен сгенирировать QSYS для проведения синтеза или симуляции. Таким образом, QSYS может сгенерировать файлы для моделирования и создать схемотехнический образ для последующего синтеза. Для HDL моделирования могут быть выбраны языки Verilog или VHDL. Для синтеза будет сгенерирован только файл верхнего уровня на Verilog. Для того, чтобы лучше понять материал этого раздела, необходимо сделать несколько тестовых систем в оболочке QSYS (одну из которых мы рассмотрим ниже). Вы убедитесь в том, что
QSYS достаточно прост для освоения как программистом так и аппаратным инженером.

Пример построения системы в QSYS

QSYS - оболочка для создания систем на кристалле. Ее предназначение - максимально упростить процесс проектирования конкретной системы. При этом надо учитывать следующее:

  • все подключаемые в систему блоки должны иметь поддерживаемые оболочкой интерфейсы (AVALON и/или, в последних версиях - AXI);
  • описание частот/сбросов и/или их подключений и привязок друг к другу в компонентах должно быть определено;
  • до текущей версии (пока) есть ограничение на использование нерегистровых мостов с третьим состоянием - их нельзя использовать. Только регистровые выводы с третьим состоянием являются действительными. Более того, забегая несколько вперед отметим, что при генерации системы QSYS автоматически вставляет регистр для выводов с третьим состоянием.

Уяснив это, можно приступать к проектированию. Из меню "Component Library " выбираете те компоненты, которые необходимы для решения стоящих перед вами задач. Рассмотрим в качестве примера систему, представленную на рисунке ниже. Это простейшая из систем, функция которой - обеспечивать прием/передачу данных по каналу 10/100/1000 ETHERNET и работу FPGA (запрограммированной в нее системы) в качестве сервера с возможностью хранения/модернизации веб-страниц и прочей атрибутики, свойственной подобным системам.

Пример построения систсемы в QSYS
Пример построения систсемы в QSYS

Начнем с определения и задания величины тактовой частоты, на которой будет работать наша система. Для этого дважды щелкните по clock_souce и выставьте требуемые параметры - допустим, 50 МГц. К выбору и заданию частоты мы еще вернемся.

Теперь выберем Component Library → Embedded Processors → процессор NIOS-2. Введем его в систему. Заметим, что выставить векторы для сброса и загрузки пока не представляется возможным из-за отсутствия в
системе компонентов, которые могли бы быть источниками для этих адресов. Попутно отметим, что процессор NIOS-2 можно конфигурировать в трех различных режимах, имеющих разные сочетания "ресурсы–производительность". В самом простом варианте он занимает всего около 600 логических элементов, но имеет наихудшие параметры производительности. Для нашей системы выбираем процессор с максимальной конфигурацией. ETHERNET все-таки. Производительность для нас важна.

Теперь приступим к созданию ОЗУ системы. Требования к этому блоку всегда достаточно высокие, а в нашем случае ужесточаются еще тем, что требуется хранить большой объем данных - веб-страниц (и быстро их читать!). Этим требованиям удовлетворяет динамическая память DDR.

Вводим контроллер DDR2: Component Library → Memories and Memory Controller → External Memory Interfase → DDR2 Interfase → DDR2 Controller with UniPHY.

Его особенностью является наличие двух сбросов (глобального и программного) и встроенный формирователь (pll) для создания частот, необходимых для работы контроллера. Помня о его высоком быстродействии и возможности потоковых операций записи/чтения в DDR2, выделяем для его работы предельную из возможных для выбранного вами типа матрицы FPGA частоту. Для обеспечения стыковки с процессором и остальными компонентами (которые заведомо НЕ работают на столь высокой частоте), вводим в систему частотносогласующий мост Half_Rate_Bridge, который обеспечит нам понижение частоты интерфейса AVALON вдвое по сравнению с частотой, на которой работает сам контроллер DDR2. Исходя из этого выбираем для системы в качестве основной (опорной) частоту afi_half_clk от контроллера DDR2.

Таким образом, Half_Rate_Bridge имеет две рабочие частоты: частоту для взаимодействия с контроллером DDR2 (afi_clk) и опорную частоту системы (afi_half_clk).

Далее следует сказать, что соединения между элементами в QSYS производятся путем выбора из возможных для данного компонента в поле Connections (для определения выбора требуемой связи достаточно щелчком мыши поставить там точку). Таким образом, оболочка ограничивает в построении таблицы связей, но в тоже время не дает возможности задавать явно ошибочные или ложные связи.

Особо надо остановиться на элементах и соединениях сбросов и частот. У QSYS есть предшественник - SOPS Builder, одним из недостатков которого (кроме невозможности поддержки иерархических
систем) является использование для работы ТОЛЬКО глобальной сети сброса (globalreset), что делало невозможным (или сильно затрудняло) создание/использование компонентов с цепями сброса, синхронизированными разными частотами или требующими последовательного раздельного сброса или управления сбросом. Это приходилось делать разработчику самостоятельно либо внутри компонента, либо выводить такие сигналы "наружу", т. е. за пределы системы, и объединять (или вставлять логику управления) ВНЕ основной оболочки системы, т. е. надо было проектировать на самом верхнем уровне проекта. Это создавало дополнительные трудности при проектировании - в ряде случаев невозможно было увидеть всю систему, находясь в оболочке SOPS Builder. Кроме того, не было возможности видеть соединения частот в поле Connections (они задавались неявно в поле Clock путем выбора из действительных для конкретной системы частот и просто невозможно было осуществить вывод (или отключение вывода) требуемых интерфейсов (сигналов) "наружу" (за пределы системы)). Все эти трудности были преодолены в QSYS, но появилась возможность некорректного включения частоты или сброса для модуля (ядра) или группы модулей (ядер), что в ряде случаев может сделать систему полностью неработоспособной. Так что при работе в QSYS за этим нужно следить более тщательно, чем в SOPS Builder.

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

Соединим выход clk от Clock_source со входом pll_ref_clk ядра DDR2; выход clk_reset от Clock_source - со входами global_reset и soft_reset ядра DDR2, входами clk_s1_reset и clk_m1_reset моста Half_Rate_Bridge и так далее (см. рис. выше). После подключения cpu_0 (NIOS-2) дважды щелкните мышью по нему. Во вновь открывшемся окне свойств процессора вы увидите появившуюся память для векторов сброса и стартового
адреса. Выставьте там величины, нужные вам (предварительно изучив ограничения для задания таких векторов в котроллере DDR2 по его документации!). Ядро вашей системы готово.

После добавления остальных компонентов (рис. выше) и установления связей между ними получится система, отвечающая поставленной в начале этой главы задаче, - сервер для 10/100/1000 ETHERNET. Остается, конечно, "сущая безделица" - написать программное обеспечение для этой системы. Но и тут вы не останетесь без помощи QSYS. Также, как и SOPS Builder, оболочка автоматически включит в проект требуемые драйверы для ваших компонентов (замечу, что на все входящие в комплект поставки QUARTUS компоненты поставляются и драйверы для их использования; для собственных компонентов придется писать их самостоятельно).

Теперь, исходя из проделанной работы, постараемся выделить основные преимущества системного проектирования с использованием оболочки QSYS.

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

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

Всех этих возможностей просто не существует при использовании жесткой логики и готовых процессоров.

Если у вас выведен хотя бы какой-то наружный разъем, подключенный к i/o FPGA, то он становится еще и многофункциональным, причем не таким, как в обычных процессорах. Ведь можно свободно добавлять любую логику для высокоскоростной аппаратной обработки любого цифрового интерфейса (выбирая при этом соответствующий тип FPGA, не переделывая "железо" (платы, сборку, конструкцию). Остается сожалеть, что стоимость таких решений не всегда может конкурировать с дешевизной "жестких" процессорных решений. Но, если требуется, например, многофункциональность одной и той же платы, других решений может и не быть.

Для получения дополнительной информации обращайтесь к официальному дистрибьютору компании Altera в Украине- ООО "Виаком"
03061, г. Киев, пр. Отрадный, 95-с, тел./факс: (044) 507-02-02 (многоканальный), добавочный номер 130 - технический консультант Игорь Коврига, igor.kovryga@biakom.kiev.ua




 
изготовление печатных плат | плис altera | микроконтроллеры atmel | магазин электронные компоненты | разъёмы amphenol | трансформаторы hahn | okw | tyco | vicor | marquardt | инструмент pro'skit