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

Пакеты и библиотеки (VHDL)

В последнее время активно занимаюсь библиотеками. Пишу пакеты и многократно используемые компоненты. Работаю в Active HDL. Столкнулся с проблемой - попытка использовать синтезатор из ISE позорно провалилась. Этот умник ругается на несинтезируемые конструкции. Precision и Leonardo, например, ведут себя гораздо более дружелюбно - выдают варнинги. Соответственно, возникли два вопроса. Уважаемые корифеи цифрового дизайна,

1. Допустимо ли в одном package смешивать синтезируемые и несинтезируемые конструкции?

2. Почему ISE ведет себя так агрессивно? Я ведь не прошу его синтезировать несинтезируемое. Или я не умею его готовить?

Благодарю за внимание.

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


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

Столкнулся с проблемой - попытка использовать синтезатор из ISE позорно провалилась. Этот умник ругается на несинтезируемые конструкции.
Интересно, а что он должен делать? Спасибо вам говорить?

 

Precision и Leonardo, например, ведут себя гораздо более дружелюбно - выдают варнинги.
Т. е. уменьшают SNR в логе. Я сообщений, не относящихся к делу, не люблю.

 

Допустимо ли в одном package смешивать синтезируемые и несинтезируемые конструкции?
Вполне. Несинтезируемые конструкции можно заэкранировать специальными директивами синтезатора.

Почему ISE ведет себя так агрессивно?
Я бы сказал, что он ведет себя абсолютно нормально.

 

Я ведь не прошу его синтезировать несинтезируемое.
А что же вы делаете? Подсовывете ему несинтезируемый код, а говорите, что не просите.

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


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

Интересно, а что он должен делать? Спасибо вам говорить?

Нет. Это я должен сказать спасибо уважаемому синтезатору после успешного синтеза :) А ерроры он вполне мог бы заменить варнингами.

Т. е. уменьшают SNR в логе. Я сообщений, не относящихся к делу, не люблю.

Я тоже их не люблю. Эта проблема, как мне кажется, должна решаться с помощью фильтра для базара варнингов, который желателен в любом синтезаторе с дружелюбным GUI.

Вполне. Несинтезируемые конструкции можно заэкранировать специальными директивами синтезатора.

Спасибо!!! Вы направили мою лопату в нужную сторону. Буду копать. Взглянуть бы хоть одним глазом, как примерно это делается...

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


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

Спасибо!!! Вы направили мою лопату в нужную сторону. Буду копать. Взглянуть бы хоть одним глазом, как примерно это делается...

 

или

--synopsys synthesis_off
<несинтезируемые выражения>
--synopsys synthesis_on

или

--synopsys synthesis_off
<несинтезируемые выражения>
--synopsys synthesis_on

 

Какую именно из конструкций - зависит от синтезатора. Что нужн6о именно для XST - не помню. Пробуйте.

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


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

...

Спасибо. Информации вполне достаточно. Дальше сам.

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


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

или

[...]

или

[...]

Ошибка типа copy-paste?

 

Я знаю три матерных слова директивы:

synopsys translate_{on,off}

synthesis translate_{on,off}

pragma translate_{on,off}

 

XST точно понимает первую и третью. На счёт второй не уверен, а в доке смотреть лень.

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


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

Ошибка типа copy-paste?

 

Я знаю три матерных слова директивы:

synopsys translate_{on,off}

synthesis translate_{on,off}

pragma translate_{on,off}

 

XST точно понимает первую и третью. На счёт второй не уверен, а в доке смотреть лень.

 

Действительно ошибка. Во втрором тэге кода должно было быть pragma translate_{on,off}

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


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

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

ЗЫ Немного покурил хелп, и наткнулся на рекомендацию Xilinx отделять мух от котлет синтезируемое от несинтезируемого.

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


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

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

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

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

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

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

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

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

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

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