ティック カウンター用の Verilog プログラムを作成する方法を知りたいと思っていました。高速入力がローの場合、出力ティックは 150 ミリ秒ごと (7500000 サイクルごと) に 1 サイクルハイになります。clk 周期は 20ns です。高速入力がハイの場合、ティックは 1 クロック サイクルおきに 1 サイクルハイになる必要があります。
clkサイクルをカウントし、サイクル数が満たされたときにカウントを使用してティックを高く出力する必要があると考えていますが、動作させることができないようです。
ここに私のコードがあります:
module tick_counter(
input clk,
input reset,
input fast,
output reg tick
);
reg count;
always @(posedge clk) begin
count <= count + 1;
if((fast == 1)&&(count == 2)) begin
tick <= 1;
end
else if(fast == 0)&&(count == 7500000)) begin
tick <= 1;
end
end
endmodule