реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Большой мультиплексер 2х100х18, Реален ли, и практичен ли
count_enable
сообщение Dec 18 2014, 23:01
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Здравствуйте. Есть 2 больших матрицы (пусть будет 100х100) А и В, записанных в 2 массивах однопортовых BRAM18. Т.е. у каждого массива есть 100 18-битных выходов. Есть массив параллельных DSP48, у которого 100 18-битных входов соответственно. Надо мультиплексер, чтобы подключать или матрицу А ко входам DSP48, или же матрицу В. Целевая платформа Spartan 6. Если взять решение "в лоб" из Xilinx Design Guide и сделать мультиплексер по нему, насколько это будет плохо? Понимаю что правильным ответом будет "возьми и попробуй", но может я изобретаю плохой велосипед?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 19 2014, 01:30
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



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

Ни чего страшного - за лесом деревьев не видно!
Допустим что у Вас только один dsp48 и 2 выхода с BRAM18.
Если без извратов то по другому ни как - классический 2-входовой мультиплексор на 18 бит на логике и может доп. регистр на выходе (для улучшения времянки). Естественно если у Вас 100 таких пар то и получится 2-входовый 1800 бит мультиплексор. Тут могут быть проблемы из за большого fanout для сигнала управления таким "лесом" мультиплексоров.

Можно попробовать извраты -
например - в dsp48A1 (кои водятся в Spartan6) есть входной сумматор для входов B и D - если в Вашей структуре обработки эта функция суммирования не используется то можно сразу подключить один выход BRAM18 на B а второй на D и выбирать их используя сигналы RSTB,RSTD.

Лучший же вариант это попытаться объединить эти матрицы в одной BRAM18 - тогда переключение будет всего лиш адресным битом - но это опять-же если такое позволяет структура системы.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
count_enable
сообщение Dec 19 2014, 07:52
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Спасибо Rob! С fanout у меня 100% будут проблемы - очень много параллельных сигналов: WE, EN, ROW_SELECT (этот вообще 10-битный, еще и синхронно надо защелкивать). Грубо, навскидку как сильно это может испортить времянку? Чтобы не ждать по часу компиляции, я пока экспериментирую с 10-15 BRAMами, вроде всё нормально.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 19 2014, 11:45
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(count_enable @ Dec 19 2014, 09:52) *
Спасибо Rob! С fanout у меня 100% будут проблемы - очень много параллельных сигналов: WE, EN, ROW_SELECT (этот вообще 10-битный, еще и синхронно надо защелкивать). Грубо, навскидку как сильно это может испортить времянку? Чтобы не ждать по часу компиляции, я пока экспериментирую с 10-15 BRAMами, вроде всё нормально.

Увы - диапазон ответа на это вопрос - от "Все будет зашибись!" до "Шеф! усё пропало"
поскольку сильно зависит от требуемой частоты, структуры системы и алгоритма переключения.
В любом случае управление всей этой оравой сигналов у Вас скорее всего будет каким то автоматом- соответственно проектировать его надо с учетом того что для сигналов с большим fanout либо придется параллель выходы управления (ручками в коде или через констрэйны при синтезе) либо придется делать дерево с промежуточными регистрами и соответствующем выравниванием задержек в цепях данных и управления.

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

Успехов! Rob.


Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 19:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016