This document discusses static timing analysis (STA) and dynamic timing analysis. It provides examples of using STA on a sorting circuit design to find the critical path and check that it meets the timing constraint of a 20ns clock period. STA is performed after synthesis and mapping and finds the longest path to be 9.739ns, providing over 10ns of slack compared to the timing constraint.
Computer Organization1
CS1400
Feng Jiang
Boolean algebra
• Reading 2.5 P57-P65
• Axioms and Theorems
• Theorems required P57 P58 T1- T3
• Could derive T6 T7 T8
• De Morgan’s theorems and T9 T10
Boolean algebra
Boolean algebra
Digital Logic Fundamentals
Z = X+Y Z =
——
Z = Z = X + Y—
—
NOT all variables
Change & to | and | to &
NOT the result
De Morgan's
theorems
X�Y
X�Y
Boolean algebra
Boolean algebra
T8 T3
Duality
P59
• Review
• Boolean algebra
• Exercise Examples (a)-(e) P61
Day 5
Boolean algebra
• Exercise
• P61
• Homework(no submission)
• P98-100 2.1 -2.12, 2.14
Boolean algebra
Boolean algebra
Boolean algebra
Less terms is preferred
Less variables in one term is preferred
“Big not” should be simplified
Boolean algebra
De Morgan’s theorems
Complement
Sum of products <> product of sums
Boolean algebra De Morgan’s theorems
Boolean algebra De Morgan’s theorems
Boolean algebra
De Morgan’s theorems
Complement
Sum of products <> product of sums
• Review
• Boolean algebra
• Exercise Examples (a)-(e) P61
Day 5
• Start
• K-map
• Review Boolean algebra
• (Application of De Morgan’s and Exercise 2 )
• Read
• Applications of combinational logic
Day 6
• Review: Axioms and Theorems, solution manual, link,
reference
• Karnaugh Map
• Review Boolean algebra (Exercise 2)
• (Application of De Morgan’s and Exercise 2 )
• Reading for next class
• Applications of combinational logic
• Multiplexer ? Adder ? Decoder?
Day 6
• A two-dimensional tool of the truth table
• Could be used to simplify Boolean
expressions
• Review “truth table” & “minterm”
• 2^n lines vs. 2^n cells
Karnaugh Map (K-Map)
KarnaughMaps
Karnaugh Maps
Karnaugh Maps, how to plot
By truth table
By Boolean expression
F= A’D+A’BCD+ACD’
Karnaugh Maps, how to plot
Examples:
Karnaugh Maps, how to plot
Examples:
F= B+A’C
F= AB’C +BC
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Larger group >> less variables in one term
Karnaugh Maps, to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Larger group >> less variables in one term
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
F=A’B’ + A’BCD+ACD
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
For a four-variable K-map
Karnaugh Maps, to simplify
Map the terms
Group adjacent cells
• Start
• K-map
• Review Boolean algebra (announce quiz2)
• (Application of De Morgan’s and Exercise 2 )
• Read
• Applications of combinational logic
Day 6
Boolean algebra Applications of De Morgan’s theorems
Boolean algebra Ap.
Computer Organization1
CS1400
Feng Jiang
Boolean algebra
• Reading 2.5 P57-P65
• Axioms and Theorems
• Theorems required P57 P58 T1- T3
• Could derive T6 T7 T8
• De Morgan’s theorems and T9 T10
Boolean algebra
Boolean algebra
Digital Logic Fundamentals
Z = X+Y Z =
——
Z = Z = X + Y—
—
NOT all variables
Change & to | and | to &
NOT the result
De Morgan's
theorems
X�Y
X�Y
Boolean algebra
Boolean algebra
T8 T3
Duality
P59
• Review
• Boolean algebra
• Exercise Examples (a)-(e) P61
Day 5
Boolean algebra
• Exercise
• P61
• Homework(no submission)
• P98-100 2.1 -2.12, 2.14
Boolean algebra
Boolean algebra
Boolean algebra
Less terms is preferred
Less variables in one term is preferred
“Big not” should be simplified
Boolean algebra
De Morgan’s theorems
Complement
Sum of products <> product of sums
Boolean algebra De Morgan’s theorems
Boolean algebra De Morgan’s theorems
Boolean algebra
De Morgan’s theorems
Complement
Sum of products <> product of sums
• Review
• Boolean algebra
• Exercise Examples (a)-(e) P61
Day 5
• Start
• K-map
• Review Boolean algebra
• (Application of De Morgan’s and Exercise 2 )
• Read
• Applications of combinational logic
Day 6
• Review: Axioms and Theorems, solution manual, link,
reference
• Karnaugh Map
• Review Boolean algebra (Exercise 2)
• (Application of De Morgan’s and Exercise 2 )
• Reading for next class
• Applications of combinational logic
• Multiplexer ? Adder ? Decoder?
Day 6
• A two-dimensional tool of the truth table
• Could be used to simplify Boolean
expressions
• Review “truth table” & “minterm”
• 2^n lines vs. 2^n cells
Karnaugh Map (K-Map)
KarnaughMaps
Karnaugh Maps
Karnaugh Maps, how to plot
By truth table
By Boolean expression
F= A’D+A’BCD+ACD’
Karnaugh Maps, how to plot
Examples:
Karnaugh Maps, how to plot
Examples:
F= B+A’C
F= AB’C +BC
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Larger group >> less variables in one term
Karnaugh Maps, to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Larger group >> less variables in one term
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
F=A’B’ + A’BCD+ACD
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
Karnaugh Maps, how to simplify
Map the terms
Group adjacent cells
*NO diagonal adjacent
*torus shaped
For a four-variable K-map
Karnaugh Maps, to simplify
Map the terms
Group adjacent cells
• Start
• K-map
• Review Boolean algebra (announce quiz2)
• (Application of De Morgan’s and Exercise 2 )
• Read
• Applications of combinational logic
Day 6
Boolean algebra Applications of De Morgan’s theorems
Boolean algebra Ap.
- Designed a standard cells with gates including Inverter, two input NAND, two Input NOR, two Input XOR, 2:1 Multiplexer, AOI22, OAI3222 and D Flip Flop with minimum area & diffusion breaks by using IBM130 nm process technology.
- Involved library characterization using NCX, RTL synthesis of VHDL code of 32 bit ALU Chip design using Synopsys Design Vision.
Mathematics (from Greek μάθημα máthēma, “knowledge, study, learning”) is the study of topics such as quantity (numbers), structure, space, and change. There is a range of views among mathematicians and philosophers as to the exact scope and definition of mathematics
Self-managed and automatically reconfigurable stream processingVasia Kalavri
With its superior state management and savepoint mechanism, Apache Flink is unique among modern stream processors in supporting minimal-effort job reconfiguration. Savepoints are being extensively used to enable dynamic scaling, bug fixing, upgrades, and numerous other reconfiguration use-cases, all while preserving exactly-once semantics. However, when it comes to dynamic scaling, the burden of reconfiguration decisions -when and how much to scale- is currently placed on the user.
In this talk, I share our recent work at ETH Zurich on providing support for self-managed and automatically reconfigurable stream processing. I present SnailTrail (NSDI’18), an online critical path analysis module that detects bottlenecks and provides insights on streaming application performance, and DS2 (OSDI’18), an automatic scaling controller which identifies optimal backpressure-free configurations and operates reactively online. Both SnailTrail and DS2 are integrated with Apache Flink and publicly available. I conclude with evaluation results, ongoing work, and and future challenges in this area.
With its superior state management and savepoint mechanism, Apache Flink is unique among modern stream processors in supporting minimal-effort job reconfiguration. Savepoints are being extensively used to enable dynamic scaling, bug fixing, upgrades, and numerous other reconfiguration use-cases, all while preserving exactly-once semantics. However, when it comes to dynamic scaling, the burden of reconfiguration decisions -when and how much to scale- is currently placed on the user.
In this talk, I will share our recent work at ETH Zurich on providing support for self-managed and automatically reconfigurable stream processing. I will present SnailTrail (NSDI’18), an online critical path analysis module that detects bottlenecks and provides insights on streaming application performance, and DS2 (OSDI’18), an automatic scaling controller which identifies optimal backpressure-free configurations and operates reactively online. Both SnailTrail and DS2 are integrated with Apache Flink and publicly available. I will conclude with evaluation results, ongoing work, and and future challenges in this area.
- Designed a standard cells with gates including Inverter, two input NAND, two Input NOR, two Input XOR, 2:1 Multiplexer, AOI22, OAI3222 and D Flip Flop with minimum area & diffusion breaks by using IBM130 nm process technology.
- Involved library characterization using NCX, RTL synthesis of VHDL code of 32 bit ALU Chip design using Synopsys Design Vision.
Mathematics (from Greek μάθημα máthēma, “knowledge, study, learning”) is the study of topics such as quantity (numbers), structure, space, and change. There is a range of views among mathematicians and philosophers as to the exact scope and definition of mathematics
Self-managed and automatically reconfigurable stream processingVasia Kalavri
With its superior state management and savepoint mechanism, Apache Flink is unique among modern stream processors in supporting minimal-effort job reconfiguration. Savepoints are being extensively used to enable dynamic scaling, bug fixing, upgrades, and numerous other reconfiguration use-cases, all while preserving exactly-once semantics. However, when it comes to dynamic scaling, the burden of reconfiguration decisions -when and how much to scale- is currently placed on the user.
In this talk, I share our recent work at ETH Zurich on providing support for self-managed and automatically reconfigurable stream processing. I present SnailTrail (NSDI’18), an online critical path analysis module that detects bottlenecks and provides insights on streaming application performance, and DS2 (OSDI’18), an automatic scaling controller which identifies optimal backpressure-free configurations and operates reactively online. Both SnailTrail and DS2 are integrated with Apache Flink and publicly available. I conclude with evaluation results, ongoing work, and and future challenges in this area.
With its superior state management and savepoint mechanism, Apache Flink is unique among modern stream processors in supporting minimal-effort job reconfiguration. Savepoints are being extensively used to enable dynamic scaling, bug fixing, upgrades, and numerous other reconfiguration use-cases, all while preserving exactly-once semantics. However, when it comes to dynamic scaling, the burden of reconfiguration decisions -when and how much to scale- is currently placed on the user.
In this talk, I will share our recent work at ETH Zurich on providing support for self-managed and automatically reconfigurable stream processing. I will present SnailTrail (NSDI’18), an online critical path analysis module that detects bottlenecks and provides insights on streaming application performance, and DS2 (OSDI’18), an automatic scaling controller which identifies optimal backpressure-free configurations and operates reactively online. Both SnailTrail and DS2 are integrated with Apache Flink and publicly available. I will conclude with evaluation results, ongoing work, and and future challenges in this area.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Unit 8 - Information and Communication Technology (Paper I).pdf
15757597 (1).ppt
1. Lecture 14: Timing Analysis and
Timed Simulation
UCSD ECE 111
Prof. Farinaz Koushanfar
Fall 2017
Some slides are courtesy of Prof. Patrick Schaumont
UCSD ECE 111, Prof. Koushanfar, Fall 2017
2. Topics
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Static and Dynamic Timing Analysis
❑ Static Timing Analysis
▪ Delay Model
▪ Path Delay
▪ False Paths
▪ Timing Constraints
▪ FPGA Design Flow & STA: Sorter Example
❑ Dynamic Timing Analysis
▪ FPGA Design Flow & Timed Simulation
▪ Delay back-annotation with SDF files
▪ Demonstration
3. Static and Dynamic Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
Digital
Synchronous
Design
Input Output
fCLK
❑ Suppose that we want to automatically find the maximum clock
frequency of a given design
▪ written in Verilog
▪ and synthesized to a given technology
❑ Approach 1: Static Timing Analysis = use analysis techniques
on the netlist to define fclk,max
❑ Approach 2: Dynamic Timing Analysis = use simulation and
selected input stimuli to measure the slowest path
4. Static and Dynamic Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Static Timing Analysis seems ideal, since it is done by a design
tool that starts from the netlist and runs automatically
❑ However, Static Timing Analysis may report pessimistic results
and report delays that will never occur during operation
❑ Dynamic Timing Analysis is nice, because we can combine it with
the simulations which we do for functional verification
❑ However, Dynamic Timing Analysis may be too optimistic, in
particular if we do not simulate the worst possible case (which
may be hard to predict in a complex netlist)
❑ In this lecture, we put the two techniques side-to-side
5. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA looks for the worst of the following delays in a
chip
Delay from
input to
register
Delay from
register to
register
Delay from
register to
output
Combinational
Logic
Combinational
Logic
Combinational
Logic
IN OUT
6. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA relies on a similar model as we discussed before
Combinational
Logic
CLK
Tclk,min = Tclk->Q + TLogic + TRouting +TSetup
Property of
the component
(flipflop)
Property of
the netlist
Property of
the component
(flipflop)
7. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA also takes delay on the clock connection into
account. This is called clock skew.
❑ The effect of clock skew is highly dependent on circuit
topology
Combinational
Logic
CLK
Tskew
Tclk,min = Tclk->Q + TLogic + TRouting + TSetup - TSkew
Here, skew works
'in favor' of us.
8. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA also takes delay on the clock connection into
account. This is called clock skew.
❑ The effect of clock skew is highly dependent on circuit
topology
Combinational
Logic
CLK
Tskew
Tclk,min = Tclk->Q + TLogic + TRouting + TSetup + TSkew
Here, skew works
'against' us.
9. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA also takes delay on the clock connection into
account. This is called clock skew.
❑ The effect of clock skew is highly dependent on circuit
topology
▪ the physical layout of the chip including the placement of
components and the routing of wires
❑ The best clock skew is 0.
▪ Chips will distribute the clock signal so that it arrives at every
flip-flop at exactly the same moment
10. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ So, once the technology is chosen, STA needs to find
the longest combinational path, consisting of Tlogic +
Trouting
❑ Path delay = delay from an input to an output. M
inputs, N outputs -> M x N path delays possible
Combinational Logic
10 ns
15 ns
12 ns
9 ns
Worst case delay = 15ns
11. Delay of single path
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Path delay =
Intrinsic Gate Delay + Fan-out Delay + Wire Delay
❑ Intrinsic Delay:
1 ns
In
intrinsic delay = 1ns
(delay of each gate
when not connected)
Out
12. Delay of a path
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Gate Fan-out Delay: Delay caused by the input
capacitance of gates in fan-out
1 ns
In
Out
Ci
Fan-out = 4
Each gate input represents a unit load
13. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Gate Fan-out Delay:
▪ Ci = Capacitive load of a CMOSinput
1 ns
V 1 load
t
V
Fan-out
Delay
Vi,H
RC-delay
R ~ drive capability of
inverter output stage
C ~ loading of output
Ci
Vinput
14. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Gate Fan-out Delay:
▪ Appromated by N (fan-out) x D (delay per fan-out)
▪ Eg. a gate has 0.5 ns delay per fanout, then driving 3 gates
will cost 1.5 ns delay
1 ns
V 1 load
3 load
t
V
Delay
Vi,H
Ci
Vinput
15. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ The path shown has 1ns + 2ns + 1ns = 4ns delay.
2 ns
4 x 0.5 ns
2 ns
❑ After placement and routing has completed, additional
correction factors can be included (delay of wires)
16. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA may find paths that are never activated during
operation. Such paths are called false paths
Select
Comb
Logic
Comb
Logic
1
0
1
0
17. Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA may find paths that are never activated during
operation. Such paths are called false paths.
❑ Designers must indicate such false paths to the STA
tools (based on constraints)
Select
Logic
Logic
1
0
1
0
Even though the red path has the longest
delay, it will never be triggered in practice.
This is a false path
18. Timing Constraints
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Timing Constraints are additional directives provided
by the designer to the synthesis tools
▪ Timing Constraints are used by STA to verify if the timing of
the resulting circuit is OK: clock period, setup time of flip-flops,
etc
▪ Timing Constraints are used by the Place & Route tools to
decide how components should be mapped into a chip
❑ The most simple timing constraint is the clock period of
the clock signal
▪ Knowing this value, STA can evaluate the slack for each path
slack = Tclk -Tclk,min
19. FPGA Design Flow and Static Timing
Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
RTL Verilog
Constraints
(ucf)
- pinout
- clock period
No timing information known
(apart from cycle boundaries)
Synthesis
(+translate)
Timing estimated based on components only
(only fan-out and intrinsic delay)
Mapper
Timing estimated based on components only
(only fan-out and intrinsic delay)
Place and
Route
Timing estimated based on final
netlist (fan-out, intrinsic, and wire delay)
Bitstream
Generation
20. STA on Design Example
UCSD ECE 111, Prof. Koushanfar, Fall 2017
sort2 sort2
a b
a1 a2 a3 a4
sort4_stage
registers
sort2
min(a,b)
max(a,b)
q1 q2 q3 q4
sort4_stage
registers
21. STA on Design Example
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ This design has many equally bad long paths.
❑ As long as we hit 2 sort2 cells per sorter4_stage, we
will be on a long path
❑ Some examples:
a b
a1 a2 a3 a4
sort4_stage
registers
sort2 sort2
min(a,b)
max(a,b)
sort2
q1 q2 q3 q4
sort4_stage
registers
22. STA on Design Example
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ We will capture this circuit in Verilog, synthesize it, and
evaluate the timing with STA. We need
▪ sort2
▪ sort4_stage
▪ register stage
▪ top cell
23. Sort2 cell
UCSD ECE 111, Prof. Koushanfar, Fall 2017
a, b);
module sorter2c(qa, qb,
output [3:0] qa, qb;
input [3:0] a, b;
assign qa = (a > b) ?
assign qb = (a > b) ?
a.: b;
b.: a;
endmodule
27. Timing Constraints
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ We will only specify the period of the clock signal
❑ This is done by adding a 'PERIOD' constraint:
NET "clk" PERIOD = 20 ns HIGH 50 %;
NET "clk" TNM_NET = "clk";
sorter.v
(sort2,
sort4_stage,
register stage,
toplevel)
sorter.ucf +
Synthesis
(+translate)
28. Synthesis, Translate, Map
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Next, we synthesize the circuit
▪ After MAP, the Verilog is converted into a netlist of FPGA
components: LUTs, flipflops, buffers, etc ..
▪ You can look at the netlist with the 'Technology Schematic'
❑ The MAP step can also use static timing analysis on
the netlist
▪ There is a separate interactive timing analysis tool
30. Analysis of the 'PERIOD' constraint
UCSD ECE 111, Prof. Koushanfar, Fall 2017
============================================================================
Timing constraint: NET "clk_BUFGP/IBUFG" PERIOD = 20 ns HIGH 50%;
30002 items analyzed, 0 timing errors detected. (0 setup errors, 0 hold
errors)
Minimum period is 9.739ns.
---------------------------------------------------------------------------
10.261ns (requirement - (data path - clock path skew +
Slack:
uncertainty))
Source:
Destination:
Requirement:
Data Path Delay:
Clock Path Skew:
Source Clock:
Destination Clock:
Clock Uncertainty:
R0/q4_3 (FF)
R1/q3_2 (FF)
20.000ns
9.739ns (Levels of Logic = 12)
0.000ns
clk_BUFGP rising at 0.000ns
clk_BUFGP rising at 20.000ns
0.000ns
R0/q4_3
R1/q3_2
q4, bit 3
a period measures from reg output to reg output
12 levels of logic
(includes setup)
9.739 ns
31. STA on Design Example (after MAP)
UCSD ECE 111, Prof. Koushanfar, Fall 2017
sort2 sort2
a b
min(a,b)
a1 a2 a3 a4
sort4_stage
registers R0/q4_3
9.739 ns
sort2
max(a,b)
q1 q2 q3 q4
sort4_stage
registers R1/q3_2
STA will also tells
us what components
are in this path
32. STA on Design Example (after MAP)
UCSD ECE 111, Prof. Koushanfar, Fall 2017
Data Path: R0/q4_3 to R1/q3_2
Delay type Delay(ns)
----------------------------
Tiockiq 0.442
Logical Resource(s)
-------------------
R0/q4_3
net (fanout=4) e 0.100 w4<3>
Tilo 0.612 S0/S2/q1_cmp_gt0000121
net (fanout=1) e 0.100 S0/S2/q1_cmp_gt00001_map7
// some lines skipped ...
Starting Point
net (fanout=3) e 0.100 S1/w3<1>
Tilo 0.612 S1/S3/q1_cmp_gt0000145
net (fanout=1) e 0.100 S1/S3/q1_cmp_gt0000145/O
Tilo 0.612 S1/S3/q1_cmp_gt0000173
net (fanout=6) e 0.100 S1/S3/q1_cmp_gt0000
Tilo 0.612 S1/S3/q2<2>1
net (fanout=1) e 0.100 u3<2>
R1/q3_2
Tioock 0.595
----------------------------
Total 9.739ns
Ending Point
---------------------------
(8.439ns logic, 1.300ns route)
(86.7% logic, 13.3% route)
33. STA on Design Example (after MAP)
UCSD ECE 111, Prof. Koushanfar, Fall 2017
Data Path: R0/q4_3 to R1/q3_2
Delay type Delay(ns) Logical Resource(s)
// some lines skipped ...
Logic
---------------------------- ------------------- Delays
Tiockiq 0.442
net (fanout=4) e 0.100
R0/q4_3
w4<3>
(LUTs)
Tilo 0.612 S0/S2/q1_cmp_gt0000121
net (fanout=1) e 0.100 S0/S2/q1_cmp_gt00001_map7
net (fanout=3) e 0.100 S1/w3<1>
Tilo 0.612 S1/S3/q1_cmp_gt0000145
net (fanout=1) e 0.100 S1/S3/q1_cmp_gt0000145/O
Tilo 0.612 S1/S3/q1_cmp_gt0000173
net (fanout=6) e 0.100 S1/S3/q1_cmp_gt0000
Tilo 0.612 S1/S3/q2<2>1
net (fanout=1) e 0.100 u3<2>
Tioock 0.595 R1/q3_2
----------------------------
Total 9.739ns
---------------------------
(8.439ns logic, 1.300ns route)
(86.7% logic, 13.3% route)
34. STA on Design Example (after MAP)
UCSD ECE 111, Prof. Koushanfar, Fall 2017
Data Path: R0/q4_3 to R1/q3_2
Delay type Delay(ns)
----------------------------
Logical Resource(s)
-------------------
// some lines skipped ...
Net
Tiockiq 0.442 R0/q4_3 Delays
net (fanout=4) e 0.100 w4<3> (estimated)
Tilo 0.612 S0/S2/q1_cmp_gt0000121
net (fanout=1) e 0.100 S0/S2/q1_cmp_gt00001_map7
net (fanout=3) e 0.100 S1/w3<1>
Tilo 0.612 S1/S3/q1_cmp_gt0000145
net (fanout=1) e 0.100 S1/S3/q1_cmp_gt0000145/O
Tilo 0.612 S1/S3/q1_cmp_gt0000173
net (fanout=6) e 0.100 S1/S3/q1_cmp_gt0000
Tilo 0.612 S1/S3/q2<2>1
net (fanout=1) e 0.100 u3<2>
Tioock 0.595 R1/q3_2
----------------------------
Total 9.739ns
---------------------------
(8.439ns logic, 1.300ns route)
(86.7% logic, 13.3% route)
35. STA after Place and Route
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ We know the exact loading of each interconnection, so
we can get a more precise timing estimate
36. Analysis after Place and Route
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ We need 10ns more, just to move data around in the
chip!
▪ This is not only the case for this example. In modern logic
design, routing delay is typically as large as logic delay !!
========================================================================
Timing constraint: NET "clk_BUFGP/IBUFG" PERIOD = 20 ns HIGH 50%;
30002 items analyzed, 0 timing errors detected. (0 setup errors, 0 hold
errors)
Minimum period is 19.000ns.
----------------------------------------------------------------------
1.000ns (requirement - (data path - clock path
of Logic = 12)
at 0.000ns
at 20.000ns
Slack:
skew + uncertainty))
Source:
Destination:
Requirement:
Data Path Delay:
Clock Path Skew:
Source Clock:
Destination Clock:
Clock Uncertainty:
R0/q1_3 (FF)
R1/q3_1 (FF)
20.000ns
18.979ns (Levels
-0.021ns
clk_BUFGP rising
clk_BUFGP rising
0.000ns
37. Path Analysis confirms that wires are
slow ..
UCSD ECE 111, Prof. Koushanfar, Fall 2017
Data Path: R0/q1_3 to R1/q3_1 Delay type
Delay(ns)
----------------------------
Tiockiq
net (fanout=4)
// some lines skipped ...
Tilo
net (fanout=1)
Tilo
net (fanout=6)
Tilo
net (fanout=1)
Tioock
----------------------------
Total 18.979ns
0.442
2.142
Logical Resource(s)
-------------------
R0/q1_3
w1<3>
0.612
0.298
0.612
0.604
0.660
0.725
0.595
S1/S3/q1_cmp_gt0000145
S1/S3/q1_cmp_gt0000145/O
S1/S3/q1_cmp_gt0000173
S1/S3/q1_cmp_gt0000
S1/S3/q2<1>1
u3<1>
R1/q3_1
---------------------------
(8.631ns logic, 10.348ns route)
(45.5% logic, 54.5% route)
38. Summary Static Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ STA uses an analytic delay model based on
▪ intrinsic gate delay
▪ fan-out
▪ wire delay (if available)
❑ STA will automatically check timing constraints set by
a user
❑ STA is a good general checking technique but may
stumble into false paths
❑ Analyzing STA results (and improving them) requires
an understanding of the netlist by the designer
▪ but if you want the fastest implementation possible, it may be
worth it ..
39. Dynamic Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Simulation is used extensively in a digital design flow
for verification
❑ Since this simulation is a timed simulation, we may as
well try to use intermediate design representations as
simulation targets
▪ The lower-level synthesis blocks are still pin-compatible with
the RTL top-level
▪ Hence, the same simulation testbench can be used
❑ Constraint-checking now becomes the role of the
designer
▪ The designer needs to verify if the result of the timed
simulation is still corresponding to the results of the RTL
simulation
40. Dynamic Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
RTL Verilog
Constraints
Synthesis
(+translate)
Post Synthesis
Netlist
Testbench
Testbench
Mapper
Bitstream
Generation
Place and
Route
Post Map
Netlist
Post P&R
Netlist
Testbench
Testbench
41. Dynamic Timing Analysis
UCSD ECE 111, Prof. Koushanfar, Fall 2017
RTL Verilog
Post Synthesis
Netlist
Netlist in terms of FPGA components
no logic delay (functional simulation)
requires
simulation
library
Post Map
Netlist
Post P&R
Netlist
Netlist in terms of FPGA components
logic delay included
Netlist in terms of FPGA components
logic delay and wire delay included
42. Synthesis and Simulation are integrated
UCSD ECE 111, Prof. Koushanfar, Fall 2017
external
simulator
ISE
(synthesis)
43. How does a post-synthesis netlist look
like?
UCSD ECE 111, Prof. Koushanfar, Fall 2017
q2, a1, a2);
module sorter2_INST_5 (q1,
output [3 : 0] q1;
output [3 : 0] q2;
input
input
[3 : 0] a1;
[3 : 0] a2;
// .. some lines skipped
defparam q1<3>1 .INIT = 4'hE;
LUT2 q1<3>1 (
.I0(a2[3]),
.I1(a1[3]),
.O(q1[3])
);
// .. some lines skipped
endmodule
This is a component
from an FPGA
simulation library.
The component has an
parameter called INIT.
In this case, the parameter
captures the configuration
of a LUT lookup table.
The LUT contains an OR.
a2[3] a1[3] q1[3]
0 0 0
1 0 1
0 1 1
1 1 1
= 4'hE
44. LUT2 from library
UCSD ECE 111, Prof. Koushanfar, Fall 2017
|| (s[1]^s[0] ==0))
module LUT2 (O, I0, I1);
parameter INIT = 4'h0;
input I0, I1;
output O;
reg O;
wire [1:0] s;
assign s = {I1, I0};
always @(s)
if ((s[1]^s[0] ==1)
O = INIT[s];
else if ((INIT[0]
(INIT[2]
(INIT[0]
O = INIT[0];
== INIT[1]))
== 1) == INIT[3]))
== 0) == INIT[2]))
== 1)
== INIT[1]) &&
== INIT[3]) &&
== INIT[2]))
== 0) && (INIT[0]
&& (INIT[2]
&& (INIT[0]
&& (INIT[1] == INIT[3]))
else if ((s[1]
O = INIT[0];
else if ((s[1]
O = INIT[2];
else if ((s[0]
O = INIT[0];
else if ((s[0]
O = INIT[1];
else
O = 1'bx;
endmodule
45. How does a post-PAR netlist look like?
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Contains placement information and uses library
components that support timing specifications
q2);
module sorter2_INST_5 (a1, a2, q1,
input [3 : 0] a1;
input [3 : 0] a2;
output [3 : 0] q1;
output [3 : 0] q2;
LUT configuration
// some lines skipped ..
defparam q1_cmp_gt0000143.INIT = 16'h22B2;
defparam q1_cmp_gt0000143.LOC = "SLICE_X25Y91";
X_LUT4 q1_cmp_gt0000143 (
.ADR0(a1[1]),
.ADR1(a2[1]),
.ADR2(a1[0]),
.ADR3(a2[0]),
.O(q1_cmp_gt0000143/O )
);
Placement
information
46. SDF Timing Information
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Timing information from Place and Route is not stored
in the Post-PAR netlist, but in a separate SDF File
(Standard Delay Format)
❑ The Modelsim simulator will read this SDF file together
with the Verilog netlist and back-annotate the delay
information from the SDF file into the netlist
Verilog Netlist
Place and Route
SDF Data
Modelsim
Post-PAR
Simulation
Testbench
Verilog Netlist with
Placement Information
47. Demonstration
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ (this slide shows the demo script. I will upload the
sorter example on Blackboard)
❑ Include testbench with sorter design
❑ Choices for Post-nnnnn models:
▪ Post-synthesis, Post-translate, Post-map, Post-PAR model
❑ Post-PAR Static Timing Analysis
▪ Analyze -> against timing constraints
▪ Slowest path: R0/q4 to R1/q3
▪ (if time left: cross-probe feature)
48. Demonstration (2)
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Simulate Post-PAR Model
▪ Ilustrate delay & cross check with STA
❑ Show netlist
▪ Post-synthesis
▪ Isolate one component (LUT)
▪ Verify LUT location in simulation library
▪ Post-PAR
▪ Compare Post-PAR component with post-synthesis
49. Summary STA and Timed Simulation
UCSD ECE 111, Prof. Koushanfar, Fall 2017
❑ Static Timing Analysis estimates the worst possible
delay in a network based on network topology and
components
❑ Dynamic Timing Analysis performs a timed simulation,
with time delays modeled based on the intermediate
synthesis results
❑ Performance optimizations will typically use static
timing analysis. Specific worst-case conditions can be
easily triggered using dynamic timing analysis.