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

 
 
> как на 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
сообщение Oct 1 2014, 09:48
Сообщение #2


Гуру
******

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



Спасибо за опыт. К стати, в том же примере, который я реализовал, возможно использовать и PCOUT -> PCIN, но почему-то, согласно рисунку 1-17 авторы этого не предлагают. Ну и я не реализовывал.
Синплифай не честно, нужно ограничиваться стандартными инструментами. А то холивар получится нечистый )) Типа "вот RTL ничем не уступает, только надо очень хитрый синтезатор" ))) Таких оговорок быть не должно )))
У меня частота по результатам PAR в пустом кристалле 390МГц для SPARTAN6 (думаю, неплохо). При том одинаковая хоть с использованием выделенных путей, хоть без. Разница лишь в небольшом увеличении потребления рассыпухи.

ЗЫ: Вопрос на засыпку: Vivado использует XST или у неё свой синтезатор?


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Oct 1 2014, 10:10
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(Krys @ Oct 1 2014, 16:48) *
Спасибо за опыт. К стати, в том же примере, который я реализовал, возможно использовать и PCOUT -> PCIN, но почему-то, согласно рисунку 1-17 авторы этого не предлагают. Ну и я не реализовывал.
Синплифай не честно, нужно ограничиваться стандартными инструментами. А то холивар получится нечистый )) Типа "вот RTL ничем не уступает, только надо очень хитрый синтезатор" ))) Таких оговорок быть не должно )))
У меня частота по результатам PAR в пустом кристалле 390МГц для SPARTAN6 (думаю, неплохо). При том одинаковая хоть с использованием выделенных путей, хоть без. Разница лишь в небольшом увеличении потребления рассыпухи.

ЗЫ: Вопрос на засыпку: Vivado использует XST или у неё свой синтезатор?

Что значит "стандартные инструменты"? Синтезаторов разных куча, под разные семейства ПЛИС. И синтезатор XST - явно не самый лучший. Начнём с того, что он даже SV синтаксис не понимает. Так зачем использовать неудачный инструмент при наличии альтернативы?
У Вивады - свой синтезатор. По моему имхо он малость ещё сыроват, но всё равно лучше чем XST.
390 MHz - это теоретический максимум для самого шустрого Спартана6 (индастриалы в таком спидгрейдё не делают). Соответствует даташиту.
Go to the top of the page
 
+Quote Post
Krys
сообщение Oct 2 2014, 02:20
Сообщение #4


Гуру
******

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



Цитата(Bad0512 @ Oct 1 2014, 17:10) *
Что значит "стандартные инструменты"? Синтезаторов разных куча, под разные семейства ПЛИС. И синтезатор XST - явно не самый лучший.
Вместо инициированного холивара начался другой холивар, какой синтезатор лучше )))

Цитата(Bad0512 @ Oct 1 2014, 17:10) *
Начнём с того, что он даже SV синтаксис не понимает.
Это не всем нужно. У меня исходник на вхдл, таковы правила предприятия.

Цитата(Bad0512 @ Oct 1 2014, 17:10) *
Так зачем использовать неудачный инструмент при наличии альтернативы?
Альтернатива, да не совсем. Она платная, а это сужает вероятность её применения. Получается такой ответ на мой холиварный вопрос, типа "вот RTL ничем не уступает, только надо заплатить бабок за крутой синтезатор". Работодатель скажет (и будет пожалуй по-своему прав), что желание писать на RTL (вместо макросов) не может являться экономическим обоснованием доп. затрат на покупку синтезатора. Купили тебе ISE (или Vivado), вот и работай в нём, а если тебе неудобно описывать макросами - то терпи, мы тебе и так зп платим, а ты хочешь ещё чтобы мы потратились на синтезатор.

Так что извините, не могу принять Вашу сторону, остаюсь на своей стороне, что платный Синплифай использовать не честно, холивар получится нечистый.

У меня сейчас нет возможности использовать Синплифай. Если у Вас есть немножко времени, Вы могли бы засинтезить мой пример в нём и посмотреть, появились ли каскадные связи? Там просто проект из двух исходников, один топовый, засинтезировать как есть.



Цитата(TRILLER @ Oct 1 2014, 18:22) *
1) Выносить конструкцию из ДСП в отдельный компонент с обязательным атрибутом syn_hier "fixed".
Я в конечном счёте и это проделал, но для XST и Vivado не помогло.

Цитата(TRILLER @ Oct 1 2014, 18:22) *
2) ПОЛНОСТЬЮ описывать архитектуру, применяя стандартные разрядности шин и даже внешние управляющие порты, которые в реальности использоваться не будут.
Из этого пункта я только применил стандартные разрядности шин. И то только для XST, т.е. для SPARTAN6. Для Vivado и для VIRTEX7 там разрядности уже отличаются. Но факт в том, что оба синтезатора в целом прекрасно увидели DSP48 в моей конструкции языка, увидели перемножитель, увидели аккумулятор. Не увидели только межкаскадные связи.
А описывать внешние управляющие порты, которые использоваться не будут - это уже тогда мы скатываемся на уровень макросов. Их минус в громоздкости, ненаглядности и непортируемости. То же мы обеспечим и конструкциями языка, если всё-всё опишем. А нам это не надо, нам от описания конструкциями языка нужно получить преимущество.


