は、それがシステムのverilogでalways_comb
ブロック内のモジュールをインスタンス化することができますか?は、それがシステムのverilogでalways_combブロック内のモジュールをインスタンス化することができますか?
always_comb
begin
OR OR1 (.Y(A), .A(Z),
end
は、それがシステムのverilogでalways_comb
ブロック内のモジュールをインスタンス化することができますか?は、それがシステムのverilogでalways_combブロック内のモジュールをインスタンス化することができますか?
always_comb
begin
OR OR1 (.Y(A), .A(Z),
end
まず、コードは不完全です。もちろん、二入力ORゲートは、3つの接続が必要です。 Verilogで
、あなたはがモジュールインスタンス化され、それはあなたがボードに余分ハードウェアを追加していることを意味します。
シミュレーション(すなわち、コンパイル時)を開始する前に、このハードウェアははを添加しなければなりません。ここでは、クロックパルスごとにハードウェアを追加/削除することはできません。
一度インスタンス化されると、モジュールはシミュレーションのの各タイムスタンプが最後まで実行/チェックされます。
したがって、任意のモジュールを実行するためにそれをインスタンス化、それに必要な入力を提供する(および必要であれば常に、サブモジュール自体にブロックを追加)。 インスタンス化上
// Directly use ORing
always_comb begin
A = Z | M;
end
詳しい情報はVerilog Module Instantiation、Instantiating Modules and Primitives、Structural Modellingのリンクから入手することができます。
// Simply instantiate module
OR OR1 (.Y(A), .A(Z), .B(M));
いずれかの方法では、現在のモジュール自体に組み合わせブロックを追加することができます。
あなたは本当に、条件付きのハードウェアを使用して、あなたのモジュールは、タスクまたは関数に変換し、条件付きで、それを呼び出すようにしたい場合。ハードウェアリソースは増加しますが、要件を満たします。 –
あなたはこのTODOしようとするだけではなく、それをインスタンス化し、特定の理由がありますか? – Morgan