gpt4 book ai didi

VHDL:将数值放入 STD_LOGIC_VECTOR 变量的代码

转载 作者:行者123 更新时间:2023-12-04 22:00:30 28 4
gpt4 key购买 nike

我想在 STD_LOGIC_VECTOR 类型的变量中输入一个数字,但编译器有问题。

signal cl_output_ChA :   STD_LOGIC_VECTOR (16-1 downto 0);

cl_ouput_ChA <= 111111111111111;

编译器给了我这两条消息:
  • 111111111111111 的整数值大于 integer'high。
  • cl_output_ChA 的类型与 1111111111111111 的类型不兼容。

  • 谁能给我一个合适的代码行来在这个变量中放入一个特定的数值?
    非常感谢。

    最佳答案

    首先,错误是因为您写的数字被视为整数。

    我认为你的意思是数字是二进制的?在这种情况下,请使用“”。

    cl_ouput_ChA <= "111111111111111";

    你也可以选择十六进制,x""。
    cl_ouput_ChA <= x"ffff";

    如果你想为 std_logic_vector 分配一个整数,那么你可以这样做。
    library IEEE;
    use IEEE.Std_Logic_1164.all;
    use IEEE.Numeric_STD.all;

    ...

    cl_ouput_ChA <= std_logic_vector(to_unsigned(12345, ch1_ouput_ChA'length)); -- natural
    cl_ouput_ChA <= std_logic_vector(to_signed(12345, ch1_ouput_ChA'length)); -- signed

    其中 12345 是整数(或自然数),16 是宽度。

    关于VHDL:将数值放入 STD_LOGIC_VECTOR 变量的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6695549/

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