Assalaamu Alaikum,
May peace and blessings of ALLAH (swt) be upon you and your family...aameen
Here are some of the VLSI related questions and answers which may be
helpful to you. If you find this useful, please share it with your
friends...
- What do you mean by Front End design and Back End design?
Front
End design means Verification of a design
whereas Backend Design means Analysis of
a Design. In the VLSI design steps Writing HDL codes/Schematic, Simulation
and Compilation belong to Front end design. And Synthesis, Floorplanning,
Placing and Routing belong to Back end Design.
- Mention some Front end design tools?
ModelSim from Mentor Graphics is
the best Example. In this tool we can write and Simulate our design and can’t
do anything apart from that. Active HDL from Aldec is an another example.
- Mention some Back end design tools?
RailMill, Dracula, Assura, Herculas
etc…
- Why should I perform Synthesis?
Synthesis is the process which will convert
our HDL into gate level Netlist (or
we can say, HDL to graphical representation of our design). This netlist is
used for other VLSI design steps such as Placing and Routing.
- If I say a particular code is NON-SYNTHESIZABLE, what do I mean?
It
means that the particular code can not
produce suitable logic
circuit/element to proceed further in the design process.
- Mention Some Synthesis tools?
XST
(from Xilinx), Leonardo Spectrum (from Mentor),
Synplify Pro (from Synplicity), Design Compiler ( from Synopsys) etc…
- Have you heard about RTL style of coding, if yes what is it?
Yes.
If I say a particular code is following RTL style then it means that the particular code is Synthesizable.
- What are entity and Architecture in VHDL?
Entity describes about the external view of a project whereas Architecture explains about the internal view of a project
- If Quartus II related to Altera then ISPLever related to?
Lattice
Semiconductor Corporation.
- What is the difference between a Signal and a Variable in VHDL?
During
synthesis a signal can be represented as
Register and a Variable can be
represented as Wire.
- What is the real purpose of using Stick and Layout diagrams?
Without
them you can not Produce your chips. The popular formats which goes to the
Foundry like GDSII and CIF based on layout diagrams.
- If Vera related to VCS then E related to?
Specman Elite. Vera and E are nothing
but the verification languages and, VCS and Specman Elite are their
corresponding Compilers
- How does a PLD (SPLD/FPGA/CPLD) understands your higher level programming i.e. HDLs?
Through
the bitstreams produced after
performing VLSI design steps.
- In VLSI design steps, what do you mean by “Programming”?
Progamming
means Downloading to the hardware.
- Mention some ASIC design tools?
There
are lots of them. Please visit the websites of Commercial EDA tool suppliers
like Synopsys, Cadence and Magma to learn better.
- I can design a CPLD or an FPGA using tools from Cadence or Synopsys. True or False?
Using
the tools from Cadence or Synopsys you can design whatever Chips you want. If I
say that then it includes CPLDs and FPGAs also. Hence the answer is true.
- In the name FPGA what does FIELD PROGRAMMABLE mean?
You
can explain this in two ways.
v
In electronics Field means Voltage, that is why we call FET as field effect
transistor. Similarly in FPGA, it explains that Gate of Arrays which are
programmable if I supply a Voltage.
v
Gate of Arrays which are programmable by the
user itself instead of the manufacturer.
- Explain about Sensitivity List in HDLs?
Sensitivity
list is the list which you notice next to PROCESS or
ALWAYS
statements in VHDL and Verilog HDL respectively. It contains the list of variables that will change the output of a
project.
For
example, let us assume that we are implementing an OR gate project. For this
project we have two inputs (a and b) and one output (c). We know that, the output
c changes only when the inputs (a and b) change. Hence the variables a and b
should be placed inside the sensitivity list.
To
put it in a simple way, those variables which changes the output of
a project should be placed inside the sensitivity list.
- Why FPGAs does not come under the category of PLDs?
Because
FPGAs have a different architecture when compared to their counterparts, the
PLDs.
- What is the difference between a PAL and PLA?
In
PLAs, both the input and output planes are programmable whereas in PALs only
the input plane is programmable and the output plane is fixed.
- Why should one use Software tools such as Project Navigator or Quartus II?
Programmable devices (PLDs and FPGAs) contains
switches which needs to be programmed (neither High or Low) to get our designs.
Manually programming the switches is very
difficult, infact nearly impossible. That is why we use software tools such
as Project Navigator or Quartus II or any other similar tools. These tools
produce programming files or binary files after performing VLSI design steps
which are used to program the switches in the programmable devices.
- Complex designs should be programmed using Structural way of Modeling. Am I correct?
To a certain
extent, yes. But not always, it
depends on the circumstances
and designer’s
abilities. For instance, let us assume that we are trying to implement a
fulladder design.
One
way of designing is, we know that fulladder design contains two ‘halfadders’
and one ‘or’ gate. Now you write a program for halfadder and call the
corresponding entity two times in the main project and write a program for ‘or’
gate and call it once in the main program. The end result, within three steps
inside the architecture we finish the project.
The
other way is, what will happen if the designer doesn’t able to visualize
fulladder into two ‘halfadders’ and one ‘or’ gate. On that case, he designs the
full adder circuit with two ‘xor’ gates and two ‘and’ gates and one ‘or’ gate
(or in any other way). To do this in structural way, he writes the program for
‘xor’ gate, ‘and’ gate, ‘or’gate and calls these programs in the main project.
The end result, it takes five steps inside the architecture to finish the
project. If he designs the same project in data flow method, he still needs to
write five steps to finish the project and addition to that we has saved some
time in writing programs for ‘xor’,’and’ and ‘or’.
Hence
if the designer has the expertise to visualize a complex circuit as blocks
(like halfadders in fulladder circuit) then structural way of programming will
be of immense use. Or else it is better to hold on with Data flow way of
modeling.
- What do you mean by Prototyping?
Usually
when an ASIC designer wants to implement his design, he will try it out on a
similar hardware first and then goes for Actual Manufacturing. This kind of
duplication is known as Prototyping. Prototyping is Very important to every
ASIC design engineer.
thank you sir for providing these info....
ReplyDelete