「MAX 10 NEEK」へソフトコアCPUを組み込むMAX 10 FPGAで学ぶFPGA開発入門(9)(3/6 ページ)

» 2016年04月12日 12時00分 公開
[大原 雄介MONOist]

メモリアドレスの重複解除

 その次は、メモリアドレスの重複解除だ。それぞれのデバイスはメモリアドレスを専有するが、これの調整が必要である(Photo13)。対策は簡単で、"System" → "Assing Base Addresses"を選ぶと自動調整してくれる(Photo14)。これでエラーはほとんどなくなるハズだ。

Photo13:Address Mapのタブを見ると、全てのデバイスが似たようなアドレスをマッピングしようとしている。そりゃエラーにもなる Photo13:Address Mapのタブを見ると、全てのデバイスが似たようなアドレスをマッピングしようとしている。そりゃエラーにもなる
Photo14:全部エラーがなくなるわけではない Photo14:全部エラーがなくなるわけではない

 残るエラーは、クロックドライバの「clk_in_reset」という信号に関係する部分だ。これは"Double-click-to-export"とグレーアウトされている部分をダブルクリックし、"reset"という信号名でexportするようにすれば良い。

 するとpio_0のExportのWarningが残っているだけになる(Photo15)ので、"led_pio"という名称でExportする(Photo16)。これで完了なので、ファイル名をつけて(Photo17)保存後にHDLの生成を行う(Photo18)。問題なければこのメッセージ(Photo19)が出てくるはずだ。

Photo15:これはresetのExportを行ったあとの状況。最後はpio_0 Photo15:これはresetのExportを行ったあとの状況。最後はpio_0
Photo16:Error/Warningともに0になった Photo16:Error/Warningともに0になった

Photo17:ここでQSYSの出力はプロジェクト名(今回だとNEEK_NIOS2)と同じにしてはいけない。あとでえらい目に合う(というか、合った)。 Photo17:ここでQSYSの出力はプロジェクト名(今回だとNEEK_NIOS2)と同じにしてはいけない。あとでえらい目に合う(というか、合った)。
Photo18:これはおなじみの手順 Photo18:これはおなじみの手順

Photo19:ちなみにこのメッセージ、QSYSを終了すると出たり、QSYSを終了させなくても出たり、とイマイチ状況をつかみきれない Photo19:ちなみにこのメッセージ、QSYSを終了すると出たり、QSYSを終了させなくても出たり、とイマイチ状況をつかみきれない

Copyright © ITmedia, Inc. All Rights Reserved.