UVM Interview Questions
UVM Interview Questions
Q4: Why phasing is used? What are the different phases in uvm?
Ans: UVM Phases is used to control the behavior of simulation in a systematic way
& execute in a sequential ordered to avoid race condition. This could also be done in
system verilog but manually.
Ans: In top module write run_test(); i.e. Don't give anything in argument.
Then in command line : +UVM_TESTNAME=testname
Q8: Difference between module & class based TB?
Ans: A module is a static object present always during of the simulation.
A Class is a dynamic object because they can come and go during the life time of
simulation.
Q9: What is uvm_config_db ? What is difference between uvm_config_db &
uvm_resource_db?
Ans: uvm_config_db is a parameterized class used for configuration of different
type of parameter into the uvm database, So that it can be used by any component
in the lower level of hierarchy.
uvm_config_db is a convenience layer built on top of uvm_resource_db, but
that convenience is very important. In particular, uvm_resource_db uses a "last
write wins" approach. The uvm_config_db, on the other hand, looks at where things
are in the hierarchy up through end_of_elaboration, so "parent wins." Once you start
start_of_simulation, the config_db becomes "last write wins."
All of the functions in uvm_config_db#(T) are static, so they must be called
using the :: operator
It is extended from the uvm_resource_db#(T), so it is child class of
uvm_resource_db#(T)
Q10:What is uvm_transaction, uvm_seq_item, uvm_object,
uvm_component?
Q11:What is the advantage of `uvm_component_utils() and
`uvm_object_utils() ?
Q12:What is the difference between `uvm_do and `uvm_ran_send?
diff between uvm_transaction and uvm_seq_item?
Q13:What is the difference between uvm _virtual_sequencer and
uvm_sequencer ?
Q14:What are the benefits of using UVM?
Q15:What is super keyword? What is the need of calling super.build() and
super.connect()?
Q16:Is uvm is independent of systemverilog ?
Q17:Can we have user defined phase in UVM?
Q18:What is p_sequencer ?
Q19:What is uvm RAL model ? why it is required ?
Q20:What is the difference between new() and create?
Q21:What is analysis port?
Q22:What is TLM FIFO?
Q23:How sequence starts?
Q24:What is the difference between UVM RAL model backdoor write/read
and front door write/read ?
Q25:What is objection?
Q26:What is the advantage of `uvm_pre_body and `uvm_post_body ?
Q27:What is the difference between Active mode and Passive mode?
Q28:What is the difference between copy and clone?
Q29:What is UVM factory?
Q30:What are the types of sequencer? Explain each?
Q31:What are the different phases of uvm_component? Explain each?
Q32:How set_config_* works?
Q33:hat are the advantages of uvm RAL model ?
Q34:What is the different between set_config_* and uvm_config_db ?
Q35:What are the different override types?
Q36:What is virtual sequence and virtual sequencer?
Q37:Explain end of simulation in UVM?
Q38:How to declare multiple imports?
Q39:What is symbolic representation of port, export and analysis port?
Q40:What is the difference in usage of $finish and global stop request in
UVM?
Q41:Why we need to register class with uvm factory?
Q42:can we use set_config and get_config in sequence ?
Q43:What is uvm_heartbeat ?
Q44:how to access DUT signal in uvm_component/uvm_object ?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
1.
2.
3.
4.
5.
6.
7.
that it is terse and elegant to write but requires much more care to avoid nasty
bugs. VHDL doesn't let you get away with much; Verilog assumes that whatever you
wrote was exactly what you intended to write. If you get a VHDL architecture to
compile, it's probably going to approximate to the function you wanted. For Verilog,
successful compilation merely indicates that the syntax rules were met, nothing
more. VHDL has some features that make it good for system-level modeling,
whereas Verilog is much better than VHDL at gate-level simulation.
What is latch up in CMOS design and ways to prevent it?
A Problem which is inherent in the p-well and n-well processes is due to relatively
large number of junctions which are formed in these structures, the consequent
presence of parasitic diodes and transistors.
Latch-up is a condition in which the parasitic components give rise to the
Establishment of low resistance conducting path between VDD and VSS with
Disastrous results
Latch-up may be induced by glitches on the supply rails or by incident radiation.
Latch-up pertains to a failure mechanism wherein a parasitic thyristor (such as a
parasitic silicon controlled rectifier, or SCR) is inadvertently created within a circuit,
causing a high amount of current to continuously flow through it once it is
accidentally triggered or turned on. Depending on the circuits involved, the amount
of current flow produced by this mechanism can be large enough to result in
permanent destruction of the device due to electrical overstress (EOS).
Preventions for Latch-Up
by adding tap wells, for example in an Inverter for NMOS add N+ tap in n-well and
connect it to Vdd, and for PMOS add P+ tap in p-substrate and connect it to Vss.
an increase in substrate doping levels with a consequent drop in the value of Rs.
reducing Rp by control of fabrication parameters and by ensuring a low contact
resistance to Vss.
and the other is by introducing of guard rings.....
Latchup in Bulk CMOS
A byproduct of the Bulk CMOS structure is a pair of parasitic bipolar transistors. The
collector of each BJT is connected to the base of the other transistor in a positive
feedback structure. A phenomenon called latchup can occur when (1) both BJT's
conduct, creating a low resistance path between Vdd and GND and (2) the product
of the gains of the two transistors in the feedback loop, b1 x b2, is greater than one.
The result of latchup is at the minimum a circuit malfunction, and in the worst case,
the destruction of the device.
through an I/O pad, where it is clamped to one of the rails by the ESD protection
circuit. Devices in the protection circuit can inject minority carriers in the substrate
or well, potentially triggering latchup.
Radiation, including x-rays, cosmic, or alpha rays, can generate electron-hole pairs
as they penetrate the chip. These carriers can contribute to well or substrate
currents.
Sudden transients on the power or ground bus, which may occur if large numbers of
transistors switch simultaneously, can drive the circuit into latchup. Whether this is
possible should be checked through simulation.