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

 
 
> как на RTL заставить синтезатор использовать выделенные межкаскадные связи BCOUT-> BCIN в DSP48 Xilinx?, если вставить макрос DSP48, то связь есть, а если * на RTL - то нет
Krys
сообщение Oct 1 2014, 08:41
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Здравствуйте. Не могу на RTL заставить синтезатор использовать выделенные межкаскадные связи BCOUT-> BCIN в DSP48 Xilinx. Если вставляю макрос DSP48, то такая связь работает, а если описывают просто на RTL через символы * и +, то не хочет подсоединять через выделенные, подсоединяет через обычные порты. В прикреплении реализовал умножитель 35 на 35 битов из примера Spartan-6 FPGA DSP48A1 Slice, стр. 29, там сигнал B использует выделенные межкаскадные связи BCOUT -> BCIN. В исходнике с помощью параметра можно переключаться между 2мя различными вариантами: через макрос и просто через конструкции языка. Никак не получается заставить синтезатор использовать эти выделенные связи по второму варианту. Как уже только не исхитрялся, и атрибут KEEP_HIERARCHY ставил, и USE_DSP48, фантазия кончилась... Пробовал в ISE и в Vivado. Вообще мне надо под SPARTAN6, а Vivado его не поддерживает, пришлось в Vivado выбрать Virtex7, а там архитектура DSP48 немножко другая... хотя суть та же. Исходник под Vivado не менял. А в таком виде Vivado тоже не справилась, не захотела увидеть и провести межкаскадные связи. Хотя вот в старом документе (в свежем этого абзаца уже нет) XST User Guide for Virtex-4, Virtex-5, Spartan-3, and Newer CPLD Devices на стр. 222 говорится:
Цитата
If your design contains several interconnected macros, where each macro can be implemented on DSP48, XST attempts to interconnect DSP48 blocks using fast BCIN/BCOUT and PCIN/PCOUT connections. Such situations are typical in filter and complex multiplier descriptions. XST can build complex DSP macros and DSP48 chains across the hierarchy when Keep Hierarchy (KEEP_HIERARCHY) is set to no. This is the default in ISE® Design Suite.
Я пробовал и включать, и отключать KEEP_HIERARCHY (см. исходники) - не помогло.

Может кому удавалось заставить синтезатор?

Проблема чисто теоретическая конечно, т.к. ну не использовал он эти связи, да и фиг с ним, через обычные связи частота нисколько не ниже. Только рассыпухи чуть больше съело на внешнее дублирование задержек. Проблема скорее из разряда холивара, что написание на RTL в виде конструкций языка ничем не уступает применению громоздких макросов, имеющему кучу своих минусов. Пока что применение макросов выигрывает. Пусть и пренебрежимо незначительно.
Прикрепленные файлы
Прикрепленный файл  mult35x35.rar ( 5.97 килобайт ) Кол-во скачиваний: 52
 


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Krys
сообщение Jun 29 2015, 06:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Странно, что аккумулятор со входом сброса синтезируется в DSP-блоке нормально...
CODE
// separating I and Q components of the input signal
wire signed [DIN_BW-1 : 0] din_i, din_q;
assign din_i = din_axis_tdata[DIN_BW-1 : 0];
assign din_q = din_axis_tdata[AXIS_DATA_BW-1 : DIN_BW];

// pipeline register inside of adder block
(* use_dsp48 = "yes" *) reg signed [SUM_DATA_BW-1 : 0] din_i_pp_int, din_q_pp_int;
reg din_valid_pp; // register to time align with internal data pipeline above
// result of adder
(* use_dsp48 = "yes" *) reg signed [SUM_DATA_BW-1 : 0] sum_i_acc, sum_q_acc;
always @(posedge clk) begin
din_i_pp_int <= {{DBF_BW_INCR{din_i[DIN_BW-1]}}, din_i};
din_q_pp_int <= {{DBF_BW_INCR{din_q[DIN_BW-1]}}, din_q};
din_valid_pp <= din_axis_tvalid;
end

// accumulator with reset
always @(posedge clk) begin
if(!din_valid_pp) begin
sum_i_acc <= 0;
sum_q_acc <= 0;
end else begin
sum_i_acc <= sum_i_acc + din_i_pp_int;
sum_q_acc <= sum_q_acc + din_q_pp_int;
end
end


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Krys   как на RTL заставить синтезатор использовать выделенные межкаскадные связи BCOUT-> BCIN в DSP48 Xilinx?   Oct 1 2014, 08:41
- - Bad0512   Цитата(Krys @ Oct 1 2014, 15:41) Здравств...   Oct 1 2014, 09:33
- - Krys   Спасибо за опыт. К стати, в том же примере, которы...   Oct 1 2014, 09:48
|- - Bad0512   Цитата(Krys @ Oct 1 2014, 16:48) Спасибо ...   Oct 1 2014, 10:10
|- - Krys   Цитата(Bad0512 @ Oct 1 2014, 17:10) Что з...   Oct 2 2014, 02:20
|- - Bad0512   Цитата(Krys @ Oct 2 2014, 09:20) Вместо и...   Oct 2 2014, 04:00
||- - Krys   Цитата(Bad0512 @ Oct 2 2014, 11:00) Будет...   Oct 2 2014, 07:40
|- - Amurak   Цитата(Krys @ Oct 2 2014, 06:20) А описыв...   Oct 2 2014, 05:56
|- - Bad0512   Цитата(Amurak @ Oct 2 2014, 12:56) Как ва...   Oct 2 2014, 06:07
- - TRILLER   Добрый день. Раз уж заговорили про симплифай. Одна...   Oct 1 2014, 11:22
- - sallador   Цитата(Krys @ Oct 1 2014, 12:41) Может ко...   Oct 2 2014, 06:25
- - Krys   Хочу похвастаться своими успехами. Вот такую схему...   Jun 8 2015, 09:25
|- - Timmy   Цитата(Krys @ Jun 8 2015, 12:25) Хочу пох...   Jun 8 2015, 09:46
- - Krys   да он ничего не значит, просто его надо ставить, е...   Jun 8 2015, 10:05
- - Krys   Теперь вот самый обычный сумматор не хочет на DSP-...   Jun 29 2015, 04:43
|- - Bad0512   Цитата(Krys @ Jun 29 2015, 10:43) Теперь ...   Jun 29 2015, 05:37
|- - sallador   Цитата(Krys @ Jun 29 2015, 08:43) Теперь ...   Aug 21 2015, 11:14
|- - Bad0512   Цитата(Krys @ Jun 29 2015, 12:36) Странно...   Jun 29 2015, 08:57
- - Krys   вопрос чисто принципиальный. Синтезатор ослушался ...   Jun 29 2015, 10:02
|- - TRILLER   Цитата(Krys @ Jun 29 2015, 13:02) ...прям...   Jun 29 2015, 10:31
- - Krys   ну понятно, что оно везде "рекомендация...   Jul 6 2015, 02:09
- - Krys   Мне "как отдельный компонент" не хочется...   Aug 24 2015, 04:19
- - Krys   Ещё некоторая дополнительная информация от моего к...   Mar 13 2017, 02:30


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

 


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


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