原创 培训四内容(第一部分-分频计数器)

2011-7-25 20:13 1448 7 7 分类: FPGA/CPLD

一.分频器

1.奇数分频(5分频):

改下代码如下:

</p>
  • <p>//5分频<br />module div5_out(<br />input clk,<br />input rst_n,<br />output div5_out,<br />output divout<br />);<br />wire clk20m,clk100m;<br />pll1 pll1(<br />.inclk0(clk),<br />.c0(clk20m),<br />.c1(clk100m)<br />);<br />//上升沿计数(N-1)/2 ,翻转,下降沿相同,最后相或<br />reg [2:0] cnt1;<br />reg [2:0] cnt2;<br />reg clk_up,clk_dn;<br />always @(posedge clk20m,negedge rst_n)<br /><br />if(!rst_n)<br />begin<br />clk_up<=1'b0; <br />cnt1<=3'b0;<br />end<br />else begin<br />cnt1<=cnt1+1'b1;<br /><br />if(cnt1==3'b001) clk_up<=~clk_up;//计数满2<br /><br />if(cnt1<=3'b100) <br />clk_up<=~clk_up;<br />cnt1<=3'b000;<br /><br />end<br /><br />  // if(cnt1==3'b100) cnt1<=3'b0;<br /><br />always @(posedge clk20m,negedge rst_n)<br /><br />if(!rst_n)<br />begin<br />clk_dn<=1'b0; <br />cnt2<=3'b0;<br />end<br />else begin<br />cnt2<=cnt2+1'b1;<br /><br />if(cnt2==3'b001) clk_dn<=~clk_dn;//计数满2<br /><br />if(cnt2<=3'b100) <br /><br />clk_dn<=~clk_dn;<br />cnt2<=3'b000;<br /><br />end<br /><br />assign div5_out = clk_up | clk_dn;<br />assign divout = clk20m;<br /><br />endmodule<br /><br /></p>
  • <p>
  • 复制代码

    总结1:

    A.奇数分频:上升沿 clk_up 计数满N/2-1翻转,计数到N-1时,再翻转

    下降沿 clk_dn  同上 ,最后,两个相或 

    B.begin end的应用

    C.分频时,要给分频赋初值,否者可能报错(这点和VHDL不同):

    if(!rst_n)
    begin
    clk_up<=1'b0;
    cnt1<=3'b0;
    end

    2.偶数分频(8分频):

    代码如下:

    <code>

    //20m 8分频
    module div8(
    input clk,
    input rst_n,
    output div8_out
    );

    wire clk20m;
    //pll模块
    pll1 pll1(
    .inclk0(clk),
    .c0(clk20m)
    );

    // (n/2)-1 翻转
    reg [1:0] cnt;
    reg clk25m;
    always @(posedge clk20m or negedge rst_n)
    if(!rst_n) cnt<=2'd0;

    else if(cnt==2'd3)begin//大于1的赋值语句,所以要用begin。。。end
    cnt<=2'd0;
    clk25m <= ~clk25m;
    end

    else
     cnt<=cnt+1'b1;
    assign div8_out = clk25m;
    endmodule

    </code>

    总结2:

    A.需要注意的同奇数分频(初值和begin。。end)

    B。偶数分频,计数到N/2-1时翻转(和奇数分频一样,从0开始计数)



    PARTNER CONTENT

    文章评论0条评论)

    登录后参与讨论
    我要评论
    0
    7
    关闭 站长推荐上一条 /3 下一条