Verilogで多項式implimentation

N

nasim nasirian

Guest
こんにちは、私はムー仕事のためにISE 10.1を使用しています。私はこのような多項式を実装する必要があります。(1 + X ^ 3 + X ^ 5)。私の入力は36ビットのレジスタです。私はどのようにすればよいですか?あなたは私を助けることができるなら、私は感謝するだろう。 Nasim:叫び:
 
貸し付けは、xが出力される入力およびyであると言います。 Y = 1 + X ^ 3 + X ^ 5。今X ^ 3は3ビット右にxをシフトしています。....すなわち、x ^ 3 = {X、3'b000};同様にはx ^ 5 = {X、5'b00000};今もそう1を追加したい代わりに001すなわちにより3つのゼロシフトによるシフトのx ^ 5 = {X、5'b001};ので、最終的に我々は、yを持っている= 1 + X ^ 3 + X ^ 5。としてy = {X、3'b000} + {X、3'b001};
 
ご検討のKvingleのために感謝します。それは、レジスタをシフトする代わりに*演算子を使用することが可能です。など:モジュールNon_linear(IN、OUT、CLK)入力CLK、入力[52:0];出力REG [158:0]は、A = A *を割り当てる1 * 1 + 1 * 1 * 1 * +1; endmodule私は、Verilogモジュールを作成し、IPコアのような私のプロジェクトに追加し、別の場所でそれを使用したいという。私は53ビットに格納されている正弦波信号、レジスタ、私は信号の非線形の多項式に影響を与えたいし、その結果の信号を表示するには、I 'maが少し混乱している、もう一つの問題は、ビットが重要であるかのようであるということです私は出力またはLSBのビットをMSBすべき結果は?感謝Nasim
 
[引用= kvingle]貸し付けは、xは入力、yは出力ですと言う。 Y = 1 + X ^ 3 + X ^ 5。今X ^ 3は3ビット右にxをシフトしています。....すなわち、x ^ 3 = {X、3'b000};同様にはx ^ 5 = {X、5'b00000};今もそう1を追加したい代わりに001すなわちにより3つのゼロシフトによるシフトのx ^ 5 = {X、5'b001};ので、最終的に我々は、yを持っている= 1 + X ^ 3 + X ^ 5。 yと= {X、3'b000} + {X、3'b001}; [/QUOTE]私はこれが動作するとは思わないあなたがそれを証明してくださいできますか??
 
私は、これが
でうまく動かないと思います。明らかにX * 8(それぞれxとの間のが少しの違いはありません
 
そうなんだよ。 nasim nasirian。私はは少しの違いに気付くことはありませんでした。 FVMは右です(感謝)
 
で、必ず@が(posedge CLK)のa_reg始めるmult_outは= a_reg * b_reg * c_reg割り当てあちこち感謝の応答、それらは非常に有用であったが、私は最終的に割り当てて、このように*演算子を使用
 
[引用]私の出力は51ビットであり、どのビットが重要であり、それらのどの切り捨てられるべきか?[/QUOTE]その答えは、それぞれあなたの多項式の定義は、xの範囲と番号フォーマットに依存しています。我々はそれを知ることができません。鉛筆と紙法による結果を計算するときの問題はしかし、HDLコーディングに固有のものではありません、あなたもそれを持っています。あなたは、このようにそれを解決することができるはずです。
 

Welcome to EDABoard.com

Sponsor

Back
Top