VHDL: сравнение большого вектора со значением и присвоение значений - PullRequest
0 голосов
/ 12 сентября 2018

Я хочу сравнить вектор 32 бит. например,

bit_vector: в std_logic_vector (от 0 до 31); ... if (bit_vector / = zero) тогда .... - Здесь я хочу проверить, является ли он нулем или нет.

Что будет писать вместо этого " ноль "? любой компактный формат?

Я думаю, мы напишем if (bit_vector / = x'0 ') ? - не уверен

Пожалуйста, объясните, как проверить здесь? и если я хочу присвоить какое-то начальное значение любому другому сигналу, то каким будет метод. * например 1013 *

сигнал some_signal: std_logic_vector (от 0 до 31): = ??? --- Я хочу знать параметры, отличные от указанных " 00000000110000010101010100000000 ".

Спасибо и ура

Тахир

1 Ответ

0 голосов
/ 12 сентября 2018

Первая часть вашего вопроса может быть написана так:

if bit_vector /= (bit_vector'range=>'0') then

Некоторые примеры для второй части:

...
use ieee.numeric_std.all;
...

signal some_signal : std_logic_vector(0 to 31) := x"00000000";
signal some_signal : std_logic_vector(0 to 31) := "00000000_00000000_00000000_00000000";
signal some_signal : std_logic_vector(0 to 31) := (3=>'1', 17=>'1', others=>'0');
signal some_signal : std_logic_vector(0 to 31) := std_logic_vector(to_unsigned(123456789, 32));
...