Цитата(TRILLER @ Oct 1 2014, 18:22) *
3) Обязательно применять атрибут syn_dspstyle(достаточно в целом к архитиктуре).
4) Применять syn_keep к регистрам, которые каким-либо образом могут быть оптимизированы синтезатором.
Ну тут у меня по третьему пункту в настройках проекта стояло "авто" на использовании ДСП, но, раз ДСП он в целом увидел, то проблема не здесь. По пункту 4 - то же. Ничего не выкинул, поставил всё, что нужно. Только связи межкаскадные не провёл.




Цитата(TRILLER @ Oct 1 2014, 18:22) *
Если говорить о XST, то не представляю как можно его заставить сделать подобное, если даже с симплифаем такие проблемы.
А судя по богатому опыту моих коллег при использовании обоих синтезаторов есть свои недостатки в распознавании конструкций, в потреблении логики и даже в результирующей предельной тактовой. Один одно хорошо делает, другой другое.


Цитата(TRILLER @ Oct 1 2014, 18:22) *
А ведь в XST даже результат синтеза толком не посмотреть :)
Я в Planahead схему смотрю, в принципе всё есть. Если проект большой и срочно - то иногда в ISE делаю View Technology Schematic. В принципе тоже почти всё показывает. Но это я касаемо проблем, подобных моей, говорю.
А Вы что не смогли посмотреть?


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Oct 2 2014, 04:00
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(Krys @ Oct 2 2014, 09:20) *
Вместо инициированного холивара начался другой холивар, какой синтезатор лучше )))

Не имел цели устроить холивар. Утверждение о том, что один синтезатор лучше другого - оно не холивара ради,
неоднократно было подтверждено фактами.

Цитата(Krys @ Oct 2 2014, 09:20) *
Это не всем нужно. У меня исходник на вхдл, таковы правила предприятия.

Вопрос правил вашего предприятия и их адекватности оставим за скобками ибо оффтопик.
Вам как исследователю никто не запрещает пользоваться Синплифаем для того, чтобы установить истину, а не с целью
написания коммерческого кода.


Цитата(Krys @ Oct 2 2014, 09:20) *
Альтернатива, да не совсем. Она платная, а это сужает вероятность её применения. Получается такой ответ на мой холиварный вопрос, типа "вот RTL ничем не уступает, только надо заплатить бабок за крутой синтезатор". Работодатель скажет (и будет пожалуй по-своему прав), что желание писать на RTL (вместо макросов) не может являться экономическим обоснованием доп. затрат на покупку синтезатора. Купили тебе ISE (или Vivado), вот и работай в нём, а если тебе неудобно описывать макросами - то терпи, мы тебе и так зп платим, а ты хочешь ещё чтобы мы потратились на синтезатор.

Считаю холивары на тему "мой работодатель - дебил, я всего лишь жертва" злостным оффтопиком.

Цитата(Krys @ Oct 2 2014, 09:20) *
Так что извините, не могу принять Вашу сторону, остаюсь на своей стороне, что платный Синплифай использовать не честно, холивар получится нечистый.

Ещё раз. Никакого холивара разводить не собираюсь. Грамотный развивающийся инженер должен ориентироваться во всех используемых в индустрии тулзах и подходах
даже если их и не использует по какой-то причине. Для того чтобы не загнуться профессионально. Ваш выбор как поступить - шашечки или ехать.

Цитата(Krys @ Oct 2 2014, 09:20) *
У меня сейчас нет возможности использовать Синплифай. Если у Вас есть немножко времени, Вы могли бы засинтезить мой пример в нём и посмотреть, появились ли каскадные связи? Там просто проект из двух исходников, один топовый, засинтезировать как есть.

Будет время - попробую, но честно говоря беглое знакомство с этой мутной VHDLной писаниной вызывает рвотные рефлексы (я тоже когда-то очень давно начинал сначала со схематика, потом VHDL, теперь SV или Верилог).


Go to the top of the page
 
+Quote Post
Krys
сообщение Oct 2 2014, 07:40
Сообщение #6


Гуру
******

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



Цитата(Bad0512 @ Oct 2 2014, 11:00) *
Будет время - попробую, но честно говоря беглое знакомство с этой мутной VHDLной писаниной вызывает рвотные рефлексы (я тоже когда-то очень давно начинал сначала со схематика, потом VHDL, теперь SV или Верилог).
Заранее спасибо. У меня почти аналогичный путь (только VHDL в самом конце) и аналогичные позывы от VHDL )))) Но деваться некуда, пришлось освоить и использовать.
Про адекватность предприятия поржал ))) Но руководство обидится, если прочитает. Военка российская, всё по стандарту. А по стандарту VHDL.
Я к стати непротив холивара в данном случае, не стыдитесь ) Я собственно холивар и развёл. Просто ради академической истины, что ли...


Цитата(sallador @ Oct 2 2014, 13:25) *
2) С использованием pre-adder (A+D). Причем на порт D заходила константа.
Раз уж упомянули предсумматор, то обнародую свой опыт. Делал комплексный умножитель 18х18, написал всё конструкциями языка. XST увидела DSP48, но сделала в нём только умножитель и аккумулятор. Я удивился. Скормил Виваде. Та и предсумматор увидела. Я успокоился.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
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
|- - 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


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

 


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


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