Перейти к содержанию
    

Аппаратные ускорители моделирования

В общем, основой работы с HES платой является наличие какого либо синтезатора (Symplify, FPGA Compiler, XST м так далее), иплементатора Xilinx ISE или Quartus, в зависимости от того, какой у вас HES, ну и конечно какого-то из симуляторов: Active-HDL, Riviera, Modelsim, NC-Sim, Scirocco, VCS. Все это подключается к DVM (Design Verification Manager является софтварьным сердцем HES'a) проект транслируется, причем в плату может быть засунут как весь проект, а наружу только ноги торчат, так и кусочек онного. Если хотите посмотреть сигналы не являющиеся входами-выходами, то достаточно в DVM выбрать их для трассировки и они будут выведены наружу (в симулятор) как сигналы отладки. Из приятных сторон хотелось бы отметить, что компонент(ы), помещенный(е) в HES, в симуляторе видны как черные ящики с входами и выходами и пользователю для отладки совсем необязательно изучать новую среду моделирования, он пользуется все тем же привычным симулятором, смотрит временные диаграммы и т.д. Связь девайса с симулятором осуществляется со стороны системы мост "PCI-драйвер", а со стороны симулятора "драйвер - (VHPI/PLI) интерфейс". Да, отладка из симулятора может производится только в случае работы на програмном синхроимпульсе (из симулятора).

А вот для изменений конечно же прийдется делать перетрансляцию, тут уж ничего не поделаешь, лучше всего использовать HES для ускорения работы тех частей проекта, которые уже относительно отлажены, что-бы часто не мучаться ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

to 3.14

 

Ускорение работы блока - это одно, а исследование этого блока на предмет багов - немного другое.

 

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

 

В принципе, эта величина восновном определяется, тем на сколько ускоряемый проект использует возможности ускорителя. Так если взять готовый проект, и попробовать его ускорить, то если ускорение составит 10 раз и не будет никаких побочных эффектов - то это очень хорошо. Если же использовать ускоритель с начальных стадий проектирования, учитывать его возможности и особенности, то ускорение финальной системы в 100 раз - это не предел.

 

А на ФПГА ли этот дизайн, на спартане ли, на Virtex или еше где - не важно. Т. к. подобные вещи проектируются для ускорения моделирования ВСЕЙ сложной системы целиком (плата, 10 плат и т. д.), включая тестбенч, а не одного крохотного кусочка на крохотном кристаллике.

 

Ну и "размещение логики на кристалле" - это только один подход из множества используемых современными аппаратно-програмными ускорителями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за разъяснения, но я не понял почему я путаю ускорение работы модуля и его верификацию ;)

 

С широко раскрытыми глазами осознаю принципиальную разницу вещей, просто констрейны не всегда выполняются ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за разъяснения, но я не понял почему я путаю ускорение работы модуля и его верификацию ;)

 

С широко раскрытыми глазами осознаю принципиальную разницу вещей, просто констрейны не всегда выполняются ...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за разъяснения, но я не понял почему я путаю ускорение работы модуля и его верификацию ;)

 

С широко раскрытыми глазами осознаю принципиальную разницу вещей, просто констрейны не всегда выполняются ...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...