連載
» 2016年04月12日 12時00分 UPDATE

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

[大原 雄介,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.