Advanced topics - FPGA Synthesis, PnR, STA
BY
KALAIVANI
Typical Flow
Available Synthesis Tools
Xilinx Synthesis Tool (XST):
Advantages: Bundled with Xilinx ISE, Can automatically infer Xilinx
FPGA components, runs on UNIX (Solaris and GNU/Linux)
Disadvantaegs: Still buggy, Only supports Xilinx devices
Vendor: Xilinx
Status: Active support from Xilinx
3 Altran in Semiconductor & Electronics
Available Synthesis Tools (contd...)
Leonardo Spectrum:
Advantages: Supports large family of FPGA devices, Reliable, Can
automatically infer FPGA components
Disadvantages: Runs on Solaris, Replaced by Precision-RTL
Vendor: Mentor Graphics
Status: To be replaced soon
Synplify:
Advantages: Most trusted in industry, Support large family of FPGA
devices, Can automatically infer FPGA components
Disadvantages: Some optimizers are still buggy (FPGA Compiler)
Vendor: Synplicity
Status: Active support from Synplicity
4 Altran in Semiconductor & Electronics
Available Place and Route Tools
Xilinx ISE:
Advantages: Vendor provided Place and Route tool, there is no
other choice
Disadvantages: No point of comparison
Vendor: Xilinx
Status: Active support from Xilinx
5 Altran in Semiconductor & Electronics
Synthesis With Synplify
add_file -vhdl -lib work accu.vhd
# Contraints and Options!
impl -add syn #implementation: "syn"
# Device Options
set_option -technology VIRTEX2;
set_option -part XC2V8000
set_option -package FF1517;
set_option -speed_grade -5
# Compilation/Mapping Options
set_option -top_module "accu";
set_option -default_enum_encoding onehot
set_option -resource_sharing 0;
set_option -symbolic_fsm_compiler 0
6 Altran in Semiconductor & Electronics
Synthesis With Synplify
# Mapping Options
set_option -frequency 500.000;
set_option -disable_io_insertion 0
set_option -pipe 0;
set_option -modular 0;
set_option -retiming 0
# Output Options
set_option -write_verilog 0;
set_option -write_vhdl 1
set_option -write_apr_constraint 0 # Whether to output constraints
project -result_file "./accu.edf";
impl -active "syn" # Results
(Source: LEON2 synthesis scripts)
7 Altran in Semiconductor & Electronics
Post-synthesis Simulation
Modelsim can be used
UNISIM libraries are needed and available with Modelsim
Vendor specic modules available from vendor tool or synthesis tool
distributions
8 Altran in Semiconductor & Electronics
User Constraints File (UCF)
# Define Logical-to-Physical pin mapping
NET "LCLKA" LOC = "AG18";
# <> for FPGA Express and XST; () for Synplify
NET "RA<18>" LOC = "AG6";
# Define attributes
NET "RA0<*" FAST;
# Define setup, hold and other timing constraints for
# peripheral devices
TIMEGRP RAM_ADDR_PADS = "pads(RA<*>)";
TIMEGRP "RAM_PADS_ADDR" OFFSET = IN 5.0ns BEFORE "LCLKA";
TIMEGRP "RAM_PADS_ADDR" OFFSET = OUT 7.0ns AFTER "LCLKA";
NOTE: TIMESPEC syntax is more intuitive
9 Altran in Semiconductor & Electronics
Place and Route with Xilinx ISE
# Convert to Xilinx Database Format
ngdbuild -nt on -dd work -uc accu.ucf -p XC2V3000-5-FF1152\
accu.ngd
# Map to target device
map -pr b -o accu_map.ncd accu.ngd accu.pcf
# Do Place and Route
par -w accu_map.ncd accu.ncd accu.pcf
# Timing Analysis
trce -e 3 -o accu.twr accu.ncd accu.pcf
# Final Bitfile Generation
bitgen -w -g drivedone:yes accu.ncd accu.bit
10 Altran in Semiconductor & Electronics
Other Pecularities
Take care with array indices (<>, () or [])
If you are using coregen generated components, you should select the
correct synthesis tools
Automatic inferring of devices and retiming optimization makes
synthesis very time consuming
Simulation with device modules such as Virtex ChipStartup will take
very long
RAM models are available from vendors which you can directly use
11 Altran in Semiconductor & Electronics
FPGA Synthesis, P&R Demo
Using the on-chip BlockRAMs
Using on-chip Digital Clock Managers (DCM)
Using clock-buffers
Interfacing to an external RAM
Specifying voltage level for output pins
12 Altran in Semiconductor & Electronics
Complications Over FPGA Synthesis, P&R
Massive amounts of hardware edibility leads to complications and
advantages
Deciding parameters such as row utilization, chip aspect ratio etc.
requires insight and experience
Various stages of the ow are inter-dependent
Difficult to estimate the effects of various stages of ow early on
13 Altran in Semiconductor & Electronics
Why STA?
Verify the design meets timing constraints • Faster than timing-driven, gate-level simulation •
Ease design debugging
14 Altran in Semiconductor & Electronics
STA Compute Method
15 Altran in Semiconductor & Electronics
Timing Paths
16 Altran in Semiconductor & Electronics
Delay Calculation
17 Altran in Semiconductor & Electronics
Synchronous Circuit Delay Calculation
18 Altran in Semiconductor & Electronics
Path Measurements
19 Altran in Semiconductor & Electronics
Constraint Checks
• Min/Max Delay
• Setup/Hold
• Recovery/Removal
• Clock Definitions
– Gated Clocks
– Clock Skews and Multiple Clock Groups
– Multi-frequency Clocks
– Multi-phase Clocks
• False Paths
• Multi-cycle Path Analysis
20 Altran in Semiconductor & Electronics
Min/Max Delay
21 Altran in Semiconductor & Electronics
Setup/Hold Basics
22 Altran in Semiconductor & Electronics
Setup/Hold Checking for Flip-Flops
23 Altran in Semiconductor & Electronics
PCB Requirements for Setup/Hold
24 Altran in Semiconductor & Electronics
I/O Setup Analysis Example
25 Altran in Semiconductor & Electronics
I/O Setup Analysis Example
26 Altran in Semiconductor & Electronics
I/O Hold Analysis Example
27 Altran in Semiconductor & Electronics
Hold Analysis Example
28 Altran in Semiconductor & Electronics
Clock Definitions
29 Altran in Semiconductor & Electronics
Polarity Skew
30 Altran in Semiconductor & Electronics
Polarity Skew Analysis Example
31 Altran in Semiconductor & Electronics
Phase Skew
32 Altran in Semiconductor & Electronics
Phase Skew Analysis Example
33 Altran in Semiconductor & Electronics
Phase Skew Analysis Example
34 Altran in Semiconductor & Electronics
Frequency Skew
35 Altran in Semiconductor & Electronics
Frequency Skew Analysis Example
36 Altran in Semiconductor & Electronics
Frequency Skew Analysis Example
37 Altran in Semiconductor & Electronics
Cycle Skew
38 Altran in Semiconductor & Electronics
Cycle Skew Analysis Example
39 Altran in Semiconductor & Electronics
False Paths
40 Altran in Semiconductor & Electronics
Analysis of Phase-Locked Loops
41 Altran in Semiconductor & Electronics
Timing Analysis By Stage
• Preliminary Timing Analysis
• Synthesis Timing Analysis
– RTL vs. Gate-Level
– Timing in RTL Code
– Black-Box Timing Arcs
• Place & Route Timing Analysis
– Post-Map
– Post-Placement
– Post-Route
42 Altran in Semiconductor & Electronics
Timing Parameters
• Corners and STA
• Timing Derating Factors
• Grading FPGAs by Speed
• Best-Case Delay Values
43 Altran in Semiconductor & Electronics
Synthesis STA with Precision
• Timing Specification
– Native or Synopsys (SDC) Format
• Analysis Commands
• Timing Report
44 Altran in Semiconductor & Electronics
Synthesis STA with Synplify
• Timing Specification
– Native Synplify Design Constraints
• Analysis Commands
• Timing Report
45 Altran in Semiconductor & Electronics
Place & Route STA with ispLEVER
• STA Setup, Project Navigator
• TRACE Report
• Routing Congestion with Design Planner
• Viewing Critical Paths with Design Planner
• I/O Timing Report
46 Altran in Semiconductor & Electronics
Thank You
Altran in Semiconductor & Electronics 47