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

 
 
> Мультиплексирование шины данных между BRAM и DSP48, Virtex 5.
count_enable
сообщение Feb 11 2015, 16:16
Сообщение #1


Местный
***

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



Имеются две однопортовые BRAM 18к каждая, и МАС-блок из DSP48 (синтезирован генератором корок). Задача: по сигналу переключать вход данных DSP48 из одной памяти на вторую. Т.е. если вход 0, то читаем данные из памяти А, а результат операции записываем в память В. Если вход 1, то наоборот.
Задача кажется несложной, но тайминги очень портит.
Если нету мультиплексера и постоянно читаем А: 410 МГц на virtex5.
Если асинхронное мультиплексирование: i_ALU_DIN<=i_DOUT_A when SRCDST='0' else i_DOUT_B; 332 МГц!
Если синхронное мультиплексирование process(clk)...if (SRCDST='0') then...else... 297 МГц!

Можно ли как-то переключаться между банками не утрачивая скорости?

Второй вопрос по насыщенной арифметике. Результат операции 48 бит, память же 18-битная. Абсолютно приемлемо для моей математики насыщение (т.е. если число больше 2^18 -1 то вместо него записываем 2^18 -1, то же для отрицательных чисел). Возможно ли это сделать при помощи DSP48 ? (насколько мне известно, нет). Потому что если я вставляю "насыщатель" перед входом данных памяти, это опять-же довольно сильно портит скорость.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:20
Рейтинг@Mail.ru


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