Divizor cu 16

De la YO3ITI
Versiunea din 1 februarie 2020 12:50, autor: Yo3iti (discuție | contribuții)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Sari la navigare Sari la căutare
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.
/*
Un exemplu de divizor cu 16 care folosește metoda flip-flop-urilor în cascadă
*/

module clock_divider(
  input clk,
  input reset,
  output reg clk_div2,
  output reg clk_div4,
  output reg clk_div8,
  output reg clk_div16
);  
  always @(posedge clk).   // la fiecare front pozitiv de tact...
    clk_div2 <= ~clk_div2; // semnalul clk_div2 trece în low la fiecare al doilea tact = divizare cu 2 

  always @(posedge clk_div2) // etc, pe baza logicii de mai sus
    clk_div4 <= ~clk_div4;

  always @(posedge clk_div4)
    clk_div8 <= ~clk_div8;

  always @(posedge clk_div8)
    clk_div16 <= ~clk_div16;

endmodule
Divizor cu 16, verilog

Cărți