[an error occurred while processing this directive]
|
сделал так! частоту делит! на выходе меандр!
но результат такой:
iCLK | |_| |_| |_| |_| |_|
oF | |_____| |
а хочу такой:
iCLK | |_| |_| |_| |_| |_|
oF | |_____| |
(чтобы начало oF было по положительному фронту первого iCLK, а не по заднему!?)
//=========================================================
module d3 (iCLK, oF);
input iCLK;
output oF;
reg [1:0] cnt_pos, cnt_neg;
//reg half;
initial
begin
cnt_pos=2'b0;
cnt_neg=2'b0;
end
always @(posedge iCLK)
if (cnt_pos[1]==1'b1) cnt_pos <= 2'b00;
else cnt_pos <= cnt_pos + 1'b1;
always @(negedge iCLK)
if (cnt_neg[1]==1'b1) cnt_neg <= 2'b00;
else cnt_neg <= cnt_neg+1'b1;
assign oF = cnt_pos[1] | cnt_neg[1];
endmodule
module t_d3();
reg iCLK;
wire oF;
d3 abc (iCLK, oF);
initial
begin
iCLK=0;
#10 forever #10 iCLK=!iCLK;
end
initial
#200 $stop;
endmodule
//==========================================================