|
Евклидово расстояние на Xilinx DSP48 |
|
|
|
 |
Ответов
|
Feb 18 2016, 10:18
|
Местный
  
Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384

|
Цитата(blackfin @ Feb 18 2016, 13:37)  Так готовый IP-Core комплексного умножителя должен подойти. Там же вроде 2 пары только можно за маш. цикл умножать? Maverick, не совсем понял как связана рекомендуемая тема с возведением в квадрат. Вы предлагаете закольцевать выход DSP на его же вход Carry, и поштучно возводить аргументы в квадрат, аккумулируя их? Звучит интересно. Так можно считать расстояния в N-мерном пространстве, и решение в принципе простое. Но наверно надо выбросить все внутренние регистры, потому что ждать 7 клоков задержки на один аргумент что-то неохота.
|
|
|
|
|
Feb 18 2016, 10:35
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(count_enable @ Feb 18 2016, 14:18)  Там же вроде 2 пары только можно за маш. цикл умножать? Ну, если у Вас в каждом такте приходит одна пара A и B, то можно умножитель с накоплением использовать: Код input signed [] A0,A1,A2; input signed [] B0,B1,B2;
wire signed [] SA = (T == 0) ? A0 : (T == 1) ? A1 : (T == 2) ? A2 : 0; wire signed [] SB = (T == 0) ? B0 : (T == 1) ? B1 : (T == 2) ? B2 : 0;
reg signed [] D;
always @(posedge clk) begin D <= SA - SB; end
wire [] P;
multadd multadd_m(.clk(clk),.A(D),.B(D),.C(P),.P(P));
reg [] R;
always @(posedge clk) begin if (sclr) R <= 0; else if (valid) R <= P; end PS. И даже задержка не нужна. Нужен сигнал valid совпадающий по времени с результатом суммирования: T = mult_latency + add_latency + 2;
|
|
|
|
|
Feb 18 2016, 11:13
|
Местный
  
Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384

|
Цитата(blackfin @ Feb 18 2016, 14:35)  Ну, если у Вас в каждом такте приходит одна пара A и B, то можно умножитель с накоплением использовать: Извините, верилог знаю только со словарём. Где в этом коде возведение в степень (А-В )^2?
|
|
|
|
Сообщений в этой теме
count_enable Евклидово расстояние на Xilinx DSP48 Feb 18 2016, 09:18 Maverick Цитата(count_enable @ Feb 18 2016, 11:18)... Feb 18 2016, 09:31 blackfin Цитата(count_enable @ Feb 18 2016, 13:18)... Feb 18 2016, 09:37 Maverick нашел тему Feb 18 2016, 09:40 count_enable Последний multadd multadd_m(..,.A(D),.B(D),.C(P),.... Feb 18 2016, 11:19 Maverick Цитата(count_enable @ Feb 18 2016, 13:19)... Feb 18 2016, 11:33 blackfin Цитата(count_enable @ Feb 18 2016, 15:13)... Feb 18 2016, 11:41 count_enable Спасибо большое. Уже "увидел" как оно бу... Feb 18 2016, 11:49 blackfin Цитата(count_enable @ Feb 18 2016, 15:49)... Feb 18 2016, 12:21  Fat Robot есть приближенная оценка модуля вектора для двумер... Feb 18 2016, 15:55 blackfin Цитата(count_enable @ Feb 18 2016, 14:49)... Feb 22 2016, 10:02  Timmy Цитата(blackfin @ Feb 22 2016, 13:02) Есл... Feb 22 2016, 13:06 анатолий Цитата(count_enable @ Feb 18 2016, 11:18)... Mar 6 2016, 08:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|