Home Verilog Digital Design Digital Basics Python RF Basics

Legal Disclaimer

Chip Designing for ASIC/ FPGA Design engineers and Students
FULLCHIPDESIGN
Digital-logic Design...  Dream for many students… start learning front-end…
Topics @TYH :- 4G LTE Tutorial, GVIM editor, Smart-Phone, Cloud Computing
FCD
Custom Search

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

Legal Disclaimer

Previous.
Next.
Introduction Operators Initial stms Block vs. Non Blk IF-ELSE, CASE FORLOOP File Operations Read .bin format Function Call Testbench Random Numbers Shift Micro-ops Sync RAM Mem Generate Assertions Signed RTL
Verilog Tutorial.
Digital Basics Tutorial.

Initial statements with examples are discussed in this section. Also discussed are clocks and resets generation logic using forever loop and not operator.

Statements within initial block are used in Verilog for generating test signals, example clocks, resets etc.

Initial statements can’t be synthesized because actual behavior of hardware is difficult to model using fixed delays. These statements are used only for testbench purposes and to initialize the values at zero simulation time.

Clock & Reset generation code: 

// Register declarations

reg clk_1fs;  

reg clk_1fs_d;  

reg rst_n;

 

// Use of initial statement to generate clocks 1fs and 1fs_d

initial begin 

     clk_1fs = 0; 

     clk_1fs_d = 0; 

     rst_n = 0;

     #100 rst_n = 1;

     forever begin

         #10 clk_1fs = 1;

         #11 clk_1fs_d = 1;

         #10 clk_1fs = 0;

         #11 clk_1fs_d = 0;

end end

 

 end

 

reg clk;
reg rstn;
/* Initial block to generate clock and reset */
initial
    begin
   clk = 0;  rstn = 0;  #100 rstn = 1;
   forever begin
       #10 clk = !clk;  end
end
Some Examples below:-
Clocks and reset generation in test-bench using Initial statements.  
Counter logic with enable disable logic generation using initial statements.  

Verilog Initial Statements.

Operators.
Block vs. Non Blk.
Previous              Next
Another example of initial statement to generate clock and reset using not operator.
LTE - Long Term Evolution topics from here