///////////////////////////////////////////////////////////////////////////////////////////////////
//
// Project Name :
// File Name : fdivision.v
// Creation Date : 09/8/9
// Verision Number : V1.0
// Revision History : See "RevH_<file name>"
//
// Description :
// target_frequency = source_frequency /(quo_f * 2).
//
// DEMO:
// fdivision #quotiety name(outs,ins,rest);
//
// ATTENTION:
// 1-- THE VALUE OF "quo_f" CAN NOT BE "0" !!
//
///////////////////////////////////////////////////////////////////////////////////////////////////
//`define QUOTIETY 10
//`define QUO_CNT QUOTIETY*2
module fdivision(target_f,source_f,rest);
parameter quo_f = 1; // source_f / target_f = quo_f * 2
input source_f,rest;
output target_f;
reg target_f;
reg [7:0] counter="1";
always @ (posedge source_f)
begin
if(! rest)
begin
counter <= 1;
target_f <= 0;
end
else
begin
if(counter == quo_f)
begin
counter <= 1;
target_f <= ~target_f;
end
else
begin
counter = counter + 8'b0000_0001;
end
end
end
endmodule
文章评论(0条评论)
登录后参与讨论