gpt4 book ai didi

compare - VHDL 无符号向量与整数比较

转载 作者:行者123 更新时间:2023-12-02 00:21:11 26 4
gpt4 key购买 nike

在 vhdl 中,假设我有一个无符号向量定义如下:

signal s_col_rd_check : unsigned(7 downto 0);

现在,我是否使用以下库,

use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

或以下内容

use ieee.numeric_std.all;

我可以按如下方式在无符号向量和整数值之间进行比较吗?

some_assignment <= '1' when (s_col_rd_check < 190) else '0';

其中 190 只是一个整数。无论我使用其中一个库,上述比较是否相同?

谢谢,——鲁迪

最佳答案

ieee.std_logic_arithieee.std_logic_unsigned 是 Synopsys 专有软件包,定义为 IEEE VHDL 标准的一部分。因此,这些包使用 ieee 库名称具有误导性,因为它们定义为 IEEE 标准的一部分。

快速Google search for "std_logic_arith.vhd"产生了至少三个不同版本的软件包,因此您问题的答案可能取决于您正在使用的专有软件包的版本...这是一个强烈的迹象,表明使用这些专有软件包不是正确的方法,如果您希望在不同的工具中具有明确定义且相同的设计行为。

因此,可靠的方法是仅使用 ieee.numeric_std,它是 IEEE VHDL 标准的一部分,因此具有明确定义的行为。

使用 use ieee.numeric_std.all;,您可以在以下位置进行比较:

some_assignment <= '1' when (s_col_rd_check < 190) else '0';

因为 ieee.numeric_std 定义了该函数:

function "<" (L: UNSIGNED; R: NATURAL) return BOOLEAN;

关于compare - VHDL 无符号向量与整数比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23253768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com