• 検索結果がありません。

複数の Nios II を構成する際の注意事項

N/A
N/A
Protected

Academic year: 2021

シェア "複数の Nios II を構成する際の注意事項"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

複数の

Nios II を構成する際の注意事項

ver. 1.0 2009 年 4 月

1. はじめに

Nios® II IDE で、ソフトウェアをビルドすると、SOPC Builder の GUI 上で、Nios II と接続されているペリフェラル用の初期

化コードを自動で生成します。この各ペリフェラルに対応した初期化コードで、ペリフェラルを制御するためにアルテラ社から提 供された HAL を利用するための準備や、各ペリフェラルの一般的な理想と考えられる初期状態のレジスタ設定等を行います。 しかし、この自動で生成される各ペリフェラルの初期化コードは、複数の Nios II が構成されたシステムで、且つ複数の Nios II が同一のペリフェラルを共有させたシステムに対応したものでありません。

(2)

2. 排他制御に関して

周知のとおり、前提として複数のプロセッサがペリフェラルを共有する場合、排他処理が必要です。片方のプロセッサがある ペリフェラルに対して、何らかの処理をするためにアクセスしている最中に、他のプロセッサから同一ペリフェラルに対してのア クセスは避ける必要があります。(フラグ情報を複数のプロセッサが共通で管理すること等で排他アクセスを実現する必要があ ります。)前述したように、Nios II IDE では SOPC Builder で接続されているペリフェラル用に、初期化コードを自動で生成しま す。(SOPC Builder の GUI 上で、Nios II と接続されたペリフェラル用の初期化コードを自動生成します。)下の図の例のよう に、複数の Nios II に共通で接続されたペリフェラルが存在する場合には、それぞれの Nios II の初期化コード内に、共通で 接続されたペリフェラル用の初期化コードが自動でリンクされますが、この初期化コードは、このような構成時に対応したもので はありません。自動で生成されたコードを変更なく採用してしまうと、それぞれの、Nios II は同一ペリフェラルに対し排他制御 をせず初期化を実行してしまいます。つまり、このような構成は、自動で生成される初期化コードをそのまま変更なく採用する場 合において、許された構成ではありません。 以下の例では、それぞれのNios II から、共通のペリフェラルへアクセスができるようにハードウェアが接続されていますが、 排他制御が非常に手間となり、また、割り込みがかかると、目的でない方の、Nios II も割り込みを認識してしまう理想的でない 構成です。また、自動で生成される初期化コードでは動作保証がされない非推奨の構成となっています。

(3)

3. 自動で生成される初期化コードがサポートされる構成

複数の Nios II をシステムに実現する場合、それぞれの Nios II が単独で利用できるペリフェラルを複数個用意し、バスを 完全に分離させた構成にします。このような構成であれば、ツールにより自動生成されたペリフェラル用の初期化コードを変更 することなく利用できます。この自動生成される初期化コードは、それぞれの Nios II に接続されたペリフェラルに対してのみ 用意されます。 以下の例は、それぞれの、Nios II から個々のペリフェラルにのみアクセスができるハードウェア構成になっていて、割り込み ポートも、接続された Nios II にのみ有効になります。下の図で示されている DMA コンポーネントのみならず、UART、タイマ、 SPI 等、すべてのペリフェラルは共有せず、それぞれの Nios II 用に専用で独立して接続することが推奨の構成となります。

(4)

4. 補足情報

システム全体のスループットの向上、排他制御の不要等の利点より、すべてのペリフェラルは、それぞれのプロセッサごとに 個別に用意し構成するのが理想的です。しかし、そのような構成がとれず、ペリフェラルを複数のNios II で共有する場合には、 前述のとおり、自動で生成される初期化コードをそのまま採用すると問題を起こす可能性があります。 初期化コードを自動で生成しないペリフェラルと自動で生成するペリフェラルに関して次に示します。 <<自動で初期化コードを生成しないペリフェラル>> ・ ユーザ・ペリフェラル

・ Common Flash Interface Core(CFI フラッシュメモリ・コンポーネント)以外のメモリコンポーネント ( 例 : SDRAM 、DDR SDRAM コントローラ・コンポーネント、オンチップ・メモリコンポーネント等)

<<自動で初期化コードを生成するペリフェラル>>

・ メモリ以外のすべてのアルテラ社から提供されるペリフェラル

