Вы также можете определить все эти имена с уникальными именами в одном и том же пакете и использовать не объектный псевдоним в entity_declarative_item, block_declarative_item, subprogram_declarative_item, package_declarative_item, package_body_declarative_item, protected_type_body_declarative_item или process_declative_item. С поддержкой -2008 также есть общий тип.

аюсь определить сложный тип (то есть тип, который состоит как из вещественной, так и мнимой части) и пытаюсь найти способ сделать его универсальным.

This my current static code:

  type complex_vector is record
    Re : signed(15 downto 0);
    Im : signed(15 downto 0);
  end record;

Теперь мне интересно, есть ли способ сделать этот родовой, другими словами, что-то вроде:

  type complex_vector (Generic: Integer := WIDTH) is record
    Re : signed(WIDTH downto 0);
    Im : signed(WIDTH downto 0);
  end record;

Я пытался найти решение, а также просмотреть свои книги, но не могу найти решение. Там действительно нет? Без записей можно записать что-то вроде этого:

type blaaa is array (NATURAL range <>) of STD_LOGIC;

Спасибо за любой вклад

РЕДАКТИРОВАТЬ:

Или я мог бы сделать что-то вроде следующего?

type complex_primitives is (re, im);
type complex_vector is array (re to im) of signed(natural range <>);

Компилятор жалуется, хотя ..

Ответы на вопрос(2)

Ваш ответ на вопрос