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

Вопрос по размножению однотипных компонентов

Проблема в следующем: имеется компонент в виде канала из простых цифровых фильтров. Если собрать проект из одного или двух каналов всё работает отлично, но стоит их поставить хотя бы шесть, всё перестаёт работать и идёт мусор. FPGA Xilinx artix-7, среда Vivado 2019.1 , язык VHDL. Ресурсы задействованы максимум на 20%. Тактовая частота 26 МГц. Моего опыта к сожалению пока не достаточно, чтобы в ближайшее время понять откуда "ноги растут" у проблемы. Пока только пытаюсь грешить на синхронизацию, но очень сомневаюсь - тактовая частота слишком низкая для такого кристалла, чтобы так повлиять на работу. Может кто-нибудь подскажет хотя-бы направление поиска.

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


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

15 минут назад, Alf256 сказал:

но стоит их поставить хотя бы шесть, всё перестаёт работать и идёт мусор.

Проект синхронный?

Откуда данные берутся и куда отправляются? И так много много пунктов по каждому куску тракта...

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


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

Да, проект синхронный - источник АЦП в рабочем режиме и тестовый генератор внутри FPGA подключаются через мультиплексор.

входной сигнал домножается на синус и косинус с выхода генератора DDS на DSP48 блоке, затем идёт цепочка однозвенных нерекурсивных фильтров с одним сложением текущего и задержанного на один такт входного сигнала. через 8 таких звеньев идёт прореживание. Затем ещё два звена и ещё прореживание.

Сумматоры сделаны на логике - DSP48 не используется.

На данный момент мои познания позволили мне только создать файл ограничений для подключения пинов.(

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


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

Не

5 minutes ago, MegaVolt said:

Времянка для частоты 26 МГц прописана? Что пишет отчёт по этой времянке?

Нет не прописана - ну начинающий я( догадываюсь что это надо, но пока не знаю как делать(

Насколько это критично?

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


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

1 minute ago, Alf256 said:

Насколько это критично?

посмотрите в отчетах - на какой частоте может работать проект с 1-2 фильтрами и с бОльшим их кол-вом.

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


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

54 minutes ago, Alf256 said:

Если собрать проект из одного или двух каналов всё работает отлично, но стоит их поставить хотя бы шесть, всё перестаёт работать и идёт мусор. FPGA Xilinx artix-7, среда Vivado 2019.1 , язык VHDL. Ресурсы задействованы максимум на 20%. 

отладчик в руки и вперед, смотреть что именно ломается. житаг у вас по любому есть. а вот когда выясните что именно ломается, тогда уже и можно беседовать. На 26МГц, на артиксе, можно слона разложить.   

Just now, Yuri124 said:

посмотрите в отчетах - на какой частоте может работать проект с 1-2 фильтрами и с бОльшим их кол-вом.

это вивада, не квартус, там нет такой информации. надо прописать хотя бы частоту в констрейнах

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


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

5 minutes ago, Alf256 said:

пока не знаю как делать

почитайте статьи Дениса Шехалева:

https://cyberleninka.ru/article/n/synopsys-design-constraint-yazyk-zadaniya-vremennyh-ogranicheniy-na-primere-altera-timequest-chast-1/viewer

Оно, правда, по Альтере, но на русском, и в нужном направлении.

Изменено пользователем Yuri124

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


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

Попробую задать правильный вопрос:

Вы новые фильтры параллельно ставили или последовательно?

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


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

Приветствую!

Судя по всему при последовательном соединении звеньев где то переполнение происходит.  

Удачи! Rob.

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


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

10 hours ago, RobFPGA said:

Судя по всему при последовательном соединении звеньев где то переполнение происходит.  

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

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


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

14 hours ago, DuHast said:

Попробую задать правильный вопрос:

Вы новые фильтры параллельно ставили или последовательно?

обычно, каналами в ЦОС, называют независимые тракты обработки, а не последовательное включение.

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


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

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

Когда дизайн занимал мало места и разводился плотно, схема работала как надо, когда же требовалось много места и проект расползался по ПЛИС, сброс не успевал долетать в нужное время...

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


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

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

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

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

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

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

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

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

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

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