0

classとstructの違いは簡単ですが、パッケージはスキーム全体のどこに適合しますか。私が見るパッケージのほとんどは、ライブラリファイルからのインポートがあり、ディレクトリに他のsvファイルが含まれています。具体的には、パッケージが通常最適なコーディングスキームで使用される場合、そのレベルで特定の変数が追加されていない場合は、代わりにヘッダーファイルを使用することをお勧めしますか?ありがとう

4

2 に答える 2

3

パッケージは、型、クラス、関数、タスク、およびその他の宣言を作成できるコンパイル スコープを提供します。その後、パッケージを他のスコープ (他のパッケージまたは最上位のコンパイル ユニット スコープ) にインポートできます。

私はパッケージを C++ の名前空間によく似ていると考えています。それらは、「パッケージ化された」方法でコードをコンパイルする領域を提供し、それをインポートして他の場所で使用できます。

パッケージがパッケージ ファイル内の直接の宣言で構成されるか、またはパッケージ宣言内に含まれるヘッダー ファイルから取得されるかは、単に好みの問題です。

次の 2 つは同等です。

// File my_pkg.sv
package my_pkg;
    class my_class;
    endclass
endpackage

--

// File my_class.sv
class my_class;
endclass

// File my_pkg.sv
package my_pkg;
    `include "my_class.sv"
endpackage
于 2013-01-15T20:11:35.100 に答える