2016-07-21 11 views
0

Я начинаю изучать программирование FPGA с использованием пакета Quartus Altera.Описание взаимосвязи между библиотеками ieee и floatfixlib vhdl в проекте Quartus

У меня есть унаследованный код, который включает в себя следующее:

library ieee; 
use ieee.std_logic_1164.all; 
use ieee.numeric_std.all; 
use ieee.math_real.all; 
library floatfixlib; 
use floatfixlib.fixed_pkg.all; --this is the VHDL93 implementation of the VHDL08 fixed point code from http://www.eda-stds.org/fphdl/ 
use work.ioarrays.all; 

К сожалению, ссылка в комментариях теперь мертв.

Первоначально я имел следующую ошибку:

Error (10481): VHDL Use Clause error at myvhdlfile.vhd(8): design library "floatfixlib" does not contain primary unit "fixed_pkg" 

После прочтения всего я использовал this answer приписывать соответствующий IEEE библиотечных файлы (fixed_float_types_c.vhdl, fixed_pkg_c.vhdl, float_pkg_c.vhdl) в ieee_proposed библиотеки и изменил код так:

library ieee; 
use ieee.std_logic_1164.all; 
use ieee.numeric_std.all; 
use ieee.math_real.all; 
library ieee_proposed; 
use ieee_proposed.fixed_pkg.all; 
use work.ioarrays.all; 

которое затем представляется компилируемым.

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

Следовательно; Просьба описать связь между библиотеками ieee и floatfixlib vhdl. Краткое описание причины их развития, краткая временная шкала и их нынешний статус были бы идеальными.

+1

Никогда не слышал о floatfixlib. Я подозреваю, что это было неофициальное имя для библиотеки, а не ieee_proposed. Вы должны спросить их, почему ... –

+1

Пакет fixed_pkg доступен в -2008 в библиотеке ieee. Исправленный_pkg до 2008 года, найденный в fixed_pkg_c.vhdl, более или менее идентичен, хотя сгенерированный пакет генерирует константы в зависимости от типов округления, определенных в пакете fixed_float_types, найденном в fixed_float_types_c.vhdl. Если ваш код компилируется с новой библиотекой и использует клаузулы, то почти гарантировано, что вы поступили правильно. Было бы целесообразно проверить дизайн, который содержится в моделировании поведения. – user1155120

+1

_c.vhdl происходит из дистрибутива vhdl2008c, который обеспечивает совместимость с версиями VHDL более ранних версий (особенно -1993, которые поддерживаются поставщиками синтеза в 2006 году). Фиксированные и плавающие пакеты были приняты в редакции -2008, см. IEEE Std 1076-2008 16.10 Пакет с фиксированной точкой и 16.11 Плавающая точка. Они включены в библиотеку ieee. Если у вас есть -2008 совместимые инструменты, вы можете их использовать. См. Также Приложение G G.4. Использование пакета с фиксированной точкой. – user1155120

ответ

2

fphdl в ссылке обозначен Floating-Point HDL Packages, доступный как для VHDL, так и для Verilog и предоставляющий синтетические пакеты для стандарта IEEE-754 для двоичной арифметики с плавающей запятой.

Часть VHDL, представленная в качестве предложения VHDL-200x-fp для добавления пакетов к следующей ревизии стандарта (IEEE Std 1076-2008).

Имена файлов VHDL, которые вы указываете, указывают, что они взяты из дистрибутива совместимости -1993, предоставленного вместо широкого распространения версии -2008, принятого разработчиками синтеза. Связи со всеми zip-файлами все мертвы, а исходные файлы VHDL для общего совместимого с -1993 могут быть доступны в интернет-архиве fphdl.

Первоначально вы могли бы получить доступ к отдельным датированных распределения поставщиков целевых, которые включены README файлы, которые говорят вам цель:

This is the "ieee_proposed" library. This is a compatability library, which is designed to provide all of the functionality of the VHDL-200X-FT packages in VHDL-93. The "_c" after the package name is used to denote that this is a 1993 compliant version of this package. Otherwise, the name of the file and the name of the package are the same.

Please compile the following files into a library named "ieee_proposed": standard_additions_c.vhdl
env_c.vhdl
standard_textio_additions_c.vhdl
std_logic_1164_additions.vhdl
numeric_std_additions.vhdl
numeric_std_unsigned_c.vhdl
fixed_pkg_c.vhdl
float_pkg_c.vhdl

Фиксированный и поплавок пакеты были приняты в редакции -2008, см IEEE Std 1076-2008 16.10 Пакет с фиксированной точкой и 16.11 Плавающая точка. Они включены в библиотеку ieee. Если у вас есть -2008 совместимые инструменты, вы можете их использовать. См. Также Приложение G G.4. Использование пакета с фиксированной точкой.

Вместо использования инструментов VHDL, совместимых с версией -2008, содержащими в пакете fixed_pkg этого пакета, вы можете скомпилировать эти источники, пригодные для синтеза, в библиотеку.

Как вы можете видеть из комментариев Брайана и Джима, пакеты могут быть нацелены на другую библиотеку ресурсов (включая работу) с небольшим перерывом с использованием предложений в необходимых пакетах.

Начиная с 2011 года, производители синтезов были распространены для поддержки этих пакетов в библиотеке ieee_, предлагая поддержку плавающей точки синтеза VHDL.Некоторое количество поставщиков предоставило предварительно проанализированные библиотеки ресурсов.

Если ваш код анализирует и уточняет ссылки на них в библиотеке ieee_proposed, вы либо проанализировали пакеты в библиотеке, либо предоставили ваш поставщик, который также может предложить совместимость -2008, где эти пакеты находятся в библиотеке ieee.

Невозможно проанализировать код в пакетах ресурсов самостоятельно. У Stackoverflow есть несколько вопросов, демонстрирующих трудности, связанные с конкретными поставщиками. Исторически они, как правило, демонстрировали языковые проблемы VHDL -1993 в инструментах поставщиков, требующих обходных решений. Хорошей новостью является то, что пользовательский спрос на эти функции помог вождению устройства -2008.

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

Потеря легкодоступной истории является результатом недавнего прекращения Accellera хостинга веб-сайтов vhd.org/eda.org. Accellera первоначально разработала ревизию стандарта VHDL -2006 под их эгидой, которая после различных изменений стала стандартной версией IEEE-2008.

 Смежные вопросы

  • Нет связанных вопросов^_^