詳細は、Nios II Software Developer’s Handbook (http://www.altera.com/literature/hb/nios2/n2sw_nii5v2.pdf) を確認してく ださい。 多くのペリフェラル用に初期化コードが用意されています。この自動で生成される初期化コードの処理内容を十分把握す る必要があります。 例外として、System ID Core に関しては、自動で生成される初期化コード内に、マルチコア・システムにおいて、問題を引 き起こす処理が含まれていなく、割り込みのポートも持たないため、複数の Nios II で共有することができます。また、もともと 排他処理を目的として用意されているペリフェラル(ミューテックス・コア、メールボックス・コア)についても、複数の Nios II で 共有することができます。Common Flash Interface Core(CFI フラッシュメモリ・コンポーネント)以外のメモリコンポーネントは、 複数の Nios II でアクセスする領域が重ならないように利用する場合は、共有できます。

それ以外のコンポーネントに関しては、複数の Nios II から同一のペリフェラルとして共有する場合には注意が必要です。 各初期化コード内で行われるもともとの処理内容を理解し、必要に応じて、ユーザ側で削除、または変更等をしていただく必 要があります。具体的な例としては、Common Flash Interface Core(CFI フラッシュメモリ・コンポーネント)であれば、フラッシュ メモリをクエリモードに入れるコマンドやフラッシュメモリに存在するプログラムを RAM へ展開するブート動作が、複数の Nios II から行われないように対処します。DMA コンポーネントであれば、初期化コード内の処理で割り込みの登録がされているの で、1 つの Nios II が割り込みを受け付ける状態に入った後、異なる Nios II が初期化コードを実行することで IRQ のノード が一瞬だけ成立してしまい、先に割り込みを受け付けた Nios II が例外処理を実行するが、その IRQ のパルス幅が狭いこと が原因で正しい例外処理が行われず先に割り込みを受け付けた Nios II が無限ループして停止してしまうことを防ぐために、 自動で生成される初期化コードは削除し、カスタムで初期化を行います。これらの例のように各ペリフェラルに応じて対処が必 要です。

5. まとめ

Nios II でマルチプロセッサ・システムを構成する際、様々なペリフェラルは、それぞれの Nios II ごとに個別に用意しバスを 分離することを推奨します。また、複数の Nios II から、同一のペリフェラルを共有する場合には、自動で生成されるそのペリ フェラル用の初期化コードでは、システムの動作保証がされていないため、ユーザの方で、問題が起きないように対処が必要と なります。

(5)

横浜本社 〒222-8563 横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155 FAX 045-476-2156 大阪営業所 〒532-0011 大阪市淀川区西中島 6-1-3 アストロ新大阪第二ビル 7 階 TEL 06-6307-7670 FAX 06-6307-7671 名古屋営業所 〒460-0003 名古屋市中区錦 1-6-5 名古屋錦シティビル 7 階 TEL 052-202-1024 FAX 052-202-1025 宇都宮営業所 〒321-0953 宇都宮市東宿郷 4-2-24 センターズビル 7 階 TEL 028-637-4488 FAX 028-637-4489 弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を一読いただいた上でご使用ください。 1. 本資料は非売品です。許可無く転売することや無断複製することを禁じます。 2. 本資料は予告なく変更することがあります。 3. 本資料の作成には万全を期していますが、万一ご不明な点や誤り、記載漏れなどお気づきの点がありましたら、弊社までご一報いただければ幸いです。 4. 本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響については、責任を負いかねますのであらかじめご了承ください。 5. 本資料は製品を利用する際の補助的な資料です。製品をご使用になる場合は、英語版の資料もあわせてご利用ください。

参照

関連したドキュメント

が有意味どころか真ですらあるとすれば,この命題が言及している当の事物も

注意: Dell Factory Image Restore を使用す ると、ハードディスクドライブのすべてのデ

点から見たときに、 債務者に、 複数債権者の有する債権額を考慮することなく弁済することを可能にしているものとしては、

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

(自分で感じられ得る[もの])という用例は注目に値する(脚注 24 ).接頭辞の sam は「正しい」と

Altera Nios II フォルダを展開し、Existing Nios II software build tools project or folder into workspace を選択します(図 2–9 を参 照)。.

断するだけではなく︑遺言者の真意を探求すべきものであ