Синтезируемые фиксированные/плавающие точки в библиотеке VHDL IEEE

Я создаю проект VHDL (Xilinx ISE для Spartan-6), который потребуется для использования десятичных чисел «реального стиля» либо с фиксированной, либо с плавающей запятой (я надеюсь, что фиксированной точки будет достаточно).

Будучи новичком в VHDL, я на собственном горьком опыте обнаружил, что непостоянные типы real не поддерживаются для синтеза, поэтому я приступил к поиску IP-ядра или библиотеки, чтобы исправить это.

Пока я нашел 3 варианта;

1) IP-ядро с плавающей запятой, предоставленное Xilinx.

2) Загружаемая библиотека ieee_proposed, написанная Дэвидом Бишопом, находится здесь

3) Проведя ярмарку, пытаясь понять, как «создать» новую библиотеку с файлами Дэвида Бишопса, я быстро просмотрел стандартную библиотеку IEEE и увидел, что она содержит пакеты ieee.fixed_generic_pkg и ieee.fixed_pkg.

Мой вопрос - из двух библиотек - какую разумно использовать? Один приспособлен для синтеза, а другой нет, или один старше другого? И затем, если предоставляется плавающая запятая, есть ли реальная точка для IP-ядра с плавающей запятой, предоставляемого Xilinx?

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

Большое спасибо за любую помощь!

============ОБНОВЛЕНИЕ (в основном мои собственные усилия по устранению)==================

На самом деле я не могу использовать ieee.fixed_pkg, и попытка сделать это приводит к ошибке Cannot find <fixed_pkg> in library <ieee>.

Найдя библиотеку ieee в C:\Xilinx\14.7\ISE_DS\ISE\vhdl\xst\nt, я обнаружил, что fixed_pkg на самом деле находится в ieee_proposed. Тем не менее, это все равно выдает те же ошибки!


person davidhood2    schedule 06.02.2016    source источник
comment
Включите компиляцию VHDL-2008: пакеты ieee_proposed переместились в библиотеку ieee восемь лет назад...   -  person user_1818839    schedule 07.02.2016
comment
Используя ISE, я настроил проект на использование 200X vhdl, если это то, что это значит, однако это не помогло. Это включает компиляцию VHDL-2008 или мне нужно сделать что-то еще?   -  person davidhood2    schedule 07.02.2016
comment
Также был бы признателен за отзыв за -1 голос, если это возможно...   -  person davidhood2    schedule 07.02.2016


Ответы (2)


Глупый вопрос, но когда вы скачали ieee_proposed, вы не забыли его скомпилировать?

edit: А также не забудьте сопоставить библиотеку с вашей симуляцией. Может быть, вы все это уже сделали, но я часто совершаю эти ошибки.

person jarno    schedule 06.02.2016
comment
Когда вы говорите компилировать... как я должен был это сделать? Я добавил его как новую библиотеку и попытался запустить... - person davidhood2; 07.02.2016
comment
Извините, я не знаю деталей этого ПО, но в основном, когда вы скачивали ieee_proposed, он становился частью вашего собственного кода. Таким образом, у компилятора нет предопределенных знаний об этом, и вы должны компилировать его вместе со своим собственным кодом. И не забудьте добавить в свой код библиотеку ieee_proposed;! Я думаю, что руководство по программному обеспечению будет более полезным здесь. - person jarno; 07.02.2016

Я боролся с теми же проблемами в течение нескольких дней. Я решил это следующим образом: 1. Добавьте в проект vhdl-файлы fixed_float_types_c, fixed_pkg_c и float_pkg_c. 2. Объявить их принадлежащими рабочей библиотеке (окно Свойства в файлах Quartus) 3. Скомпилировать проект и вызвать библиотеку, используя: Работа с библиотекой; используйте work.fixed_pkg.all;

К моему неудовольствию, они не появляются красивым красным шрифтом, который я хочу, но это работает!

person Paddy Article    schedule 26.04.2016