Dies ist der vhdl-Code. dieses keinen FehlerIch versuche, eine 8bit 4-1 Auswahlschaltung mit vhdl zu machen. Kann mir jemand helfen, was mit diesem Code nicht stimmt?
library IEEE;
use IEEE.std_logic_1164.all;
entity sel4_1 is
port(A, B, C, D : in std_logic;
SEL : in std_logic_vector(1 downto 0);
outsgnl : out std_logic);
end sel4_1;
architecture EX1 of sel4_1 is
begin
process(A, B, C, D, SEL)
begin
case SEL is
when "00" => outsgnl <= A;
when "01" => outsgnl <= B;
when "10" => outsgnl <= C;
when others => outsgnl <= D;
end case;
end process;
end EX1;
Dies hat, ist die Testbank, die den Fehler hat
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity TESTBENCH is
end TESTBENCH;
architecture RTL of TESTBENCH is
component sel4_1
port(A,B,C,D : in std_logic_vector(7 downto 0);
outsgnl : out std_logic);
end component;
signal INA, INB, INC, IND, OUTSGNL : std_logic_vector(7 downto 0);
signal SEL : std_logic_vector(1 downto 0);
begin
U0: sel4_1 port map(INA, INB, INC, IND, SEL, OUTSGNL);
process
begin
INA <= "11111111";
INB <= "11110000";
INC <= "00001111";
IND <= "00000000";
SEL <= "00"; wait for 10 ns;
SEL <= "01"; wait for 10 ns;
SEL <= "10"; wait for 10 ns;
SEL <= "11"; wait for 10 ns;
wait;
end process;
end RTL;
der Fehler, der herauskam ist testbench.vhdl: 19: 27: nicht assoziieren ' ina‘mit Signalschnittstelle "ina"
testbench.vhdl: 19: 27: (Art der 'ina' ist std_logic)
testbench.vhdl: 11: 9: (Art der Signalschnittstelle „ina“ ist ein Subtyp von std_logic_vector)
Bei der Analyse (Compilierung) Testbench fehlt die Komponente Deklaration SEL und hat outsgnl als std_logic (nicht std_logic_vector (7 downto 0) deklariert. Sel4_1 doesn ' • Korrigieren Sie die Deklaration der Komponente entweder mit der Entität sel4_1 und verwenden Sie eine generate-Anweisung, um sie 8-mal zu instanziieren, oder bearbeiten Sie die Entität sel4_1, um ihre A-, B-, C-, D- und Outsignl-Ports std_logic_vector (7 bis 0) zu machen) (und die ersten vorgeschlagenen Änderungen an der Komponentendeklaration vornehmen.) Letzteres simuliert erfolgreich – user1155120