Sent On Mail
Sent On Mail
Lecture#20
Clocked Circuits
Circuit design style
❖Circuit performance and power dissipation largely depend on circuit design
style:
-Non-clocked style
-Clocked style
❖CMOS logic family, Pseudo nmos logic, pass transistor are examples of non –
clocked family.
Non-clocked Style (CMOS logic family)
❖ Standard CMOS is a Non-Ratioed logic family,
-The logic function will be correctly implemented regardless of device sizing.
-Device sizing will only affect the performance of the gate.
❖The clear advantage of this gate over Standard CMOS is the reduced number
of transistors.
❖Reduce complexity, low capacitance, higher speed
❖N+1 transistors to implement an N-input gate.
❖But more power dissipation.
Pass-transistors
❖Transistors can be used as switches.
❖VDD and GND rails are the strongest 1 and 0.
❖NMOS passes strong 0
– But degraded or weak 1
❖PMOS passes strong 1
– But degraded or weak 0
❖Thus, NMOS are best for pull-down network
Pass- transistor logic
❖Pass transistor logic uses pass transistor to implement any logic function.
❖Generally, AND/OR logic are utilized to implement any function.
Behavioral Design
Flow Graph, HDL code
Data Path Design
Bus/Register Structure
Logic Design
Gate/F-F Netlist
Physical Design
Transistor Layout
Manufacturing
Chip/Board
System Design flow steps
❖Behavioral Design:
--This step specify the actual function of the design: i.e, behavior.
--Behavior can be specify in many ways:
-Truth table or Boolean expression.
-State transition diagram or table (FSM)
-High level algorithm
-- After this step synthesis is necessary for the hardware implementation.
System Design flow steps
❖Data path design:
--It has the components like registers, adders, multipliers, multiplexers, decoders etc, which are
the generated netlist of register transfer level.
-- The generated netlist will be in the form of graph.
-- In a graph vertices depicts components and edges indicates interconnections among various
components.
-- the components may be any functional blocks, gates or flip-flops.
--Here the generated netlist is also called as structural design.
Logic Design
❖It generate the netlist into the form of basic gates and flip-flops.
❖The netlist may be in the form of standard cells. The standard cells depicts the pre-designed circuit
blocks (Basic gates, Mux, decoder etc.) with their already implemented layout design.
❖This is the stage where various techniques can be employed to optimize the various performance
parameters:
--To minimize delay of the circuit.
--Minimize the number of gates.
--To reduce dynamic power dissipation switching activities can be reduced.
Lecture#30
Introduction to VHDL
Physical Design
❖The final layout is generated in this stage, then it can be send for the fabrication.
❖The layout has many layers of polysilicon, semiconductor, metal etc.
❖These layers are in the form of rectangular shapes.
--the thickness and width of each layers are fixed.
--the minimum spacing is also decided according to DRC rules.
❖The final design may be an IC, FPGA or ASIC type of design.
Other steps in design flow
❖Simulation for Verification
--at logic level, switch level and circuit level
❖Testability analysis and Test pattern generation
--it is utilized to test the manufactured devices
Design Representation
Design representation
❖Design can be directly represented by Y-chart.
❖Y-chart shows the design steps in three main domain:
--Behavioral
--Structural
--Physical
❖These design steps complete your actual hardware implementation form specifications to the
fabrication.
Y-Chart
❖Y-Chart represents the actual representation of the different steps needed for the fabrication .
Behavioral Description
❖ For a given set of specified inputs what will be the response: the function of the system.
--The functionality of the design may be in the form of Boolean functions, truth table.
--Algorithm may be written in VHDL.
❖Example Full Adder:
--Two inputs X and Y
--One input carry (Cin)
--Carry output (Cout)
--Sum output (Sum)
❖The Boolean expression for the sum and carry out:
🡪 SUM=X XOR Y XOR Cin
🡪 Cout=(X AND Y) OR (X AND Cin) OR (Y AND Cin)
Structural Description
❖It describes how the internal components are interconnected.
--The components may be registers, adders, multipliers, multiplexers, decoders etc, which are the
generated netlist of register transfer level.
❖At the structural description different level of representations are there:
--functional or module level
--gate level
--transistor level
--hybrid level of abstraction is also possible
❖As we go through successive level of abstraction, more detailed information is revealed.
Structural Description
❖It shows the internal structure of the full adder and its interconnection.
Design Methodology
❖Front-End Design
❖Back-End Design
System on a Chip
❖System on a Board
--Components were put in bread board
--Interconnected with the help of wires
❖ System on a Chip
--Embedded System on Chip
❖Advantages:
--Reduced Power dissipation
--Reduced Chip Interconnects
--Reduced Device Size
Lecture#31
Introduction to VHDL
History
❖The requirements for the language were first generated in 1981 under the VHSIC
program. In this program, a number of U.S. companies were involved in designing
VHSIC chips for the Department of Defense (DoD).
❖ Re-procurement and reuse was also a big issue.
❖Thus, a need for a standardized hardware description language for design, documentation,
and verification of digital systems was generated.
❖A team of three companies, IBM, Texas Instruments, and Intermetrics, were first awarded
the contract by the DoD to develop a version of the language in 1983.
❖VHDL language was standardized by the IEEE in December 1987; this version of the
language is now known as the IEEE Std 1076-1987.
Capabilities of VHDL
❖The language can be used as an exchange medium between chip vendors and CAD tool
users.
❖The language supports hierarchy.
❖The language supports flexible design methodologies: top-down, bottom-up or mixed.
❖The language is not technology-specific, but is capable of supporting technology-specific
features.
❖It supports both synchronous and asynchronous timing models.
❖Various digital modeling techniques such as finite-state machine descriptions, algorithmic
descriptions, and Boolean equations can be modeled using the language.
❖The language is publicly available, human readable, machine readable.
Hardware Abstraction
❖VHDL is used to describe a model for a digital hardware device. This model specifies the external
view of the device and one or more internal views.
❖The internal view of the device specifies the functionality or structure, while the external view
specifies the interface of the device through which it communicates with the other models in its
environment.
Hardware Abstraction
❖In VHDL, each device model is treated as a distinct representation of a unique device, called
an entity.
Modeling Styles
❖VHDL can describe a digital system at several different levels
-Behavioral
-Data flow
-Structural
Sequential vs Concurrent Statements
❖VHDL provides two different types of execution: sequential and concurrent.
❖Different types of execution are useful for modeling of real hardware.
-Sequential statements view hardware from a “programmer” approach.
-Concurrent statements are order-independent and asynchronous.
VHDL Description of Combinational Circuits
❖ VHDL models combinational circuits by concurrent statements. Concurrent statements are
statements which are always ready to execute.
❖These are statements which get evaluated any time and every time a signal on the right side of
the statement changes.
❖Here A, B, C, D and E are the Signals.
❖The symbol <= is the signal assignment operator. which indicates that the value computed on
the right side is assigned to the signal on the left side.
VHDL Description of Combinational Circuits
❖When we initially describe a circuit, we may not be concerned about propagation delays. If we
write :
C <= A and B;
E <= C or D;
❖this implies that the propagation delays are 0 ns.
❖In this case, the simulator will assume an infinitesimal delay referred to as ∆ (delta).
❖Assume that initially A = 1 and B = C = D = E = 0. If B is changed to 1 at time 1 ns, then C
will change at time 1+ ∆ and E will change at time 1+2 ∆.
❖Unlike a sequential program, the order of the preceding concurrent statements is unimportant.
If we write
E <= C or D;
C <= A and B;
the simulation results would be exactly the same as before.
Important points to remember
❖VHDL is not case sensitive; uppercase and lowercase letters are treated the same by the compiler
and by the simulator. Thus, the statements would be treated as same.
❖Signal names and other VHDL identifiers may contain letters, numbers, and the underscore
character (_). An identifier must start with a letter, and it cannot end with an underscore. Thus
C123 and ab_23 are legal identifiers, but 1ABC and ABC_ are not.
❖Every VHDL statement must be terminated with a semicolon (;).
❖In a line of VHDL code, anything following a double dash (--) is treated as a comment.
❖ Words such as and, or, and after are reserved words (or keywords) which have a special meaning
to the VHDL compiler.
Important points to remember
❖In digital design, we often need to perform the same operation on a group of
signals. A one-dimensional array of bit signals is referred to as a bit-vector.
VHDL Modules
❖The structure of VHDL module can be defined as: Entity description and an
architecture description.
❖To declare the entity, we use:
❖For example:
VHDL Modules
❖The architecture description of module:
VHDL Modules
• The entity description can be considered as the black box picture of the module
being designed and its external interface.
Fig. Black Box View of the Two-Gate Module Fig. VHDL Module with Two Gates
VHDL Modules
❖The entity declaration gives the name two_gates to the module. The port
declaration specifies the inputs and outputs to the module.
❖ A, B, and D are input signals of type bit, and E is an output signal of type bit.
❖The signal C is declared within the architecture since it is an internal signal.
Description of Full Adder Module
Hierarchy of 4-bit parallel adder
4-Bit adder
Simulation
Synthesis
Evaluate
results ASIC FPGA
Synthesis Tools
❖Software tools for FPGA
--Xilinx ISE or Vivado for Xilinx FPGA kits.
--Other FPGA vendors also provides similar types of softwares.
❖Commercial CAD tools for ASIC:
--Tool suite from cadence
--Tool suite from Synopsys
Sequential Statements and VHDL Processes
❖The behavioral style architecture contains concurrent statements with sections of sequential
statements that describes the output of the circuit at discrete moment in given particular
inputs.
❖The behavioral architecture includes the following:
-process statements and sensitivity lists.
-Sequential statements
-Variables
❖It is used to describe both combinational and sequential logic.
❖Process: VHDL processes helps to model sequential logic.
❖A VHDL process has the following basic form: