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

Гуру
     
Группа: Свой
Сообщений: 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 в виде конструкций языка ничем не уступает применению громоздких макросов, имеющему кучу своих минусов. Пока что применение макросов выигрывает. Пусть и пренебрежимо незначительно.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
 |
Ответов
|
Oct 1 2014, 09:33
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(Krys @ Oct 1 2014, 15:41)  Здравствуйте. Не могу на 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 говорится:Я пробовал и включать, и отключать KEEP_HIERARCHY (см. исходники) - не помогло. Может кому удавалось заставить синтезатор? Проблема чисто теоретическая конечно, т.к. ну не использовал он эти связи, да и фиг с ним, через обычные связи частота нисколько не ниже. Только рассыпухи чуть больше съело на внешнее дублирование задержек. Проблема скорее из разряда холивара, что написание на RTL в виде конструкций языка ничем не уступает применению громоздких макросов, имеющему кучу своих минусов. Пока что применение макросов выигрывает. Пусть и пренебрежимо незначительно. Была подобного рода проблема с Синплифаем и использованием dedicated входов-выходов PCIN PCOUT. Синплифай по какой-то своей непонятной логике иногда их использовал, а иногда нет. Это сильно сказывалось на времянке - частоты были высокие. Решилось всё тоже макросами, не вижу в данном случае ничего страшного. Когда нужно выжимать быстродействие не зазорно и до уровня макросов опускаться, ибо все синтезаторы немного тупят в тонких моментах. З Ы. Возможно это - глюк XST. Попробуйте Синплифай на ваш код натравить.
|
|
|
|
Сообщений в этой теме
Krys как на RTL заставить синтезатор использовать выделенные межкаскадные связи BCOUT-> BCIN в DSP48 Xilinx? Oct 1 2014, 08:41 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 Krys Странно, что аккумулятор со входом сброса синтезир... Jun 29 2015, 06:36 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|