Vhdl 错误:#**致命:(vsim-3807)端口的组件和实体类型不匹配;XOUT";。尝试运行模拟时

Vhdl 错误:#**致命:(vsim-3807)端口的组件和实体类型不匹配;XOUT";。尝试运行模拟时,vhdl,quartus,Vhdl,Quartus,我不熟悉VHDL,所以我不知道警告是什么意思。我正在尝试制作一个简单的异或门。代码能够编译,但在尝试运行模拟时出现了14个警告和一个致命错误。我认为我遇到的问题与我不确定输入/输出端口不受约束意味着什么,或者如何使其受到约束有关 这是我的密码: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY C1XOR IS PORT(IN1,IN2:IN BIT; XOUT :OUT BIT); END C1XOR; ARCHITECT

我不熟悉VHDL,所以我不知道警告是什么意思。我正在尝试制作一个简单的异或门。代码能够编译,但在尝试运行模拟时出现了14个警告和一个致命错误。我认为我遇到的问题与我不确定输入/输出端口不受约束意味着什么,或者如何使其受到约束有关

这是我的密码:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY C1XOR IS
PORT(IN1,IN2:IN BIT;
         XOUT :OUT BIT);
END C1XOR;

ARCHITECTURE below of C1XOR IS
SIGNAL IN1_inverted:BIT;
SIGNAL IN2_inverted:BIT;
SIGNAL AND1OUT:BIT;
SIGNAL AND2OUT:BIT;

COMPONENT and_gate IS
    PORT(X,Y:IN BIT;
             Z:OUT BIT);
END COMPONENT and_gate;

COMPONENT or_gate IS
    PORT(A,B:IN BIT;
             C:OUT BIT);
END COMPONENT or_gate;

COMPONENT invert_gate IS
    PORT(D:IN BIT;
          E:OUT BIT);
END COMPONENT invert_gate;

BEGIN
    G1:invert_gate
        PORT MAP(
            D=>IN1,
            E=>IN1_inverted);

    G2:invert_gate
        PORT MAP(
            D=>IN2,
            E=>IN2_inverted);

    G3:and_gate
        PORT MAP(
            X=>IN1,Y=>IN2_inverted,
            Z=>AND1OUT);

    G4:and_gate
        PORT MAP(
            X=>IN2,Y=>IN1_inverted,
            Z=>AND2OUT);

    G5:or_gate
        PORT MAP(
            A=>AND1OUT, B=>AND2OUT,
            C=>XOUT);
END below;

ENTITY and_gate IS
PORT(X,Y:IN BIT;
         Z:OUT BIT);
END and_gate;

ARCHITECTURE and_arc of and_gate IS
BEGIN
    Z<= X AND Y;
END and_arc;

ENTITY or_gate IS
PORT(A,B:IN BIT;
         C:OUT BIT);
END or_gate;

ARCHITECTURE or_arc of or_gate IS
BEGIN
    C<= A OR B;
END or_arc;

ENTITY invert_gate IS
PORT(D:IN BIT;
      E:OUT BIT);
END invert_gate;

ARCHITECTURE invert_arc of invert_gate IS
BEGIN
    E<= NOT D;
END invert_arc;
ieee库;
使用ieee.std_logic_1164.ALL;
实体C1XOR是
端口(IN1,IN2:IN位;
XOUT:输出位);
端C1XOR;
下面是C1XOR的体系结构
信号输入1_反转:位;
2_反转信号:位;
信号和1输出:位;
信号AND2输出:位;
组件和_门是
端口(X,Y:以位为单位;
Z:输出位);
端部组件和U形浇口;
组件或_门不可用
端口(A,B:以位为单位;
C:输出位);
端部组件或U形浇口;
组件反转门为
端口(D:以位表示;
E:输出位);
端部元件反弧门;
开始
G1:反转门
港口地图(
D=>IN1,
E=>IN1_倒置);
G2:反转门
港口地图(
D=>IN2,
E=>IN2_倒置);
G3:和_门
港口地图(
X=>IN1,Y=>IN2,
Z=>AND1OUT);
G4:和_门
港口地图(
X=>IN2,Y=>IN1_倒转,
Z=>AND2OUT);
G5:或门
港口地图(
A=>和1输出,B=>和2输出,
C=>XOUT);
在下面结束;
实体和_门是
端口(X,Y:以位为单位;
Z:输出位);
尾门和尾门;
和门的建筑和弧度是
开始

ZThe Modelsim vsim-3807表示,在细化过程中,实体声明上XOUT的端口类型与组件声明的同名端口类型不匹配。问题的VHDL中没有演示该问题。是否在某处用声明的组件实例化了c1xor?Synopsys的问题是无关的,我不这么认为。我对VHDL还是相当陌生的。除了将C1XOR声明为一个实体并列出其端口之外,我还需要对它做些什么吗?您的代码很好。它不会尝试模拟,而且您也不会说模拟错误是什么,因此如果您想进一步了解,您需要发布模拟代码。sdc警告是不相关的。显示的VHDL分析、阐述和模拟。XOUT是c1xor上的模式输出端口。在精化过程中,当组件声明中的端口类型与实体声明不匹配时,该错误可能会出现在未看到的testbench组件实例化中。没有提供测试台。“设计编译器”警告是由于缺少。测试台不是合成的。Modelsim vsim-3807表示,在细化过程中,实体声明上XOUT的端口类型与组件声明的同名端口类型不匹配。问题的VHDL中没有演示该问题。是否在某处用声明的组件实例化了c1xor?Synopsys的问题是无关的,我不这么认为。我对VHDL还是相当陌生的。除了将C1XOR声明为一个实体并列出其端口之外,我还需要对它做些什么吗?您的代码很好。它不会尝试模拟,而且您也不会说模拟错误是什么,因此如果您想进一步了解,您需要发布模拟代码。sdc警告是不相关的。显示的VHDL分析、阐述和模拟。XOUT是c1xor上的模式输出端口。在精化过程中,当组件声明中的端口类型与实体声明不匹配时,该错误可能会出现在未看到的testbench组件实例化中。没有提供测试台。“设计编译器”警告是由于缺少。测试台不是合成的。