私はこのプログラムをFIRフィルター用に書いており、遅延のためにDフリップフロップを使用しました。私はインパルス応答h(n)= {1、-1}を使用してフィルタを実装する必要がありました。次のプログラムがエラーQを表示し、Dが宣言されないのはなぜですか?
DおよびQが正しく定義/宣言されていないのと同じエラーが表示されます。 Qが違法に再宣言されているという別のエラーがありました。そのため、Q出力レジスタを定義した行を2番目のモジュールで削除しました。エラーを指摘し、修正方法を教えてください。
module firfilter(dout, din, clock);
input din, clock;
output dout;
parameter b0 = 1'd1;
parameter b1 = 1'd1;
assign dout = b0 - b1 * Q;
[email protected] (posedge clock)
D < = din;
endmodule
module dff (D, clock, Q);
input D, clock;
output Q;
[email protected] (posedge clock)
Q <= #(1) D;
endmodule