VHDL: конвертировать std_logic в std_logic_vector - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь создать 4-битный сумматор с переносом и выводом, но у меня возникают проблемы с преобразованием Cin (перенос) в тип std_logic_vector при суммировании суммируемых и суммируемых значений в архитектуре ниже. Есть ли у вас какие-либо идеи, как я могу привести эти типы в соответствие, чтобы я мог выполнять арифметику на них вместе?

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity four_bit_adder_simple is
        port(
                A, B : in std_logic_vector(3 downto 0);
                Cin : in std_logic;
                Sum : out std_logic_vector(3 downto 0);
                Cout : out std_logic);
end four_bit_adder_simple;

architecture unsigned_impl of four_bit_adder_simple is
    signal total : std_logic_vector(4 downto 0);
begin
        Sum <= std_logic_vector(resize(unsigned(A),5) + resize(unsigned(B),5));
        total <= Sum + Cin;
        Cout <= total(4);
end unsigned_impl;

РЕДАКТИРОВАТЬ: Это была ошибка, что я сделал Cout 2-битный std_logic_vector. Это должно было быть просто std_logic.

...