奇数分频思路:(结合图示进行理解)
第一步:在时钟的上升沿和下降沿分别产生一个计数器。cnt_up 在时钟上升沿计数,cnt_down 在时钟下降沿计数(例:如果是 N 分频,就从0计数到 N-1)
第二步:根据这两个计数器产生两个控制信号 clk_up , clk_down。
注意:clk_up 和 clk_down 的高低电平的比例是有规律的。
如果是N分频,比例为 N/2 : N/2+1 或者 N/2+1 : N/2
如果是3分频,那么比例就是 1:2 或者 2:1。
如果是5分频,比例位2:3或者3:2
以此论推
第三步:求得分频时钟
如果高低电瓶比例为N/2 : N/2+1,则分频时钟 clk_div = clk_up || clk_down (如图 1 所示)
如果高低电瓶比例为 N/2+1:N/2 ,则分频时钟 clk_div = clk_up && clk_down(如图 2 所示)
以3分频为例
图 1:高低电瓶比例为 1:2,或操作
图 2:高低电瓶比例为 2:1,与操作
图1
图2
图2
代码提示:clk_up 与 clk_down用组合逻辑,或者用 assign
以图2举例
例:assign clk_up = (cnt_up==0 || cnt_up ==1) ? 1‘b1 : 1‘b0 ;
assign clk_down= (cnt_down==0 || cnt_down ==1) ? 1‘b1:1‘b0 ;
assign clk_div3 = clk_down && clk_up ;
转载请注明出处:http://www.cnblogs.com/aslmer/p/5838395.html
aslmer come on !
打起精神,每天进步一点点,开开心心!
时间: 2024-10-10 08:04:57