Skip to main content


Showing posts from December, 2007

Microprocessor Interview Questions - 1

1. What is a Microprocessor?

A microprocessor is a programmable digital electronic component that incorporates the functions of a central processing unit (CPU) on a single semi conducting integrated circuit (IC). Instructions are fetched from memory, the they are decoded, and finally executed.

2. Why does microprocessor contain ROM chips?

Microprocessor uses ROM chips to store instructions, which are used to execute data.

3. What is the difference between a microprocessor and a microcontroller?

Microprocessor contains more op-codes, and few bit handling instructions. Where as a microcontroller contains few op-codes and more bit handling instructions. It can be called as a computer on a chip. In addition to all arithmetic and logic elements of a general purpose microprocessor, the microcontroller usually also integrates additional elements such as read-only and read-write memory, and input/output interfaces.

4. Give examples for 8, 16, and 32 bit microprocessors.


Verilog Interview Questions - 1

Questions are related to comparison (What is the difference betweem ...).

1. What is the difference between a function and a task?

Functions TasksCan enable another function but not another task.Can enable other tasks and functions.Executes in 0 simulation time.May execute in non-zero simulation time.Must not contain any delay, event, or timing control statements.May contain delay, event, or timing control statements.Must have at least one input argument. They can have more than one input.May have zero or more arguments of type input, output, or inout.Functions always return a single value. They cannot have output or inout arguments.Tasks do not return with a value, but can pass multiple values through output and inout arguments.
2. What is the difference between $display and $monitor?

The syntax of both statements is same. $monitor continuously monitors the values of the variables or signals specified in the parameter list and executes the statement whenever the value of…

Basics: Lexical Tokens

>> Operators
>> Comments
>> Whitespace
>> Strings
>> Identifiers
>> Keywords
>>Number Specification


There are three types of operators: unary, binary, and ternary, which have one, two, and three operands respectively.

Unary : Single operand, which precede the operand.
Ex: x = ~y
~ is a unary operator
y is the operand

binary : Comes between two operands.
Ex: x = y || z
|| is a binary operator
y and z are the operands

ternary : Ternary operators have two separate operators that separate three operands.
Ex: p = x ? y : z
? : is a ternary operator
x, y, and z are the operands

List of operators is given here.


Verilog HDL also have two types of commenting, similar to that of C programming language. // is used for single line commenting and '/*' and '*/' are used for commenting multiple lines which start with /* and end with */.
EX: // single line comment
/* Multiple line
commenting */
/* This is a // LEGAL comment */
/* This is an /* ILLEGAL …

About Only-VLSI

Only-VLSI blogspot is started with an aim of providing tutorials and study material on most important VLSI topics. Each chapter of the tutorial are provided with good examples. Projects/Examples will help in improving the thinking process as well as implementation skills. 
There is a special section called Interview Questions, which contains interview related questions, which will help in clearing the most competitive interviews.
One of the important points about Only-VLSI is that most of the questions given in "Interview Questions" section are solved. The link to answer of a question is given next to the question.
Please read the disclaimer before following this site.


Only-VLSI cannot guarantee the validity of the information found here. When it is mentioned as Only-VLSI it means the owner of the only-vlsi blogspot.

Only-VLSI makes no claims, promises, or guarantees about the absolute accuracy, completeness, or adequacy of the contents of this web site and expressly disclaims liability for errors and omissions in the content. No warranty of any kind, implied, expressed or statutory, including to fitness for a particular purpose and freedom from computer virus, is given with respect to the contents of this website or its hyper links to other Internet resources.

Reference in this website to any specific commercial products, processes, or services, or the use of any trade, firm or corporation name is for the information, and does not constitute endorsement, recommendation, or favoring by the Only-VLSI.

*** All the information, examples, and codes are to be used at your own risk.

Basics: Number Specification

Sized Number Specification

Representation: [size]'[base][number][size] is written only in decimal and specifies the number of bits. [base] could be 'd' or 'D' for decimal, 'h' or 'H' for hexadecimal, 'b' or 'B' for binary, and 'o' or 'O' for octal. [number] The number is specified as consecutive digits. Uppercase letters are legal for number specification (in case of hexadecimal numbers). Ex: 4'b1111 : 4-bit binary number
16'h1A2F : 16-bit hexadecimal number
32'd1 : 32-bit decimal number
8'o3 : 8-bit octal number

Unsized Number Specification

By default numbers that are specified without a [base] specification are decimal numbers. Numbers that are written without a [size] specification have a default number of bits that is simulator and/or machine specific (generally 32).

Ex: 123 : This is a decimal number
'hc3 : This is a hexadecimal number
Number of bits depends on simulator/machine, general…

The VLSI Design Flow

The VLSI IC circuits design flow is shown in the figure below. The various level of design are numbered and the gray coloured blocks show processes in the design flow.
Specifications comes first, they describe abstractly the functionality, interface, and the architecture of the digital IC circuit to be designed.Behavioral description is then created to analyze the design in terms of functionality, performance, compliance to given standards, and other specifications.RTL description is done using HDLs. This RTL description is simulated to test functionality. From here onwards we need the help of EDA tools.RTL description is then converted to a gate-level netlist using logic synthesis tools. A gate-level netlist is a description of the circuit in terms of gates and connections between them, which are made in such a way that they meet the timing, power and area specifications.Finally a physical layout is made, which will be verified and then sent to fabrication.

Introduction to Verilog HDL

>> Introduction
>> The VLSI Design Flow
>> Importance of HDLs
>> Verilog HDL
>> Why Verilog ?
>> Digital Design Methods


With the advent of VLSI technology and increased usage of digital circuits, designers has to design single chips with millions of transistors. It became almost impossible to verify these circuits of high complexity on breadboard. Hence Computer-aided techniques became critical for verification and design of VLSI digital circuits.As designs got larger and more complex, logic simulation assumed an important role in the design process. Designers could iron
out functional bugs in the architecture before the chip was designed further. All these factors which led to the evolution of Computer-Aided Digital Design, intern led to the emergence of Hardware Description Languages.

Verilog HDL and VHDL are the popular HDLs.Today, Verilog HDL is an accepted IEEE standard. In 1995, the original standard IEEE 1364-1995 was approved. IEEE 1364…