[オリジナル]及び方法のSignalTap観察ワイヤREG値を使用します

FPGAのデバッグは、私たちはしばしばのSignalTapボードレベルのデバッグを使用したシミュレーションに加えて、されるとき、それは、私たちは内側のジャンプ、便利なデバッグ操作を理解するために、特定の変数の現実と効果的な反応を変更することができます。SignalTapが原因ナイキストのサンプリング定理は、次のサンプリングに、需要に応じて選択されたクロックを、開発する必要があります。

時々、私たちはしばしば、デバッグ中にこのような状況に遭遇し、のSignalTap内のすべての変数の値で観察することができません。いくつかの変数がこの値未満フェッチのSignalTap意味赤パネルに追加されます。この理由は、変数のいくつかの合成に組み込まれたときにそれが表示されないので、最適化されている、ということです。以下、変数、ワイヤ及びREG、両方のタイプのそれぞれ通常の表示をさせる方法に関する。この部分の知識は、基本的な考え方は、合成時にいくつかの最適化を制御するための統合されたプロパティの合成属性を使用することで、実際には非常に簡単です。

ワイヤー型の変数

この1はまたのQuartusにおける言語テンプレートで統合プロパティ変数に関する表示することができます。以下に示す13のテンプレートのQuartus集積ワイヤ可変特性は、主コマンドは、コマンドを保ちます。Quartusソフトウェアは、関連する紹介します。

// Prevents Quartus II from minimizing or removing a particular
// signal net during combinational logic optimization.    Apply
// the attribute to a net or variable declaration.
    
(* keep *) wire <net_name>;
(* keep *) reg <variable_name>;

主ワイヤが一体化又は省略して最適化された関連する変数を防止することです。

2つのメソッドを以下のワイヤータイプの変数の包括的なプロパティの設定をまとめました。

1. (* keep * )    wire    <net_name>;
2. wire    <net_name>/* synthesis keep */;

請求のVerilog-2001標準に書き込まれる最初の前にある第2の標準、互換性の両方。第二の文言を使用した場合、コメント欄は、セミコロンの前に書かなければならないことに注意してください。

REG変数

レッグ、以下に示す13のテンプレートのQuartusにおける総合的な属性変数、メインコマンドとnopruneコマンドを保存します。

// Prevents Quartus II from optimizing away a register.     Apply
// the attribute to the variable declaration for an object that infers
// a register.

(* preserve *) <variable_declaration>;
(* preserve *) module <module_name>(...);

REGは、一部の特定のタイプを防ぐ離れ最適化又は全部、特定の変数のREGのために使用することができるモジュール内の変数のすべてのために使用することができます。

// Prevents Quartus II from removing or optimizing a fanout free register.
// Apply the attribute to the variable declaration for an object that infers
// a register.

(* noprune *)  <variable_declaration>;

何ファンアウトをregない離れて最適化された変数を防ぐため、量とは無関係があるかもしれない、中間の量が存在してもよいです。

REG変数包括的な構成属性は以下の通りまとめました。

1. (* noprune *)    reg    <variable>;
2. (* preserve *)    reg    <variable>;
3. (* preserve *)    module    <module_name>(...);
4. reg    <variable>/* synthesis noprune */;
5. reg    <variable>/* synthesis preserve */;
6. module    <module_name>(...)/* synthesis preserve */;

また、書き込み用の2つの方法が、両規格が存在しているが、いずれかの読者は便利な見つける選択することができます。また、セミコロンの位置は、1回以上言うことがより重要であることに注意してください。2 reg型がありますが、通常は上の別の試しのためならば、常にOKの形があるだろう、選択します。

概要

調整可能な統合プロパティを使用すると、動作条件を観察するために、デバッグかなりの程度を容易にするため、効率を向上させるボード・レベルのデバッグ中に中間変数のいずれかを追加することができます。

おすすめ

転載: www.cnblogs.com/airbird/p/11455213.html