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

 
 
 
Reply to this topicStart new topic
> Одновременная симуляция firmware и HDL, все уже готово!
Evgeny_CD
сообщение Aug 22 2006, 18:32
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



========== Предыдущие обсуждения по теме ==========

Dream Platform II: недостающая часть мозаики (с картинками)
http://www.caxapa.ru/echo/arm.html?id=65177
http://electronix.ru/forum/index.php?showtopic=19870

Дополнение про Dream Platform II
http://www.caxapa.ru/echo/arm.html?id=65704
http://electronix.ru/forum/index.php?s=&am...st&p=146180

Dream Platform: "$8, которые изменили мир"
http://www.caxapa.ru/echo/arm.html?id=65085
http://electronix.ru/forum/index.php?showtopic=19858

Благодарность за наводку Gate::Electronix.

========== Книга, примеры, ресурсы ==========

The Verilog PLI Handbook:
A Tutorial and Reference Manual on the Verilog Programming Language Interface,Second Edition
Hardcover, 806 pages
$160 (available from the pubisher, Amazon.com, Barnes and Noble, Walmart, or other book stores)
Copyright 2002, Springer (formerly Kluwer Academic Publishers), Norwell MA
ISBN: 0-7923-7658-7
http://www.sutherland-hdl.com/publications...0PLI%20Handbook

!!! Книгу в розыск - мне пока ее найти не удалось !!!

Verilog PLI Examples
David Robert's Socket Example
http://www.sutherland-hdl.com/pli_book_examples.html

Сайт по PLI
http://www.chris.spear.net/pli/default.htm

========== Идея ==========

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

Идея nanoPCI и тесно связанная с ней идея "сокетной отладки" позволяют виртуализировать аппаратные модули: все взаимодействие с модем идет через высокоуровневые транзакции, а уж через что они физически проходят - это не важно.

Рассмотрим на примере разработки контроллера, который в том числе, должен делать фотографии в JPEG.

Делаем плату захвата:
* контроллер примитивный
* FPGA
* SDRAM
* TV декодер
* Ethernet
* nanoPCI

Логика в FPGA не сильно сложная. SDRAM - готовая корка, все остальное там примитивно.

Простой протокол на основе UDP для общения с платой по Ethernet.

Берем синтетический порт uCOS для Win32 и пишем там всю математику. Либу JPEG берем тут http://www.ijg.org/.

Драйвера "видеозахвата" общаются с платой по UDP.

Отладили логику. Запустили на реальном железе (там плата видеозахвата уже не по IP, а по nanoPCI подрублена). Получили 0.1fps, зато вся логика системы работает. Сдали заказчику первый этап.

Берем человека (аутсорс самое то!). Он пишет на *HDL например, DCT (корка из корегена + интерфейс к ней). Делаем из этого модель с сокетным интерефейсом. Добиваемся того, чтобы в симулятре было безразлично - обычный программный кодек или наша HDL модель.

Синтезируем проект, корректируем HDL модель. Тут же проверяем ее в составе всей системы (а не просто на file IO).

Делаем плату с "компрессионой" FPGA с nanoPCI. Делаем мамку - коммутатор данных. Проверяем все на железе - О.К. - 1 fps получилось (услово). Может и хватит. Нет - постепенно всю остальную работу по JPEG переносим на FPGA.

Я знаю о наличии большого количества готовых JPEG кодеков - JPEG взят для примера.

Понятно, что вместо синтетического порта можно использовать симулятор, в котором симулируемый процессор может получить доступ к сокетам. SID самое то
http://sourceware.org/sid/
Тем более именно на нем редхатовцы в 2000 году делали то же, о чем я пишу. smile.gif

Coldfire Emulator
http://www.slicer.ca/coldfire/download.php
тоже, вероятно, можно прохачить на тему доступа к сокетам.

Таким образом, мы получаем сквозную систему симуляции всего, что относится к проекту!!!

Мои познания в Verilog, VHDL пока пренебрежимо малы, посему вопросы к знатокам

