(VHDL) Я получаю сообщение об ошибке при попытке вывода из массива - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь вывести данные внутри массива на 7-сегментный дисплей на моей плате DE1-SoC.

Вот мои переменные:

display : out std_logic_vector (6 downto 0);

type bigDisplay is array (0 to 4, 0 to 6) of bit;

signal displayArray : bigDisplay;

Вот код:

display <= displayArray (0, 6-0);

Это ошибка, которую я получаю:

Error (10381): VHDL Type Mismatch error at Final_Project.vhd(326): indexed name returns a value whose type does not match "std_logic_vector", the type of the target expression

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

1 Ответ

0 голосов
/ 05 декабря 2018

Есть какая-то конкретная причина использования bit?Вы можете так же легко создать массив std_logic_vector:

type bigDisplay is array(0 to 4) of std_logic_vector(6 downto 0);
signal displayArray : bigDisplay;

Затем просто (после инициализации displayArray со значениями, конечно):

display <= displayArray(0);

и т. Д., Или как угодноиндекс, который вы хотите, чтобы назначить значения из вашего массива на дисплей.

...