Перейти к содержанию
    

Знатоки VHDL подскажите

Столкнулся со следующей проблемой:

есть проект для ISE, в модулях прописаны атрибуты для сигналов в, назовем его так, Ксайлиновском стиле. Решил загнать все это дело в симплифай 8.1 и естественно что он синтезирует не так, как было задумано, потому что у него прнято другое соглашение об атрибутах синтеза.

В проекте для ИСЕ все используемый атрибуты прописанны в одном пакете, можно ли как нибудь подменить имена атрибутов ?

т.е. например что бы ксайлиновский USE_DSP48 симплифай считал как свой syn_dspstyle?

 

Не очень то хочеться в ручную все перелопачивать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Столкнулся со следующей проблемой:

есть проект для ISE, в модулях прописаны атрибуты для сигналов в, назовем его так, Ксайлиновском стиле.

В VHDL это называется user-defined атрибуты. Каждый волен наопределять своих атрибутов сколько угодно.

Решил загнать все это дело в симплифай 8.1 и естественно что он синтезирует не так, как было задумано, потому что у него прнято другое соглашение об атрибутах синтеза.

Да, этот user :biggrin: наопределял себе другие атрибуты.

Ничего странного в том, что каждый вендор имеет свои атрибуты. Это один из способов подсадить пользователя на свою иглу. :biggrin:

В проекте для ИСЕ все используемый атрибуты прописанны в одном пакете, можно ли как нибудь подменить имена атрибутов ? т.е. например что бы ксайлиновский USE_DSP48 симплифай считал как свой syn_dspstyle?

Можно сторонней тулзой типа sed, awk, perl. Обернуть это скриптиком или Makefile. По-другому я не знаю как.

Не очень то хочеться в ручную все перелопачивать

Сочувствую. Я обычно пишу двойной набор атрибутов для обоих синтезаторов. Сыпятся варнинги на неродные атрибуты, на родные не сыпятся :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:)) спасибо, немного юмора в конце рабочего дня не помешает.

А не могли бы вы ответить на следующие два вопроса:

1. я синтезирвал один и тот же блок в исе6.3сп1 и симплифай 8.1

исе гворит что блок может работать на частотах до 350 МГц, симплифай на 281.

При этом по отчету видно что исе считает тактовую частоту исходя из анализа внутренней логики и выделяет установку сиганала до и после клока в отдельный параметр, а симплифай почему то учитывает времена предуставновки/удержания. в клоке.

Так кто прав насчет частоты? Или я неправильно читаю отчеты симплифая ?

 

2. я описал атрибут у сигнала в симплифае

 

signal accum : std_logic_vector(OUT_WIDTH-1 downto 0);  
attribute syn_dspstyle : string;
attribute syn_dspstyle of accum : signal is "dsp48";

но симплифай упорно игнорирует его, что не так ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. я синтезирвал один и тот же блок в исе6.3сп1 и симплифай 8.1

исе гворит что блок может работать на частотах до 350 МГц, симплифай на 281.

При этом по отчету видно что исе считает тактовую частоту исходя из анализа внутренней логики и выделяет установку сиганала до и после клока в отдельный параметр, а симплифай почему то учитывает времена предуставновки/удержания.  в клоке.

 

Я хотел бы задать вопрос вам по этому поводу. А чем эти значения частоты могут помочь в реальной жизни? Что за этим скрывается? Мне казалось что после разводки значения частот является критерием скорострельности проекта и является реальным значением частоты. А после синтеза... Не моглибы ни много просветить в этом вопросе?

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. я синтезирвал один и тот же блок в исе6.3сп1 и симплифай 8.1

исе гворит что блок может работать на частотах до 350 МГц, симплифай на 281.

При этом по отчету видно что исе считает тактовую частоту исходя из анализа внутренней логики и выделяет установку сиганала до и после клока в отдельный параметр, а симплифай почему то учитывает времена предуставновки/удержания.  в клоке.

 

Я хотел бы задать вопрос вам по этому поводу. А чем эти значения частоты могут помочь в реальной жизни? Что за этим скрывается? Мне казалось что после разводки значения частот является критерием скорострельности проекта и является реальным значением частоты. А после синтеза... Не моглибы ни много просветить в этом вопросе?

 

Спасибо.

Хмм ИМХО беспорно отчеты синтезатора нужно занижать, но для меня это эта цифра + просмотр критических путей в РТЛ просмотрщике являеться косвенным критерием оптимальности схемы.

Проще говоря, если я вижу что в нет больше мест, где есть затык по быстродействию, то на этом считаю отладку блока на этапе синтеза законченной.

 

А выполнять каждый раз разводку для небольшого, внутреннего блока ИМХО не есть целесособразно, т.к. он не будет иметь ни какого отношения к портам ввода вывода.

 

Хотя может быть я ошибаюсь и вы меня просвятите :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Я вообще не смотрю на оценку частоты синтезатором. Особенно она не актуальна, если в проекте есть черные ящики, времянка которых синтезатору неизвестна.

2. Атрибут описан вроде правильно. Но я с Virtex4 не общался, поэтому ничего сказать не имею.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А выполнять каждый раз разводку для небольшого, внутреннего блока ИМХО не есть целесособразно, т.к. он не будет иметь ни какого отношения к портам ввода вывода.

 

А я так и делаю. Ганяю тайминг симуляцию. А порты ввода вывода, известно же сколько занимает времени на выходной буфер или входой и учитываю эту задержку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...