FPGA MAX10(17)-Nios II マルチコア

このエントリーをはてなブックマークに追加

前回は、MAX10にNios Ⅱを搭載して動作をさせてみました。Nios IIの周辺機器としてTimerを配置してLEDの点滅回路を構築しました。前回の内容は下記のサイトを参考にしてください。

FPGA MAX10(16)-Nios II

前回、timer_0とtimer_1を用意してtimer_0にfor文をのwait処理を入れました。すると、1秒間隔で点滅していたLED0とLED1が約12秒間隔で点滅するような動作になりました。timer_0で動作しているLED0はともかく、timer_1で動作しているLED1まで約12秒間隔になってしまうのはなぜでしょうか?CPU1個の動作であり、順次処理をしているので、timer0の処理で止まってしまい、timer1にまで影響を及ぼしているためです。では、CPUを2個搭載すればよいのでは?ということで、今回はCPUを2つ搭載して動作させてみたいと思います。機能としては、前回と同様にTimerによるLED点滅回路になります。

それでは、Nios Ⅱを2つ使用したLEDの点滅回路を構築したいと思います。まずは新規プロジェクトを作成します。新規プロジェクトの作成方法、下記のリンクを参照してください。

FPGA MAX10(4)-LEDシフト点灯回路

まずは、Platform Designerを使用して、各コンポーネント(CPUや周辺機器など)を配置、接続します。メニューより「Tools」→「Platform Designer」を選択します。Platform Designerの画面が表示されます。Platform Designerの設定内容方法は、下記のサイトを参考にしてください。

FPGA MAX10(15)-AD変換

System Contentsに下記のように追加されたコンポーネントが表示されています。