1. Какие средства разработки нужны, чтобы поднять этот PLI?

2. Можно ли это сделать в рамках Xilinx WEB Pack и других софтов, которые можно получить бесплатно.

3. Кто-нибудь с PLI работал? Как оно?

4. Есть ли у VHDL аналог PLI?

5. Где добыть книжку?
Go to the top of the page
 
+Quote Post
acex2
сообщение Aug 22 2006, 19:07
Сообщение #2


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(Evgeny_CD @ Aug 22 2006, 22:32) *
1. Какие средства разработки нужны, чтобы поднять этот PLI?
2. Можно ли это сделать в рамках Xilinx WEB Pack и других софтов, которые можно получить бесплатно.
3. Кто-нибудь с PLI работал? Как оно?
4. Есть ли у VHDL аналог PLI?
5. Где добыть книжку?


Сейчас PLI/FLI не в моде (FLI - это аналог PLI для VHDL). Mentor давно уже продвигает идею DPI (Direct Programming Interface) в связи с лоббированием SystemVerilog.

Насчет поддержки PLI/FLI, тут потребуется SE версия ModelSim. По крайней мере, раньше так было.

Вместо книжки можно почитать часть руководства к ModelSim, посвященного PLI/FLI, там ничего сверхестественного нет.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 22 2006, 19:16
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(acex2 @ Aug 22 2006, 23:07) *
Сейчас PLI/FLI не в моде (FLI - это аналог PLI для VHDL). Mentor давно уже продвигает идею DPI (Direct Programming Interface) в связи с лоббированием SystemVerilog.
Но, насколько я понимаю, для SystemVerilog нужен совсем не ModelSim. Тогда понятно, зачем они SystemVerilog двигают smile.gif

Мода-модой, но если это часть стандарта, оно ведь завтра не умрет?
Цитата(acex2 @ Aug 22 2006, 23:07) *
Насчет поддержки PLI/FLI, тут потребуется SE версия ModelSim. По крайней мере, раньше так было.
Ок. Интересно, сколько она официально стоит? Так, для общего развития...
Go to the top of the page
 
+Quote Post
BSV
сообщение Aug 22 2006, 19:37
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



Всего ничего - порядка 30 К Президентов.

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

Сообщение отредактировал BSV - Aug 22 2006, 21:21


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 22 2006, 19:43
Сообщение #5


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(BSV @ Aug 22 2006, 23:37) *
Всего ничего - порядка 30 К Президентов.
Действительно, сущие пустяки для "настоящих пацанов" biggrin.gif . Интересно, а сколько же тогда questasim (насколько я понимаю, именно он для System Verilog нужен) стоит?
Go to the top of the page
 
+Quote Post
acex2
сообщение Aug 22 2006, 21:10
Сообщение #6


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(Evgeny_CD @ Aug 22 2006, 23:16) *
Мода-модой, но если это часть стандарта, оно ведь завтра не умрет?


В ближайшее время навряд-ли. За последние лет 10 у компаний скопилось слишком много наработок на связке Verilog+PLI, чтобы вот так вот просто перейти на SystemVerilog. Да и цены на SystemVerilog симуляторы пока поражают воображение :-) Это при том, что Verilog+PLI можно даже на GPL симуляторе от Pragmatic-C делать. Про "моду" я упомянул в смысле тенденций со стороны EDA компаний.
Go to the top of the page
 
+Quote Post
Camelot
сообщение Aug 22 2006, 21:36
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 10-01-05
Пользователь №: 1 872



В Акив ЧДЛ есть такой же аналог библиотек подобных FLI 'n' PLI, в других симуляторах тоже. Мне вот не понятно, вы хотите сделать проект для отладки в железе? Если да, то в свое время, пришлось немножко проработать в компании которая этим занимается www.alatek.com, они как раз такими вещами занимаются. Личо мои впечатления об PLI, както решил написать с помощью него контроллер видео вывода на верилоге и вывод через эту библиотеку в приложение, которому передавались управляющие сигналы и данные. Написал, работало, но чтоб вывести 1 видеостраницу уходило около 5 часов. Может комп еще тормозной был. В железе с этим тоже не лучше, правда не знаю кокого достигла результата сейчас вышеприведенная фирма, но ранее ускорение симуляции было не значительно. Хотя есть один плюс, работает в железе. Извените, если не по теме, может не так понял.
Go to the top of the page
 
