使用eigth的VHDL 8位全加器1位全加器

时间:2018-06-21 01:41:47

标签: vhdl

晚上好,我试图在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位加法器。

1 个答案:

答案 0 :(得分:0)

让我们将您提供的代码称为“ onebitfulladder”。您应该有一个VHDL文件onebitfulladder.vhd

您将要创建一个新文件“ eightbitadder”,在其中声明并实例化组件“ onebitfulladder”。

有很多教程介绍了如何在VHDL中创建组件: https://www.ics.uci.edu/~jmoorkan/vhdlref/compinst.html

然后您可以通过实例化8个onebitfulladder来创建8-bitadder