Vhdl 如何用寄存器实现4位加法器

Vhdl 如何用寄存器实现4位加法器,vhdl,Vhdl,如何实现带寄存器的4位加法器的体系结构?我希望你能更好地理解我对这个图表的要求 编辑1: 当复位信号为1时,寄存器r1得到0001,寄存器r2得到0000 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY 4bitsAdder IS GENERIC(CONSTANT N: INTEGER := 4); PORT( reset : IN STD_LOGIC; --is this correct? clock : IN STD_LOGIC;

如何实现带寄存器的4位加法器的体系结构?我希望你能更好地理解我对这个图表的要求

编辑1:

当复位信号为1时,寄存器r1得到0001,寄存器r2得到0000

LIBRARY IEEE; 
USE IEEE.STD_LOGIC_1164.ALL; 

ENTITY 4bitsAdder IS
GENERIC(CONSTANT N: INTEGER := 4);
PORT(
reset :  IN STD_LOGIC; --is this correct?
clock : IN STD_LOGIC; -- is this correct?
r1, r2: IN STD_LOGIC_VECTOR(N-1 DOWNTO 0);  
sum: OUT STD_LOGIC_VECTOR(N-1 DOWNTO 0); 
output: OUT STD_LOGIC 
);
END 4bitsAdder;

ARCHITECTURE imp OF 4bitsAdder IS
 COMPONENT adds 
 PORT(
    r1, r2, cIn : in STD_LOGIC;
    sum, output : out STD_LOGIC);
    END COMPONENT;
      SIGNAL carry_sig: std_logic_vector(N DOWNTO 0);
    BEGIN
       -- How can I do this?
   END imp;

r1
r2
不应作为输入。唯一的输入是
时钟
重置
。和
sum
不应作为输出。唯一的输出是
输出
。您也不需要进位信号。您是否已经学习了如何建模单个寄存器?那么r1、r2和sum将是什么?不,我还没有学会如何建模单个寄存器,我以为我知道这个概念,但现在我不知道在您的Fibonacci sequencer(重置值给出了它)中,R1、R2和sum在方框图中似乎不是端口。它们可以是索引范围为4位加法器的数组类型的内部信号,也可以是长度为4的数组类型的输出。您可以将4个单位加法器实例化为4位加法器,也可以使用generate语句来执行此操作,或者创建并实例化4位加法器。R1被分配到输出。@user1155120您能用您提到的4个单位加法器的实现来回答这个堆栈吗?这会有很大帮助