Skip to main content

Posts

Showing posts from May, 2008

SoC : System-On-a-Chip

System-on-a-chip (SoC) refers to integrating all components of an electronic system into a single integrated circuit (chip). A SoC can include the integration of:
Ready made sub-circuits (IP)One or more microcontroller, microprocessor or DSP core(s)Memory componentsSensorsDigital, Analog, or Mixed signal componentsTiming sources, like oscillators and phase-locked loopsVoltage regulators and power management circuits
The blocks of SoC are connected by a special bus, such as the AMBA bus. DMA controllers are used for routing the data directly between external interfaces and memory, by-passing the processor core and thereby increasing the data throughput of the SoC. SoC is widely used in the area of embedded systems. SoCs can be fabricated by several technologies, like, Full custom, Standard cell, FPGA, etc. SoC designs are usually power and cost effective, and more reliable than the corresponding multi-chip systems. A programmable SoC is known as PSoC.

Advantages of SoC are:
Small size, red…

VLSI Interview Questions - 6

1. Why is NAND gate preferred over NOR gate for fabrication?
Answer

NAND is a better gate for design than NOR because at the transistor level the mobility of electrons of NAND is normally three times that of holes compared to NOR and thus the NAND is a faster gate. The gate-leakage in NAND structures is much lower. If you consider t_phl and t_plh delays you will find that it is more symmetric in case of NAND (the delay profile), but for NOR, one delay is much higher than the other(obviously t_plh is higher since the higher resistance PMOSs are in series connection which again increases the resistance).

2. Which transistor has higher gain: BJT or MOSFET and why?
Answer

BJT has higher gain because it has higher transconductance.This is because the current in BJT is exponentially dependent on input where as in MOSFET it is square law.

3. Why PMOS and NMOS are sized equally in a transmission gates?
Answer

In transmission gate, PMOS and NMOS aid each other rather than competing with each other. So…

Complex Programmable Logic Device

A complex programmable logic device (CPLD) is a semiconductor device containing programmable blocks called macro cell, which contains logic implementing disjunctive normal form expressions and more specialized logic operations. CPLD has complexity between that of PALs and FPGAs. It can has up to about 10,000 gates. CPLDs offer very predictable timing characteristics and are therefore ideal for critical control applications.

Applications
CPLDs are ideal for critical, high-performance control applications.CPLD can be used for digital designs which perform boot loader functions.CPLD is used to load configuration data for an FPGA from non-volatile memory.CPLD are generally used for small designs, for example, they are used in simple applications such as address decoding.CPLDs are often used in cost-sensitive, battery-operated portable applications, because of its small size and low-power usage.
Architecture

A CPLD contains a bunch of programmable functional blocks (FB) whose inputs and output…

Introduction to Digital Logic Design

>> Introduction
>> Binary Number System
>> Complements
>> 2's Complement vs 1's Complement
>> Binary Logic
>> Logic Gates


Introduction

The fundamental idea of digital systems is to represent data in discrete form (Binary: ones and zeros) and processing that information. Digital systems have led to many scientific and technological advancements. Calculators, computers, are the examples of digital systems, which are widely used for commercial and business data processing. The most important property of a digital system is its ability to follow a sequence of steps to perform a task called program, which does the required data processing. The following diagram shows how a typical digital system will look like.


Representing the data in ones and zeros, i.e. in binary system is the root of the digital systems. All the digital system store data in binary format. Hence it is very important to know about binary number system. Which is explained below.

Binary …

Microprocessor Interview Questions - 4

1. What is the size of flag register of 8086 processor?
Answer

16-bit.

2. How many pin IC 8086 is?
Answer

40 pin dual in-line package.

3. What is the Maximum clock frequency of 8086?
Answer

5 Mhz is the Maximum clock frequency of 8086.

4. What is meant by instruction cycle?
Answer

An instruction cycle also known as fetch-and-execute cycle and fetch-decode-execute cycle, is the time period during which a computer reads and processes a machine language instruction from its memory.

5. What is Von Neumann architecture?
Answer

The Von Neumann architecture is a computer design model that uses a processing unit and a single separate storage structure to hold both instructions and data. The instruction/data is read from storage and executed by the processing unit. It is also known as "stored-program computer".

6. What is the main difference between 8086 and 8085?
Answer

8086 is 16-bit microprocessor, where as 8085 is a 8-bit microprocessor.

7. What does EAX mean?
Answer

With the advent of the 32…

Microprocessor Interview Questions - 3

