-
Posts
11 -
Joined
-
Last visited
Reputation
0 ОбычныйRecent Profile Visitors
351 profile views
-
Avalon I2C (Host) Core
nbjkm replied to KefiroK's topic in Языки проектирования на ПЛИС (FPGA)
Можешь еще заюзать ядро по ссылке https://opencores.org/projects/i2c В документации внутри подробно расписано что к чему. В Qsys легко интегрируется. При желании можно вообще не использовать интерфейс Avalon-MM для управления ядром, а выдрать из ядра файл i2c_master_byte_ctrl.v и навесить свою логику работы прямо на него -
GTX трансиверы на Kintex-7
nbjkm replied to nbjkm's topic in Работаем с ПЛИС, области применения, выбор
Благодарю! Другой док посмотрел и таки дошел до истины. Кристалл не с тем Speed Grade там распаян. Больше скорости выжать нельзя -
GTX трансиверы на Kintex-7
nbjkm posted a topic in Работаем с ПЛИС, области применения, выбор
Приветствую! Читаю мануал на трансиверы и вижу следующее т.е. точно должен брать скорости больше 10.312 Гбит/с Дальше захожу в визард и вижу следующую картину: И он утверждает, что больше 10.312 Гбит/с я подняться не смогу. Отладка KC705, среда Vivado 2020.2. Это просто ограничение визарда или реально предельная скорость? Старейшины утверждают, что раньше поднимали на этой плате скорости больше, но это было очень давно, никто не помнит как и проекты днем с огнем не сыщешь. -
Да, совершенно точно. При работе с квартусом на машине, подключенной по RDP, постоянно получал какие-то ошибки, то на фиттере вылетал (error send Intel и до свидания), то на assembler пишет "у вас нет лицензии на выбранный кристалл". Причем если прийти и запустить компиляцию напрямую на машине, без rdp, то все итерации проходили без ошибок. Все-таки засомневался и полез в док на signaltap Возможно я получал ограничение по каким-то иным причинам, но не по числу линии мониторинга
-
О превышении лимита подключенных сигналов signaltap сообщает и больше линиий добавить не может. У меня подобная проблема наблюдалась при копировании проекта по разным папкам, в таких случаях квартус просто не обновлял sof-файл после компиляции. Удалите sof-файл и проведите заново его генерацию (щелкните пункт assembler). Есть ли какие-то ошибки в панели сообщений в самом quartus? Он должен писать код ошибки с описанием
-
Мда, в общем можно не спешить переходить на 21.1 версию
-
nbjkm changed their profile photo
-
не сталкивался с проблемами при одновременном чтении/записи. Шина сама всё разрулит. И да, как уже заметил new123, запрос на чтение/запись можно (и нужно) подавать когда waitrequest в единице и дожидаться его освобождения. Как только шина освободится от другого мастера (арбитраж не позволит одному мастеру занимать шину вечно), шину займет другой мастер и т.д.
-
MATLAB HDL Coder + Quartus
nbjkm replied to nbjkm's topic in Языки проектирования на ПЛИС (FPGA)
DSP Builder так и не научился нормально использовать, ошибка на ошибке и ошибкой погоняет. К тому же на высокоскоростной IP RS нет лицензии в Quartus, а в MATLAB всё выглядело довольно удобненько. Кстати, к слову, раньше сталкивался с генерацией Lookup table из того же матлаба. Это была обычная ROM, но синтезировалась точно таким же образом как и в данном случае. Там всё легко можно было руками поправить, я просто менял wire на logic и квартус все прекрасно понимал. Но опять же, делалось это только вручную. -
MATLAB HDL Coder + Quartus
nbjkm posted a topic in Языки проектирования на ПЛИС (FPGA)
Доброго здоровья! В MATLAB имеется блок "RS Encoder/Decoder HDL Optimized". Я синтезирую его HDL-код, получается неплохо + еще довольно читабельно. И казалось бы можно праздновать, но нет. В синтезированном коде есть много объявлений памяти и её инициализации в виде wire [7:0] gfomegapowertable_43 [0:255]; // ufix8 [256] assign gfomegapowertable_43[0] = 8'b00000000; assign gfomegapowertable_43[1] = 8'b10000000; assign gfomegapowertable_43[2] = 8'b00011101; assign gfomegapowertable_43[3] = 8'b10011101; assign gfomegapowertable_43[4] = 8'b00111010; .... assign gfomegapowertable_43[255] = 8'b01100010; assign omega8powertable = gfomegapowertable_43[omega8powerreg]; Подсовываю код в квартус и получаю закономерный результат - он вообще не определяет данный код как память и клепает всё на логике. В результате чего получаю скорость ~70 МГц, что неприемлемо. Данный способ объявления памяти я встречаю впервые, поскольку альтера рекомендует описывать память только через регистры. Сталкивался ли кто-нибудь с подобными вещами? Самостоятельно переписывать весь код больно уж ресурсозатратно. Да и к тому же матлаб везде нахваливают за его удобство и чуть ли не пару кнопок нажал и всё - код сгенерирован и можно работать. Использование директив ramstyle не дало никакого эффекта -
Согласованная фильтрация на плис
nbjkm replied to fertna18's topic in Работаем с ПЛИС, области применения, выбор
Руками писал. Можно было использовать и готовые ядра, но мне это было не столь интересно -
Согласованная фильтрация на плис
nbjkm replied to fertna18's topic in Работаем с ПЛИС, области применения, выбор
Я делал СФ по схеме FIR-фильтра, тупо оцифровал распознаваемый сигнал и запихнул его в качестве коэффициентов фильтра, предварительно переставив местами. И все дела. Работало на отлично. На частоте в 213 МГц