IIでシステムを作成する場合、Qsysを使うのが一般的です。Qsysに独自のモジュールを追加するときのインターフェース・プロトコルはAvalonです。Interface)が多く用いられます。マスタ・モジュールは、自分自身でバス・リクエストを発生してメモリなどのシステム・リソースをアクセスするモジュールです。LCDコントローラなどはマスタ・モジュールです。Avalon-MMのリードアクセス例Avalon-MMの仕様はとてもシンプルです。他のバス仕様のように(なぜこんな仕様にしたのだろうと)理解に苦しむ部分がありません。一つだけ気を付けないといけないことがあります。それはリード時のバイト・イネーブルの扱いです。正しいリード・アクセス誤ったリード・アクセス結論Avalon-MMでリード時はバイト・イネーブルをすべて有効にする「バイト・イネーブルが関係あるのはライトの時だけじゃない?」と思わないでしょうか。実際にはそうではありませんでした。少なくともQsysではバイト・イネーブルが0になっていると期待したリード・データがアクセス先から戻ってきません。Avalonの仕様というよりも、QsysのAvalonバスインターコネクトの仕様かもしれません。正しいリード・アクセスバイト・イネーブルが有効バイト・イネーブルをすべて1にした時の32ビット・バスのリードアクセスです。期待したデータ(cdcdcdcd)がリードできています。誤ったリード・アクセスバイト・イネーブルが無効バイト・イネーブルをすべて0にした時の32ビット・バスのリードアクセスです。リードしたデータが正しくありません(fd36fd36)。そもそも、リード・コマンドからリード・データのまでのレイテンシが異常に短いです。メモリ・アクセス自体が行われていないことがわかります。結論Avalon-MMでリード時はバイト・イネーブルに注意。すべてイネーブルにしておけば間違いがない。IIで回路データを更新した後にEclipseでプログラムの再コンパイルが必要です。この時、単純にリコンパイルすると次のようなエラーが発生します。NiosIIのプログラム開発で、プロジェクトとは別のディレクトリに存在するソースコードをリンクする場合のメモです。新しいアプリケーションプロジェクトを作成します。IPコアをDE0-Nano-SoCに移植したところ、描画結果が正しく表示されないという現象が発生しました。Designのダブルクリックで行うことが多いのではないでしょうか...FPGAISEのxstをコマンドラインから実行するxstはISE標準の論理合成ツールです。論理合成可能なVerilogやVHDLのコードをネットリストに変換します。VerilogのサポートはVerilog2001です。SystemVerilogはサポートされていません。Vで、ユーザー回路からHPSにインタラプト信号を接続する手順です。ディジタル技術資料タイトルとURLをコピーしました。