Mar 21, 2023

Verilog - Useful Modeling Techniques

 

Here we will discuss about the useful modeling techniques. 


Procedural Continuous Assignments  : 

These are the statements which allow values to be driven continuously onto registers or nets. 

Exp: assign and deassign 

A simple example is the positive edge triggered D-flip-flop with asynchronous reset. 

// ------------------------

D_FF

//Author - Rahul Jain 

// D-flipflop with Asynchronous Reset (active high)

module dff ( d, clk, reset, q ) ; 

input d, clk, reset;

output q; 

reg q ; 


always @(posedge clk) begin 

 q = d ; 

end 


always @(reset) begin 

  if (reset) 

    assign q = 1'b0;

  else 

    deassign q ;  

end 

endmodule 

// ------------------------

Here in the example , we overrode the assignment on q and assign new values to them when reset goes high. The register "q" variable retain the continuously assigned value after the deassigned.

This is now a bad practice and we do not use it in RTL code, whereas We use the non-blocking statement in procedural statement. 


Force and Release : 




Ref : Verilog HDL ( Samir Palnitkar)

Mar 12, 2023

tester3

Title of the document

Your small contribution will help to write more useful information

Async FIFO with Programmable Depth

Mar 1, 2023

Quiz 1 : Static Timing analysis

Quiz-1 Static Timing Analysis

Please fill the above data!
coin :  0

Name : Apu

Roll : 9

Total Questions:

Correct: | Wrong:

Attempt: | Percentage:



Quiz on Static timing analysis 
Interview question on Static Timing Analysis
Static Timing Analysis multi choice questions  


HTML Redirect

RTL DIGITAL DESIGN BLOG

If your browser supports Refresh, you'll be redirected to Homepage, in 180 seconds.

SiteMap