General Description ............................................................................................................................... 1–2
Chapter 2. Launching the HardCopy II Clock Uncertainty Calculator
Release Information .................................................... ........................................................................... 2–1
Device Family Support ......................................................................................................................... 2–1
System and Software Requirements ................................................................................................... 2–2
Download and Install the HardCopy II Clock Uncertainty Calculator ........................... ........ 2–3
Installation of HardCopy II Clock Uncertainty Calculator ........................................................ 2–3
Running the Clock Uncertainty Calculator Flow .............................................................................. 2–3
tdi, input. Active-low signals are denoted by suffix n, e.g., resetn.
Anything that must be typed exactly as it displays is shown in Courier type. For
example:
actual file, such as a Report File, references to parts of files (e.g., the AHDL
keyword
Courier.
Numbered steps are used in a list of items when the sequence of the items is
important, such as the steps listed in a procedure.
A caution calls attention to a condition or possible situation that can damage or
destroy the product or the user’s work.
A warning calls attention to a condition or possible situation that can cause injury
to the user.
c:\qdesigns\tutorial\chiptrip.gdf. Also, sections of an
SUBDESIGN), as well as logic function names (e.g., TRI) are shown in
viMegaCore Version a.b.c variableAltera Corporation
HardCopy II Clock Uncertainty Calculator User GuideAugust 2007
Chapter 1. About HardCopy II
Clock Uncertainty Calculator
Introduction
"Clock uncertainty" is the interval of confidence around the ideal clock
value, such that the measured value is always within the stated interval.
Common sources of clock uncertainty include clock jitter, duty cycle
distortion, and phase shift error. Due to these sources, clock uncerta int y
must be factored in to guard against deep submicron effects that are not
explicitly reflected in the timing models. The HardCopy II Clock
Uncertainty Calculator
HardCopy® II devices based on PLL phase error, PLL jitter, I/O buffer,
clock network noise, and core noise. Therefore, timing constraints that
consider clock uncertainty are required for the HardCopy II devices. You
must prepare the clock uncertainty timing constraints before starting
HardCopy II migration.
™
provides the clock uncertainty values for
Altera Corporation 1–1
August 2007
General Description
General
Description
Figure 1–1 shows the HardCopy II developm ent fl ow, including the
HardCopy II Clock Uncertainty Calculator flow.
Figure 1–1. Top-level Flow for HardCopy II Development Flow
FPGA
Quartus II
Database
Run Clock
Uncertainty
Calculator Flow (1)
(based on FPGA database)
Generate CU
Constraint File
Create HC II
Companion
Revision
Compile for
HardCopy II
Note to Figure 1–1:
(1) Initially, run clock uncertainty calculator flow on FPGA database; all subsequent
times are found in the HardCopy II database.
TimeQuest
Timing Analyzer
TQ
Analysis
Yes
Pass?
Yes
Done
TimeQuest
No
Calculator Flow (1)
(based on FPGA database)
Fix Timing
Violations
Recompile for
HardCopy II
Re-run Clock
Uncertainty
Generate
Revised CU
Constraint File
fRefer to the Quartus II Support of HardCopy Series Device chapter in the
Quartus II Handbook for more details.
®
After the Stratix
generated successfully, Altera® recommends that you run the clock
uncertainty (CU) calculator flow. Although the Stratix II FPGA database
may not be migrated to a HardCopy II companion device, the source used
to calculate the clock uncertainty in Strat ix II devices is same sour ce us ed
in the initial stage of HardCopy’s clock uncertainty calculati on. In
addition, creating and applying the clock uncertainty constraints during
the HardCopy II compilation and static timing analysis will increase
efficiency.
1–2 Altera Corporation
HardCopy II Clock Uncertainty Calculator User GuideAugust 2007
II FPGA design is compiled and the database is
About HardCopy II Clock Uncertainty Calculator
xt
P
p
All timing violations that are reported during HardCopy II comp ilation
and static timing analysis must be resolved. When you have PLL setting
changes that cause new PLL jitter and/or static phase error on the design,
you are required to re-r un the clock uncertainty calculator flow to acquire
new clock uncertainty constraints.
Altera’s HardCopy II Clock Uncertainty Calculator flow can be separated
into three parts:
■PLL extraction
■Clock transfer report
■Clock uncertainty calculator spreadsheet
Figure 1–2 shows PLL extraction, the clock transfer report, and the clock
uncertainty calculator spreadsheet within the HardCopy II Clock
Uncertainty Calculator flow.
Figure 1–2. HardCopy II Clock Uncertainty Calculator Flow
PLL Extraction
(Tcl Script)
LL_Names.txt
ll_settings_summary.txt
Clock Uncertainty
CU_Values.txt
PLL Extraction
Clock T r ansfer Report
(TimeQuest Timing Analyzer)
Calculator
Spreadsheet
Advanced Clock
Uncertainty Calculator
Spreadsheet
CU_Advanced_Values.t
All of the PLLs’ settings and names must be extracted to two separated
output files by using a Tcl script, get_pll.tcl. One of the output files,
pll_settings_summary.txt, contains the PLL settings summary, which is
Altera Corporation 1–3
August 2007HardCopy II Clock Uncertainty Calculator User Guide
General Description
used as the input file for clock uncertainty calculators. The other file,
PLL_Names.txt, contains the PLL indices and the associated PLL names.
Even if the design does not contain a PLL, you still must run the Tcl script.
Clock Transfer Report
Before continuing on to the clock uncertainty calculator spreadsheet, you
must generate the clock transfer report using TimeQuest Timing
Analyzer. The clock transfer report covers the clock-to-clock transfer in
the design if a path exists between two registers that are clocked by two
clocks. The two clocks are source and destination clocks, and they may be
the same or different clocks. This report of clock transfer from the
TimeQuest Timing Analyzer is not an input file for the clock uncertainty
calculator, but rather provides useful information you may need when
setting the clock uncertainty timing constraints (SDC) for the design. For
example:
where clk_source is source clock name, and clk_destination is the
destination clock name.
Clock uncertainty is based on I/O buffer noise, clock network noise, core
noise, PLL jitter , or static phase error. Thus, the clock transfer information
plays an important role in the clock uncertainty calculator flow. There are
three types of clock transfers that clock uncertainty calculator flow
covers:
■Intra-clock transfer
■Inter-clock transfer
■I/O transfer
fRefer to the TimeQuest Timing Analyzer chapter in volume 3 of the
Quartus II Handbook for more information about report clock transfer.
1–4 Altera Corporation
HardCopy II Clock Uncertainty Calculator User GuideAugust 2007
About HardCopy II Clock Uncertainty Calculator
n
Clock
Source
n
Intra-Clock Transfer
Intra-clock transfer occurs when the source and destination clocks come
from the same PLL/I/O clock pin, as shown in Figure 1–3.
Figure 1–3. Intra-Clock Transfer
Source
Register
Destinatio
Register
INBUF
PLL
CLK11
CLK11
Source
Clock
Destination
Clock
Inter-Clock Transfer
Inter-clock transfer occurs when the source and destination clocks come
from different PLLs and I/O clock pins, as shown in Figure 1–4.
Figure 1–4. Inter-Clock T ransfer
INBUF
PLL5
PLL9
CLK2
CLK7
Source
Clock
Destination
Register
Destinatio
Register
Altera Corporation 1–5
August 2007HardCopy II Clock Uncertainty Calculator User Guide
General Description
n
Register
A
I/O Transfer
I/O transfer occurs when the clock transfer from an off-chip to the
destination clock (input) or, clock transfer from the source clock to an
off-chip (output), as shown in Figures 1–5 and 1–6.
Figure 1–5. Input Transfer
DATA
Destinatio
Register
INBUF
PLL10
CLK5
Destination
Clock
Figure 1–6. Output Transfer
PLL7
INBUF
CLK2
Source
Clock
DAT
Source
Refer to Appendix A, Clock Transfer Examples for more examples of
clock transfer cases.
Clock Uncertainty Calculator Spreadsheet
The clock uncertainty calculator spreadsheet consists of three parts:
■Instructions
■Clock uncertainty calculator
■Advanced Clock Uncertainty (ACU) calculator
Instructions
The clock uncertainty calculator spreadsheet is a Microsoft Excel-based
file. The first worksheet provides quick-start instructions for using the
calculators. Both the clock uncertainty and advanced clock uncertainty
1–6 Altera Corporation
HardCopy II Clock Uncertainty Calculator User GuideAugust 2007
About HardCopy II Clock Uncertainty Calculator
calculators require the PLL settings summary file,
pll_settings_summary.txt, as input data to calculate the clock uncertainty
values.
Clock Uncertainty Calculator
The clock uncertainty calculator is on the second worksheet. It operates
with a single green button and supports all designs, except designs with
a cascading PLL structure. When the clock uncertainty values are
calculated, they are displayed on the spreadsheet, and simultaneously
written to a text file, CU_Values.txt. The clock uncertainty values are for
worst-case scenarios, and account for I/O buffer noise, clock network
noise, core noise, PLL jitter, and static phase error.
Advanced Clock Uncertainty Calculator
The advanced clock uncertainty calculator is different than the clock
uncertainty calculator. The clock uncertainty values from the advanced
clock uncertainty calculator are considered more precise than the clock
uncertainty calculator, because it accounts for each dedicated PLL’s
utilization within the design. The advanced clock uncertainty calculator
requires the input of PLLs’ indices for both the source and destination
clock. Therefore, entering the PLLs’ indices on the advanced clock
uncertainty calculator should be relied on for both the PLL_Names.txt file
and the clock transfer report to generate the clock uncertainty values.
Also, you should use this calculator if there are cascading PLLs in the
design. After clock uncertainty calculation, the clock uncertainty values
are displayed on the spreadsheet and written to a text file,
CU_Advanced_Values.txt.
Both the advanced clock uncertainty and clock uncertainty calculators
can calculate and display the setup and hold uncertainty results for
different types of clock transfers. You can apply these clock uncertainty
constraints to model jitter and noise to ensure integrity with clock signals.
When a clock uncertainty constraint exists for a clock signal, the
TimeQuest Timing Analyzer performs the most conservative setup and
hold checks. For a clock setup check, the setup uncertainty is subtracted
from the data time requirement. For the clock hold check, the hold
uncertainty is added to the data time requirement. Figure 1–7 on page 1–8
shows examples of clock sources with a clock setup uncertainty applied
and clock sources with clock hold uncertainty applied.
Altera Corporation 1–7
August 2007HardCopy II Clock Uncertainty Calculator User Guide
General Description
S
D
0.0 ns
ty
ty
Figure 1–7. Clock Uncertainty Set-up and Hold Check
ource
Clock
estination
Clock
Clock hold check
with uncertainty
5.0 ns10.0 ns
To obtain the clock uncertainty values from HardCopy II devices, you
should use the Altera HardCopy II Clock Uncertainty Calculator which
consists of the Tcl-based script for obtaining the PLL setting summary
and the Microsoft Excel-based spread sheet of clock uncertainty
calculators. Both utilities are packaged in the Altera HardCopy II Clock
Uncertainty Calculator, which is available on the Altera web
site (www.altera.com).
Clock steup check
with uncertainty
Clock Hold Uncertain
Clock Setup Uncertain
1–8 Altera Corporation
HardCopy II Clock Uncertainty Calculator User GuideAugust 2007
Chapter 2. Launching the
HardCopy II Clock
Uncertainty Calculator
Release
Information
Device Family
Support
Table 2–1 provides information about the version of HardCopy® II Clock
Uncertainty Calculator spreadsheet docu m ented in this user guide.
Table 2–1. HardCopy II Clock Uncertainty Calculator Spreadsheet Version
Device Family
HardCopy II2.2 and later
The HardCopy II Clock Uncertainty Calculator supports the following
HardCopy II devices in Commercial and Industry temperature ranges:
■HC240
■HC230
■HC220
■HC210
■HC210W (Use HC210 clock uncertainty value for HC210W)
The HardCopy II Clock Uncertainty Calculator was developed for
calculating the clock uncertainties caused by clock jitter, duty cycle
distortion, and phase shift error. With different interfaces of the clock
transferring on the chip, you may have different outcomes for the clock
uncertainty.
As shown in Figure 2–1, the HardCopy II Clock Uncertainty Calculator
covers clock transfer at the following locations:
HardCopy II Clock Uncertainty
Calculator Spreadsheet Version
■Within core
■Between the core and I/O
■Between the core and SERDES/DDR blocks
Altera Corporation 2–1
System and Software Requirements
Figure 2–1. HardCopy II Clock Uncertainty Calculator Coverage
Note to Figure 2–1:
(1) Transfer covered by DTW.
(2) Transfer covered by SERDES.
(3) Transfer covered by Altera HardCopy II Clock Uncertainty Calculator.
(2)
DDR (1)
S
E
R
D
E
S
CORE
HC230
DDR (1)
I
O
(3)
System and
The Altera® HardCopy II Clock Uncertainty Calculator spreadsheet
requires the following hardware and software:
Software
Requirements
2–2 Altera Corporation
HardCopy II Clock Uncertainty Calculator User Guide
■A PC running the Windows NT/2000/XP operating system
■Microsoft Office 2003 SP-1 or higher
■Quartus
®
II software version 6.0 or higher
Launching the HardCopy II Clock Uncertainty Calculator
Download and Install the HardCopy II Clock Uncertainty
Calculator
The HardCopy II Clock Uncertainty Calculator includes a Tcl script for
PLL extraction and a clock uncertainty calculator spreadsheet, and is
available from the Altera web site (www.altera.com). After reading the
terms and conditions, and clicking I Agree, you can download the
package in .zip format to your hard drive.
Installation of HardCopy II Clock Uncertainty Calculator
After you download the .zip file of the HardCopy II Clock Uncertainty
Calculator package, unzip the file to extract the following files:
■get_pll.tcl
■HCII_CU_Calculator.Rev<version number>.xls
Copy or move these two files into the design’s Quartus II working
directory.
Running the
Clock
Uncertainty
Calculator Flow
This section provides detailed procedures for the HardCopy II Clock
Uncertainty Calculator flow. It includes PLL extraction, clock transfer
report, and instructions for running the HardCopy II Clock Uncertainty
Calculator spreadsheet.
PLL Settings Summary Extraction
Before starting the PLL settings summary extraction, you should have the
generated FPGA design database ready in the Quartus II software. Even
if your design does not contain any PLLs, you must still run the design
through the Quartus II software. PLL settings summa ry extraction
requires the Tcl script, get_pll.tcl, within the working directory.
Syntax
Use the following syntax for the PLL settings summary extraction:
$QUARTUS_HOME/bin/quartus_sh –t get_pll.tcl
<project_name>
where $QUARTUS_HOME is the installation directory of the Quartus II
software.
Altera Corporation 2–3
HardCopy II Clock Uncertainty Calculator User Guide
Running the Clock Uncertainty Calculator Flow
Running get_pll.tcl on the Quartus II Tcl Console
Figure 2–2 shows the PLL settings summary extraction using the
Quartus II software.
Figure 2–2. Example for Getting PLL Settings on the Quartus II Tcl Console
Running get_pll.tcl on the Command Line or UNIX
Figure 2–3 shows the PLL settings summary extraction using the
command line or UNIX.
Figure 2–3. Example for Acquiring PLL Settings on UNIX Prompt
After you complete the PLL extraction, you will have generated two files,
pll_settings_summary.txt and PLL_Names.txt, in the working directory.
You should also check the log file to confirm that the PLL extraction job
has completed without any errors.
The pll_settings_summary.txt file contains PLL indices, PLL names,
feedback counter (M) values, charge pump current, loop filter resistances,
voltage controlled oscillator (V
) frequency, and phase frequency
CO
detector frequency, that are required for running the clock uncertainty
calculators. Y o u will need pll_settings_summary.txt to continue the
clock uncertainty calculator spreadsheet.
2–4 Altera Corporation
HardCopy II Clock Uncertainty Calculator User Guide
Launching the HardCopy II Clock Uncertainty Calculator
1If the above parameters in pll_settings_summary.txt changed
during the HardCopy II design development, you should re-run
the HardCopy II Clock Uncertainty Calculator and update the
clock uncertainty constraints.
PLL_Names.txt is an optional file for the clock uncertainty calculator
spreadsheet. However, it provides useful information when using the
advanced clock uncertainty calculator worksheet, as it helps to identify
the corresponding PLL index for each PLL name.
Report Clock Transfers Using the TimeQuest Timing Analyzer
After you confirm that all clock assignments are correct, run
report_clock_transfers, or, in the Tasks pane on the TimeQuest
Timing Analyzer’s GUI, double-click Report Clock Transfers. The
command generates a summary table with the number of paths between
each clock domain, as shown in Figure 2–4.