VHDL代码错误:靠近文本e_my.vhd(61)";我的“7segdec”;;期待&引用;,或;“港口”;,或;“通用”;

VHDL代码错误:靠近文本e_my.vhd(61)";我的“7segdec”;;期待&引用;,或;“港口”;,或;“通用”;,vhdl,Vhdl,我正在为一个电路编写代码,该电路包括三个7段显示器和一个带有选择输入的mux,用于选择显示器上出现的字符 library ieee; use ieee.std_logic_1164.all; entity e_my is port(SW : in std_logic_vector(9 downto 0); LEDR : out std_logic_vector(9 downto 0); HEX0, HEX1, HEX2 : out std_l

我正在为一个电路编写代码,该电路包括三个7段显示器和一个带有选择输入的mux,用于选择显示器上出现的字符

    library ieee;
    use ieee.std_logic_1164.all;

entity e_my is

port(SW      : in std_logic_vector(9 downto 0);
      LEDR : out std_logic_vector(9 downto 0);
      HEX0, HEX1, HEX2 : out std_logic_vector(0 to 6));
end entity e_my;
 
architecture a_my of e_my is

component e_my_2bit3to1mux is
port(slv_u, slv_S : in std_logic_vector(1 downto 0);
      slv_v, slv_w : in std_logic_vector(1 downto 0);
      slv_m             : out std_logic_vector(1 downto 0));

end component;

component e_my_7segdec is 

port(slv_C : in std_logic_vector(1 downto 0);
      slv_display: out std_logic_vector(0 to 6));
      
end component;

signal slv_ch_Sel_int : std_logic_vector(1 downto 0);
signal slv_ch1_int,slv_ch2_int,slv_ch3_int : std_logic_vector(1 downto 0);
signal slv_H2_Ch_int,slv_H1_Ch_int, slv_H0_Ch_int : std_logic_vector(1 downto 0);

begin

LEDR <= SW;

slv_ch_Sel_int <= SW(9 downto 8);
slv_ch1_int <= SW(5 downto 4);
slv_ch2_int <= Sw(3 downto 2);
slv_ch3_int <= SW(1 downto 0);

I_M2: e_my_2bit3to1mux port map (slv_S => slv_ch_Sel_int,
                                          slv_u => slv_ch1_int,
                                          slv_v => slv_ch2_int,
                                          slv_w => slv_ch3_int,
                                          slv_m => slv_H2_Ch_int);
                                          
I_M1: e_my_2bit3to1mux port map (slv_S => slv_ch_Sel_int,
                                          slv_u => slv_ch2_int,
                                          slv_v => slv_ch3_int,
                                          slv_w => slv_ch1_int,
                                          slv_m => slv_H1_Ch_int);
                                          
I_M0: e_my_2bit3to1mux port map (slv_S => slv_ch_Sel_int,
                                          slv_u => slv_ch3_int,
                                          slv_v => slv_ch1_int,
                                          slv_w => slv_ch2_int,
                                          slv_m => slv_H0_Ch_int);    
                                          
                                          
I_H2: e_my_7segdec port map (slv_H2_Ch_int, HEX2);

I_H1: e my_7segdec port map (slv_H1_Ch_int, HEX1);

I_H0: e_my_7segdec port map (slv_H0_Ch_int, HEX0);

end architecture a_my;
ieee库;
使用ieee.std_logic_1164.all;
实体e_my是
端口(SW:标准逻辑向量(9到0);
LEDR:输出标准逻辑向量(9到0);
HEX0,HEX1,HEX2:out标准逻辑向量(0到6);
结束实体e_my;
e_my的体系结构a_my
组件e_my_2bit3到1模为
端口(slv_,slv_S:std_逻辑_向量中(1到0);
slv_v,slv_w:标准逻辑向量(1到0);
slv_m:输出标准逻辑向量(1到0);
端部元件;
组件e_my_7segdec为
端口(slv_C:std_逻辑_向量中(1到0);
slv_显示:输出标准逻辑_向量(0到6));
端部元件;
信号slv_ch_Sel_int:标准逻辑向量(1到0);
信号slv_ch1_int、slv_ch2_int、slv_ch3_int:std_逻辑_向量(1到0);
信号slv_H2_Chu_int、slv_H1_Chu int、slv_H0_Chu int:std_逻辑_向量(1到0);
开始
LEDR slv_H2_Chu_int);
I_M1:e_my_2bit3to 1Mux端口映射(slv_S=>slv_Chu Sel_int,
slv_=>slv_ch2_int,
slv_v=>slv_ch3_int,
slv_w=>slv_ch1_int,
slv_m=>slv_H1_Ch_int);
I_M0:e_my_2bit3to 1Mux端口映射(slv_S=>slv_Chu Sel_int,
slv_=>slv_ch3_int,
slv_v=>slv_ch1_int,
slv_w=>slv_ch2_int,
slv_m=>slv_H0_Ch_int);
I_H2:e_my_7segdec端口映射(slv_H2_Ch_int,HEX2);
I_H1:e我的7segdec端口图(slv_H1_CHU int,HEX1);
I_H0:e_my_7segdec端口图(slv_H0_Ch_int,HEX0);
结束我的建筑;
这些都是错误。 两者都位于最后一行,标记为I_H1。我不明白。文本附近有一个“端口”,但它仍然表示它的期望值

错误(10500):文本“my_7segdec”附近e_my.vhd(61)处的VHDL语法错误;应为“;”或“端口”或“通用”
错误(10500):e_my.vhd(61)靠近文本“;”的VHDL语法错误;期望“在第二次实例化中,您在
e
my_7seg
之间缺少一个
。”第一个语法错误是由键入错误引起的。语法错误可能很难生成错误消息,非保留字的标识符还没有意义。在不查找声明的情况下,错误消息读取器会注意到标识符
my_7segdec
没有在任何其他位置使用,也没有声明。在语法中介中,当前的_语句不能以两个连续的常规标识符作为标记开始,而不插入保留字或分隔符。第二个错误是由于对第一个错误的原因做出了无效的假设。