Я пытаюсь создать 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.