clk分圧器

R

rsrinivas

Guest
やあ
私は44.1 kHzのクロックを50 MHzのクロックに変換する必要があります。
Verilogの論理合成可能¥なコードをFPGA内に配置される。
PLSのお勧めします。
もし私が48.8 kHzのには、CLKを分割することができますレジスタ(10ビット)iを使用。

 
場合は、は、DCM(デジタルクロックマネージャを追加することができます)は、IPコアのジェネレータからの10のISEを使用して

DCMは、あなたと
、 所望の出力は
、 入力クロック周波数を入力クロックシンセサイザている

 
その比率ややぎこちないですが、Xilinx社のFPGAに2つのDCMに加えて
、 単純な分圧器を使って行うことができます。(2つのDCMのCLKFXカスケード注意化合物ジッタのために素晴らしいアイデアではありません。)DCMのパラメータは上のFPGAを使用しているかによって異なる場合があります。

スパルタと
、 この作品- 3のISE 8.1.03iでコンパイル:
コード:

モジュールの上部(clk50M、clk44100);

入力clk50M;

線clkadcm、clka、ロックされた;

[4:0]リセット= 0登録番号;

線clkb;

[9:0]カウント= 0登録番号;

出力clk44100 = 0登録番号;/ / 50 MHzの* 21/25 * 21/25 / 800 = 44100 Hzの合成DCMのDCM1は(。CLKIN(clk50M)、。RSTを(1'b0)、。CLKFX(clkadcm)、。ロック())がロックされ;

defparam dcm1.CLK_FEEDBACK =は"なし";

defparam dcm1.CLKFX_MULTIPLY = 21;

defparam dcm1.CLKFX_DIVIDE = 25;

defparam dcm1.CLKIN_PERIOD = 20.0;

defparam dcm1.DFS_FREQUENCY_MODE ="低";BUFGMUX buf1(。I0(clkadcm)、。S通常(1'b0)、。はO(clka));常に(posedge clka)@

リセット"=(リセットすると、ロックされて);DCMのdcm2(。CLKIN(clka)、。RSTを(〜をリセットする[4])。CLKFX(clkb)、。ロック());

defparam dcm2.CLK_FEEDBACK =は"なし";

defparam dcm2.CLKFX_MULTIPLY = 21;

defparam dcm2.CLKFX_DIVIDE = 25;

defparam dcm2.CLKIN_PERIOD = 23.8;

defparam dcm2.DFS_FREQUENCY_MODE ="低";常に(posedge clkb)を開始@

カウント"=!カウントされますか
799:数- 1;

clk44100"=!カウント;

終わり

endmodule
 

Welcome to EDABoard.com

Sponsor

Back
Top