1

在 Quartus II (V15.02) 中编译(步骤分析和综合)时,当我在我的顶级实体中为 qsys 设计分配端口映射时,我收到以下错误:

-------------------------------------------------- ------------

问题详细信息错误:

致命错误:0000000000000000 处的访问冲突模块:quartus_map.exe 无法获取堆栈跟踪

可执行文件:quartus_map
注释:

系统信息
平台:windows64
操作系统名称:Windows 7 //我运行的是Win 10 64bit
操作系统版本:6.2

Quartus II 信息
地址位:64
版本:15.0.2
构建:153
版本:完整版

-------------------------------------------------- ------------

清理项目后(项目 -> 修订名称:* -> 确定),每次运行Analysis & Synthesis时都会出现上述错误。

我的项目包含: VHDL 文件 使用 QSYS 生成的导入 .qip 文件。在 QSYS 中,我确实在第一次出现错误后生成了一个新的 hdl 文件,但是......结果相同。我也删除了数据库订单,但结果仍然相同。该项目奏效

我的项目包含(直到第一次出现错误)一个 Signal Tap 和 .sdc 文件,并且在 sdc 文件中包含以下行:

派生时钟不确定性

派生PLL时钟

我从硬盘驱动器中删除了 .sdc 文件并再次尝试 - 结果相同

我删除了 .qip 文件注释端口映射并编译 - 成功

然后我在 QSYS 中生成了一个新的 HDL 文件。

在此之后,我在 Quartus II 中添加了 .qip 文件(端口映射仍然有注释)-> 成功

然后我取消注释端口映射定义 - >错误

错误信息弹出前的最后几条日志如下:

信息 (10264):altera_trace_transacto_lite.v(206) 中的 Verilog HDL 案例语句信息:此案例语句中的所有案例项表达式都是 onehot
信息 (10264):altera_trace_transacto_lite.v(314) 中的 Verilog HDL 案例语句信息:所有案例项表达式在这种情况下,声明是 onehot
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(92) 处的 Verilog HDL 或 VHDL 警告:对象“state_read_addr”分配了一个值但从未读取
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(96) 处的 Verilog HDL 或 VHDL 警告):对象“state_d1”分配了一个值但从未读取
警告(10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(98)处的Verilog HDL或VHDL警告:对象“in_ready_d1”分配了一个值但从未读取
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(117) 处的 Verilog HDL 或 VHDL 警告:对象“b_startofpacket_wire”分配了一个值但从未读取
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(123) 对象处的 Verilog HDL 或 VHDL 警告分配了一个值但从未读取
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(128) 处的 Verilog HDL 或 VHDL 警告:对象“mem_readdata1”分配了一个值但从未读取
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(13333333333333333333 ):对象“mem_readdata2”分配了一个值但从未读取
警告(10858):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(140)处的Verilog HDL警告:对象 state_waitrequest 已使用但从未分配
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(141) 处的 Verilog HDL 或 VHDL 警告:对象“state_waitrequest_d1”分配了一个值但从未读取
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(144) 处的 Verilog HDL 或 VHDL 警告对象:分配了一个值但从未读取警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(147) 处的 Verilog HDL 或 VHDL 警告:对象“out_empty”分配了一个值但从未读取
警告 (10036):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(150) 处的 Verilog HDL 或 VHDL 警告):对象“out_error”分配了一个值但从未读取
警告(10230):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(285)处的Verilog HDL分配警告:大小为 32 的截断值以匹配目标 (1) 的大小
警告 (10230):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(301) 处的 Verilog HDL 分配警告:大小为 32 的截断值以匹配目标大小 (1)
警告 (10230):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(317) 处的 Verilog HDL 分配警告:截断值大小 32 以匹配目标大小 (1)
警告 (10230):alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(334) 处的 Verilog HDL 分配警告:大小为 32 的截断值以匹配目标大小 (1)
警告 (10036):Verilog HDL 或 VHDL 警告在 alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(92):对象“state_read_addr”分配了一个值但从未读取
Warning (10858): Verilog HDL warning at alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(137): object state_waitrequest used but never assigned
Warning (10036): Verilog HDL or VHDL warning at alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(138): object "state_waitrequest_d1" assigned a value but never read
Warning (10036): Verilog HDL or VHDL warning at alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(141): object "out_channel" assigned a value but never read
Warning (10036): Verilog HDL or VHDL warning at alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(147): object "out_error"赋值但从未读取
Warning (10230): Verilog HDL assignment warning at alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(290): truncated value with size 32 to match size of target (2)
Warning (10230): Verilog HDL assignment warning at alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(311): truncated value with大小 32 以匹配目标大小 (2)
警告 (10230):在 alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(334) 处的 Verilog HDL 分配警告:大小为 32 的截断值以匹配目标大小 (2)
警告 (10230):Verilog HDL 分配警告alt_sld_fab_alt_sld_fab_trfabric_avalon_st_adapter_data_format_adapter_0.sv(353):大小为 32 的截断值以匹配目标 (2) 的大小
警告(10036):alt_sld_fab_alt_sld_fab_host_link_jtag_h2t_timing.sv(82)处的 Verilog HDL 或 VHDL 警告:对象“in_ready”分配了一个值但从未读取
警告(10036):alt_sld_fab_alt_sld_fab_stfabric_mgmt_demux_port_adap.sv 处的 Verilog HDL 或 VHDL 警告)“对象”7分配了一个值但从未读取
警告(10036):alt_sld_fab_alt_sld_fab_stfabric_mgmt_time_adap.sv(84)处的Verilog HDL或VHDL警告:对象“in_ready”分配了一个值但从未读取
信息(12206):2个设计分区需要综合
信息(12213):分区“顶部”需要综合,因为项目数据库不包含此分区的综合后网表
信息 (12213):分区“sld_hub:auto_hub”需要综合,因为项目数据库不包含此分区的综合后网表
信息 (12209):在当前增量编译中,没有设计分区将跳过综合

