gpt4 book ai didi

if-statement - VHDL 如何在 if 语句中有多个条件

转载 作者:行者123 更新时间:2023-12-04 04:21:12 27 4
gpt4 key购买 nike

我正在尝试做一个 if 语句来检查 bet_target 是否是许多数字之一,代码看起来像这样:

bet_target : in unsigned(5 downto 0);

if (bet_target = 1 or bet_target = 2 or bet_target = 3) then
--do stuff
end if;

下注目标是从 0 到 36 的二进制数字中的任意数字,来自 6 个开关。有没有更压缩的方式来编写这样的声明?

谢谢

最佳答案

如果您使用的是 IEEE 包 numeric_std,您可以像在

if bet_target >= 0 and bet_target <= 36 then
...

请注意,unsigned 期望自然范围整数值作为关系运算符的操作数。

(另请注意,没有包括多余的括号 - 它们是允许的)。

这些关系运算符返回 bool 值,中间的 and 将是一个 bool 逻辑运算符。

在 IEEE numeric_std 包声明和 IEEE Std 1076-2008 9.2 运算符中查找方式和原因的位置。

意识到一个无符号数将有一个自然数的二进制等价物,你可以用一个条件来表达它:

if bet_target <= 36 then
-- do something

end if;

关于if-statement - VHDL 如何在 if 语句中有多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35028588/

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