Код
module FreqDetector #(parameter BITS=3)
(
input clk,
input freq_pulse,
output freq_detected
)
reg [BITS-1:0] dly_line;
always @(posedge clk)
dly_line <= (dly_line<<1) | freq_pulse;
assign freq_detect = | dly_line;
endmodule
На freq_pulse должны быть единичные импульсы (в клоковом домене clk). Если детектируемый сигнал может застрять в состоянии 1, то нужно добавить выделение фронтов.
Ну и всякие цепи сброса тоже не помешают