誰かが私のFIRのコードのこの部分を理解することができます

G

Guest

Guest
コード:

モジュールfir_srg(clkはX、Y); //---->インターフェイス入力CLK;

入力[3:0] ×;

出力[3:0]ン;

]ン[3:0登録番号;

/ /バイトのタップ遅延ラインアレイ

[3:0] tap0、tap1、tap2、tap3登録番号;

/ /ビットをアクセスするには、Verilogで1つのベクトルを使用する常に(posedge CLK)の//---->行動スタイル@

開始:p1の

/ /フィルタ係数の重みと出力yを計算します。

/ /係数[-1 3.75 3.75 -1]。

/ /乗算、およびアルテラMaxPlusIIの分割をすることができます

/ /符号拡張とシフトとVerilogで行われる!

Ý"=(tap1""1) tap1 (tap1 [3]、tap1 [3:1])

(tap1 [3]、tap1 [3]、tap1 [3:2]) (tap2""1) tap2

(tap2 [3]、tap2 [3:1])

(tap2 [3]、tap2 [3]、tap2 [3:2]) - tap3 - tap0;tap3"= tap2; / /タップ遅延ライン:シフト1

tap2"= tap1;

tap1"= tap0;

tap0"= Xの;レジスタ0 / /入力

終わりendmodule
 
4ウル設計のためのフィルタeqnはタップして:

ン=(-1 * Tap0) (3.75 * Tap1) (3.75 * Tap2) (-1 * Tap3)ながらように見えるの並べ替え:

ン= [(2 1 0.5 0.25)* Tap1]
[(2 1 0.5 0.25)* Tap2]
- Tap3
- Tap0;今すぐウルのverilogコードでは

、 この相関:

Ý"=(tap1""1) tap1 (tap1 [3]、tap1 [3:1]) (tap1 [3]、tap1 [3]、tap1 [3:2])
(tap2""1) tap2 (tap2 [3]、tap2 [3:1]) (tap2 [3]、tap2 [3]、tap2 [3:2])
- tap3
- tap0;
means -- shift left, which is as good as Xly by 2.タップ""一
手段-これは良い Xly
として 2です
左シフトします 。
-- means shift right with msb intact-- as good as xly by 0.5(tap1 [3]、tap1 [3:1])
- msbはそのままの状態で右シフト-など xly 0.5
として良い手段--means shift right by 2 -- as good as xly by 0.25(tap1 [3]、tap1 [3]、tap1 [3:2])
- 2の右シフト-など xly
として良い 0.25
手段 によってだから取得 Tap1 3.75 *
すべてのこれらのuを追加する
Tap2同様にもの

ホープ
、 このことができます

 
Renjithあなたが私のヒーローです。

今では私にはすべて明らかになります。実際に私didn'tビットのこのタイプの前に
、 シフトしてください。私はそれビットしかし
、 私didn't連結することを知っていたが
、 実際にはビットシフトされた知っている。追加1時間39分後:すべての興奮iの1つのことを聞くのを忘れた。""演算子の右シフトを使用することが傾ける?コードのように""演算子を使用して連結を使用しての違いをいただきました!?

 

Welcome to EDABoard.com

Sponsor

Back
Top