一個比較簡單的D觸發器4分頻verilog程序

轉自 http://blog.sina.com.cn/s/blog_605fa0af0100djnz.html

將兩個D觸發器級聯起來,前一個D觸發器的輸出做爲下一個觸發器的時鐘輸入,就構成了一個由兩個D觸發器形成的4分頻程序,代碼如下所示:

module D_ff_4div(clkin,reset_n,clkout);
    input clkin,reset_n;
    output clkout;
    wire in1,in2,clkin_2;
    reg out;
    reg clkout_1;
    assign in1=~clkout_1;
    assign clkin_2=clkout_1;
    assign in2=~out;
    assign clkout=out;
 always@(posedge clkin)   //由第一個D觸發器構成的2分頻程序;
 begin
     if(!reset_n)
     begin
     out<=0;
    clkout_1<=0;
     end
    else
    clkout_1<=in1;
 end
 always@(posedge clkin_2)   //由第二個D觸發器構成的2分頻程序,時鐘輸入爲上面的輸出;
 begin
     if(!reset_n)
    out<=0;
     else
     out<=in2;
 end
 endmodule

代碼經過驗證,歡迎高手批評指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章