|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
就两行代码,就不写附件了,不好意思要钱~~。
觉得有用的可以看看启发一下思路,n.5分频都可以用这种方法实现。n越大,duty cycle越接近50%。tb太简单,想试试的自己写了
但我觉得还是有不妥之处,比如无法做到50% duty cycle,而且jitter可能比较大之类的。
大家对分频器还有什么好的思路?
module div2p5(
iclk,
rst_n,
oclkby2p5
);
input iclk;
input rst_n;
output oclkby2p5;
reg [2:0] count;
reg pos2p5, neg_pre2p5;
always @ (posedge iclk or negedge rst_n)
if(!rst_n)
begin
count <= 'b0;
pos2p5 <= 1'b0;
neg_pre2p5 <= 1'b0;
end
else
begin
count <= (count==3'b000)? 3'b100 : (count-1'b1);
pos2p5 <= (count == 3'b100 || count==3'b001);
neg_pre2p5 <= (count ==3'b100 || count == 3'b010);
end
reg neg2p5;
always @ (negedge iclk or negedge rst_n)
if(!rst_n)
neg2p5 <= 1'b0;
else
neg2p5 <= neg_pre2p5;
assign oclkby2p5 = pos2p5 | neg2p5;
endmodule |
|