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

 
 
> Мультиплексирование шины данных между 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
 
Start new topic
Ответов
count_enable
сообщение Feb 11 2015, 17:04
Сообщение #2


Местный
***

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



Извините, немного ошибся: все данные для синтеза, без P&R. Пока еще о размещении речь не идёт.

Спасибо за совет, сейчас допиливаю код чтобы проходил P&R. И в связи с этим следующий вопрос: мне надо сделать кольцо из МАС. Т.е первый МАС в цепочке получает как один из аргументов выход последнего. Для этого использую вход PCIN, который должен специально предусмотрен в DSP48 для подобных случаев. Но вот кажется кольцо не получится сделать: ругается что ERROR:LIT:398 - PCIN bus of DSP48E symbol "firstALU/blk0000000b" can be sourced only by a PCOUT bus of a different DSP48E block.
Go to the top of the page
 
+Quote Post



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

 


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


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