+Quote Post
AVR
сообщение Aug 22 2006, 22:40
Сообщение #8


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Извините за оффтоп, что такое PLI?
Насколько я понял, с помощью PLI можно загонять входые данные которые получаются при выполнении программы на С в симулятор verilog/vhdl?


--------------------
Go to the top of the page
 
+Quote Post
Doka
сообщение Aug 23 2006, 00:40
Сообщение #9


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



что-то не до конца понял задумку насчет FPGA и сокетов :-/
посему присоединяюсь к мнению Camelot.
на РС симуляция проходит очень медленно...
хотя задумка PLI и его преемников (как я себе представляю), именно в ускорении симуляции: часть тестов может быть написана на Си => бысттрее, ибо не интерпретация, а исполнение откомпилированного кода
..
действительно может перспективнее сразу смотреть в сторону аппаратной ко-симуляции?
пусть она будет работать на частотах в 10 раз ниже реальной тактовой, но это будет весьма впечатлительное ускорение по сравнению с моделированием на РС.
и тут могут пригодиться енти пресловутые сокеты (если скоростей JTAGа не хватит, ктоторый , кстати, после прогрузки плис, может использоваться приложением пользователя для его специфических задач) подцеплять Eth MAC-корку (к примеру выложенную на opencores_org нашим соотечественником) и гнать по Eth в РС, где в моделсиме просто выводить полученые waveforms. Да и то это только в том случае, если приложение довольно сложное и написание самоверифицирующегося кода не помогает выявить баги либо нужна дополнительная визуализация для интерпретации обработанных данных (Жипег или видеокодеки - как пример)

PS: объявленного в розыск handbook нет, но есть другие доки:
Прикрепленный файл  Verilog.PLI.Reference.Manual.pdf ( 568.54 килобайт ) Кол-во скачиваний: 700

Прикрепленный файл  2004_SNUG_paper_Verilog_PLI_versus_SystemVerilog_DPI.pdf ( 71.15 килобайт ) Кол-во скачиваний: 511

Прикрепленный файл  manual_ot_modelsim_se.rar ( 3.23 мегабайт ) Кол-во скачиваний: 959
(из всего документа с адским (в буквальном смысле слова) количеством страниц интерес представляет 50страничное приложение "Verilog PLI / VPI / DPI")

PPS: наконец-то прикрепление больших файлов почеловечески заработало


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 24 2006, 22:12
Сообщение #10


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Pragmatic-C - это оно?
http://www.pragmatic-c.com/gpl-cver/index.htm
Кто-нибудь его пробовал? Оно работает? Что-то там жизнь замерла год назад...

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

В рамках Dream Platform II ко-симуляция, конечно же, возможна. Собственно, для этого оно и придумывается. biggrin.gif Но чисто софтвеерная симуляция еще полезна в плане работы с аутсорсерами.

Евал борда на Spartan3E-500 - готовый девайс для косимуляции biggrin.gif Надо там только microblaze "проредить", да Ethernet-Lite корку юзать, чтобы ресурсы кристалла для симуляции использовать.

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

Большое спасибо за литературу!
Go to the top of the page
 
+Quote Post
acex2
сообщение Aug 25 2006, 05:08
Сообщение #11


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(Evgeny_CD @ Aug 25 2006, 02:12) *
Pragmatic-C - это оно?
http://www.pragmatic-c.com/gpl-cver/index.htm
Кто-нибудь его пробовал? Оно работает? Что-то там жизнь замерла год назад...


Да, это оно. Сам не пробовал, так как не было необходимости, но работать должно, учитывая богатую историю (см. FAQ на их страничке).
Go to the top of the page
 
+Quote Post

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

 


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


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