Здравствуйте, возникла необходимость сформировать импульс длительностью в один период тактовой частоты, по фронту внешнего сигнала.
Решил эту задачу таким образом:
Код:
module front_impulse(reset, clk, sig, strobe);
input clk,reset,sig;
output strobe;
reg sDone,strobe;
always@(posedge clk) begin
if(reset) begin
sDone<=0;
strobe<=0;
end else begin
if(sig && !strobe && !sDone) begin
strobe<=1;
end
if( !sig && !strobe && sDone) sDone<=0;
if(strobe && sig) begin
strobe<=0;
sDone<=1;
end
end
end
endmodule
Быть может можно проще это все описать? Схема синхронная, тактовая частота - clk