Testing Vivado上的模拟加载永远不会结束

Testing Vivado上的模拟加载永远不会结束,testing,vhdl,simulation,xilinx,vivado,Testing,Vhdl,Simulation,Xilinx,Vivado,我正在尝试测试我的VHDL代码,例如: entity fulladder4bit is port( a,b,cin: in std_logic; s,cout: out std_logic); end fulladder4bit; architecture FA4 of fulladder4bit is signal p,g: std_logic; begin p<= a xor b; g<= a and b; s<

我正在尝试测试我的VHDL代码,例如:

entity fulladder4bit is
    port( a,b,cin: in std_logic;
          s,cout: out std_logic);
end fulladder4bit;

architecture FA4 of fulladder4bit is
    signal p,g: std_logic;
begin
    p<= a xor b;
    g<= a and b;
    s<= p xor cin;
    cout<= g or (p and cin);
end FA4;
实体fulladder4bit为
端口(a、b、cin:std_逻辑中;
s、 cout:输出标准逻辑);
结束全加器4位;
全加器4位的结构FA4为
信号p,g:std_逻辑;
开始

p试验台中的过程将无限循环。您需要以
等待结束它语句。Vivado中没有任何增量饱和引擎吗?我很肯定modelsim会抱怨的。我很惊讶。@JHBonarius我加了
等等结束流程前的语句<代码>结束流程状态修复,但它是一样的!谢谢你btw@grorel不,我今天删除并重新安装了Vivado,但它是一样的!感谢您的回复。fulladder4bit的测试台实例化可能未绑定。注意:组件声明使用类型bit,而实体FULLADER4BIT声明使用std_逻辑(这需要use子句中引用的包std_逻辑_1164,其中库子句在根声明区域的上下文子句中引用ieee)@user1155120我试图将所有的
std_逻辑
语句转换成
bit
语句,它给了我两个错误
entity fulladd4_testbench is
end fulladd4_testbench;

architecture FA4_TB of fulladd4_testbench is
    component fulladder4bit is
        port( a,b,cin: in bit;
              s,cout: out bit);
    end component;

    signal iA: bit;
    signal iB: bit;
    signal iCin: bit;
    signal oS: bit;
    signal oCout: bit;

begin
    fa4: fulladder4bit port map(iA, iB, iCin, oS, oCout);

process
    begin
        iA<='1';
        iB<='1';
        iCin<='0';    
end process;
end FA4_TB;

end FA4_TB;