Почему я не получаю вывод в этот 4-битный полный сумматор ряби? - PullRequest
0 голосов
/ 12 апреля 2020

Я хочу реализовать 4-битный полный сумматор в VHDL, используя поведенческий метод. Тем не менее, я не получаю никакого вывода для S и Cout. Когда я запускаю осциллограмму на Modelsim, я получаю только строки, направленные на ноль, в то время как вывод соответствует правильному треку в соответствии с вводом, который я использую в каждый момент.

Вот код полного сумматора:

library ieee;
use ieee.std_logic_1164.all;

entity fa is port(
    A, B, Cin: in std_logic;
    S, Cout : out std_logic);
end fa;

architecture dataflow of fa is
begin
    S <= A xor B xor Cin;
    Cout <= (A and B) or ((A xor B) and Cin);
end dataflow;

Вот код для 4-битного полного сумматора:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity bit_adder is
    Port ( A : in STD_LOGIC_VECTOR (3 downto 0);
           B : in STD_LOGIC_VECTOR (3 downto 0);
           S : out STD_LOGIC_VECTOR (3 downto 0);
           Cout : out STD_LOGIC);
end bit_adder;

architecture dataflow10 of bit_adder is

    signal Cin: std_logic_vector(3 downto 0);

    component fa is
        Port ( A : in STD_LOGIC;
               B : in STD_LOGIC;
               Cin : in STD_LOGIC;
               S : out STD_LOGIC;
               Cout : out STD_LOGIC);
    end component;

begin

    Cin(0) <= '0';
    FA1: fa port map( A(0), B(0), Cin(0), S(0), Cin(1));
    FA2: fa port map( A(1), B(1), Cin(1), S(1), Cin(2));
    FA3: fa port map( A(2), B(2), Cin(2), S(2), Cin(3));
    FA4: fa port map( A(3), B(3), Cin(3), S(3), Cout);

end dataflow10;

Спасибо !!

...