Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Verilog

Diseño e Implementación de Contador Ripple Asíncrono en Verilog

Un contador ripple es un contador asíncrono en el que todos los flip-flops, excepto el primero, son relojados por la salida del flip-flop precedente.

Diseño

module dff (
  input d,
  input clk,
  input rstn,
  output reg q,
  output qn
);
  always @ (posedge clk or negedge rstn)
    if (!rstn) q <= 0;
    else q <= d;
  assign qn = ~q;
endmodule

module ripple (
  input clk,
  input rstn,
  output [3:0] out
);
  wire q0, qn0, q1, qn1, q2, qn2, q3, qn3;
  dff dff0 ( .d (qn0), .clk (clk),  .rstn (rstn), .q (q0),  .qn (qn0));
  dff dff1 ( .d (qn1), .clk (q0),   .rstn (rstn), .q (q1),  .qn (qn1));
  dff dff2 ( .d (qn2), .clk (q1),   .rstn (rstn), .q (q2),  .qn (qn2));
  dff dff3 ( .d (qn3), .clk (q2),   .rstn (rstn), .q (q3),  .qn (qn3));
  assign out = {qn3, qn2, qn1, qn0};
endmodule

Esquema Hardware

Testbench

module tb_ripple;
  reg clk;
  reg rstn;
  wire [3:0] out;
  ripple r0 ( .clk (clk), .rstn (rstn), .out (out));
  always #5 clk = ~clk;
  initial begin
    rstn <= 0;
    clk <= 0;
    repeat (4) @ (posedge clk);
    rstn <= 1;
    repeat (25) @ (posedge clk);
    $finish;
  end
endmodule

Verilog

  1. Dominar Verilog: Tutorial completo para diseño de circuitos digitales
  2. Dominar la concatenación en Verilog: Guía práctica
  3. Comprender las asignaciones en Verilog: tipos, sintaxis y mejores prácticas
  4. Bloqueante vs. No bloqueante en Verilog: Diferencias clave explicadas
  5. Dominar las funciones en Verilog para diseño RTL eficiente
  6. Comprender las Tasks en Verilog: Funciones vs Tasks, sintaxis y uso
  7. Generador de reloj en Verilog: Guía de diseño e implementación
  8. Dominar las funciones matemáticas en Verilog para diseño de hardware eficiente
  9. Dominar $timeformat en Verilog: Control de precisión y visualización
  10. Diseño de Contador Mod-N en Verilog: Módulo Parametrizado y Testbench
  11. Módulo Contador Gray en Verilog – Generador de Código Gray de 4 Bits