Design & Verification Engineer
70+ Design & Verification Engineer Interview Questions and Answers
Asked in Frenus Tech

Q. 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.

Asked in Sevya Multimedia

Q. Explain setup time and hold time, and why setup time is important.
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
Design & Verification Engineer Interview Questions and Answers for Freshers
Asked in Siyacon Technologies

Q. 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

Asked in Sevya Multimedia

Q. 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.
Asked in PRSSGroup

Q. What are the different types of memory used in VLSI, and why are they utilized?
VLSI utilizes various memory types like SRAM, DRAM, and Flash for different applications based on speed, density, and volatility.
SRAM (Static RAM): Fast, used for cache memory in CPUs.
DRAM (Dynamic RAM): Slower, used for main memory in computers.
Flash Memory: Non-volatile, used in SSDs and USB drives.
ROM (Read-Only Memory): Permanent storage for firmware.
EEPROM (Electrically Erasable Programmable ROM): Used for storing small amounts of data that can be modified.
Register File:...read more
Asked in Eximietas Design

Q. What is the difference between regular expressions and logic?
Regular expressions are patterns for string matching, while logic involves reasoning and truth values in statements.
Regular expressions (regex) are used for searching and manipulating strings based on defined patterns. Example: '^[a-z]+$' matches lowercase letters.
Logic involves formal systems of reasoning, often using propositional or predicate logic. Example: 'A AND B' is true only if both A and B are true.
Regex is primarily concerned with text processing, while logic is us...read more
Design & Verification Engineer Jobs




Asked in Samsung

Q. How do you call an interface signal at the 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)
Asked in PRSSGroup

Q. Major steps in VLSI design flow,how RTL is different from Netlist,what is synthesis in VLSI?
VLSI design flow includes steps from specification to fabrication, with RTL and netlist differing in abstraction levels.
VLSI design flow includes specification, RTL design, synthesis, place & route, and verification.
RTL (Register Transfer Level) describes the design in terms of data flow and timing, while netlist represents the actual circuit connections.
Synthesis converts RTL code into a netlist, optimizing for area, speed, and power.
Example of RTL: A Verilog module defining...read more
Share interview questions and help millions of jobseekers 🌟
Asked in PRSSGroup

Q. What is the significance of the virtual keyword and where is it used in verification?
The virtual keyword enables polymorphism in object-oriented programming, crucial for flexible verification environments.
Enables polymorphism: Allows derived classes to override base class methods, enhancing flexibility in testbench design.
Used in class definitions: For example, a virtual function in a base class can be overridden in a derived class to provide specific behavior.
Facilitates dynamic binding: The correct method is called at runtime based on the object type, not t...read more
Asked in PrimeSoc Technologies

Q. What is ARM advanced microcontroller 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
Asked in PrimeSoc Technologies

Q. 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.

Asked in Sevya Multimedia

Q. 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.

Asked in Sevya Multimedia

Q. 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
Asked in PrimeSoc Technologies

Q. How does the driver communicate with the 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.
Asked in Rivos

Q. What are AHB and APB protocols, and why is a bridge needed between them?
AHB and APB are AMBA protocols; a bridge connects them for compatibility and efficient communication in SoC designs.
AHB (Advanced High-performance Bus): A high-speed bus protocol designed for high-bandwidth applications, supporting burst transfers.
APB (Advanced Peripheral Bus): A simpler, low-power bus protocol used for connecting low-bandwidth peripherals, optimizing power consumption.
Bridge Functionality: A bridge is necessary to connect AHB and APB, allowing high-speed pro...read more
Asked in AIonSi

Q. Write a Finite State Machine (FSM) for the following inputs: PHONE_NUMBER3, PHONE_NUMBER3.
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

Asked in Cadence Design Systems

Q. Describe a simple FSM similar to a multiplexer, including test cases and assertions.
Design test cases and assertions for a simple FSM similar to a multiplexer.
Identify states: Define all possible states of the FSM.
Define inputs: List all inputs that can affect state transitions.
Create state transition table: Map inputs to state transitions.
Write test cases: Example - Test input combinations leading to each state.
Assertions: Example - Assert that the FSM reaches the expected state after a given input.
Asked in Siyacon Technologies

Q. What is the 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

Asked in Cadence Design Systems

Q. 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

Asked in Infosys

Q. What is the difference between a stack and a queue?
Stacks and queues are data structures that manage collections of elements, differing in their order of access.
Stack: Follows Last In First Out (LIFO) principle; the last element added is the first to be removed. Example: Undo functionality in text editors.
Queue: Follows First In First Out (FIFO) principle; the first element added is the first to be removed. Example: Print job scheduling.
Operations: Stacks use push (add) and pop (remove) operations, while queues use enqueue (a...read more
Asked in Eximietas Design

Q. Write assertions related to different requirements.
Assertions ensure design meets requirements, enhancing verification through formal checks.
Functional Assertions: Check if outputs match expected results, e.g., 'if input A=1, output B should be 0'.
Temporal Assertions: Validate sequences over time, e.g., 'event X must occur before event Y'.
Protocol Assertions: Ensure compliance with communication protocols, e.g., 'data must be valid before transmission'.
Safety Assertions: Verify system safety conditions, e.g., 'system must not...read more

Asked in InSemi Technology Services

Q. 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]]
Asked in Excel VLSI Technologies

Q. What are the differences between Verilog testbenches and SystemVerilog testbenches?
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.

Asked in InSemi Technology Services

Q. 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

Asked in MosChip Technologies

Q. What are 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
Asked in SEMIFIVE

Q. Why are phases necessary?
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

Asked in MosChip Technologies

Q. 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

Asked in Advanced Micro Devices

Q. How can the UART protocol be used 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
Asked in Chipspirit Technologies

Q. 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

Asked in Advanced Micro Devices

Q. How do you use UART to receive signals from a microcontroller?
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.
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

