VHDL:将大向量与值进行比较并赋值

VHDL:将大向量与值进行比较并赋值,vhdl,Vhdl,我想比较一个32位的向量。e、 g 位向量:在标准逻辑向量中(0到31); ... 如果(位向量/=零),则……——这里我想检查它是否为零 用什么来代替“零”“呢?有紧凑的格式吗 我想我们会写如果(位向量/=x'0')不确定 请解释一下如何在这里检查?如果我想给任何其他信号分配一些初始值,那么方法是什么。e、 g 一些信号:标准逻辑向量(0到31):=???——我想知道除“00000000 11000000101010100000000”以外的选项 谢谢,干杯 Tahir问题的第一部分可以这样写

我想比较一个32位的向量。e、 g

位向量:在标准逻辑向量中(0到31); ... 如果(位向量/=零),则……——这里我想检查它是否为零

用什么来代替“零”“呢?有紧凑的格式吗

我想我们会写如果(位向量/=x'0')不确定

请解释一下如何在这里检查?如果我想给任何其他信号分配一些初始值,那么方法是什么。e、 g

一些信号:标准逻辑向量(0到31):=???——我想知道除“00000000 11000000101010100000000”以外的选项

谢谢,干杯


Tahir

问题的第一部分可以这样写:

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));

问题的第一部分可以这样写:

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));

如果我想用十进制数来表示数值,该怎么办?@tahirsengine使用IEEE软件包数值_std来表示这种情况。我更新了我的答案。谢谢。实际上我想测试一个十进制的值。e、 g如果a_变量=8d“5”,请参见该语句,然后。。。。现在,当我输入数据时,ide抱怨这只在VHDL 2008中可用。那么,在这种情况下,我们是解决办法?@tahirsengine要么将IDE切换到VHDL-2008,要么尝试类似于无符号(5,8)的操作。使用VHDL-2008,您还可以编写
:=32d“123456789”它接受123456789作为十进制值,并扩展到32位。其他修饰符有二进制、八进制和十六进制。你应该在
下到
方向使用向量。如果我想用十进制数来表示数值,该怎么办?@tahirsengine在这种情况下使用IEEE package numeric_std。我更新了我的答案。谢谢。实际上我想测试一个十进制的值。e、 g如果a_变量=8d“5”,请参见该语句,然后。。。。现在,当我输入数据时,ide抱怨这只在VHDL 2008中可用。那么,在这种情况下,我们是解决办法?@tahirsengine要么将IDE切换到VHDL-2008,要么尝试类似于无符号(5,8)的操作。使用VHDL-2008,您还可以编写
:=32d“123456789”它接受123456789作为十进制值,并扩展到32位。其他修饰符有二进制、八进制和十六进制。您应该在
向下到
方向使用向量。