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

Catapult Library Builder

Никто не знает как пользоваться Catapult Library Builderом.

Не могу сделать библиотеку так чтоб она была видна из Catapultы.

Не могу подключить модули, и вообще все очень не понятно.

Могут ли библиотеки катапульты выглядеть как функции С?

Буду благодарен за информацию...

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


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

Я вообще не работаю с катапультой но вот тут понадобилось.

Неужели никто с ней тоже не работает???

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


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

Не могу сказать, что я с катапультом _работаю_, но время на его изучение полгода назад я потратил. И насколько помню, проблем с запуском LB не было. В чем ваша проблема конкретно?

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


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

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

То есть есть

1. Есть модуль на VHDL.

2. Его интерфейс на С в виде функции.

3. Надо сделать так чтоб он исполнялся из модуля на С коде. Вместе с ним синтезировались.

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


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

Я такого не делал, но вроде в user guide этому посвящено 40 страниц. Есть еще апнот AN_AutoComponentFlow. Кроме того, есть пример шины amba apb - там строится библиотека из си и hdl описаний.

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


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

Разбирался давно, в Catapult 2004, и плоховато помню, но попробую подсказать.

 

Файл VHDL/Verilog пишется отдельно и сам в Катапульте не появляется. Его надо будет подключать к проекту. Для того, чтобы катапульта (уже не LB, а синтезатор) использовала ваш файл ей понадобится скомпилированная LB библиотека. Для этого нужно описать В LB компонент как черный ящик: только название, порты и параметры.

 

Помню парился очень долго, сильно помогло открытие библиотечки из состава самой катапульты, той, где арифметические и логические операции описаны, сразу стало много ясно. Открыл эту библиотеку и VHDL то же из состава катапульты, сравнил и многое стало ясно.

 

Насколько я помню, с помощью #pragma MAP_TO_COMPONENT (или как там ее - забыл) сделать так ничего и не удалось - все делал как в описании, но ругалось на ошибки.

 

Удалось сделать через Ж. Компонент, который описывался в C как массив, а в VHDL подставлялся аналог памяти - мастер читающий/пишуший с внешней шины авалон.

В С это выглядело как функции типа

readdata = master_port->read_avalon(address);

 

Компоненты, с которыми удалось сделать связь были с тоже портами Авалон.

Сделать удалось, но работало все это не быстро - пока данные не прочтутся/запишутся все стоит.

После этого я такие простые вещи писал вручную на верилоге - быстрее сделать и быстрее работает. Хотя может для сложных снова обращусь к катапульте.

 

Если хотите выложу всю эту хрень для Catapult 2004

 

З.Ы. По-моему катапульта пригодна только для арифметики: обработать массив, сравнить значения и т. д.

БПФ с плавающей точкой тоже удалось сделать на катапульте, но работал он страшно медленно (вобще без конвеерности, один такт на любое вычисление), так как катапульта никак не хотела раскручивать(unroll)/конвееризировать вложенные циклы.

 

Может новая катапульта дружелюбнее ? Кто пользовался 2005/2006, откликнитесь !

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


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

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

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


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

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

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

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

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

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

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

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

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

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