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