gpt4 book ai didi

VHDL:零扩展固定信号值

转载 作者:行者123 更新时间:2023-12-05 03:14:42 25 4
gpt4 key购买 nike

如何对固定信号值进行零扩展?

我有以下信号:

signal shamt: std_logic_vector(4 downto 0);

在我将它分配给另一个大小为 31 到 0 的变量之前,我必须将 shamt 扩展为零。我有以下代码,但我不确定它是否正确。

muxSOut <= conv_std_logic_vector(unsigned(shamt),32) when (muxSSel = '0') else A;

我对 conv_std_logic_vector(unsigned(shamt), 32) 部分持怀疑态度。

这是否会将 5 位大小的 shamt 扩展到 32 位?因此,如果 shamt 是 11011,它只会是 27 个 0,然后是 11011?如果不是,那么将 shamt 归零的正确方法是什么?

最佳答案

一种(标准)方法是使用 ieee.numeric_stdresize()。例如:

muxSOut <= std_logic_vector(resize(unsigned(shamt), 32)) ...

这样做的一个好处是您可以将 32 替换为 muxSOut'length,然后您的代码会变得更加灵活。

关于VHDL:零扩展固定信号值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23548345/

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