FPGA Interview Questions
FPGA Interview Questions
c
c
c
It is illegal to specify multiple assign statements to the same wire in a synthesizable code that
will become an output port of the module. The synthesis tools give a syntax error that a net is
being driven by more than one source.
However, it is legal to drive a three-state wire by multiple assign statements.
Conditionals in a continuous assignment are specified through the ³?:´ operator. Conditionals
get inferred into a multiplexor. For example, the following is the code for a simple
multi l
i i 1= l==1' 1 : ;
In t e example just shown, it is the OR logic that is the last assignment. Hence, the logic
synthesi ed was indeed the OR gate. Had the last assignment been the ³&´ operator, it would
have synthesi ed an AND gate.
Spartan series dcm¶s have a minimum frequency of 24 MHZ and a maximum of 248
! " "
"
The si e of bitmap is irrespective of resource utili ation, it is always the same,for Spartan
xc3s5000 it is 1.56MB and will never change.
Before powering on the FPGA, configuration data is stored externally in a PROM or some
other nonvolatile medium either on or off the board. After applying power, the configuration
data is written to the FPGA using any of five different modes: Master Parallel, Slave Parallel,
Master Serial, Slave Serial, and Boundary Scan (JTAG). The Master and Slave Parallel
modes
Mode selecting pins can be set to select the mode, refer data sheet for further details.
)* " "
+*
"
These stuck-at problems will appear in ASIC. Some times, the nodes will permanently tie to
1 or 0 because of some fault. To avoid that, we need to provide testability in RTL. If it is
permanently 1 it is called stuck-at-1 If it is permanently 0 it is called stuck-at-0.
FPGA:
a)SRAM based technology.
b)Segmented connection between elements.
c)Usually used for complex logic circuits.
d)Must be reprogrammed once the power is off.
e)Costly
CPLD:
a)Flash or EPROM based technology.
b)Continuous connection between elements.
c)Usually used for simpler or moderately complex logic circuits.
d)Need not be reprogrammed once the power is off.
e)Cheaper
$%&'
Also,Please refer to presentation section synthesis ppt on this site.
The Configurable Logic Blocks (CLBs) constitute the main logic resource for implementing
synchronous as well as combinatorial circuits.
CLB are configurable logic blocks and can be configured to combo,ram or rom depending on
coding style
CLB consist of 4 slices and each slice consist of two 4-input LUT (look up table) F-LUT and
G-LUT.
YES.
The memory assignment is a clocked behavioral assignment, Reads from the memory are
asynchronous, And all the address lines are shared by the read and write statements.
!
The UCF file is an ASCII file specifying constraints on the logical design. You create this file
and enter your constraints in the file with a text editor. You can also use the Xilinx
Constraints Editor to create constraints within a UCF(extention) file. These constraints affect
how the logical design is implemented in the target device. You can use the file to override
constraints specified during design entry.
,
(
Dynamic timing:
a. The design is simulated in full timing mode.
b. Not all possibilities tested as it is dependent on the input test vectors.
c. Simulations in full timing mode are slow and require a lot of memory.
d. Best method to check asynchronous interfaces or interfaces between different timing
domains.
Static timing:
a. The delays over all paths are added up.
b. All possibilities, including false paths, verified without the need for test vectors.
c. Much faster than simulations, hours as opposed to days.
d. Not good with asynchronous interfaces or interfaces between different timing domains.
*
%..1-..
PLL:
PLLs have disadvantages that make their use in high-speed designs problematic, particularly
when both high performance and high reliability are required.
The PLL voltage-controlled oscillator (VCO) is the greatest source of problems. Variations in
temperature, supply voltage, and manufacturing process affect the stability and operating
performance of PLLs.
DLLs, however, are immune to these problems. A DLL in its simplest form inserts a variable
delay line between the external clock and the internal clock. The clock tree distributes the
clock to all registers and then back to the feedback pin of the DLL.
The control circuit of the DLL adjusts the delays so that the rising edges of the feedback
clock align with the input clock. Once the edges of the clocks are aligned, the DLL is locked,
and both the input buffer delay and the clock skew are reduced to zero.
Advantages:
· precision
· stability
· power management
· noise sensitivity
· jitter performance.
-4*
DRC is used to check whether the particular schematic and corresponding layout(especially
the mask sets involved) cater to a pre-defined rule set depending on the technology used to
design. They are parameters set aside by the concerned semiconductor manufacturer with
respect to how the masks should be placed , connected , routed keeping in mind that
variations in the fab process does not effect normal functionality. It usually denotes the
minimum allowable configuration.
The layout must be drawn according to certain strict design rules. DRC helps in layout of the
designs by checking if the layout is abide by those rules.
After the layout is complete we extract the netlist. LVS compares the netlist extracted from
the layout with the schematic to ensure that the layout is an identical match to the cell
schematic.
+ -$
DFT means design for testability. 'Design for Test or Testability' - a methodology that
ensures a design works properly after manufacturing, which later facilitates the failure
analysis and false product/piece detection
Other than the functional logic,you need to add some DFT logic in your design.This will help
you in testing the chip for manufacturing defects after it come from fab.
Scan,MBIST,LBIST,IDDQ testing etc are all part of this. (this is a hot field and with lots of
opportunities)
A hard processor core is a pre-designed block that is embedded onto the device. In the Xilinx
Virtex II-Pro, some of the logic blocks have been removed, and the space that was used for
these logic blocks is used to implement a processor. The Altera Nios, on the other hand, is a
design that can be compiled to the normal FPGA logic.
The contamination delay of the data path in a sequential circuit is critical for the hold time at
the flip flop where it is exiting, in this case R2.
mathematically, th(R2) <= tcd(R1) + tcd(CL2)
Contamination delay is also called tmin and Propagation delay is also called tmax in many
data sheets.
DFT:
· manufacturing defects like stuck at "0" or "1".
· test for set of rules followed during the initial design stage.
Formal verification:
· Verification of the operation of the design, i.e, to see if the design follows spec.
· gate netlist == RTL ?
· using mathematics and statistical analysis to check for equivalence.
Many, many problems have this sort of variable rate requirement, yet we are usually
constrained with a constant clock frequency. One trick is to implement a digital NCO
(Numerically Controlled Oscillator). An NCO is actually very simple and, while it is most
naturally understood as hardware, it also can be constructed in software. The NCO, quite
simply, is an accumulator where you keep adding a fixed value on every clock (e.g. at a
constant clock frequency). hen the NCO "wraps", you sample your input or do your action.
By adjusting the value added to the accumulator each clock, you finely tune the AVERAGE
frequency of that wrap event. Now - you may have realized that the wrapping event may have
lots of jitter on it. True, but you may use the wrap to increment yet another counter where
each additional Divide-by-2 bit reduces this jitter. The DDS is a related technique. I have two
examples showing both an NCOs and a DDS in my File Archive. This is tricky to grasp at
first, but tremendously powerful once you have it in your bag of tricks. NCOs also relate to
digital PLLs, Timing Recovery, TDMA and other "variable rate" phenomena
% c&
c&
' c&
c&
$c&
c&
(
c&
)