gpt4 book ai didi

vhdl - 如何在不使用加法器的情况下制作数字的 2 补码

转载 作者:行者123 更新时间:2023-12-05 00:31:32 29 4
gpt4 key购买 nike

在取反数字符号的两个补码中,您通常只需取反每一位并加 1。
例如:

011 (3)
100 + 1 = 101 (-3)

在 VHDL 中是:
a <= std_logic_vector(unsigned(not(a)) + 1);

通过这种方式,合成器使用 N 位加法器。

是否有另一种更有效的解决方案而不使用加法器?

最佳答案

我想没有更简单的方法可以做到这一点,但加法器可能没有你想象的那么糟糕。

如果您尝试将 32 位数字取反,则综合工具可能会从 32 位加法器结构开始。但是后来看到B输入总是连接到 1,由于未使用的门(一个引脚接地的与门,一个引脚连接到逻辑 1 的或门等),它可以“挖空”很多结构。

所以你剩下的我想将是一个相当有效的逻辑块,它只会增加一个输入数字。

关于vhdl - 如何在不使用加法器的情况下制作数字的 2 补码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14539734/

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