我想比较一个32位的向量。例如
bit_vector:在std_logic_vector中(0到31); ... 如果(bit_vector / =零),那么....-在这里我要检查它是否为零。
将写什么而不是“ 零”?任何紧凑格式?
我认为我们会写 if(bit_vector / = x'0')吗? -不确定
请在这里说明如何检查?如果我想给任何其他信号分配一些初始值,那将是什么方法。例如
signal some_signal:std_logic_vector(0到31):= ??? ---我想了解除“ 00000000110000010101010100000000 ”之类的选项以外的其他选项。
感谢和欢呼
塔希尔
答案 0 :(得分:4)
问题的第一部分可以这样写:
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));