VHDL は初めてで、コードをコンパイルしようとすると次のエラーが表示されます。
エラー (10476): adder42.vhd(23) での VHDL エラー: 識別子「Cout」のタイプが std_logic_vector タイプとしての使用法と一致しません
ここで何を変更すればよいかよくわかりません。とにかく、ほとんどすべてのコードがここに示されているので、指示に従って間違えたのか、それともコードに何か問題があるのか わかりません。与えられました。
ソースは次のとおりです。
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
USE work.fulladd_package.all;
ENTITY adder42 IS
PORT( SW : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
LEDG : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
LEDR : OUT STD_LOGIC_VECTOR(1 DOWNTO 0));
END adder42;
ARCHITECTURE Structure OF adder42 IS
SIGNAL c : STD_LOGIC_VECTOR(1 TO 3);
SIGNAL x, y : STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL s : STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL Cin, Cout: STD_LOGIC;
BEGIN
Cin <= SW(8);
x <= SW(3 DOWNTO 0);
y <= SW(7 DOWNTO 4);
LEDG <= s;
LEDR <= Cout;
stage0: fulladd PORT MAP( Cin, x(0), y(0), s(0), c(1));
stage1: fulladd PORT MAP( c(1), x(1), y(1), s(1), c(2));
stage2: fulladd PORT MAP( c(2), x(2), y(2), s(2), c(3));
stage3: fulladd PORT MAP( c(3), x(3), y(3), s(3), Cout);
END Structure;