晚上好,我试图在vhdl中实现一个8位全加器,但是为此,我需要使用八个完整的1位全加器。我知道如何做8位全加器,但我不知道如何使用八个1位全加器。 我有以下代码:
library IEEE;
use IEEE.std_logic_1164.all;
entity onebitfulladder is
port (num1, num2, carry_in : in std_logic;
result, carry_out : out std_logic);
end onebitfulladder;
architecture behavior of onebitfulladder is
signal S1, S2, S3 : std_logic;
begin
result <= num1 xor num2 xor carry_in;
S1 <= num1 and num2;
S2 <= num1 and carry_in;
S3 <= carry_in and num2;
carry_out <= S1 or S2 or S3;
end behavior;
基本上,我需要使用1位加法器来实现完整的8位加法器。我已经实现了完整的1位加法器,但是我不知道如何使用它来形成8位加法器。
答案 0 :(得分:0)
让我们将您提供的代码称为“ onebitfulladder”。您应该有一个VHDL文件onebitfulladder.vhd
您将要创建一个新文件“ eightbitadder”,在其中声明并实例化组件“ onebitfulladder”。
有很多教程介绍了如何在VHDL中创建组件: https://www.ics.uci.edu/~jmoorkan/vhdlref/compinst.html
然后您可以通过实例化8个onebitfulladder来创建8-bitadder