Scaledge
SG Enterprises Interview Questions and Answers
Q1. How will you use UVM and integrate it with c based test case
UVM can be used to create a testbench environment and integrate it with c based test cases using DPI-C.
Create a UVM testbench environment using SystemVerilog
Use DPI-C to integrate the c based test cases with the UVM environment
Define a DPI import function in SystemVerilog to call the c functions
Use UVM sequences to drive the test cases
Use UVM scoreboard to verify the results
Use UVM coverage to ensure complete coverage of the design
Q2. Discuss scoreboard and how to get expected data.
Scoreboard is a verification component that tracks and compares expected and actual data.
Scoreboard is used to monitor the progress of a design under test (DUT) and compare it with the expected behavior.
It can be implemented using a register or a memory block.
Scoreboard can be used to check the correctness of the DUT's output against the expected output.
Expected data can be obtained from a reference model or a golden model.
Scoreboard can be used in conjunction with other veri...read more
Q3. difference between task and function ?
Tasks are concurrent blocks of code that can run in parallel, while functions are sequential blocks of code that perform a specific task.
Tasks can run concurrently, while functions run sequentially
Tasks can be executed in parallel, while functions are executed one after the other
Tasks are used for parallel processing, while functions are used for sequential processing
Q4. write an fsm code for patten detector
FSM code for pattern detector
Define states for different patterns to detect
Transition between states based on input pattern
Output a signal when a specific pattern is detected
Q5. difference between blocking and non-blocking
Blocking operations wait until the operation completes, while non-blocking operations do not wait and allow other operations to continue.
Blocking operations halt the execution until the operation is completed
Non-blocking operations do not halt the execution and allow other operations to continue
Blocking operations are synchronous, while non-blocking operations are asynchronous
Example: In a blocking operation, a function call will wait for the function to return before proceed...read more
Q6. What is Polymorphism in sv
Polymorphism in SystemVerilog allows objects of different types to be treated as objects of a common base type.
Polymorphism allows for more flexibility and reusability in code
It enables the use of virtual methods to be overridden in derived classes
Example: Using a base class to define common methods and then creating derived classes that implement those methods differently
Q7. What is Inheritance in sv
Inheritance in SystemVerilog allows a class to inherit properties and methods from another class.
Inheritance allows for code reusability and promotes a hierarchical structure.
Derived class inherits properties and methods from the base class.
Derived class can also have its own unique properties and methods.
Example: class B extends class A, where B inherits properties and methods from A.
Q8. How to design full adder using half adder?
A full adder can be designed using two half adders and an OR gate.
Use one half adder to add two of the three inputs (A and B)
Use the second half adder to add the output of the first half adder with the third input (Cin)
Use an OR gate to combine the carry outputs of both half adders to get the final carry out
The sum output is the XOR of the outputs of both half adders
Q9. Design a Xor gate using 4:1 mux?
Xor gate can be designed using 4:1 mux by selecting inputs based on control signals.
Use 4:1 mux with two inputs as A and B, one input as A' and one input as B'.
Connect A and B to select lines of mux.
Connect A' and B' to the data inputs of mux.
Set control signals such that when A=0, B=1 or A=1, B=0, the output is 1.
When A=B=0 or A=B=1, the output should be 0.
Interview Process at SG Enterprises
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month