Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

L5 Digital System Modeling1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

EC806 DDFPGA

Modeling of Digital Systems

Dr Sumam David S.

EC806

Objectives
• At the end of the lecture the student
must be able to
– Appreciate top-down design methodology,
need for HDL, and choose level of
abstraction for modeling a digital system

Page 2 DDFPGA September 2022

Dept of E&C, NITK Surathkal 1


EC806 DDFPGA

FPGA based Design Flow

Page 3 DDFPGA September 2022

What is inside an ASIC or an FPGA?

Page 4 DDFPGA September 2022

Dept of E&C, NITK Surathkal 2


EC806 DDFPGA

What is inside an ASIC or an FPGA?

Page 5 DDFPGA September 2022

What is inside an ASIC or an FPGA?

Page 6 DDFPGA September 2022

Dept of E&C, NITK Surathkal 3


EC806 DDFPGA

What is inside an ASIC or an FPGA?

Page 7 DDFPGA September 2022

What is inside an ASIC or an FPGA?

You are writing HDL code to get this image automatically using the tools

Page 8 DDFPGA September 2022

Dept of E&C, NITK Surathkal 4


EC806 DDFPGA

Different Tools?

• Cadence
• Synopsys
• Mentor Graphics
• Xilinx
• Intel Altera – Quartus
• Open source tools

Page 9 DDFPGA September 2022

Fabrication facilities
• SCL Chandigarh – under ISRO
• UMC
• TSMC
• Global foundries

• Intel
• Samsung ….etc.

Page 10 DDFPGA September 2022

Dept of E&C, NITK Surathkal 5


EC806 DDFPGA

FPGA
 Logic blocks
 Implement combinational
and sequential logic
 Interconnect
 Wires to connect inputs
and outputs to logic
blocks
 I/O blocks
 Special logic blocks at
periphery of device for
external connections

Page 11 DDFPGA September 2022

Modeling digital systems


• Model
– Represents info that is relevant and abstracts away details
– Context dependent
• Reasons for modeling
– Requirements specification
– Documentation
– Testing using simulation
– Formal verification
– Synthesis
– Design reuse
• Goal
– Most reliable design process, with minimum cost and time
– Avoid design errors!

Page 12 DDFPGA September 2022

Dept of E&C, NITK Surathkal 6


EC806 DDFPGA

Domains
• Digital systems modeled in 3 principal domains and
at different levels of abstraction
• Behavioral
– What does it do?
– Truth table, state diagram, waveform, algo
• Structural
– What are the components and how are they connected ?
– Schematic, net list
• Physical
– Where are the components located on Si/PCB ?
– Placement & routing

Page 13 DDFPGA September 2022

Behavioural view
• What the system does
• Info on how this will be achieved is hidden
• Inputs and outputs are defined along with
the relationship between them
• Examples
– Truth table
A
– State diagram B
Y=A+B Y

– Waveform
– Algorithm

Page 14 DDFPGA September 2022

Dept of E&C, NITK Surathkal 7


EC806 DDFPGA

Structural
• What the design is
– What components are used
– How are they interconnected
• No info on what the system does nor how it will be
made
• Example
– Schematic
– Net list
• The components may be defined using behavioral or
structural description
– hierarchical description

Page 15 DDFPGA September 2022

Physical
• How the design is made
• Placement & routing or Manufacturing info
• No info on what components are being made nor on how they
behave
• PCB manufacture
– GERBER files
• Etching tracks, drilling holes
• IC layout
– GDS2 files
• Mask layout: diffusion, metal …
• PLDs
– JEDEC files
• Define internal connections

Page 16 DDFPGA September 2022

Dept of E&C, NITK Surathkal 8


EC806 DDFPGA

Example
• Controller for a temperature
measurement system with data input
and display output

Page 17 DDFPGA September 2022

Domains and Levels of Modeling


Structural Behavioral

high level of
abstraction

low level of
abstraction

Physical “Y-chart” due to


Gajski & Kahn

Page 18 DDFPGA September 2022

Dept of E&C, NITK Surathkal 9


EC806 DDFPGA

Domains and Levels of


Modeling
Structural Behavioral
Algorithm
(behavioral)

Register-Transfer
Language

Boolean Equation

Differential Equation

Physical “Y-chart” due to


Gajski & Kahn
Page 19 DDFPGA September 2022

Behavioral domain - levels


• Algorithm
– The set of operations to be performed
• Register Transfer Language
– How data will be moved and stored
• Boolean Equations
– How individual signals are manipulated
• Differential equations
– How currents and voltages in the transistors
behave

Page 20 DDFPGA September 2022

Dept of E&C, NITK Surathkal 10


EC806 DDFPGA

Domains and Levels of


Modeling
Structural Behavioral
Processor-Memory
Switch

Register-Transfer

Gate

Transistor

Physical “Y-chart” due to


Gajski & Kahn
Page 21 DDFPGA September 2022

Levels of abstraction

Page 22 DDFPGA September 2022

Dept of E&C, NITK Surathkal 11


EC806 DDFPGA

Domains and Levels of


Modeling
Structural Behavioral

Polygons

Sticks

Standard Cells

Floor Plan

Physical “Y-chart” due to


Gajski & Kahn
Page 23 DDFPGA September 2022

Adv…
• Automatic synthesis
• Testing & verification using simulation
• Formal verification
• Max reliability for min cost & design
time
• Design reuse

Page 24 DDFPGA September 2022

Dept of E&C, NITK Surathkal 12


EC806 DDFPGA

RTL (dataflow) descriptions


• Describes system in terms of units of data
storage and transformation
• Datapath
– Data storage registers and data
transfer between these units
– Implemented by registers and logic
• Control path
• Sequences operations of the datapath components
• Implemented by FSM

Page 25 DDFPGA September 2022

RTL description

Data in Data out


Data path

Control Status

External External
Control path
Control in Control out

Page 26 DDFPGA September 2022

Dept of E&C, NITK Surathkal 13


EC806 DDFPGA

Datapath

CL R Data Data CL Data


Data in
out in out

Control Load

• storage of data and constants


Data in CL R Data • data transfer
out • data transformations
Control Load

Page 27 DDFPGA September 2022

Control path

inputs outputs
CL

Present next state


state
FSM

• activates operations in data path via control signals


• uses status & external control signals for decision making

Page 28 DDFPGA September 2022

Dept of E&C, NITK Surathkal 14


EC806 DDFPGA

RTL Design method


• Specify the behavior of the system
• Design the data path
• Design the control path
• Implement the data and control path
– Specify the interface between datapath
and control path in terms of explicit signals
– structural model

Page 29 DDFPGA September 2022

Example - Serial Adder

Page 30 DDFPGA September 2022

Dept of E&C, NITK Surathkal 15

You might also like