Home.Verilog.Digital Design.Digital Basics.Python.RF Basics.
Previous.
Next.
Custom Search

Feedback ? Send it to admin@fullchipdesign.com or join me at fullchip@gmail.com

Legal Disclaimer

Chip Designing for ASIC/ FPGA Design engineers and Students
FULLCHIPDESIGN
Digital-logic Design...  Dream for many students… start learning front-end…

Legal Disclaimer

PICS
Verilog Tutorial.
Verilog Counter & testbench
 - with synchronous enable/disable control

module tb_counter();

 

reg clk_1fs;

reg rst_n;

reg [3:0] r_count;

reg [3:0] count; 

reg count_en;

 

initial begin 

     clk_1fs = 0; 

     rst_n = 0;

     #100 rst_n = 1;

     forever begin

         #10 clk_1fs = 1;

         #10 clk_1fs = 0;

          end

 

end

 

always@(posedge clk_1fs or negedge rst_n)

Begin

 

    if (!rst_n)

   begin

        r_count <= 'b0;

        count_en <= 'b0;  

    end

    else

   begin 

        r_count <= count;

   end

 

end

 

always@(*)

begin 

   count = r_count;

   if (r_count < 15 && !count_en) 

 begin

         count = r_count + 1; 

 end

  else if (r_count == 15)

 begin

        count_en = 1;

        count = 15;

 end

  else count = 15;

end 

 

endmodule

 

Counter implementation, use of synchronous signal to enable or disable the counter and test-bench to validate.  

Initial stmts IF-ELSE Case stms Readmemh Function Testbench Binary to Gray Clock Crossing Half-adder Full-adder Tristate buffer Adder tb Counter_enable Blocking Operators Shift LSR Random Nos Sync RAM Verilog Tutorial
LTE - Long Term Evolution topics from here
Interview Questions. Main, FPGA, Digital Fundamentals
Interview Questions. Main, FPGA, Digital Fundamentals