首頁>Club>
9
回覆列表
  • 1 # 南風微涼南巷花念伊

    count_5m>=4說明count_5m計數為01234這5個就是5個週期一個輪迴clk_5m<=~clk_5m;說明每5個週期電平變化一次clk_5m的一個週期為高低電平各一次,就是10個週期原來的時鐘就是生成時鐘的10倍

  • 2 # 高大美女的

    分頻器是比較簡單和基礎的,偶數的簡單一些,奇數的複雜一些(這裡都佔空比都是50%)

    偶數分頻(2N)

    偶數分頻最為簡單,很容易用模為N的計數器實現50%佔空比的時鐘訊號,即每次計數滿N(計到N-1)時輸出時鐘訊號翻轉。

    奇數分頻(2N+1)如5分頻,N=2

    使用模為2N+1的計數器,讓輸出時鐘在X-1(X在0到2N-1之間)和2N時各翻轉一次,則可得到奇數分頻器,但是佔空比並不是50%(應為 X/(2N+1))。

    得到佔空比為50%的奇數分頻器的基本思想是:將得到的上升沿觸發計數的奇數分頻輸出訊號CLK1,和得到的下降沿觸發計數的相同(時鐘翻轉值相同)奇數分頻輸出訊號CLK2,

    最後將CLK1和CLK2相或之後輸出,就可以得到佔空比為50%的奇數分頻器

    module div5(

    clk_in,

    rst_n,

    clk_out

    );

    input clk_in;

    input rst_n;

    output clk_out;

    reg [2:0]cnt1,cnt2;

    reg clk_1,clk_2;

    always@(posedge clk_in) //上升沿分頻,佔空比2:3

    begin

    if(!rst_n)

    begin

    cnt1

    clk_1

    end

    else if(cnt1==3"b100)

    cnt1

    else

    cnt1

    if(cnt1==3"b000)

    clk_1

    if(cnt1==3"b010)

    clk_1

    end

    always@(negedge clk_in) //下升沿分頻,佔空比2:3

    begin

    if(!rst_n)

    begin

    cnt2

    clk_2

    end

    else if(cnt2==3"b100)

    cnt2

    else

    cnt2

    if(cnt2==3"b000)

    clk_2

    if(cnt2==3"b010)

    clk_2

    end

    assign clk_out=clk_1 | clk_2; //錯位相或

    endmodule

    重要的是體會一些思想,並且一定要做模擬。看一些模擬出來的波形。祝順利。

  • 中秋節和大豐收的關聯?
  • 用英語表示自己的名片yournamecard六要素?