Цитата(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. В принципе тоже почти всё показывает. Но это я касаемо проблем, подобных моей, говорю.
А Вы что не смогли посмотреть?