Sei sulla pagina 1di 47

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

Potrebbero piacerti anche