Trung tâm đào tạo thiết kế vi mạch Semicon


  • ĐĂNG KÝ TÀI KHOẢN ĐỂ TRUY CẬP NHIỀU TÀI LIỆU HƠN!
  • Create an account
    *
    *
    *
    *
    *
    Fields marked with an asterisk (*) are required.
wafer.jpg

Một số ví dụ về D FLIP FLOP dùng verilog.

E-mail Print PDF
[​IMG]
- Dữ liệu đầu ra Q phụ thuộc vào xung clock. Hay nói cách khác dữ liệu đầu ra Q bằng dữ liệu đầu vào D phụ thuộc vào sự tác động của xung clock. D Flip Flop là một trong 4 flip-flop cơ bản trong thiết kế số.Vì nó là đơn giản nhất trong 4 loại nên được sử dụng rất nhiều trong thiết kế số.
D_flipflop_timing.gif
-Một số công dụng của D Flip Flop:
+ Dùng để chia tần số.
+ Chốt, lưu dữ liệu tạo ra RAM hoặc ROM…..
- Một số ví dụ về D FLIP FLOP dung verilog.
++ Ví dụ code Verilog cho D FLIP FLOP tích cực ở sườn dương.
MÃ:
module flop (clk, d, q);     input  clk, d;     output q;     reg    q;             always @(posedge clk)     begin        q <= d;     end         endmodule
++ Ví dụ code Verilog cho D FLIP FLOP tích cực ở sườn âm có reset.
MÃ:
module flop (clk, d, reset, q);     input  clk, d, reset;     output q;     reg    q;         always @(negedge clk or posedge reset)         begin        if (reset)           q <= 1’b0;        else                   q <= d;     end         endmodule         
++ Ví dụ code Verilog cho D FLIP FLOP tích cực ở sườn dương và set đồng bộ.
MÃ:
module flop (clk, d, s, q);         input  clk, d, s;         output q;         reg    q;             always @(posedge clk)         begin            if (s)               q <= 1’b1;            else                      q <= d;         end         endmodule         
++ Ví dụ code Verilog cho D FLIP FLOP tích cực ở sườn dương và set đồng bộ, clock enable.
MÃ:
module flop (clk, d, ce, pre, q);     input        clk, ce, pre;     input  [3:0] d;     output [3:0] q;     reg    [3:0] q;     always @(posedge clk or posedge pre)         begin        if (pre)           q <= 4’b1111;        else if (ce)           q <= d;         end         endmodule
Ví dụ về mạch chốt:
++latch với tích cực ở sườn dương .
MÃ:
module latch (g, d, q);         input  g, d;         output q;     reg    q;     always @(g or d)         begin            if (g)               q <= d;         end         endmodule
++ latch với tích cực ở sườn dương và reset.
MÃ:
module latch (g, d, clr, q);         input  g, d, clr;         output q;         reg    q;     always @(g or d or clr)         begin            if (clr)               q <= 1’b0;            else if (g)               q <= d;         end         endmodule
++4-bit latch with an inverted gate and an asynchronous preset.
MÃ:
module latch (g, d, pre, q);         input        g, pre;         input  [3:0] d;         output [3:0] q;         reg    [3:0] q;         always @(g or d or pre)         begin            if (pre)               q <= 4’b1111;            else if (~g)               q <= d;         end         endmodule

 

Bạn có đam mê ngành thiết kế vi mạch và bạn muốn có mức lương1000 usd

hãy đến với ngành vi mạch tại SEMICON

     HotLine: 0972 800 931 Ms Duyên

Last Updated ( Monday, 20 July 2015 19:15 )  
Chat Zalo