gpt4 book ai didi

VHDL 有符号值

转载 作者:行者123 更新时间:2023-12-04 17:43:54 24 4
gpt4 key购买 nike

我刚开始在大学学习 VHDL 模块,我的讲师不善于解释。如何在 VHDL 中使用/声明有符号值?

这是我所学的基本代码格式,我目前正在编写一个 2 位减法器。其他网站的信息相当困惑。

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_arith.all;

entity TwoBitSubtractor is port(
x,y :in integer range 0 to 3;
result :out integer range 0 to 3);
end TwoBitSubtractor;

architecture gates of TwoBitSubtractor is
begin
result<= x - y;
end gates;

最佳答案

您应该使用signed 类型来指定带符号的值。整数也可以用于以更易读的方式声明值,但是这样你就超出了位级定义,我认为这在 VHDL 中是不希望的。例如,您忽略了用于任何具有 integer 的信号的位数,这对于高级语言可能很好,但对于 VHDL 就不太有用了。

library ieee;
use ieee.numeric_std.all;

entity TwoBitSubtractor is port(
x : in signed(2 downto 0);
y : in signed(2 downto 0);
result : out signed(2 downto 0));
end TwoBitSubtractor;

architecture gates of TwoBitSubtractor is
begin
result <= x - y;
end gates;

查看它们在实体端口中的声明方式。更多signed/unsigned详情请查看here

还有一个使用 testbenchTwoBitSubtractor 在线模拟,检查 here

关于VHDL 有符号值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53140154/

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