IPI 0 21 октября, 2008 Опубликовано 21 октября, 2008 · Жалоба Никто не знает как пользоваться Catapult Library Builderом. Не могу сделать библиотеку так чтоб она была видна из Catapultы. Не могу подключить модули, и вообще все очень не понятно. Могут ли библиотеки катапульты выглядеть как функции С? Буду благодарен за информацию... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IPI 0 27 октября, 2008 Опубликовано 27 октября, 2008 · Жалоба Я вообще не работаю с катапультой но вот тут понадобилось. Неужели никто с ней тоже не работает??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 27 октября, 2008 Опубликовано 27 октября, 2008 · Жалоба Не могу сказать, что я с катапультом _работаю_, но время на его изучение полгода назад я потратил. И насколько помню, проблем с запуском LB не было. В чем ваша проблема конкретно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IPI 0 27 октября, 2008 Опубликовано 27 октября, 2008 · Жалоба Проблема не в запуске, а в создании библтотеки из собственных компонентов. Не понятно как добавить некий модуль описанный на VHDL, так чтоб сделалась библиотека, которую может подключать катапульт си. То есть есть 1. Есть модуль на VHDL. 2. Его интерфейс на С в виде функции. 3. Надо сделать так чтоб он исполнялся из модуля на С коде. Вместе с ним синтезировались. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 27 октября, 2008 Опубликовано 27 октября, 2008 · Жалоба Я такого не делал, но вроде в user guide этому посвящено 40 страниц. Есть еще апнот AN_AutoComponentFlow. Кроме того, есть пример шины amba apb - там строится библиотека из си и hdl описаний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmel1 0 8 ноября, 2008 Опубликовано 8 ноября, 2008 · Жалоба Разбирался давно, в 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, откликнитесь ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IPI 0 11 ноября, 2008 Опубликовано 11 ноября, 2008 · Жалоба Да, в новых версиях поправленны многие ошибки. По дружелюбности катапульта превосходит все другие генераторы (но не идеал), просто надо указывать сто заанролить что запайпелайнить, что в регистрах разместить что в памяти а что в фифо. Надо всегда представлять во что это должно вылиться, тогда все будет нормально. К сожалению управление не через атрибуты в С, а через скрипт и прагмы не очень то удобно. Но я решил эту проблему препроцессором на перле, стало очень удобно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться