1

Quartus II (V15.02) では、コンパイル中に (Analysis & Synthesis のステップ)、最上位エンティティで qsys デザインのポート マップを割り当てると、次のエラーが発生します。

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

問題の詳細 エラー:

致命的なエラー: 0000000000000000 でのアクセス違反 モジュール: quartus_map.exeCould スタック トレースを取得できませんでした

実行可能ファイル: quartus_map
コメント:
なし

システム情報
プラットフォーム: windows64
OS 名: Windows 7 // Win 10 64 ビット
OS バージョン: 6.2を実行しています

Quartus II 情報
アドレス・ビット: 64
バージョン: 15.0.2
ビルド: 153
エディション: フル・バージョン

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

プロジェクトをクリーンアップした後 (プロジェクト -> リビジョン名: * -> OK)、 Analysis & Synthesisを実行するたびに前述のエラーが発生します。

マイ プロジェクトには以下が含まれます。 VHDL ファイル QSYS で生成されたインポートされた .qip ファイル。QSYS では、最初にエラーが表示された後に新しい hdl ファイルを生成しましたが、同じ結果になりました。私もdbオーダーを削除しましたが、それでも同じ結果です。プロジェクトは機能しました

私のプロジェクトには (最初にエラーが表示されるまで) Signal Tap と .sdc ファイルが含まれており、sdc ファイルには次の行が含まれていました。

派生クロック不確実性

派生_pll_クロック

ハードドライブから .sdc ファイルを削除して再試行しましたが、結果は同じでした

.qip ファイルを削除し、ポート マップをコメントしてコンパイルしました - 成功

次に、QSYS で新しい HDL ファイルを生成しました。

この後、Quartus II に .qip ファイルを追加しました (ポート マップはまだコメントされています) -> 成功

次に、ポートマップ定義のコメントを外しました->エラー

エラー メッセージが表示される前の最後のいくつかのログは次のとおりです。

情報 (10264): altera_trace_transacto_lite.v(206) の Verilog HDL ケース ステートメント情報: このケース ステートメントのすべてのケース項目式はワンホットです
情報 (10264): altera_trace_transacto_lite.v(314) の Verilog HDL ケース ステートメント情報: すべてのケース項目式警告 (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 ): オブジェクト "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 での Verilog HDL または VHDL 警告 (128): オブジェクト "mem_readdata1" に値が割り当てられましたが、読み取られませ
ん): オブジェクト "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 での Verilog HDL または VHDL 警告:値を割り当てたが読み取れない 警告 (10036): alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv での Verilog HDL または VHDL 警告 (147): オブジェクト "out_empty" に値が割り当てられたが読み取れない
警告 (10036): alt_sld_fab_alt_sld_fab_trfabric_capture_width.sv(155 ): オブジェクト "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 割り当て警告: 切り捨てられた値size 32 to match the size of target (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 での Verilog HDL 割り当て警告 (334): ターゲットのサイズに合わせてサイズ 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_time_adap.sv(84) での Verilog HDL または VHDL 警告: オブジェクト "in_ready" に値が割り当てられましたが、読み取られませんでした
情報 (12206): 2 つのデザイン パーティションに合成が必要です
情報 (12213): パーティションプロジェクト データベースにこのパーティションの合成後のネットリストが含まれていないため、"Top" には合成が必要です。
Info (12213): パーティション "sld_hub:auto_hub" には合成が必要です。これは、プロジェクト データベースにこのパーティションの合成後のネットリストが含まれていないためです。
Info (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