реклама на сайте
подробности

 
 
> Подход к проектированию систем на кристалле, Кто как делает?
Mad_max
сообщение May 19 2009, 13:11
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



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

С fpga работаю давно и реализовывал достаточно не простые проекты. Разработки были в области
цифровой обработкой видео: фильтрация, пороговая обработка, сегментация, всевозможные интерфейсы
как стандартизированные, так и свои собственные. Подход был следующий: работал в Active-HDL, соответственно
начинал с нуля, с разработки общего алгоритма работы схема и далее по порядку, заточенные под конкретные задачи,
шины, автоматы-арбитры, вычислительные блоки и все межблочные механизмы взаимодействия. В общем получалась
схема под выполнение определенной задачи.

В первом ознакомлении с системами на кристалле, натыкаешься на EDK как основной инструмент разработки.
Соответственно, предлагается принять данный подход как истину и дальше от него отталкиваться. Взять в нагрузку
использование предлагаемой архитектуры межблочного взаимодействия CoreConect ( тут хоть есть альтернатива, например,
wishbone, но все же). Принять, что центром в системе является процессор, хотя иногда это не всегда оправдано. Смирится с тем что,
используя предлагаемый в EDK подход подсоединения user logic, не одно действие в системе не происходит без ведома
поцессора (а что если от одного интерфейсного блока до другого мне надо Гбиты данных перекачивать)
и то что свою схему нужно обязательно сжать на PLB (иначе не понятно как ее подтянуть к проекту), да и вообще что нутря проекта максимально
отдаленны от разработчика (это как главный принцип работы винды, максимально защитится от действий юзира) приступить к разработке конечного продукта.

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

Для Active-hdl есть библиотека, где PPC идет прямо отдельным библиотечным элементом. Данный путь разработки полностью своей системы на кристалле будет
конечно тернист и сложен, но зато тут сам себе хозяин. И главный вопрос как тут быть с программированием процессора?

В общем, хотелось бы порассуждать на данную тему, услышать мнение опытных разработчиков и вообще кто что по этому поводу думает.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des00
сообщение May 20 2009, 03:44
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Mad_max @ May 19 2009, 07:11) *
Начал заниматься новой для себя тематикой - системами на кристалле.
Соответственно, помимо, чисто технических вопросов, возникли и идеологические проблемы-вопросы.


тема поднималась неоднократно, пользуйтесь поиском %)


--------------------
Go to the top of the page
 
+Quote Post
yes
сообщение May 20 2009, 10:10
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



почему EDK smile.gif

у синплисити(синопсиса) сейчас вышел тул систем дизайнер (btw: кому-нибудь удалось пустить Synplify_vC-2009_03 ? - он там) там платформонезависимая SoC предлагается на LEONe (так по крайней мере обещали синопсисовские парни)

можно напрямую скачать у Гейслера библиотеки - никакого "индастри-стандарт стайл" типа EDK там нет - есть tcl/tk-ные менюшки задающие ряд вопросов по конфигурации системы

мне вообще больше нравится исходные файлы (HDL) руками править, а не пользоваться генераторами, так как при серьезной работе польза от таких генераторов меньше, чем борьба с глюками

кроме EDK
у альтеры есть NIOS IDE у латтиса Mico32 IDE, даже у АРМа есть так же выглядящая хрень для быстрой выпечки АЗИКов

помоему еще есть платформонезависимые (я их не коллекционирую - написал, то что вспомнилось)

для ксайлинса можно взять Mico32 - он в исходных кодах, память нужно заменить - шина вишбон
ну или же Leon - там AMBA AHB 2.0

на мой взгляд из-за того что ксайлинс тащит CoreConnect (из-за хард-проца PPC) там генератор (типа EDK) имеет хоть какой-то смысл, шина гемморная, пока разберешься умаешься...
а то что все остальные стали копировать такой подход - имхо, один вред.
проще может быть взять с опенкореса чистый RTL для вишбона, без всяческих костылей в виде генератора соединений типа EDK|NIOS

Leon я бы все-таки рекомендовал использовать с осторожностью - имхо, система тяжелая и не сильно оптимизирована под ПЛИС, хотя есть много плюсов (тот же SMP - это не хухры-мухры)

-------------------

главный ответ - с программированием по разному, но идея одинаковая
есть железо с отладочным интерфейсом (обычно JTAG, но, например у Leona это может быть еще и уарт, и изернет и юсб и может что-то еще)
есть программка, которая коннектится к этому железу и работает на хосте - xdb у ксилинса, grmon у Leona и т.д., эта программка представляет стандартный интерфейс по TCP|IP для gdb (на одном хосте), ну а сверху gdb ставится какой-то IDE (сейчас модно Eclipse)
вобщем-то эти программки xdb, grmon .... сами имеют некий командный интерфейс (то есть можно работать и с ними - я например gdb к grmon-у не подключаю, так как мне grmon удобнее), gdb или insight (с окошками) вобщем удобнее, но не все железячные хитрости поддерживает и т.д.
так-же есть симулятор и gdb и т.д. можно подключать к симулятору

-----------------

ну а компилер - обычно патченый gcc (то есть при желании не только с/с++ но и ada, fortran и т.д. - любой gcc-шный фронтэнд, а по-моему нет такого компилирующегося языка, для которого такого фронтэнда (в некой степени доработанности) не существовало бы)

для LEONa наверно можно найти спарковский компилер (я еще застал 32-х битные спарки и вроде утверждалось, что их фирменный компилер рвет gcc как газету), но с тех пор много времени прошло, вряд ли новые сановские компилеры v8 поддерживают

операционки - всякие ecos-ы, rtems-ы, если мму есть - то линуксы (для леона есть SMP линукс, чем далеко не всякий 32-х разрядник похвастается - только х86 и в новейших кортексах вроде как бета)

------------------

порассуждал вобщем за двоих smile.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 09:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016