FC2ブログ

[NEEK][動画再生]NiosIIカスタム命令を組み込む

先日のMMC/SPI FatFsから、単に希望だけで取り入れてます。動作確認は全くしてないので後で動かせるかは不安。

■NiosIIへカスタム命令追加
 ・とんずら雑記Rさんの以下HPから、「module custom_inst_yuv2rgb」の記述をまるっと有難く頂く。

   http://www.ujiya-denshi.com/adiary/adiary.cgi/0134#k134n1

 ・Quartus > SOPCB > 追加してあるNiosII設定画面を開く > Custom Instructions > 左下のImport
       > Component EditorでRTLを追加 > Finish

 ・何故かNiosIIのカスタム命令リストに含まれてないので、一度NiosII設定画面を閉じて、再度開く。
  NiosII設定画面 > Custom Instructions > custom_inst_yuv2rgbを選択後、Add(追加される)> Finish

■乗算器を作る
 とんずら雑記RさんのHP記載の通り、上記カスタム命令Verilog内で使用されているMUL_xxはMegaWizardで生成
 されているとのこと。

 ・Quartus > Tools > MegaWizard Plug-In Manager > Create a new custom megafunction valiation
       > Arithmetic > ALT_MULTを選択 > Verilog設定&MUL_RV.vファイル名 > Next

 ・乗算器設定を以下にする。(custom_inst_yuv2rgb.v内のMUL_RV通り) > Next > Signed選択 > Next
    Multiply dataa by itself
    dataa width = 9bit
    result width = 18bit

 ・Do you want to pipeline the function ? > Yes(とりあえずlaytency=1)、clk_en付
   ※ IPのclockイネーブル端子はenaであり、custom_inst_yuv2rgb.v内のclk_enと異なる。
     乗算器を各種調べたがclk_enを持つ種類は見つからず。ソースの端子名をenaに変えて使う事にする。

 ・Nextで進んで、Generate Netlistにチェック > Next > Finish
 ・作ったIPをプロジェクトへ追加するか?と質問されるのでYes。
   ※ MUL_RVの他、GU、GV、BUがあるが、いずれも9it入力、18bit出力、signed。差が分からないので、
     MUL_RVを使い回し。Y,U,Vで設定変えるとかあるのかな?

■使い方
 今度はソフトからどうやって使うかだが、同様にとんずら雑記Rさんの同ページから参考ソースを頂く。
 しかし、相変わらずのC言語苦手で何が何やら理解出来ない。
 少しづつやって行きましょ。
スポンサーサイト



カレンダー
01 | 2010/02 | 03
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 - - - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード