Одновременная симуляция firmware и HDL: все уже готово! ========== Предыдущие обсуждения по теме ==========
Dream Platform II: недостающая часть мозаики (с картинками)
http://www.caxapa. …echo/arm.html?id=65177
http://electronix. …ex.php?showtopic=19870
Дополнение про Dream Platform II
http://www.caxapa. …echo/arm.html?id=65704
http://electronix. …=findpost&p=146180
Dream Platform: "$8, которые изменили мир"
http://www.caxapa. …echo/arm.html?id=65085
http://electronix. …ex.php?showtopic=19858
========== Книга, примеры, ресурсы ==========
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.sutherl …rilog%20PLI%20Handbook
!!! Книгу в розыск - мне пока ее найти не удалось !!!
Verilog PLI Examples
David Robert's Socket Example
http://www.sutherl …pli_book_examples.html
Сайт по PLI
http://www.chris.s …ar.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 году делали то же, о чем я пишу. :)
Coldfire Emulator
http://www.slicer. …/coldfire/download.php
тоже, вероятно, можно прохачить на тему доступа к сокетам.
Таким образом, мы получаем сквозную систему симуляции всего, что относится к проекту!!!
Мои познания в Verilog, VHDL пока пренебрежимо малы, посему вопросы к знатокам
1. Какие средства разработки нужны, чтобы поднять этот PLI?
2. Можно ли это сделать в рамках Xilinx WEB Pack и других софтов, которые можно получить бесплатно.
3. Кто-нибудь с PLI работал? Как оно?
4. Есть ли у VHDL аналог PLI?
5. Где добыть книжку?
-
- Респект за ссылку на книгу Gate::Electronix - Evgeny_CD(22.08.2006 22:24, )