1. How many bits processor is 8086?
Answer

16-bit processor.

2. What are the sizes of data bus and address bus in 8086?
Answer

16-bit data bus, and 20-bit address bus.

3. What is the maximum addressable memory of 8086?
Answer

1MByte, because 20-bit address bus.

4. How are 32-bit addresses stored in 8086?
Answer

32-bit addresses are stored in "SEGMENT:OFFSET" format. SEGMENT and OFFSET are 16-bit values.
ADDRESS = (SEGMENT* 16) + OFFSET

5. What are the 16-bit registers that are available in 8086?
Answer

The following are the 16-bit registers that are available in 8086.

8 general purpose registers:
AX - Accumulator Register
Bx - Base Register
CX - Count Register
DX - Data Register
SP - Stack Pointer
BP - Base Pointer
SI - Source Index
DI - Destination Index

4 segment registers:
CS - Code Segment
DS - Data Segment
SS - Stack Segment
ES - Extra Segment

Others:
IP - Instruction Pointer
Flag register


6. What are the different types of address modes available in 8086?
Answer

Implied - the data value/data addre…

Digital Design Interview Questions - 5

1. Expand the following: PLA, PAL, CPLD, FPGA.
Answer

PLA - Programmable Logic Array
PAL - Programmable Array Logic
CPLD - Complex Programmable Logic Device
FPGA - Field-Programmable Gate Array

2. Implement the functions: X = A'BC + ABC + A'B'C' and Y = ABC + AB'C using a PLA.
Answer



3. What are PLA and PAL? Give the differences between them.
Answer

     Programmable Logic Array is a programmable device used to implement combinational logic circuits. The PLA has a set of programmable AND planes, which link to a set of programmable OR planes, which can then be conditionally complemented to produce an output.
     PAL is programmable array logic, like PLA, it also has a wide, programmable AND plane. Unlike a PLA, the OR plane is fixed, limiting the number of terms that can be ORed together.
     Due to fixed OR plane PAL allows extra space, which is used for other basic logic devices, such as multiplexers, exclusive-ORs, and latches. Most importantly, clocked elements, typically…

Programmable Logic Array

In Digital design, we often use a device to perform multiple applications. The device configuration is changed (reconfigured) by programming it. Such devices are known as programmable devices. It is used to build reconfigurable digital circuits. The following are the popular programmable device
PLA - Programmable Logic ArrayPAL - Programmable Array Logic
CPLD - Complex Programmable Logic Device (Click herefor more details)FPGA - Field-Programmable Gate Array (Click here for more details)

PLA: Programmable Logic Array is a programmable device used to implement combinational logic circuits. The PLA has a set of programmable AND planes, which link to a set of programmable OR planes, which can then be conditionally complemented to produce an output. This layout allows for a large number of logic functions to be synthesized in the sum of products canonical forms.

Suppose we need to implement the functions: X = A'BC + ABC + A'B'C' and Y = ABC + AB'C. The following figures …

FPGA vs ASIC

Definitions

FPGA: A Field-Programmable Gate Array (FPGA) is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects. Logic blocks can be programmed to perform the function of basic logic gates such as AND, and XOR, or more complex combinational functions such as decoders or mathematical functions. For complete details click here.

ASIC: An application-specific integrated circuit (ASIC) is an integrated circuit designed for a particular use, rather than intended for general-purpose use. Processors, RAM, ROM, etc are examples of ASICs.

FPGA vs ASIC

Speed
ASIC rules out FPGA in terms of speed. As ASIC are designed for a specific application they can be optimized to maximum, hence we can have high speed in ASIC designs. ASIC can have hight speed clocks.

Cost
FPGAs are cost effective for small applications. But when it comes to complex and large volume designs (like 32-bit processors) ASIC products are cheaper.

Size/Area
FPGA ar…

Field-Programmable Gate Array

A Field-Programmable Gate Array (FPGA) is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects. Logic blocks can be programmed to perform the function of basic logic gates such as AND, and XOR, or more complex combinational functions such as decoders or mathematical functions. In most FPGAs, the logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory.

Applications
ASIC prototyping: Due to high cost of ASIC chips, the logic of the application is first verified by dumping HDL code in a FPGA. This helps for faster and cheaper testing. Once the logic is verified then they are made into ASICs.Very useful in applications that can make use of the massive parallelism offered by their architecture. Example: code breaking, in particular brute-force attack, of cryptographic algorithms.FPGAs are sued for computational kernels such as FFT or Convolution instead of a micropro…