Vlsi Questions PDF
Vlsi Questions PDF
nanovlsi.blogspot.com/p/blog-page.html
VLSI FAQs
1. What is metastability?
When setup or hold window is violated in an flip flop then signal attains a unpredictable value or
state known as metastability.
2. What is MTBF? What it signifies?
MTBF-Mean Time Before Failure
An active clock is essential for a synchronous reset design. Hence you can expect more power
consumption.
Clocking scheme is not necessary for an asynchronous design. Hence design consumes less
power. Asynchronous design style is also one of the latest design options to achieve low
power. Design community is scrathing their head over asynchronous design possibilities.
Static timing analysis and DFT becomes difficult due to asynchronous reset.
8. What are the 3 fundamental operating conditions that determine the delay characteristics of
gate? How operating conditions affect gate delay?
Process
Voltage
Temperature
9. Is verilog/VHDL is a concurrent or sequential language?
Verilog and VHDL both are concurrent languages.
10. In a system with insufficient hold time, will slowing down the clock frequency help?
No.
Making data path slower can help hold time but it may result in setup violation.
11. In a system with insufficient setup time, will slowing down the clock frequency help?
Yes.
Making data path faster can also help setup time but it may result in hold violation.
a. Only on standard cells b. Standard cells and macros c. Only on macros d. Standard cells macros and
IO pads
2) In Soft blockages ____ cells are placed.
a. Only sequential cells b. No cells c. Only Buffers and Inverters d. Any cells
3) Why we have to remove scan chains before placement?
a. Because scan chains are group of flip flop b. It does not have timing critical path c. It is series of flip
flop connected in FIFO d. None
4) Delay between shortest path and longest path in the clock is called ____.
a. Decreasing the spacing between the metal layers b. Shielding the nets c. Using lower
metal layers d. Using long nets
6) Prerouting means routing of _____.
a. HVT b. LVT c. RVT d. SVT
11) Leakage power is inversely proportional to ___.
a. Before Placement of std cells b. After Placement of Std Cells c. Before Floor planning d.
Before Detail Routing
13) Search and Repair is used for ___.
a. Increase in metal width b. Increase in metal length c. Decrease in metal length d. Lot of metal layers
16) The minimum height and width a cell can occupy in the design is called as ___.
a. Cell Convergence Pessimism Removal b. Cell Convergence Preset Removal c. Clock Convergence
Pessimism Removal d. Clock Convergence Preset Removal
18) In OCV timing check, for setup time, ___.
a. Max delay is used for launch path and Min delay for capture path b. Min delay is used for launch
path and Max delay for capture path c. Both Max delay is used for launch and Capture path d. Both
Min delay is used for both Capture and Launch paths
19) "Total metal area and(or) perimeter of conducting layer / gate to gate area" is called
___.
a. Checking timing of routed design with out net delays b. Checking Timing of placed design with net
delays c. Checking Timing of unplaced design without net delays d. Checking Timing of routed
design with net delays
26) Which of the following is having highest priority at final stage (post routed) of the
design ___?
a. CLKBUF b. BUF c. INV d. CLKINV
28) Max voltage drop will be there at(with out macros) ___.
a. Left and Right sides b. Bottom and Top sides c. Middle d. None
29) Which of the following is preferred while placing macros ___?
a. Macros placed center of the die b. Macros placed left and right side of die c. Macros placed
bottom and top sides of die d. Macros placed based on connectivity of the I/O
30) Routing congestion can be avoided by ___.
a. Min width b. Min spacing c. Min width - min spacing d. Min width + min spacing
32) In Physical Design following step is not there ___.
a. Metal1 and metal2 b. Metal3 and metal4 c. Metal5 and metal6 d. Metal6 and metal7
34) If metal6 and metal7 are used for the power in 7 metal layer process design then
which metals you will use for clock ?
a. Metal1 and metal2 b. Metal3 and metal4 c. Metal4 and metal5 d. Metal6 and metal7
35) In a reg to reg timing path Tclocktoq delay is 0.5ns and TCombodelay is
5ns and Tsetup is 0.5ns then the clock period should be ___.
a. Clock buff/inverters are faster than normal buff/inverters b. Clock buff/inverters are slower than
normal buff/inverters c. Clock buff/inverters are having equal rise and fall times with high drive
strengths compare to normal buff/inverters d. Normal buff/inverters are having equal rise and fall
times with high drive strengths compare to Clock buff/inverters.
37) Which configuration is more preferred during floorplaning ?
a. Double back with flipped rows b. Double back with non flipped rows c. With channel spacing
between rows and no double back d. With channel spacing between rows and double back
38) What is the effect of high drive strength buffer when added in long net?
a. Delay on the net increases b. Capacitance on the net increases c. Delay on the net decreases d.
Resistance on the net increases.
39) Delay of a cell depends on which factors ?
a. Output transition and input load b. Input transition and Output load c. Input transition and
Output transition d. Input load and Output Load.
40) After the final routing the violations in the design ___.
a. There can be no setup, no hold violations b. There can be only setup violation but no hold c. There
can be only hold violation not Setup violation d. There can be both violations.
41) Utilisation of the chip after placement optimisation will be ___.
a. Ratio of required routing tracks to available routing tracks b. Ratio of available routing tracks to
required routing tracks c. Depends on the routing layers available d. None of the above
43) What are preroutes in your design?
a. Power routing b. Signal routing c. Power and Signal routing d. None of the above.
44) Clock tree doesn't contain following cell ___.
a. Clock buffer b. Clock Inverter c. AOI cell d. None of the above
Answers:
1)b 2)c 3)b 4)c 5)b 6)d 7)a 8)c 9)d 10)b 11)d 12)d 13)b 14)c 15)b 16)a 17)c 18)a 19)d 20)a 21)b 22)b
23)d 24)d 25)c 26)b 27)a 28)c 29)d 30)c 31)d 32)c 33)d 34)c 35)d 36)c 37)a 38)c 39)b 40)d 41)c 42)a
43)a 44)c
In scan chains if some flip flops are +ve edge triggered and remaining flip
flops are -ve edge triggered how it behaves?
Answer:
For designs with both positive and negative clocked flops, the scan insertion tool will always route
the scan chain so that the negative clocked flops come before the positive edge flops in the chain.
This avoids the need of lockup latch.
For the same clock domain the negedge flops will always capture the data just captured into the
posedge flops on the posedge of the clock.
For the multiple clock domains, it all depends upon how the clock trees are balanced. If the clock
domains are completely asynchronous, ATPG has to mask the receiving flops.
What parameters (or aspects) differentiate Chip Design and Block level design?
Chip design has I/O pads; block design has pins.
Chip design uses all metal layes available; block design may not use all metal layers.
If there is more connection from macro to macro place those macros nearer to each other
preferably nearer to core boundaries.
If input pin is connected to macro better to place nearer to that pin or pad.
If macro has more connection to standard cells spread the macros inside core.
Avoid criscross placement of macros.
Hierarchical design takes more run time; Flattened design takes less run time.
Which is more complicated when u have a 48 MHz and 500 MHz clock design?
500 MHz; because it is more constrained (i.e.lesser clock period) than 48 MHz design.
What are the input files will you give for primetime correlation?
Netlist, Technology library, Constraints, SPEF or SDF file.
If the routing congestion exists between two macros, then what will you do?
Provide soft or hard blockage
If lengthy metal layer is connected to diffusion and poly, then which one will affect by antenna
problem?
Poly
If the full chip design is routed by 7 layer metal, why macros are designed using 5LM instead of
using 7LM?
Because top two metal layers are required for global routing in chip design. If top metal layers
are also used in block level it will create routing blockage.
In your project what is die size, number of metal layers, technology, foundry, number of
clocks?
Die size: tell in mm eg. 1mm x 1mm ; remeber 1mm=1000micron which is a big size !!
Foundry:Again look into tech files; eg. TSMC, IBM, ARTISAN etc
For Physical design: Netlist, Technology library, Constraints, Standard cell library
What is SDC constraint file contains?
Clock definitions
If in your design has reset pin, then it’ll affect input pin or output pin or both?
Output pin.
During power analysis, if you are facing IR drop problem, then how did you avoid?
Increase power metal layer width.
Define antenna problem and how did you resolve these problem?
Increased net length can accumulate more charges while manufacturing of the device due to
ionisation process. If this net is connected to gate of the MOSFET it can damage dielectric
property of the gate and gate may conduct causing damage to the MOSFET. This is antenna
problem.
Decrease the length of the net by providing more vias and layer jumping.
How delays vary with different PVT conditions? Show the graph.
P increase->dealy increase
P decrease->delay decrease
V increase->delay decrease
V decrease->delay increase
T increase->delay increase
T decrease->delay decrease
Explain the flow of physical design and inputs and outputs for each step in flow.
Cell delay
For any gate it is measured between 50% of input transition to the corresponding 50% of
output transition.
Intrinsic delay
Intrinsic delay is the delay internal to the gate. Input pin of the cell to output pin of the cell.
It is defined as the delay between an input and output pair of a cell, when a near zero slew is
applied to the input pin and the output does not see any load condition.It is predominantly
caused by the internal capacitance associated with its transistor.
This delay is largely independent of the size of the transistors forming the gate because
increasing size of transistors increase internal capacitors.
It is due to the finite resistance and capacitance of the net.It is also known as wire delay.
What are delay models and what is the difference between them?
Linear Delay Model (LDM)
Why higher metal layers are preferred for Vdd and Vss?
Because it has less resistance and hence leads to less IR drop.
Downsizing
Buffer insertion
Buffer relocation
Track Assignment
Detail Routing
What is latency? Give the types?
Source Latency
It is known as source latency also. It is defined as "the delay from the clock origin point to the
clock definition point in the design".
Delay from clock source to beginning of clock tree (i.e. clock definition point).
The time a clock signal takes to propagate from its ideal waveform origin point to the clock
definition point in the design.
Network latency
It is also known as Insertion delay or Network latency. It is defined as "the delay from the clock
definition point to the clock pin of the register".
The time clock signal (rise or fall) takes to propagate from the clock definition point to a
register clock pin.
What is congestion?
If the number of routing tracks available for routing is less than the required tracks then it is
known as congestion.
Buffering is a method of optimization that is used to insert beffers in high fanout nets to
decrease the dealy.
ASIC
Different Types of Delays in ASIC or VLSI design
Source Delay/Latency
Network Delay/Latency
Insertion Delay
Path Delay
Net delay, wire delay, interconnect delay
Propagation Delay
Phase Delay
Cell Delay
Intrinsic Delay
Extrinsic Delay
Input Delay
Output Delay
Exit Delay
Gate delay
Transistors within a gate take a finite time to switch. This means that a change on the input of a
gate takes a finite time to cause a change on the output.[Magma]
Delay from clock source to beginning of clock tree (i.e. clock definition point).
The time a clock signal takes to propagate from its ideal waveform origin point to the clock
definition point in the design.
Network Delay(latency)
It is also known as Insertion delay or Network latency. It is defined as "the delay from the clock
definition point to the clock pin of the register".
The time clock signal (rise or fall) takes to propagate from the clock definition point to a
register clock pin.
Insertion delay
The delay from the clock definition point to the clock pin of the register.
Transition delay
It is also known as "Slew". It is defined as the time taken to change the state of the signal. Time
taken for the transition from logic 0 to logic 1 and vice versa . or Time taken by the input signal
to rise from 10%(20%) to the 90%(80%) and vice versa.
Rise Time
Rise time is the difference between the time when the signal crosses a low threshold to the
time when the signal crosses the high threshold. It can be absolute or percent.
Low and high thresholds are fixed voltage levels around the mid voltage level or it can be
either 10% and 90% respectively or 20% and 80% respectively. The percent levels are converted
to absolute voltage levels at the time of measurement by calculating percentages from the
difference between the starting voltage level and the final settled voltage level.
Fall Time
Fall time is the difference between the time when the signal crosses a high threshold to the
time when the signal crosses the low threshold.
The low and high thresholds are fixed voltage levels around the mid voltage level or it can be
either 10% and 90% respectively or 20% and 80% respectively. The percent levels are converted
to absolute voltage levels at the time of measurement by calculating percentages from the
difference between the starting voltage level and the final settled voltage level.
For an ideal square wave with 50% duty cycle, the rise time will be 0.For a symmetric triangular
wave, this is reduced to just 50%.
The rise/fall definition is set on the meter to 10% and 90% based on the linear power in Watts.
These points translate into the -10 dB and -0.5 dB points in log mode (10 log 0.1) and (10 log
0.9). The rise/fall time values of 10% and 90% are calculated based on an algorithm, which
looks at the mean power above and below the 50% points of the rise/fall times
Path delay
Path delay is also known as pin to pin delay. It is the delay from the input pin of the cell to the
output pin of the cell.
It is due to the finite resistance and capacitance of the net.It is also known as wire delay.
Propagation delay
For any gate it is measured between 50% of input transition to the corresponding 50% of
output transition.
This is the time required for a signal to propagate through a gate or net. For gates it is the time
it takes for a event at the gate input to affect the gate output.
For net it is the delay between the time a signal is first applied to the net and the time it
reaches other devices connected to that net.
It is taken as the average of rise time and fall time i.e. Tpd= (Tphl+Tplh)/2.
Phase delay
Same as insertion delay
Cell delay
For any gate it is measured between 50% of input transition to the corresponding 50% of
output transition.
Intrinsic delay
Intrinsic delay is the delay internal to the gate. Input pin of the cell to output pin of the cell.
It is defined as the delay between an input and output pair of a cell, when a near zero slew is
applied to the input pin and the output does not see any load condition.It is predominantly
caused by the internal capacitance associated with its transistor.
This delay is largely independent of the size of the transistors forming the gate because
increasing size of transistors increase internal capacitors.
Extrinsic delay
Same as wire delay, net delay, interconnect delay, flight time.
Extrinsic delay is the delay effect that associated to with interconnect. output pin of the cell to
the input pin of the next cell.
Input delay
Input delay is the time at which the data arrives at the input pin of the block from external
circuit with respect to reference clock.
Output delay
Output delay is time required by the external circuit before which the data has to arrive at the
output pin of the block with respect to reference clock.
Exit delay
It is defined as the delay in the longest path (critical path) between clock pad input and an
output. It determines the maximum operating frequency of the design.
Unateness
A function is said to be unate if the rise transition on the positive unate input variable causes
the ouput to rise or no change and vice versa.
Negative unateness means cell output logic is inverted version of input logic. eg. In inverter
having input A and output Y, Y is -ve unate w.r.to A. Positive unate means cell output logic is
same as that of input.
These +ve ad -ve unateness are constraints defined in library file and are defined for output pin
w.r.to some input pin.
A clock signal is positive unate if a rising edge at the clock source can only cause a rising edge
at the register clock pin, and a falling edge at the clock source can only cause a falling edge at
the register clock pin.
A clock signal is negative unate if a rising edge at the clock source can only cause a falling
edge at the register clock pin, and a falling edge at the clock source can only cause a rising
edge at the register clock pin. In other words, the clock signal is inverted.
A clock signal is not unate if the clock sense is ambiguous as a result of non-unate timing arcs
in the clock path. For example, a clock that passes through an XOR gate is not unate because
there are nonunate arcs in the gate. The clock sense could be either positive or negative,
depending on the state of the other input to the XOR gate.
Jitter
The short-term variations of a signal with respect to its ideal position in time.
Jitter is the variation of the clock period from edge to edge. It can varry +/- jitter value.
From cycle to cycle the period and duty cycle can change slightly due to the clock generation
circuitry. This can be modeled by adding uncertainty regions around the rising and falling
edges of the clock waveform.
Signal transmitters
Connectors
Receivers
Skew
The difference in the arrival of clock signal at the clock pin of different flops.
Two types of skews are defined: Local skew and Global skew.
Local skew
The difference in the arrival of clock signal at the clock pin of related flops.
Global skew
The difference in the arrival of clock signal at the clock pin of non related flops.
When data and clock are routed in same direction then it is Positive skew.
When data and clock are routed in opposite then it is negative skew.
Recovery Time
Recovery specifies the minimum time that an asynchronous control input pin must be held
stable after being de-asserted and before the next clock (active-edge) transition.
Recovery time specifies the time the inactive edge of the asynchronous signal has to arrive
before the closing edge of the clock.
Recovery time is the minimum length of time an asynchronous control signal (eg.preset) must
be stable before the next active clock edge. The recovery slack time calculation is similar to the
clock setup slack time calculation, but it applies asynchronous control signals.
Equation 1:
Recovery Slack Time = Data Required Time – Data Arrival Time
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + Tclkq+ Register
to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register =Tsetup
If the asynchronous control is not registered, equations shown in Equation 2 is used to calculate the
recovery slack time. Equation 2:
Recovery Slack Time = Data Required Time – Data Arrival Time
Data Arrival Time = Launch Edge + Maximum Input Delay + Port to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register Delay+Tsetup
If the asynchronous reset signal is from a port (device I/O), you must make an Input Maximum
Delay assignment to the asynchronous reset pin to perform recovery analysis on that path.
Removal Time
Removal specifies the minimum time that an asynchronous control input pin must be held
stable before being de-asserted and after the previous clock (active-edge) transition.
Removal time specifies the length of time the active phase of the asynchronous signal has to
be held after the closing edge of clock.
Removal time is the minimum length of time an asynchronous control signal must be stable
after the active clock edge. Calculation is similar to the clock hold slack calculation, but it
applies asynchronous control signals. If the asynchronous control is registered, equations
shown in Equation 3 is used to calculate the removal slack time.
If the recovery or removal minimum time requirement is violated, the output of the sequential
cell becomes uncertain. The uncertainty can be caused by the value set by the resetbar signal
or the value clocked into the sequential cell from the data input.
Equation 3
Removal Slack Time = Data Arrival Time – Data Required Time
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + Tclkq of Source
Register + Register to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register + Thold
Equation 4
Removal Slack Time = Data Arrival Time – Data Required Time
Data Arrival Time = Launch Edge + Input Minimum Delay of Pin + Minimum Pin to Register
Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register +Thold
If the asynchronous reset signal is from a device pin, you must specify the Input Minimum
Delay constraint to the asynchronous reset pin to perform a removal analysis on this path.
or
What are IPs?
Hard macro, firm macro and soft macro are all known as IP (Intellectual property). They are
optimized for power, area and performance. They can be purchased and used in your ASIC or
FPGA design implementation flow. Soft macro is flexible for all type of ASIC implementation.
Hard macro can be used in pure ASIC design flow, not in FPGA flow. Before bying any IP it is
very important to evaluate its advantages and disadvantages over each other, hardware
compatibility such as I/O standards with your design blocks, reusability for other designs.
Soft macros
Soft macros are in synthesizable RTL.
Soft macros have the disadvantage of being somewhat unpredictable in terms of performance,
timing, area, or power.
Soft macros carry greater IP protection risks because RTL source code is more portable and
therefore, less easily protected than either a netlist or physical layout data.
From the physical design perspective, soft macro is any cell that has been placed and routed in
a placement and routing tool such as Astro. (This is the definition given in Astro Rail user
manual !)
Soft macros are editable and can contain standard cells, hard macros, or other soft macros.
Firm macros
Firm macros are in netlist format.
Firm macros are optimized for performance/area/power using a specific fabrication technology.
Firm macros are more flexible and portable than hard macros.
Firm macros are predictive of performance and area than soft macros.
Hard macro
Hard macros are generally in the form of hardware IPs (or we termed it as hardwre IPs !).
Hard macros are block level designs which are silicon tested and proved.
In physical design you can only access pins of hard macros unlike soft macros which allows us
to manipulate in different way.
You have freedom to move, rotate, flip but you can't touch anything inside hard macros.
Very common example of hard macro is memory. It can be any design which carries dedicated
single functionality (in general).. for example it can be a MP4 decoder.
Be aware of features and characteristics of hard macro before you use it in your design... other
than power, timing and area you also should know pin properties like sync pin, I/O standards
etc
LEF, GDS2 file format allows easy usage of macros in different tools.
FPGA needs boot ROM but CPLD does not. In some systems you might not have enough time to
boot up FPGA then you need CPLD+FPGA.
Generally, the CPLD devices are not volatile, because they contain flash or erasable ROM memory in
all the cases. The FPGA are volatile in many cases and hence they need a configuration memory for
working. There are some FPGAs now which are nonvolatile. This distinction is rapidly becoming less
relevant, as several of the latest FPGA products also offer models with embedded configuration
memory.
The characteristic of non-volatility makes the CPLD the device of choice in modern digital
designs to perform 'boot loader' functions before handing over control to other devices not
having this capability. A good example is where a CPLD is used to load configuration data for
an FPGA from non-volatile memory.
Because of coarse-grain architecture, one block of logic can hold a big equation and hence
CPLD have a faster input-to-output timings than FPGA.
Features
FPGA have special routing resources to implement binary counters,arithmetic functions like
adders, comparators and RAM. CPLD don't have special features like this.
FPGA can contain very large digital designs, while CPLD can contain small designs only.The
limited complexity (<500>
Speed: CPLDs offer a single-chip solution with fast pin-to-pin delays, even for wide input
functions. Use CPLDs for small designs, where "instant-on", fast and wide decoding, ultra-low
idle power consumption, and design security are important (e.g., in battery-operated
equipment).
Security: In CPLD once programmed, the design can be locked and thus made secure. Since
the configuration bitstream must be reloaded every time power is re-applied, design security in
FPGA is an issue.
Power: The high static (idle) power consumption prohibits use of CPLD in battery-operated
equipment. FPGA idle power consumption is reasonably low, although it is sharply increasing in
the newest families.
Design flexibility: FPGAs offer more logic flexibility and more sophisticated system features
than CPLDs: clock management, on-chip RAM, DSP functions, (multipliers), and even on-chip
microprocessors and Multi-Gigabit Transceivers.These benefits and opportunities of dynamic
reconfiguration, even in the end-user system, are an important advantage.
FPGA is suited for timing circuit becauce they have more registers , but CPLD is suited for
control circuit because they have more combinational circuit. At the same time, If you synthesis
the same code for FPGA for many times, you will find out that each timing report is different.
But it is different in CPLD synthesis, you can get the same result.
As CPLDs and FPGAs become more advanced the differences between the two device types will
continue to blur. While this trend may appear to make the two types more difficult to keep apart, the
architectural advantage of CPLDs combining low cost, non-volatile configuration, and macro cells
with predictable timing characteristics will likely be sufficient to maintain a product differentiation for
the foreseeable future.
FPGA
Field Programable Gate Arrays
Simpler design cycle: This is due to software that handles much of the routing, placement,
and timing. Manual intervention is less.The FPGA design flow eliminates the complex and time-
consuming floorplanning, place and route, timing analysis.
More predictable project cycle: The FPGA design flow eliminates potential re-spins, wafer
capacities, etc of the project since the design logic is already synthesized and verified in FPGA
device.
Field Reprogramability: A new bitstream ( i.e. your program) can be uploaded remotely,
instantly. FPGA can be reprogrammed in a snap while an ASIC can take $50,000 and more than
4-6 weeks to make the same changes. FPGA costs start from a couple of dollars to several
hundreds or more depending on the hardware features.
FPGAs are good for prototyping and limited production.If you are going to make 100-200 boards it
isn't worth to make an ASIC.
Generally FPGAs are used for lower speed, lower complexity and lower volume designs.But today's
FPGAs even run at 500 MHz with superior performance. With unprecedented logic density increases
and a host of other features, such as embedded processors, DSP blocks, clocking, and high-speed
serial at ever lower price, FPGAs are suitable for almost any type of design.
Unlike ASICs, FPGA's have special hardwares such as Block-RAM, DCM modules, MACs,
memories and highspeed I/O, embedded CPU etc inbuilt, which can be used to get better
performace. Modern FPGAs are packed with features. Advanced FPGAs usually come with
phase-locked loops, low-voltage differential signal, clock data recovery, more internal routing,
high speed, hardware multipliers for DSPs, memory,programmable I/O, IP cores and
microprocessor cores. Remember Power PC (hardcore) and Microblaze (softcore) in Xilinx and
ARM (hardcore) and Nios(softcore) in Altera. There are FPGAs available now with built in ADC !
Using all these features designers can build a system on a chip. Now, dou yo really need an
ASIC ?
In FPGA you need not do floor-planning, tool can do it efficiently. In ASIC you have do it.
You have to use the resources available in the FPGA. Thus FPGA limits the design size.
Good for low quantity production. As quantity increases cost per product increases compared
to the ASIC implementation.
ASIC
Application Specific Intergrated Circiut
ASIC Design Advantages
Cost....cost....cost....Lower unit costs: For very high volume designs costs comes out to be
very less. Larger volumes of ASIC design proves to be cheaper than implementing design using
FPGA.
Speed...speed...speed....ASICs are faster than FPGA: ASIC gives design flexibility. This gives
enoromous opportunity for speed optimizations.
Low power....Low power....Low power: ASIC can be optimized for required low power. There
are several low power techniques such as power gating, clock gating, multi vt cell libraries,
pipelining etc are available to achieve the power target. This is where FPGA fails badly !!! Can
you think of a cell phone which has to be charged for every call.....never.....low power ASICs
helps battery live longer life !!
In ASIC you can implement analog circuit, mixed signal designs. This is generally not possible in
FPGA.
In ASIC DFT (Design For Test) is inserted. In FPGA DFT is not carried out (rather for FPGA no
need of DFT !) .
Design Issues: In ASIC you should take care of DFM issues, Signal Integrity isuues and many
more. In FPGA you don't have all these because ASIC designer takes care of all these. ( Don't
forget FPGA isan IC and designed by ASIC design enginner !!)
Expensive Tools: ASIC design tools are very much expensive. You spend a huge amount of
NRE.
Structured ASICS
Structured ASICs have the bottom metal layers fixed and only the top layers can be designed
by the customer.
Structured ASICs are custom devices that approach the performance of today's Standard Cell
ASIC while dramatically simplifying the design complexity.
Structured ASICs offer designers a set of devices with specific, customizable metal layers along
with predefined metal layers, which can contain the underlying pattern of logic cells, memory,
and I/O.
Design Characteristics
What is the design application?
Number of cells (placeable objects)?
Is the design Verilog or VHDL?
Is the netlist flat or hierarchical?
Is there RTL available?
Is there any datapath logic using special datapath tools?
Is the DFT to be considered?
Can scan chains be reordered?
Is memory BIST, boundary scan used on this design?
Are static timing analysis constraints available in SDC format?
Clock Characteristics
How many clock domains are in the design?
What are the clock frequencies?
Is there a target clock skew, latency or other clock requirements?
Does the design have a PLL?
If so, is it used to remove clock latency?
Is there any I/O cell in the feedback path?
Is the PLL used for frequency multipliers?
Are there derived clocks or complex clock generation circuitry?
Are there any gated clocks?
If yes, do they use simple gating elements?
Is the gate clock used for timing or power?
For gated clocks, can the gating elements be sized for timing?
Are you muxing in a test clock or using a JTAG clock?
Available cells for clock tree?
Are there any special clock repeaters in the library?
Are there any EM, slew or capacitance limits on these repeaters?
How many drive strengths are available in the standard buffers and inverters?
Do any of the buffers have balanced rise and fall delays?
Any there special requirements for clock distribution?
Will the clock tree be shielded? If so, what are the shielding requirements?
Data Input
Library information for new library
.lib for timing information
GDSII or LEF for library cells including any RAMs
RTL in Verilog/VHDL format
Number of logical blocks in the RTL
Constraints for the block in SDC
Floorplan information in DEF
I/O pin location
Macro locations
ASIC General
General ASIC questions are posted here. More questions related to different catagories of ASICs can
be found at respective sections.
What are the differences between PALs, PLAs, FPGAs, ASICs and PLDs?
In system with insufficient hold time, will slowing down the clock help?
In system with insufficient setup time, will slowing down the clock help?
Why would a testbench not have pins (port) on it?
When declaring a flip flop, why would not you declare its output value in the port statement?
Give 2 advantages of using a script to build a chip?
A “tri state “ bus is directly connected to a set of CMOS input buffers. No other wires or
components are attached to the bus wires. Upon observation we can find that under certain
conditions, this circuit is consuming considerable power. Why it is so? Is circuit correct? If not,
how to correct?
Is Verilog (or that matter any HDL) is a concurrent or sequential language?
What is the function of sensitivity list?
A mealy –type state machine is coded using D-type rising edge flip flops. The reset and clock
signals are in the sensitivity list but with one of the next state logic input signals have been left
out of the sensitivity list. Explain what happens when the state machine is simulated? Will the
state machine be synthesized correctly?
A moore –type state machine is coded using D-type rising edge flip flops. The reset and clock
signals are in the sensitivity list but with one of the next state logic input signals have been left
out of the sensitivity list. Explain what happens when the state machine is simulated? Will the
state machine be synthesized correctly?
What type of delay is most like a infinite bandwidth transmission line?
Define metastability.
When does metastability occur?
Give one example of a situation where metastability could occur.
Give two ways metastability could manifest itself in a state machine.
What is MTBF?
Does MTBF give the time until the next failure occurs?
Give 3 ways in which to reduce the chance of metastable failure.
Give 2 advantages of using a synchronous reset methodology.
Give 2 disadvantages of using a synchronous reset methodology.
Give 2 advantages of using an asynchronous reset methodology.
Give 2 disadvantages of using an asynchronous reset methodology.
What are the two most fundamental inputs (files) to the synthesis tool?
What are two important steps in synthesis? What happens in those steps?
What are the two major output (files) from the synthesis process?
Name the fundamental 3 operating consitions that determine (globally) the delay
characteristics of CMOS gates. For each how they affect gate delay?
For a single gate, with global gating conditions held constant , what 3 delay coefficients effect
total gate delay? Which is the most sensitive to circuit topology?
FPGA.
Architecture
Granularity is the biggest difference between CPLD and FPGA.
FPGA are "fine-grain" devices. That means that they contain hundreds of (up to 100000) of
tiny blocks (called as LUT or CLBs etc) of logic with flip-flops, combinational logic and
memories.FPGAs offer much higher complexity, up to 150,000 flip-flops and large number of
gates available.
CPLDs typically have the equivalent of thousands of logic gates, allowing implementation of
moderately complicated data processing devices. PALs typically have a few hundred gate
equivalents at most, while FPGAs typically range from tens of thousands to several million.
CPLD are "coarse-grain" devices. They contain relatively few (a few 100's max) large blocks of logic
with flip-flops and combinational logic. CPLDs based on AND-OR structure.
CPLD's have a register with associated logic (AND/OR matrix). CPLD's are mostly implemented in
control applications and FPGA's in datapath applications. Because of this course grained architecture,
the timing is very fixed in CPLDs.
FPGA are RAM based. They need to be "downloaded" (configured) at each power-up. CPLD are
EEPROM based. They are active at power-up i.e. as long as they've been programmed at least once.
FPGA needs boot ROM but CPLD does not. In some systems you might not have enough time to
boot up FPGA then you need CPLD+FPGA.
Generally, the CPLD devices are not volatile, because they contain flash or erasable ROM
memory in all the cases. The FPGA are volatile in many cases and hence they need a
configuration memory for working. There are some FPGAs now which are nonvolatile. This
distinction is rapidly becoming less relevant, as several of the latest FPGA products also offer
models with embedded configuration memory.
The characteristic of non-volatility makes the CPLD the device of choice in modern digital
designs to perform 'boot loader' functions before handing over control to other devices not
having this capability. A good example is where a CPLD is used to load configuration data for
an FPGA from non-volatile memory.
Because of coarse-grain architecture, one block of logic can hold a big equation and hence
CPLD have a faster input-to-output timings than FPGA.
Features
FPGA have special routing resources to implement binary counters,arithmetic functions like
adders, comparators and RAM. CPLD don't have special features like this.
FPGA can contain very large digital designs, while CPLD can contain small designs only.The
limited complexity (<500>
Speed: CPLDs offer a single-chip solution with fast pin-to-pin delays, even for wide input
functions. Use CPLDs for small designs, where "instant-on", fast and wide decoding, ultra-low
idle power consumption, and design security are important (e.g., in battery-operated
equipment).
Security: In CPLD once programmed, the design can be locked and thus made secure. Since
the configuration bitstream must be reloaded every time power is re-applied, design security in
FPGA is an issue.
Power: The high static (idle) power consumption prohibits use of CPLD in battery-operated
equipment. FPGA idle power consumption is reasonably low, although it is sharply increasing in
the newest families.
Design flexibility: FPGAs offer more logic flexibility and more sophisticated system features than
CPLDs: clock management, on-chip RAM, DSP functions, (multipliers), and even on-chip
microprocessors and Multi-Gigabit Transceivers.These benefits and opportunities of dynamic
reconfiguration, even in the end-user system, are an important advantage.
Use FPGAs for larger and more complex designs.
FPGA is suited for timing circuit becauce they have more registers , but CPLD is suited for
control circuit because they have more combinational circuit. At the same time, If you synthesis
the same code for FPGA for many times, you will find out that each timing report is different.
But it is different in CPLD synthesis, you can get the same result.
As CPLDs and FPGAs become more advanced the differences between the two device types will
continue to blur. While this trend may appear to make the two types more difficult to keep apart, the
architectural advantage of CPLDs combining low cost, non-volatile configuration, and macro cells
with predictable timing characteristics will likely be sufficient to maintain a product differentiation for
the foreseeable future.
No NRE (Non Recurring Expenses): This cost is typically associated with an ASIC design. For
FPGA this is not there. FPGA tools are cheap. (sometimes its free ! You need to buy FPGA....
thats all !). ASIC youpay huge NRE and tools are expensive. I would say "very expensive"...Its in
crores....!!
Simpler design cycle: This is due to software that handles much of the routing, placement,
and timing. Manual intervention is less.The FPGA design flow eliminates the complex and time-
consuming floorplanning, place and route, timing analysis.
More predictable project cycle: The FPGA design flow eliminates potential re-spins, wafer
capacities, etc of the project since the design logic is already synthesized and verified in FPGA
device.
Field Reprogramability: A new bitstream ( i.e. your program) can be uploaded remotely,
instantly. FPGA can be reprogrammed in a snap while an ASIC can take $50,000 and more than
4-6 weeks to make the same changes. FPGA costs start from a couple of dollars to several
hundreds or more depending on the hardware features.
Reusability: Reusability of FPGA is the main advantage. Prototype of the design can be implemented
on FPGA which could be verified for almost accurate results so that it can be implemented on an
ASIC. Ifdesign has faults change the HDL code, generate bit stream, program to FPGA and test
again.Modern FPGAs are reconfigurable both partially and dynamically.
FPGAs are good for prototyping and limited production.If you are going to make 100-200
boards it isn't worth to make an ASIC.
Generally FPGAs are used for lower speed, lower complexity and lower volume designs.But
today's FPGAs even run at 500 MHz with superior performance. With unprecedented logic
density increases and a host of other features, such as embedded processors, DSP blocks,
clocking, and high-speed serial at ever lower price, FPGAs are suitable for almost any type of
design.
Unlike ASICs, FPGA's have special hardwares such as Block-RAM, DCM modules, MACs,
memories and highspeed I/O, embedded CPU etc inbuilt, which can be used to get better
performace. Modern FPGAs are packed with features. Advanced FPGAs usually come with
phase-locked loops, low-voltage differential signal, clock data recovery, more internal routing,
high speed, hardware multipliers for DSPs, memory,programmable I/O, IP cores and
microprocessor cores. Remember Power PC (hardcore) and Microblaze (softcore) in Xilinx and
ARM (hardcore) and Nios(softcore) in Altera. There are FPGAs available now with built in ADC !
Using all these features designers can build a system on a chip. Now, dou yo really need an
ASIC ?
In FPGA you need not do floor-planning, tool can do it efficiently. In ASIC you have do it.
Good for low quantity production. As quantity increases cost per product increases compared
to the ASIC implementation.
ASIC
Application Specific Intergrated Circiut
ASIC Design Advantages
Cost....cost....cost....Lower unit costs: For very high volume designs costs comes out to be very less.
Larger volumes of ASIC design proves to be cheaper than implementing design using FPGA.
Speed...speed...speed....ASICs are faster than FPGA: ASIC gives design flexibility. This gives
enoromous opportunity for speed optimizations.
Low power....Low power....Low power: ASIC can be optimized for required low power. There
are several low power techniques such as power gating, clock gating, multi vt cell libraries,
pipelining etc are available to achieve the power target. This is where FPGA fails badly !!! Can
you think of a cell phone which has to be charged for every call.....never.....low power ASICs
helps battery live longer life !!
In ASIC you can implement analog circuit, mixed signal designs. This is generally not possible in
FPGA.
In ASIC DFT (Design For Test) is inserted. In FPGA DFT is not carried out (rather for FPGA no
need of DFT !) .
Design Issues: In ASIC you should take care of DFM issues, Signal Integrity isuues and many
more. In FPGA you don't have all these because ASIC designer takes care of all these. ( Don't
forget FPGA isan IC and designed by ASIC design enginner !!)
Expensive Tools: ASIC design tools are very much expensive. You spend a huge amount of
NRE.
Structured ASICS
Structured ASICs have the bottom metal layers fixed and only the top layers can be designed
by the customer.
Structured ASICs are custom devices that approach the performance of today's Standard Cell
ASIC while dramatically simplifying the design complexity.
Structured ASICs offer designers a set of devices with specific, customizable metal layers along
with predefined metal layers, which can contain the underlying pattern of logic cells, memory,
and I/O.