Design & Verification Engineer
50+ Design & Verification Engineer Interview Questions and Answers
Q1. 1. XOR gate 2. How you compare two 4 bit numbers only using gates. 3. How to rotate the bits and what happens if you rotate 5 times etc like that
Questions on XOR gate, comparing 4 bit numbers using gates and rotating bits.
XOR gate is a logical gate that outputs true only when the inputs differ.
To compare two 4 bit numbers using gates, we can use a combination of XOR, AND and OR gates.
To rotate bits, we can use shift registers or rotate registers.
If we rotate 5 times, the bits will rotate by 5 positions and the last 5 bits will become the first 5 bits.
Q2. Why $cast is used? Types of arrays
The $cast operator is used to convert one data type to another. Types of arrays include fixed-size, dynamic, and multi-dimensional.
The $cast operator is commonly used in C++ to convert between data types.
Fixed-size arrays have a predetermined number of elements, while dynamic arrays can be resized during runtime.
Multi-dimensional arrays can have more than one index, such as a 2D array with rows and columns.
Arrays can also be declared as pointers, allowing for dynamic memory a...read more
Design & Verification Engineer Interview Questions and Answers for Freshers
Q3. Explain setup time and hold time and what is the importance of setup time?
Setup time and hold time are timing constraints in digital circuits to ensure proper operation of flip-flops.
Setup time is the minimum amount of time data must be stable before the clock edge for it to be reliably sampled.
Hold time is the minimum amount of time data must be stable after the clock edge for it to be reliably sampled.
Setup time violations can lead to metastability issues in flip-flops.
Hold time violations can lead to data corruption in flip-flops.
Setup time is i...read more
Q4. What is mux? What are the use of select lines in mux?
A mux (multiplexer) is a digital circuit that selects one of multiple input signals and forwards it to a single output.
Mux is used to select one of multiple input signals based on the select lines.
The number of select lines determines the number of input signals that can be selected.
Common examples of mux include 2:1 mux, 4:1 mux, and 8:1 mux.
Q5. how to call an interface signal at sequence level in uvm?
Interface signals can be called at sequence level in UVM using the uvm_config_db class.
Use uvm_config_db#(type)::set/get methods to access interface signals at sequence level
Register the interface signal in the configuration database before accessing it in the sequence
Example: uvm_config_db#(virtual interface)::set(null, "my_sequence", "my_interface", my_interface)
Q6. What is Arm advanced microcontroller based bus architecture?
Arm advanced microcontroller based bus architecture is a high-performance, low-power bus architecture designed for Arm microcontrollers.
Designed for Arm microcontrollers to provide high performance and low power consumption
Supports advanced features like multiple bus masters, bus arbitration, and bus error handling
Commonly used in embedded systems and IoT devices
Examples include Arm Cortex-M series microcontrollers with AMBA bus architecture
Share interview questions and help millions of jobseekers 🌟
Q7. What is Universal Asynchronous Receiver Transmitter?
Universal Asynchronous Receiver Transmitter is a hardware device used for serial communication.
UART is commonly used for asynchronous communication between devices
It consists of a transmitter and a receiver
Data is sent in a serial format with start and stop bits
Common baud rates include 9600, 19200, 38400, etc.
Q8. What are the universal gates? Make Nand using Nor.
Universal gates are gates which can be used to implement any other gate. NAND and NOR gates are examples of universal gates.
Universal gates can be used to implement any other gate in digital circuits.
NAND gate and NOR gate are examples of universal gates.
NAND gate can be constructed using NOR gates by applying De Morgan's theorem.
Design & Verification Engineer Jobs
Q9. What is sequential ckt ? What is flip flop?
Sequential circuit is a type of digital circuit where the output depends not only on the present input but also on the history of the input.
Sequential circuit stores information about past inputs, unlike combinational circuits.
Flip flop is a basic building block of sequential circuits, used to store one bit of information.
Flip flops have two stable states (0 or 1) and are used for storing binary information.
Examples of flip flops include D flip flop, JK flip flop, and T flip ...read more
Q10. Project explanation makes a big impact
Project explanation is crucial for understanding its impact and success.
Clear and concise project goals and objectives
Detailed project plan and timeline
Regular project updates and communication
Demonstration of project outcomes and achievements
Highlighting the impact of the project on the organization or industry
Providing evidence of successful project completion
Q11. how to driver is communicating with sequencer?
The driver communicates with the sequencer through signals and interfaces.
Driver sends commands and data to the sequencer through communication interfaces like SPI, I2C, or UART.
Sequencer receives the commands and data, processes them, and generates appropriate responses.
Communication between driver and sequencer can also involve handshaking signals to ensure data integrity and synchronization.
Q12. What are blocking and non blocking assignments?
Blocking assignments wait for the assigned value to be calculated before moving on to the next statement, while non-blocking assignments allow multiple assignments to occur simultaneously.
Blocking assignments use the = operator, while non-blocking assignments use the <= operator
Blocking assignments are executed sequentially in the order they appear in the code, while non-blocking assignments are executed concurrently
Blocking assignments are used for combinational logic, while...read more
Q13. Write FSM for following inputs? Input:00101213,01001203
FSM for processing two input sequences
Define states for each digit in the input sequence
Transition between states based on current input and previous state
Handle invalid inputs or transitions with error state
Q14. Difference between verilog tb and system verilog tb
Verilog tb is used for Verilog testbenches while SystemVerilog tb is used for SystemVerilog testbenches.
Verilog tb uses Verilog language for testbenches while SystemVerilog tb uses SystemVerilog language.
SystemVerilog tb provides more advanced features like classes, randomization, and coverage.
SystemVerilog tb allows for easier integration of verification components and reuse of code.
Verilog tb may require more manual coding for tasks that are automated in SystemVerilog tb.
Q15. Difference between copy and clone
Copy creates a new reference to the same object while clone creates a new object with the same values.
Copy points to the same object while clone creates a new object
Copy is shallow while clone is deep
Copy is faster than clone
Copy is used for mutable objects while clone is used for immutable objects
Q16. System verilog-areays and its types, task and function
SystemVerilog arrays are data structures that store multiple elements of the same data type. Tasks and functions are reusable blocks of code.
SystemVerilog arrays can be declared using the 'array' keyword, with different types like dynamic arrays, associative arrays, and queues.
Tasks are reusable blocks of code that can contain a sequence of statements and can be called multiple times within a module.
Functions are similar to tasks but return a value and can be used to perform ...read more
Q17. 4x4 matrix representation with diagonal elements are 5 multiples
A 4x4 matrix with diagonal elements as multiples of 5.
Diagonal elements: [5, 10, 15, 20]
Non-diagonal elements can be any value
Example matrix: [[5, 2, 3, 4], [1, 10, 6, 7], [8, 9, 15, 11], [12, 13, 14, 20]]
Q18. Why we do Need Phases.
Phases are needed to break down complex tasks into manageable parts, ensuring proper planning, execution, and tracking.
Phases help in proper planning and organization of tasks
Phases allow for better tracking of progress and milestones
Phases help in managing dependencies and resources effectively
Phases enable better communication and collaboration among team members
Q19. use uart protocol to solve a problem?
UART protocol can be used to transmit and receive data between two devices.
UART can be used to communicate between a microcontroller and a computer
UART can be used to send and receive data between two microcontrollers
UART can be used to interface with sensors and actuators
UART can be used to implement a simple command/response protocol
UART can be used to implement a data logging system
Q20. What is the difference between MOSFET and bjt
MOSFET and BJT are both types of transistors used in electronic circuits, but they differ in terms of construction, operation, and characteristics.
MOSFET stands for Metal-Oxide-Semiconductor Field-Effect Transistor, while BJT stands for Bipolar Junction Transistor.
MOSFET is a voltage-controlled device, while BJT is a current-controlled device.
MOSFET has a high input impedance and low output impedance, while BJT has a low input impedance and high output impedance.
MOSFET has a ...read more
Q21. use uart to receive signals from micrcontroller
UART can be used to receive signals from a microcontroller.
Connect the UART pins of the microcontroller to the UART pins of the receiving device.
Configure the UART settings such as baud rate, parity, and stop bits.
Use a UART library or write code to read the incoming data from the UART buffer.
Process the received data as required by the application.
Q22. What is factory override in UVM?
Factory override in UVM allows users to replace default factory methods with custom implementations.
Factory override is used to customize the behavior of UVM components without modifying the original source code.
It allows users to replace default factory methods with custom implementations to meet specific requirements.
Factory override can be useful for debugging, testing, or adding new features to existing UVM components.
Example: Overriding the default create method in a UVM...read more
Q23. What is digital electronics
Digital electronics is a branch of electronics that deals with digital signals and systems.
Deals with discrete values (0s and 1s)
Utilizes logic gates to process digital signals
Used in computers, smartphones, digital cameras, etc.
Digital circuits can be easily replicated and manipulated
Q24. 1) Explain flipflops 2) UVM Architecture 3)constraints
Flip-flops are sequential logic circuits used to store and manipulate binary data.
Flip-flops are basic building blocks of digital circuits.
They can store a single bit of information, either 0 or 1.
Flip-flops have two stable states: set and reset.
They are used to store and transfer data in sequential circuits.
Examples of flip-flops include D flip-flop, JK flip-flop, and T flip-flop.
Q25. Task to write 50 transactions to a memory
Writing 50 transactions to a memory task
Use a loop to iterate 50 times and write each transaction to the memory
Ensure each transaction is unique and properly formatted
Verify the transactions after writing them to the memory
Q26. What are synthesizable constructs ?
Synthesizable constructs are hardware description language (HDL) constructs that can be translated directly into hardware logic by a synthesis tool.
Synthesizable constructs are used in hardware description languages like Verilog and VHDL.
They describe the behavior and structure of digital circuits.
Examples include flip-flops, multiplexers, adders, and registers.
Non-synthesizable constructs include delays, file I/O, and tasks.
Synthesis tools convert synthesizable constructs in...read more
Q27. What is m_sequencer and p_sequencer?
m_sequencer and p_sequencer are components used in design and verification for sequencing operations.
m_sequencer and p_sequencer are commonly used in digital design for controlling the sequence of operations.
m_sequencer typically refers to a master sequencer, while p_sequencer refers to a peripheral sequencer.
These components are often used in verification environments to ensure proper sequencing of events.
For example, m_sequencer may control the overall flow of a testbench, ...read more
Q28. difference between dynamic and associative array.
Dynamic arrays can change size during execution, while associative arrays use keys to access elements.
Dynamic arrays in SystemVerilog are declared using [] and can change size during simulation.
Associative arrays use keys to access elements, like a dictionary in Python.
Dynamic arrays are indexed by integers, while associative arrays are indexed by strings or other data types.
Q29. What is the call back in UVM?
A call back in UVM is a mechanism used to notify a component about a specific event or condition.
A call back is defined using a function or task in the UVM component.
It is registered with the UVM framework to be executed when a certain event occurs.
Call backs are commonly used for handling events like transaction completion or error detection.
Q30. What is Metastability?
Metastability is a phenomenon in digital circuits where a flip-flop enters an undefined state due to timing violations.
Occurs when a flip-flop samples an input signal at a time when it is transitioning between logic levels
Can lead to unpredictable output and potentially cause system failures
Can be mitigated by using synchronization techniques such as double or triple flopping
Common in high-speed digital designs
Q31. Explain Project Test Case
Project test case is a specific scenario or condition to be tested in a project to ensure its functionality and performance.
Project test cases are designed to validate the functionality of a specific feature or requirement.
They include inputs, actions, and expected outcomes for testing.
Test cases help in identifying defects and ensuring the quality of the project.
Examples: testing login functionality, testing data validation, testing error handling.
Q32. Design an and gate using 2:1 mux
An AND gate can be designed using a 2:1 multiplexer by connecting one input to select line and the other input to the data input.
Connect one input of the AND gate to the select line of the 2:1 mux
Connect the other input of the AND gate to the data input of the 2:1 mux
The output of the 2:1 mux will be the output of the AND gate
Q33. Design an xor gate using 2:1 muz
An XOR gate can be designed using a 2:1 MUX by connecting the inputs to the select lines and the outputs to the data inputs.
Connect one input of the XOR gate to the select line of the MUX
Connect the other input of the XOR gate to the inverted select line of the MUX
Connect the outputs of the MUX to the XOR gate's output
Q34. What is verilog code of d-ff
D flip-flop (D-FF) verilog code stores data on the rising edge of the clock signal.
Use always block to describe the behavior of the D-FF
Use a positive edge-triggered clock signal to update the output
Assign the output to the input data when the clock signal rises
Q35. How uvm methodology is useful
UVM methodology is useful for creating reusable, scalable, and efficient verification environments in SystemVerilog.
UVM provides a standardized methodology for creating verification environments in SystemVerilog
It promotes reusability of verification components such as testbenches, sequences, and drivers
UVM helps in achieving better coverage closure and improves verification productivity
It enables easier debugging and tracking of issues in the verification environment
UVM faci...read more
Q36. What is MOSFET ?
MOSFET stands for Metal-Oxide-Semiconductor Field-Effect Transistor, a type of transistor used in electronic devices.
MOSFET is a type of field-effect transistor that is commonly used in integrated circuits.
It consists of a metal gate electrode separated from the semiconductor by a thin insulating layer of oxide.
MOSFETs are used for amplifying or switching electronic signals in devices like computers, smartphones, and power amplifiers.
Q37. What is OP-AMP?
OP-AMP stands for Operational Amplifier, a type of electronic amplifier with two inputs and one output.
OP-AMP is a high-gain electronic voltage amplifier with differential inputs.
It is commonly used in analog circuits for signal processing, filtering, and mathematical operations.
OP-AMPs have a wide range of applications including audio amplifiers, instrumentation amplifiers, and voltage comparators.
Q38. Design a 8:1 mux using 3 to 8 decoder
Use a 3 to 8 decoder to design an 8:1 mux.
Connect the inputs of the 3 to 8 decoder to the select lines of the mux.
Use the outputs of the decoder as the control signals for the mux.
Connect the data inputs of the mux to the corresponding outputs of the decoder.
Q39. Difference between task and function
Tasks are parallel processes that can run concurrently, while functions are sequential and return a value.
Tasks can run concurrently, while functions run sequentially
Tasks do not return a value, functions do
Tasks are defined using the 'task' keyword in Verilog, functions using the 'function' keyword
Q40. Diff bw latches and ff
Latches are level-sensitive while flip-flops are edge-triggered. Flip-flops have a clock input while latches do not.
Latches are level-sensitive, meaning the output changes as long as the enable signal is active.
Flip-flops are edge-triggered, meaning the output changes only on the rising or falling edge of the clock signal.
Flip-flops have a clock input which latches do not have.
Latches are faster but consume more power compared to flip-flops.
Example of latches: SR latch, D lat...read more
Q41. Explain UVM Phase
UVM Phase is a specific stage in the Universal Verification Methodology used in verification of digital designs.
UVM Phase is a part of the UVM methodology used in SystemVerilog for verification.
It helps in organizing and controlling the verification process by dividing it into different stages.
Examples of UVM phases include build, connect, run, and cleanup phases.
Q42. test bench environment for fifo
Test bench environment for FIFO involves creating stimuli to test the functionality of a FIFO design.
Create stimulus to write data into the FIFO
Create stimulus to read data from the FIFO
Implement checks to verify data integrity and order
Randomize data inputs to test different scenarios
Monitor FIFO status signals for debugging
Q43. Difference between mealy and moore
Mealy machines have outputs that depend on both present state and input, while Moore machines have outputs that depend only on present state.
Mealy machines have outputs that change asynchronously with input changes
Moore machines have outputs that change synchronously with state changes
Mealy machines have fewer states compared to Moore machines
Example: Traffic light controller is a Mealy machine as the output changes based on both current state and input (traffic conditions)
Ex...read more
Q44. Difference between latch and flipflops
Latches are level-sensitive while flip-flops are edge-triggered. Flip-flops have a clock input while latches do not.
Latches are level-sensitive, meaning the output changes as long as the enable signal is active. Flip-flops are edge-triggered, changing only on the rising or falling edge of the clock signal.
Flip-flops have a clock input which controls when the output changes, while latches do not have a clock input.
Latches are simpler in design and faster, but can be prone to g...read more
Q45. Expected CTC and Preferred Location
Expected CTC and preferred location are important factors to consider in a job interview.
Expected CTC refers to the salary or compensation package the candidate is expecting from the job.
Preferred location indicates the geographical area where the candidate would like to work.
These factors help the employer assess if the candidate's expectations align with the company's budget and location requirements.
Candidates should research industry standards and consider their experienc...read more
Q46. and gate code in behavioral
Implementing an AND gate in behavioral code
Use if statements to check if both inputs are high
Assign the output to high if both inputs are high
Use Verilog or VHDL syntax depending on the language being used
Q47. difference between Ff & latch
FF is edge-triggered, stores data on clock edge. Latch is level-sensitive, stores data as long as enable signal is active.
FF stores data on clock edge, latch stores data as long as enable signal is active
FF has two stable states (0 or 1), latch has one stable state (depends on enable signal)
FF is used for sequential circuits, latch is used for level-sensitive circuits
Example: D flip-flop (FF) vs SR latch
Q48. Explain task and functions?
Tasks and functions refer to the specific responsibilities and roles assigned to an individual within a job or project.
Tasks are specific actions or activities that need to be completed within a certain timeframe.
Functions are broader roles or responsibilities that encompass multiple tasks and contribute to the overall goal.
Examples of tasks include writing test cases, debugging code, and creating design specifications.
Examples of functions include leading a team, coordinatin...read more
Q49. Plans for the future?
I plan to continue advancing my skills in design verification engineering and eventually move into a leadership role.
Continue taking relevant courses and certifications to stay updated on industry trends
Seek opportunities to lead projects and teams to gain leadership experience
Network with professionals in the field to learn from their experiences and insights
Q50. write code randc behaviour
randc behavior generates random complex numbers with specified distribution
Use randc to generate random complex numbers
Specify distribution using arguments like mean, variance, etc.
Example: randc(10, 1, 2) generates 10 random complex numbers with mean 1 and variance 2
Interview experiences of popular companies
Calculate your in-hand salary
Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary
Reviews
Interviews
Salaries
Users/Month