[求助] vsim-3812 Design is being optimized... Type mismatch for port

innerpeace   2012-4-11 20:33 楼主

开发环境:ise 10.1和modelsim 6.5se
check syntax可以通过,用modelsim仿真工程,出现如下错误:

# vsim -lib work -t 1ps p46_example_4_2_tbw
# ** Note: (vsim-3812) Design is being optimized...
# ** Error: p46_example_4_2_tbw.vhw(48): (vopt-1133) Type mismatch for port "output" in component "p46_example_4_2" when binding to entity "p46_example_4_2".
# ** Error: p46_example_4_2.vhd(36): Vopt Compiler exiting
# Error loading design
# Error: Error loading design
#        Pausing macro execution
# MACRO ./p46_example_4_2_tbw.fdo PAUSED at line 7

具体代码:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity p46_example_4_2 is
    GENERIC (n : INTEGER := 7);
    Port ( input : in  STD_LOGIC_VECTOR(n downto 0);
           output : out  STD_LOGIC);
end p46_example_4_2;

architecture Behavioral of p46_example_4_2 is

begin
    PROCESS(input)
      VARIABLE temp : STD_LOGIC;
    BEGIN
      temp := '0';
    FOR i IN input'RANGE LOOP
        temp := temp XOR input(i);
    END LOOP;
   
    output <= temp;
  END PROCESS;

end Behavioral;

问题虽已解决,但不知道为什么会出现这种情况,恳请大侠指点,以免以后不再出现。解决的方法是重新建一个仿真文件,及TBW文件。

回复评论 (4)

从代码上看不出问题,可能是软件应用上有问题.

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2012-4-12 12:49
找到了一点原因。就是先前,当我的输入输出为BIT或BIT_VECTOR型时,便会出现上面的错误;后来改成STD_LOGIC就没有错误了。

但是BIT不是可以综合的吗,怎么仿真都不行呢?
点赞  2012-4-14 10:50

再贴一段代码,这段代码也会出现同样的问题

entity no_declaration_test is
    port(
             inp : IN BIT;
                  outp : OUT BIT   
                  );
end no_declaration_test;

architecture Behavioral of no_declaration_test is

begin
    outp <= NOT inp;

end Behavioral;
点赞  2012-4-14 14:14

看来就像很多电脑问题一样,重启动就好了

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2012-4-26 21:50
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复