我尝试使用此代码完成的是测试我路由到 Qsys 系统的 50MHz 外部时钟和来自我在 Qsys 中定义的 PLL 的 10MHz 时钟,每个信号都有一个 LED。这是来自顶级实体的代码:

library IEEE;
use IEEE.STD_LOGIC_1164.all;


entity helloworld_lab1 is
Port (
    clk_50_max10 : in   std_logic;          --50MHz Clock
    --clk_25_max10 : in std_logic;          --25MHz Clock
    --clk_10_adc :  in std_logic;           --10MHz Clock
    cpu_resetn :    in std_logic;           -- Button 0

    
    user_led : out std_logic_vector (4 downto 0);
    user_pb : in std_logic_vector(3 downto 0);  -- Middle Buttons
    
  );

end entity helloworld_lab1;


architecture behaviour of helloworld_lab1 is

        -- Qsys Component --
      component helloworld_lab is
        port (
            clk_clk                               : in  std_logic                    := 'X';             -- clk
            reset_reset_n                         : in  std_logic                    := 'X';             -- reset_n
            pio_switch_external_connection_export : in  std_logic_vector(1 downto 0) := (others => 'X'); -- export
            pio_led_external_connection_export    : out std_logic_vector(2 downto 0);                    -- export
            pll_clock_clk                         : out std_logic                                                       -- export
        );
    end component helloworld_lab;

    Signal cycle_counter : integer range 0 to 50000000;     -- 50 MHz results in 1 Second
    Signal pll_cycle_counter : integer range 0 to 10000000;  -- 10 MHZ results in 1 Second
    Signal led_1sec : std_logic:='0';                               -- Signal LED 0
    Signal led_pll : std_logic :='1';                               -- Signal LED 4
    Signal clock_pll : std_logic;                                       -- Port Map PLL Clock
    
begin
        blink_led_1s : process (clk_50_max10)
        
        begin
            if (rising_edge(clk_50_max10)) then
                cycle_counter <= cycle_counter+1;
                if (cycle_counter>=49999999) then
                cycle_counter<=0;
                    led_1sec<=not led_1sec;
                end if;
            end if;
        end process blink_led_1s;
    
        user_led(0)<=led_1sec;
       -----------------------------------------------------------------------
        
        blink_led_pll : process (clock_pll)
        begin
            if (rising_edge(clock_pll))then
                pll_cycle_counter <= pll_cycle_counter+1;
                if (pll_cycle_counter<=9999999) then
                    pll_cycle_counter<=0;
                    led_pll<=not led_pll;
                end if;
            end if;
        end process blink_led_pll;
        
        user_led(4) <=led_pll;
        ---------------------------------------------------------------------       
    
    
    
        -----------------------------------Qsys port map-----------------------------------------------
        QSYS : component helloworld_lab
        port map (
            clk_clk                               => clk_50_max10,              
            reset_reset_n                         => cpu_resetn,              
            pio_switch_external_connection_export => user_pb(3 downto 2),       
            pio_led_external_connection_export    => user_led(3 downto 1),   
            pll_clock_clk                         => clock_pll                      
        );




end architecture behaviour;

这是Qsys系统的截图。

Qsys 截图

我将不胜感激任何帮助来解决这个问题。

4

0 回答 0