0
すべての可能性のあるケースで私の回路をテストしたい。VHDL信号を送るポートを指定する
私はベクトルで書きましたが、ベクトルの値はポートに接続されていないようです。
私のポートマッピングは良くありませんか?
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY UNISIM;
USE UNISIM.Vcomponents.ALL;
ENTITY lab11_lab11_sch_tb IS
END lab11_lab11_sch_tb;
ARCHITECTURE behavioral OF lab11_lab11_sch_tb IS
COMPONENT lab11
PORT(a : IN STD_LOGIC;
b : IN STD_LOGIC;
c : IN STD_LOGIC;
y : OUT STD_LOGIC);
END COMPONENT;
SIGNAL VECTOR: STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL a : STD_LOGIC;
SIGNAL b : STD_LOGIC;
SIGNAL c : STD_LOGIC;
SIGNAL y : STD_LOGIC;
BEGIN
UUT: lab11 PORT MAP(
a => a,
b => b,
c => c,
y => y
);
stim_proc: PROCESS
BEGIN
VECTOR <= "000";
stimloop : for i in 0 to 8 loop
wait for 10ns;
VECTOR <= std_logic_vector(to_unsigned(i, VECTOR'length));
wait for 10ns;
end loop stimloop;
WAIT;
END PROCESS;
END;
VECTORは実際のa、bc(テストベンチのa、b、c信号)には割り当てられません。集合体がベクトルと同じ長さである集約割り当てでは、 '(a、b、c)<= std_logic_vector(to_unsigned(i、VECTOR'length));を試してみてください。また、 'VECTOR <=" 000000 ";は無効です。正しい表現(文字列リテラル)はVECTORとは異なる長さです。 – user1155120
おかげで答えはあなたの質問にあります: "ベクトルの値は接続されていません"。 – JHBonarius