You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VHDL仿真报错(vsim-3807):out1端口组件与实体类型不匹配求助

多路分配器仿真类型不匹配错误求助

我查遍了同类问题的提问,要么信息不足没得到解答,要么方案不适用我的场景。在进行多路分配器仿真时出现如下错误:

# vsim -novopt -c -t 1ps -L fiftyfivenm -L altera -L altera_mf -L 220model -L sgate -L altera_lnsim work.demultiplexer_vhd_vec_tst 

# Start time: 19:44:15 on Apr 10,2023

# Loading std.standard

# Loading std.textio(body)

# Loading ieee.std_logic_1164(body)

# Loading work.demultiplexer_vhd_vec_tst(demultiplexer_arch)

# Loading ieee.vital_timing(body)

# Loading ieee.vital_primitives(body)

# Loading fiftyfivenm.fiftyfivenm_atom_pack(body)

# Loading fiftyfivenm.fiftyfivenm_components

# Loading work.demultiplexer(structure)

# ** Fatal: (vsim-3807) Types do not match between component and entity for port "out1".

# Time: 0 ps  Iteration: 0  Instance: /demultiplexer_vhd_vec_tst/i1 File: LabNine.vho Line: 39

# FATAL ERROR while loading design

# Error loading design

# End time: 19:44:15 on Apr 10,2023, Elapsed time: 0:00:00

# Errors: 1 Warnings: 0

Error

核心VHDL代码

ENTITY demultiplexer IS
    PORT (  out1 : OUT BIT_VECTOR (0 TO 7); 
            out2 : OUT BIT_VECTOR (0 TO 7); 
            out3 : OUT BIT_VECTOR (0 TO 7); 
            CLR : OUT BIT; 
            inbus : IN BIT_VECTOR(0 TO 7); 
            S0 : IN BIT; S1 : IN BIT);
END demultiplexer;

ARCHITECTURE dataflow OF demultiplexer IS
BEGIN
process(S0, S1)
    BEGIN
        IF (S0 = '0') and (S1 = '0') THEN
            CLR <= '1';
        ELSIF (S0 = '1') and (S1 = '0') THEN
            out1(0) <= inbus(0);
            out1(1) <= inbus(1);
            out1(2) <= inbus(2);
            out1(3) <= inbus(3);
            out1(4) <= inbus(4);
            out1(5) <= inbus(5);
            out1(6) <= inbus(6);
            out1(7) <= inbus(7);
            CLR <= '0';
        ELSIF (S0 = '0') and (S1 = '1') THEN
            out2(0) <= inbus(0);
            out2(1) <= inbus(1);
            out2(2) <= inbus(2);
            out2(3) <= inbus(3);
            out2(4) <= inbus(4);
            out2(5) <= inbus(5);
            out2(6) <= inbus(6);
            out2(7) <= inbus(7);
            CLR <= '0';
        ELSIF (S0 = '1') and (S1 = '1') THEN
            out3(0) <= inbus(0);
            out3(1) <= inbus(1);
            out3(2) <= inbus(2);
            out3(3) <= inbus(3);
            out3(4) <= inbus(4);
            out3(5) <= inbus(5);
            out3(6) <= inbus(6);
            out3(7) <= inbus(7);
            CLR <= '0';
        END IF;
    END process;
END dataflow;

仿真波形设置

  • S0:50ns跳变周期
  • S1:100ns跳变周期
  • inbus[0]:200ns跳变周期
  • inbus[1]:400ns跳变周期
  • inbus[2]:800ns跳变周期
  • inbus[3]:1600ns跳变周期
  • inbus[4]:3200ns跳变周期
  • inbus[5]:6400ns跳变周期
  • inbus[6]:12800ns跳变周期
  • inbus[7]:25600ns跳变周期
  • 仿真结束时间:51200ns

LabNine.vho相关片段(报错行附近)

ARCHITECTURE structure OF demultiplexer IS

SIGNAL gnd : std_logic := '0';

SIGNAL vcc : std_logic := '1';

SIGNAL unknown : std_logic := 'X';

SIGNAL devoe : std_logic := '1';

SIGNAL devclrn : std_logic := '1';

SIGNAL devpor : std_logic := '1';

SIGNAL ww_devoe : std_logic;

SIGNAL ww_devclrn : std_logic;

SIGNAL ww_devpor : std_logic;

SIGNAL ww_out1 : std_logic_vector(0 TO 7);

SIGNAL ww_out2 : std_logic_vector(0 TO 7);

SIGNAL ww_out3 : std_logic_vector(0 TO 7);

SIGNAL ww_CLR : std_logic;

SIGNAL ww_inbus : std_logic_vector(0 TO 7);

SIGNAL ww_S0 : std_logic;

SIGNAL ww_S1 : std_logic;

SIGNAL \out1[7]~output_o\ : std_logic;

SIGNAL \out1[6]~output_o\ : std_logic;

SIGNAL \out1[5]~output_o\ : std_logic;

SIGNAL \out1[4]~output_o\ : std_logic;

SIGNAL \out1[3]~output_o\ : std_logic;

SIGNAL \out1[2]~output_o\ : std_logic;

SIGNAL \out1[1]~output_o\ : std_logic;

SIGNAL \out1[0]~output_o\ : std_logic;

SIGNAL \out2[7]~output_o\ : std_logic;

SIGNAL \out2[6]~output_o\ : std_logic;

SIGNAL \out2[5]~output_o\ : std_logic;

SIGNAL \out2[4]~output_o\ : std_logic;

SIGNAL \out2[3]~output_o\ : std_logic;

SIGNAL \out2[2]~output_o\ : std_logic;

SIGNAL \out2[1]~output_o\ : std_logic;

SIGNAL \out2[0]~output_o\ : std_logic;

SIGNAL \out3[7]~output_o\ : std_logic;

SIGNAL \out3[6]~output_o\ : std_logic;

SIGNAL \out3[5]~output_o\ : std_logic;

SIGNAL \out3[4]~output_o\ : std_logic;

SIGNAL \out3[3]~output_o\ : std_logic;

SIGNAL \out3[2]~output_o\ : std_logic;

SIGNAL \out3[1]~output_o\ : std_logic;

SIGNAL \out3[0]~output_o\ : std_logic;

...

该多路分配器在DE10-Lite板卡上实物演示完全正常,但仿真时出现上述错误,恳请提供帮助。

内容的提问来源于stack exchange,提问作者Frasher Gray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:17:15