Alf256 0 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба Проблема в следующем: имеется компонент в виде канала из простых цифровых фильтров. Если собрать проект из одного или двух каналов всё работает отлично, но стоит их поставить хотя бы шесть, всё перестаёт работать и идёт мусор. FPGA Xilinx artix-7, среда Vivado 2019.1 , язык VHDL. Ресурсы задействованы максимум на 20%. Тактовая частота 26 МГц. Моего опыта к сожалению пока не достаточно, чтобы в ближайшее время понять откуда "ноги растут" у проблемы. Пока только пытаюсь грешить на синхронизацию, но очень сомневаюсь - тактовая частота слишком низкая для такого кристалла, чтобы так повлиять на работу. Может кто-нибудь подскажет хотя-бы направление поиска. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба 15 минут назад, Alf256 сказал: но стоит их поставить хотя бы шесть, всё перестаёт работать и идёт мусор. Проект синхронный? Откуда данные берутся и куда отправляются? И так много много пунктов по каждому куску тракта... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 3 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба файл .sdc создали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alf256 0 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба Да, проект синхронный - источник АЦП в рабочем режиме и тестовый генератор внутри FPGA подключаются через мультиплексор. входной сигнал домножается на синус и косинус с выхода генератора DDS на DSP48 блоке, затем идёт цепочка однозвенных нерекурсивных фильтров с одним сложением текущего и задержанного на один такт входного сигнала. через 8 таких звеньев идёт прореживание. Затем ещё два звена и ещё прореживание. Сумматоры сделаны на логике - DSP48 не используется. На данный момент мои познания позволили мне только создать файл ограничений для подключения пинов.( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 28 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба Времянка для частоты 26 МГц прописана? Что пишет отчёт по этой времянке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alf256 0 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба Не 5 minutes ago, MegaVolt said: Времянка для частоты 26 МГц прописана? Что пишет отчёт по этой времянке? Нет не прописана - ну начинающий я( догадываюсь что это надо, но пока не знаю как делать( Насколько это критично? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 3 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба 1 minute ago, Alf256 said: Насколько это критично? посмотрите в отчетах - на какой частоте может работать проект с 1-2 фильтрами и с бОльшим их кол-вом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба 54 minutes ago, Alf256 said: Если собрать проект из одного или двух каналов всё работает отлично, но стоит их поставить хотя бы шесть, всё перестаёт работать и идёт мусор. FPGA Xilinx artix-7, среда Vivado 2019.1 , язык VHDL. Ресурсы задействованы максимум на 20%. отладчик в руки и вперед, смотреть что именно ломается. житаг у вас по любому есть. а вот когда выясните что именно ломается, тогда уже и можно беседовать. На 26МГц, на артиксе, можно слона разложить. Just now, Yuri124 said: посмотрите в отчетах - на какой частоте может работать проект с 1-2 фильтрами и с бОльшим их кол-вом. это вивада, не квартус, там нет такой информации. надо прописать хотя бы частоту в констрейнах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 3 12 мая, 2020 Опубликовано 12 мая, 2020 (изменено) · Жалоба 5 minutes ago, Alf256 said: пока не знаю как делать почитайте статьи Дениса Шехалева: https://cyberleninka.ru/article/n/synopsys-design-constraint-yazyk-zadaniya-vremennyh-ogranicheniy-na-primere-altera-timequest-chast-1/viewer Оно, правда, по Альтере, но на русском, и в нужном направлении. Изменено 12 мая, 2020 пользователем Yuri124 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alf256 0 12 мая, 2020 Опубликовано 12 мая, 2020 · Жалоба Спасибо всем. Понял - надо изучать и создавать тайминговые констрейны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DuHast 0 13 мая, 2020 Опубликовано 13 мая, 2020 · Жалоба Попробую задать правильный вопрос: Вы новые фильтры параллельно ставили или последовательно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 30 13 мая, 2020 Опубликовано 13 мая, 2020 · Жалоба Приветствую! Судя по всему при последовательном соединении звеньев где то переполнение происходит. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DuHast 0 14 мая, 2020 Опубликовано 14 мая, 2020 · Жалоба 10 hours ago, RobFPGA said: Судя по всему при последовательном соединении звеньев где то переполнение происходит. Вот и я о том же. И констрейны здесь ни при чём. Поэтому надо симулировать, тем более у автора топика есть тестовый генератор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 14 мая, 2020 Опубликовано 14 мая, 2020 · Жалоба 14 hours ago, DuHast said: Попробую задать правильный вопрос: Вы новые фильтры параллельно ставили или последовательно? обычно, каналами в ЦОС, называют независимые тракты обработки, а не последовательное включение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
S_Hawk 0 4 июня, 2020 Опубликовано 4 июня, 2020 · Жалоба Недавно подобное поведение наблюдал в проекте, в котором разработчик обнулял регистры через асинхронный сброс. Когда дизайн занимал мало места и разводился плотно, схема работала как надо, когда же требовалось много места и проект расползался по ПЛИС, сброс не успевал долетать в нужное время... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться