Вопрос

У меня есть pakcgae, в котором я объявляю множество подтипов и типов.В Active HDL, похоже, возникает проблема всякий раз, когда я пытаюсь создать порт из подтипа, поэтому мне интересно, есть ли способ преобразовать их в типы вместо этого.Следующим будет подтип, который я хотел бы преобразовать:

подтип word_t - это std_logic_vector(от 15 до 0);-- Слово (определение)

Возможно ли это без простого создания типа, который является записью или массивом?спасибо

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

Решение

Не думаю, что возможно напрямую создать type основанный на другом subtype, но без subtype это можно сделать следующим образом:

type word_t is array (15 downto 0) of std_logic;

Однако создание нового type для порта использование порта будет громоздким из-за жесткой природы VHDL.

Альтернативным обходным путем может быть создание subtype с диапазоном для word_t, как:

subtype word_range_t is natural range 15 downto 0;

а затем используйте это subtype с std_logic_vector в port заявление, подобное:

... std_logic_vector(word_range_t);

В этом случае порт по-прежнему совместим с std_logic_vector, и тогда размер слова по-прежнему легко поддерживается.

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