iiv 18 25 июля, 2013 Опубликовано 25 июля, 2013 · Жалоба Всем привет, у меня часто возникает необходимость переписать вычислительный модуль из массивно-параллельного C на Systemverilog для дальнейшего использования этого алгоритма в железе. Примерно 6-7 таких алгоритмов я уже спортировал. Обычно в алгоритме на входе имеется много, сотни-тысячи бит на регистрах, которые необходимо массивно-параллельно и с длинным конвейером перемалывать и получать на выходе что-то примерно того же размера. Писать такое на софтпроцессоре - нет возможности - скорости не хватает. Основной смысл использования плисок для такого рода алгоритмов - игра с точностью, то есть с мантиссой, и из-за этого возможность втиснуть в средний стратикс что-то, что требует пару-тройку топовых графических карт. В общем мои алгоритмы по структуре очень напоминают ФФТ для фиксированного вектора - на каждый posedge основного клока валится во входных регистрах новый комплект вектора для Фурье преобразования, все внутренние конвейеры забиты предыдущими векторами, а на выходе выплевывается результат преобразования вектора, который был подан на вход примерно так 10-100 тактов (в зависимости от алгоритма) назад. Основная моя проблема - как это отлаживать. У меня на обычном процессоре есть куча примеров что можно подать на вход, и что нужно получить на выходе, но на плиску входной поток так подать у меня нет возможности (то есть нет железа и необходимых переходников). Скажите, пожалуйста, есть ли какие-то тулсы, которые можно было бы для отладки таких модулей (интересует пока только Альтера) использовать и как они называются? Спасибо ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 25 июля, 2013 Опубликовано 25 июля, 2013 · Жалоба эти тулзы называются верилог симуляторы или hdl симуляторы наиболее популярный тут тул - questasim (mentor) , также есть ncsim (cadence) vcs (synopsis) есть еще у aldec-а и всячиские "внутренние" симуляторы, но с SV могут быть проблемы, нужно использовать чистый V, но я этими симуляторами не пользуюсь - мало знаю если хотите показывать буржуям и не отгрести проблем с лицензией есть Icarus и Verilator, я давно с Icarus-ом слегка потрахался, но как-то не смог заставить работать, хотя студенческие работы часто ссылаются на них ну а вообще - вот http://en.wikipedia.org/wiki/List_of_Verilog_simulators Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 25 июля, 2013 Опубликовано 25 июля, 2013 · Жалоба но с SV могут быть проблемы, нужно использовать чистый V о каких проблемах, заставляющих использовать V, идёт речь? кстати, официальная позиция комитета состоит в том, что V уже не существует. возможность втиснуть в средний стратикс что-то, что требует пару-тройку топовых графических карт. альтера вроде заявляла о поддержке openCL, не пробовали этим воспользоваться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 25 июля, 2013 Опубликовано 25 июля, 2013 · Жалоба о каких проблемах, заставляющих использовать V, идёт речь? кстати, официальная позиция комитета состоит в том, что V уже не существует. проблема поддержки SV в "левых" симуляторах альтеровский симулятор вроде как поддерживает, но то ли с ограничениями, то ли с глюками у ксайлинса даже синтез не поддерживает SV, вряд ли isim его поддерживает но еще раз напишу - сам я такие симуляторы не использую и автору темы не могу советовать, но если он свой SV модуль захочет продать импортным клиентам (в какой-то другой теме вроде было об этом), то могут спросить где лицензия, поэтому я упоминаю про свободные симуляторы, а там даже V-95 поддерживается не полностью Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 25 июля, 2013 Опубликовано 25 июля, 2013 · Жалоба у ксайлинса даже синтез не поддерживает SV, вряд ли isim его поддерживает ))) не, они наконец-то сподобились, правда за денежку(синтез Вивадо). не прошло и 10 лет ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 26 июля, 2013 Опубликовано 26 июля, 2013 · Жалоба ))) не, они наконец-то сподобились, правда за денежку(синтез Вивадо). не прошло и 10 лет ))) там ограничение по семействам, "народный" spartan 6 не поддерживается в vivado Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 18 26 июля, 2013 Опубликовано 26 июля, 2013 · Жалоба Спасибо большое за советы! Начал с верилатором разбираться, если с ним не получится, пойду дальше по списку. Про OpenCL - как раз-то его и CUDA в чистом виде сам могу на графических картах пользовать, но есть алгоритмы, где он не на столько гибок, что можно легко играться с мантиссой. У меня в алгоритмах часто большая часть данных представлена в виде 10-15 битных целых, и основными операциями являются сдвиги и сложения. Из-за этого такой алгоритм на плиске становится быстрее, при том, что на CUDA/OpenCL мне реально проще и сподручнее программировать. Альтерровский OpenCL еще не пробовал, руки пока не доходят. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 27 июля, 2013 Опубликовано 27 июля, 2013 · Жалоба Альтерровский OpenCL еще не пробовал, руки пока не доходят. попробуйте и нам расскажите, т.к. OpenCL должен скорее всего транслироваться в промежуточное представление на одном из HDL, где вопросы битового представления можно править пользователю. если они заявляли о поддержке, значит должны и средства отладки представлять, иначе это не смешно. ЗЫ: думаю, что всё-таки не стоит пользоваться самоляпными средами моделирования. подозреваю, что уровень поддержки языка достаточно низкий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 29 июля, 2013 Опубликовано 29 июля, 2013 · Жалоба ЗЫ: думаю, что всё-таки не стоит пользоваться самоляпными средами моделирования. подозреваю, что уровень поддержки языка достаточно низкий. я бы тоже не хотел бы быть ответственным за экстремистские советы - на фтп лежат симуляторы и лекарства - questasim самый простой, чтобы "стартовать". неудобства свободных симуляторов все-таки требуют серьезной мотивации для их использования... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 29 июля, 2013 Опубликовано 29 июля, 2013 · Жалоба в Верилоге есть open() sscanf() sprintf(). ИМХО более чем достаточно для прогона ТОННЫ данных через алгоритм при использовании Modelsim или подобной среды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться