2012-04-28 19 views
0

私はPWM信号を出力する単純なVHDLモジュールを持っています。 PWMモジュールは、現在のPWMパーセンテージを保持する信号を有する。私がそれを合成して実装すると、その信号はデフォルトで0にリセットされます。実装後にPWMパーセンテージが20など何か他のものを設定する方法はありますか?VDHL - 信号の初期値?

ありがとうございます!

答えて

5

電源投入時のデフォルト値を設定する必要があります。シンセサイザはNOT-gate-pushbackを使用して実装するため、リセット値(存在する場合)と一致する必要があります。

SIGNAL dutycycle : INTEGER := 20; -- powerup value 

PROCESS (n_reset, clk) 
BEGIN 
    IF TO_X01(n_reset) = '0' THEN 
     dutycycle <= 20;    -- asynchronous reset value 
    ELSIF RISING_EDGE(clk) THEN 
     dutycycle <= load_dutycycle; -- synchronous load 
    END IF; 
END PROCESS; 
+1

+1のコード例。 詳細は合成ツールとターゲットテクノロジ(またはFPGAファミリ)によって異なります。一部のテクノロジは電源投入時の値をサポートしていません。 RTMおよび/またはあなたの特定のセットアップのためにそれを試してみてください! – Philippe

+1

将来の参考として、リセット値とパワーアップ値が同じでなければならないという要件を備えたシンセサイザマニュアルへのポインタを提供できますか? – Philippe

+0

@Philippe:確かに、これはアルテラのチップに適用されています。http://www.altera.com/support/kdb/solutions/rd01072011_91.html –

2

デフォルト値をパーセンテージレジスタにロードするリセット入力をモジュールに置くことができます。

+0

を試してみて、何がそのリセット入力をトリガでしょうか? – xx77aBs

+0

さて、通常、システム全体のリセット入力(CPUのリセット入力など)がありますが、これと同じリセットを使用して、デフォルト値をロードしてPWMモジュールをリセットすることも考えました。外部リセット信号はありませんか? –

+0

Nop ...または私は私が持っているか分からない。私はSpartan 3スターターボードを使用しています。 – xx77aBs