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.
Y ou can also use the report_clock_transfers command to generate
a report that details all clock-to-clock transfers in the design, as s hown in
Figure 2–5 on page 2–6. A clock-to-clock transfer is reported if a path
exists between two registers measured by two different clocks.
Altera Corporation 2–5
HardCopy II Clock Uncertainty Calculator User Guide
Running the Clock Uncertainty Calculator Flow
Information such as the number of destinations and sources is also
reported. Ignore these clock transfers for clock uncertainty if they ar e set
as false paths.
1Clock transfers must be verified before you specify the clock
uncertainty.
Figure 2–5. Command of Report Clock Transfers for the TimeQuest Timing Analyzer
fRefer to the Quartus II Handbook for more information about
report_clock_transfer.
Run HardCopy II Clock Uncertainty Calculator Spreadsheet
From the design’s working directory, browse to the Microsoft Excel file
HCII_CU_Calculator.Rev<version number>.xls, which is the
spreadsheet for the HardCopy II Clock Uncertainty Calculator. Open the
file to see the three worksheets in this file. The first worksheet provides
instructions on how to use the clock uncertainty calculator. You should
read the terms and conditions at the end of this page before you use the
clock uncertainty calculator.
Using the Clock Uncertainty Calculator
The second worksheet contains the clock uncertainty calculator. On this
worksheet, notice the "N/A" entries (Figure 2–6) indicating there is no
clock uncertainty calculation. If there are numbers on the worksheet from
aprevious calculation, click the yellow Reset Table button to clear all
previous clock uncertainty results.
2–6 Altera Corporation
HardCopy II Clock Uncertainty Calculator User Guide
Launching the HardCopy II Clock Uncertainty Calculator
Figure 2–6. HardCopy II Clock Uncertainty Calculator without Calculation
To start the calculation of clock uncertain ty values, click the green
Calculate Clock Uncertainty Values button. All setup and hold clock
uncertainty values for different clock transfe r s are displayed in
picosecond (ps) units.
The clock uncertainty values are contained in the CU_Values.txt file. If
you have a previously-existing clock uncertainty value file generated by
the clock uncertainty calculator, the file will be renamed to be
CU_Values.txt.old.
Figure 2–7. HardCopy II Clock Uncertainty Calculator with Calculation
Altera Corporation 2–7
HardCopy II Clock Uncertainty Calculator User Guide
Running the Clock Uncertainty Calculator Flow
Using the Advanced Clock Uncertainty Calculator
The third worksheet contains the advanced clock uncertianty calculator.
From Step 1. Enter PLL Information, as shown in Figure 2–8, enter the
PLL indices for source clock and destination cl ock before you click the
green Step 2. Calculate Clock Uncertainty Values button.
Under the Source Clock and Destination Clock cells in Figure 2–8, there
are first PLL and second PLL cells on the worksheet, which means the
advanced clock uncertianty calculator supports designs with cascaded
PLLs and each clock path has a maximum of two PLLs cascaded.
If there is no PLL in the design, you still must enter "0" for the first PLL
cell on the worksheet.
As in the advanced clock uncertianty calculator, click the yellow Reset Table button to clear all previous clock uncertainty r esults. You can enter
notes for reference in the last cell of the table. The advanced clock
uncertianty calculator supports up to 200 clock transfer combinations.
Figure 2–8. HardCopy II Advanced Clock Uncertainty Calculator without Calculation
Step 1. Enter PLL Information
Source ClockDestination ClockIntra-clockInter-ClockIO Transfer
1st PLL 2nd PLL 1st PL L 2nd PLL Setup (ps) Hold (ps) Setup (ps) Hold (ps) Setup (ps) Hold (ps)
1
2
3
4
5
Before beginning the calculation of clock uncertainty values, refer to the
clock transfer report and PLL_Names.txt. The clock transfer report shows
all clock-to-clock transfers in detail and PLL_Names.txt provides the
corresponding PLL index for each PLL name. Figure 2–9 show how to
enter the PLL indices for the advanced clock uncertianty calculator:
Step 3. Read Clock Uncertainty Values
Step 2. Calculate Clock
Step 2.Calculate Clock
Uncertainty Values
Uncertainty Values
Reset Table
Reset Table
MessagesTransfer
Enter User's Notes
(Optional)
2–8 Altera Corporation
HardCopy II Clock Uncertainty Calculator User Guide
Launching the HardCopy II Clock Uncertainty Calculator
Refer to the highlighted column in Figure 2–9 of the clock transfer report
and PLL_Names.txt for the following procedures:
1.From the clock transfer report, trace the pin or port under "From
Clock".
For example, altpll0:PLL0|altpll"altpll_component|_clk1.
2.Refer to the PLL_Name.txt file to and see what the PLL index is
associated to.
For example, altpll0:PLL0|altpll"altpll_component associates to
PLL_2.
3.From the clock transfer report, trace the pin or port under "To
Clock".
For example, altpll0:PLL1|altpll"altpll_component|_clk0.
4.Refer to the PLL_Name.txt file in Figure 2–9 to see what the PLL
index associated to.
For example, altpll0:PLL1|altpll"altpll_component associates to
PLL_1.
You now know the source clock from PLL_2 and the destination
clock from PLL_1.
5.Enter 2 and 1 into the first PLL cell of the source clock and the
destination clock, respective ly, as shown in Figure 2–10 on
page 2–10.
Figure 2–9. Clock Transfer Report and PLL_Names.txt
Altera Corporation 2–9
HardCopy II Clock Uncertainty Calculator User Guide
Running the Clock Uncertainty Calculator Flow
Figure 2–10 shows a detailed view of the advanced clock uncertianty
calculator spreadsheet. It is important that the first PLL be an integer
number even if there is no PLL involved in the clock transfer. After
having the clock transfer between the different PLLs, ente r the PLL index
with respect to the PLL in the spreadsheet, as shown on Figure 2–10.
Figure 2–10. Detailed View of the Advanced Clock Uncertianty Calculator
fFor more examples of how to enter th e source clock and destination
clock components, refer to Appendix A, Clock Transfer Examples.
After you complete all entries for the source and destination clock
components, click the Step 2. Calculate Clock Uncertainty Values
button. All setup and hold clock uncertainty values for the different clock
transfers are displayed in picoseconds.
You now have the all the clock uncertainty values in the
CU_Values_Advanced.txt file. If you have a previously existing clock
uncertainty value file generated by the advanced clock uncertianty
calculator , the file will be renamed to be CU_Values_Advanced.txt.old.
Figure 2–11. HardCopy II Advanced Clock Uncertainty Calculator with Calculation
Step 2. Calculate Clock
Step 2. Calculate Clock
Uncertainty Values
Uncertainty Values
Rese t Table
Reset Table
Step 1. Enter PLL Information
Source Clock Destination ClockIntra-clockInter-ClockIO Transfer
1st PLL 2nd PL L 1s t PLL 2nd PLL Setup (ps) Hold (p s) Setup (ps) Hold (ps) Setup (ps) Hold (ps)
100 20050350350180180
44
2
04 N/AN/A
3
4
110N/AN/A
51011N/AN/A300200N/AN/ A
10050
2–10 Altera Corporation
HardCopy II Clock Uncertainty Calculator User Guide
Step 3. Read Clock Uncert ainty Values
N/AN/AN/AN/A
320290150120
270330100150
MessagesTransfer
Enter User's Notes
(Optional)
Launching the HardCopy II Clock Uncertainty Calculator
1If the clock uncertainty values exceed 500 ps, they will be
highlighted on the spreadsheet. The values provided are based
on the general design’s maximum clock uncertainty. You must
verify whether the clock uncertainty causes the timing closure
for the design. Redesign may be necessary if you must r educe
the clock uncertainty number to close timing.
Using the clock uncertainty or advanced clock uncertainty calculators
depends on the design’s timing requirement, the PLL structures, or both.
Create Clock Uncertainty Timing Constraints on a SDC
After you have the clock transfer report and clock uncertainty values, you
can start to create the clock uncertainty constraints file in SDC format. Use
the TimeQuest Timing Analyzer SDC File Editor to create a constraint
file.
Use the following syntax to set the clock uncertainty value:
Refer to the highlighted column in Figure 2–12 of the clock transfer report
and clock uncertainty values for the following procedures:
1.From the clock transfer report, identify the transfer clock type of the
pair of source and destination clocks.
For example, from altpll0:PLL0|altpll"altpll_component|_clk0
(source clock) to altpll0:PLL0|altpll"altpll_component|_clk1
(destination clock), the trasfer clock type is Intra-Clock Transfer.
2.From the clock transfer report, identify the cell type of both source
and destination clock pins.
For example, both altpll0:PLL0|altpll"altpll_component|_clk0
(source clock) and altpll0:PLL0|altpll"altpll_component|_clk1
(destination clock) are the PLL's output clock pins.
3.Based on the step 1 and 2 information, refer to t he clock uncertainty
values to collect both setup and hold uncertainty values.
For example, Intra-Clock T ransfer and with PLL: Setup CU = 100 ps,
Hold CU = 50 ps.
Altera Corporation 2–11
HardCopy II Clock Uncertainty Calculator User Guide
Running the Clock Uncertainty Calculator Flow
4.Create the clock uncertainty constraint on a SDC.
Figure 3–1 shows a design with both I/O transfer and intra-clock
transfer . In this case, there are two possible clock uncertainti es (I /O and
data paths) for the same clock transfer.
Clock T ransf er Type
Intra-Clock
Inter-Clock
I/O Interface
With PLL
Without PLL
With PLL
Without PLL
With PLL
Without PLL
Setup CU (ps)Hold CU (ps)
100
200
330
350
150
180180
To set the clock uncertainty constraints correctly, you should create a
virtual clock for the circuit. The following code example shows the SDC
used to constrain the design, as shown in Figure 3–1:
50
50
330
350
150
Altera Corporation 3–1
Various Clock Structures
Clock
n
Source
n
Various Clock
When a clock is generated in the core, additional clock uncertainty may
be introduced by the additional routing. The HardCopy
Structures
Uncertainty Calculator supports the following clock structures:
■AND and MUX gated clocks
■Clock divider
■Ripple clock
■Multiple clock networks
■Multi-cycle clock
For each global and local clock network added to any of the examples in
Appendix A, clock uncertainty val ues should be increased by 25 ps. The
following examples are for intra-clock transfer with PLL; the same rules
apply for inter-clock transfer and I/O transfers, as well as for all cases not
involving PLLs.
Clock Gated in Core
In Figures 3–2 and 3–3, the source register is driven by an AND or MUX
gated clock, CLK2. Because the clock uncertainty calculator does not
account for the clock network on CLK2, you must add 25 ps on both the
setup and hold clock uncertainty values.
Figure 3–2. AND-Gated Clock for Intra-Clock Transfer
CLK1
PLL
CLK2
Source
Clock
®
II Clock
Source
Register
INBUF
CLK3
Destination
Destinatio
Register
Figure 3–3. MUX-Gated Clock for Intra-Clock Transfer
CLK1
PLL
INBUF
3–2 Altera Corporation
HardCopy II Clock Uncertainty Calculator User Guide
CLK2
CLK3
Clock
Destination
Clock
Source
Register
Destinatio
Register
Clock Divider
n
C
Figure 3–4 shows an example of a clock divider for intra-clock transfer, in
which CLK1 is accounted for in the clock uncertainty calculator, but not
CLK2. Y ou should add 25 ps to both the setup and hold clock uncertainty
values.
Figure 3–4. Clock Divider for Intra-Clock Transfer
CLK1
PLL
CLK2
Design Case Exceptions
Source
Clock
Source
Register
INBUF
CLK3
Destination
Clock
Destinatio
Register
Ripple Clock
Figure 3–5 shows a ripple clock as an intra-cloc k transfer example. A
ripple clock is similar to a divided clock, but uses a different calculation
to account for extra clock uncertainty value.
CLK0 is accounted for by the clock uncertainty calculator, but not CLK1
and CLK2. You need to add 25 ps uncertainty for the CLK1 network and
also add 25 ps uncertainty for the CLK2 network. Therefore, you should
add 50 ps on both setup and hold clock uncertainty for the example
shown in Figure 3–5.
Figure 3–5. Ripple Clock for Intra-Clock Transfer
reg_creg_d
CLK1
CLK2
clk_a
LK0
clk_b
CLK1
Altera Corporation 3–3
HardCopy II Clock Uncertainty Calculator User Guide
Various Clock Structures
er
n
Multiple Clock Networks
Figure 3–6 shows an example of multiple clock networks.
Figure 3–6. Multiple Clock Networks
CLK1
PLL
INBUF
The CLK1 and CLK4 networks are accounted for by the clock unce rtainty
calculator, but the CLK2, CLK3, CLK5, and CLK6 networks are ignored.
Therefore, you should add 25 ps for each ignored clock network to the
setup and hold clock uncertainty for the example in Figure 3–6.
Multi-Cycle Clock
The multi-cycle clock occurs when there is a delay (Δt) that is greater than
the clock period between the source register and destination register.
Refer to Figure 1–7. The default hold clock uncertainty value is
considered that the source clock and destination clock are on the same
edge.
CLK4
CLK2
CLK5
CLK3
CLK6
Source
Clock
Destination
Clock
Source
Regist
Destinatio
Register
When the multi-cycle path timing exception is set, you need pay attention
for the hold clock uncertainty of Intra-clock transfers since the possible
hold checks are not at the launch edge for both source and destination
clock due to the extra delay (Δt) on the data path.
3–4 Altera Corporation
HardCopy II Clock Uncertainty Calculator User Guide
Figure 3–7. Multi-Cycle Clock
Possible Hold Checks
INBUF
PLL
CLK1
CLK2
Source
Register
R1
Design Case Exceptions
Destination
tΔ
Register
R2
Launch
Edge
E0
Capture
Edge
E1E2E3
E4
Setup Check
In the example shown in Figure 3–7, the multi-cycle path timing
exception is set and the hold margin is not checked at the launch clock
edge, in other words, the hold margin is checked at E1, E2, or E3 edge.
You should use the setup clock uncertainty value from clock uncertainty
calculator for hold clock uncertainty constraints.
Figure 3–8 shows the clock uncertainty result from the schematic circuit.
The setup clock uncertainty is 100 ps, and the hold clock uncertainty is
50 ps. If the hold margin is on E1, E2, or E3, use the following example: