ハードウェアの気になるあれこれスマートフォン用の表示で見るハードウェアの気になるあれこれ技術的に興味のあることを調べて書いてくブログ。BootcampのModule2.4の学習を終えた。www.tech-diningyo.info今回はModule2.5の練習問題に取り組んでいく。FIRフィルタ:全てを一つにモチベーションまずはモチベーションからこれであなたはChiselの基礎についてを学んだ。さあその知識を使ってFIRフィルタを作ってみよう!FIRフィルタはデジタル信号処理において一般的なものだ。FIRフィルタはModule3において度々現れるものでもあるので、この演習をスキップせずにおいてほしい。FIRフィルタについて馴染みがなければ、信頼のおけるWikipediaの記事に目を通してみよう。練習問題:FIRフィルタ練習問題なので問題文をそのまま訳して載せていく。これからデザインするFIRフィルタは以下の図のようなものだ。遅延したもの8-bitの仕様ここからは実際の設計するFIRフィルタの仕様とスケルトンの提示となる。4つの重みをパラメータとするFIRフィルタを作ろう。モジュールのスケルトンと基本的なテストは既に与えられている。入力、出力ともに8-bitの符号なし整数であることに注意しよう。この演習ではシフトレジスタと同様に遅延した信号を保持するためのステートが必要になる。与えられたテスターを使用して自分の実装をチェックしてみよう。定数を入力とするレジスタはShiftRegisterのシフト値を1とするか、RegNextを使用することで生成可能だ。注意:テストをパスさせるためにはレジスタは0.Uで初期化される必要がある。クリックすると開くので、見たくない場合は開かないように注意。}}上記のように、RegInitを使って愚直にレジスタに代入して計算してみた。重みパラメータb1~b3についてもUInt()で変換している。この演習の答えではb1.U(8.W)というふうにUIntへの変換を行っていた。出来上がったFIRフィルタだが、入力するフィルタの係数を変化させることでよく知られるフィルタになる。設計したFIRフィルタが正しい処理を行っていればこれらのパラメータを使った残りのテストについても同様にパスできるはずだ。シンプルな4点移動平均フィルタ以下のテストのフィルタインスタンス部分のように係数を全て1にすると、4点移動平均フィルタになる。PASSEDとりあえず最初の演習が終わったので今日はここまで。残りとしてIPXactFIRフィルタ・ジェネレータDSPブロックと続いていく。IPXactはそのままだと動かないし、DSPブロックはrocket-dsp-utilsのもので、今の自分からすると凝った作りになっているので後回しにする予定だ。FIRフィルタ・ジェネレータのみを実施して次のModuleに進むことにしようと思う。技書博2にChisel本を出してきました月別アーカイブはてなブログをはじめよう!diningyo-kpuku-jougekiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。