Почему стандартная библиотека IEEE vhdl не является STL?

StackOverflow https://stackoverflow.com/questions/2093517

  •  21-09-2019
  •  | 
  •  

Вопрос

Справочное руководство по языку IEEE vhdl определило только ограниченный набор стандартных пакетов.И в нем не определены функциональные возможности стандартных типов, таких как STD_LOGIC.Таким образом, нет стандартных компонентов / оператора AND2, INV.

Похоже, что MAX + Plus II от Altera не поддерживают компоненты AND2, INV (если они есть, пожалуйста, не стесняйтесь поправлять меня), но Xilinx Foundation поддерживает.

Почему стандартная библиотека IEEE vhdl не смогла стать чем-то вроде STL в мире C ++?

Спасибо.

Это было полезно?

Решение

Инвертировать, И, Или,...для типов std_logic являются поддерживается библиотеками IEEE:

a <= b and c
d <= not e
f <= g or h

Ваш инструмент синтеза автоматически преобразует эти выражения в наилучшую реализацию для вашей целевой технологии (Xilinx FPGA, Altera FPGA, ASIC, ...).Нет необходимости явно создавать экземпляры компонентов, специфичных для конкретной технологии.Создание экземпляров компонентов, специфичных для конкретной технологии, может даже препятствовать оптимизации.

Вы всегда должны пытаться написать свой VHDL-код независимая от технологии.Это позволяет вам повторное использование код.

Другие советы

"Компоненты", которые вы запрашиваете, являются операторами в VHDL.

Вы также можете напрямую создавать экземпляры таких вещей, как компоненты AND2 и INV, но вам нужно будет создать эти библиотеки (или использовать предоставленные для вас библиотеки).

Потому что программное обеспечение для проектирования ПЛИС тесно связано с целевым чипом, и есть только два предприятия, способных разработать такое программное обеспечение.Max + PlusII от Altera может поддерживать только чипы, поставляемые от Altera, как и Xilinx.Эти поставщики контролируют весь процесс проектирования fpga, от программного обеспечения до аппаратного обеспечения.Затем они стремятся разработать конкретную функцию, ориентированную на их собственную платформу.Таким образом, стандартная библиотека IEEE не может быть чем-то вроде STL в мире C ++.

AND2 является primitive из Altera Max+ PlusII, но это не primitive из Xilinx Webpack.На самом деле мы могли бы разработать наш собственный компонент AND2(который Xilinx выбирает для предоставления в пакете unisim, но мы выбираем не загружать этот пакет).

INV не является primitive ни из Altera Max + PlusII, ни из Xilinx WebPack.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top