ベクトルの配列を入力または強制する方法を知っている人はいますか?私はそれがそうだと信じていますが、うまくいきません。ベクトルの入力と配列を強制する方法
--------- Test Bench ---------------
LIBRARY ieee;
USE ieee.std_logic_1164.all;
use work.mypackage2.all;
ENTITY test_bench IS
PORT (H : in enter_vector := ("1100","0011","1111","1101","1100","0011","1111","1101","1100","0011","1111","1101","1100","0011","1111","1101");
L : in enter_vector := ("1100","0011","1111","1101","1100","0011","1111","1101","1100","0011","1111","1101","1100","0011","1111","1101");
X : out integer);
END entity;
ARCHITECTURE comportamento OF test_bench IS
COMPONENT MUX is
Port (SEL : in STD_LOGIC;
H : in enter_vector;
L : in enter_vector;
X : out enter_vector;
Sinal: out std_logic -- it is 1 if H and 0 if L
);
END COMPONENT;
COMPONENT choose is
Port (SEL : in STD_LOGIC;
E : in enter_vector;
X : out integer);
END COMPONENT;
signal VC : enter_vector;
signal sin,sel: std_logic;
BEGIN
m: MUX PORT MAP (sel,H,L,VC,sin);
cc: choose PORT MAP (sin,VC,X);
END comportamento;
------- Type Created-----
library IEEE;
use IEEE.STD_LOGIC_1164.all;
package mypackage2 is
type enter_vector is array (15 to 0) of std_logic_vector(3 downto 0); -- array of bytes
end mypackage2;
package body mypackage2 is
end mypackage2;
'to'の代わりに、'あなたの質問には、問題を示すものではありませんdownto'でNULL配列(IEEE STD 1078から2008 5.3.2.2インデックスの制約や個別の範囲)を定義するタイプのenter_vectorを宣言する以外に。ポートの実際の(6.5.6.3 Port句)には同じタイプが必要です。おそらくあなたのコードは分析され、 'H'と' L'は情報を持たないでしょう。あなたの質問には、[最小限の、完全で検証可能な例](https://stackoverflow.com/help/mcve)はありません。 – user1155120