SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Gated Clock & Design Ware Handling On FPGA Prototype Platforms  Einav Shmaryh Texas Instruments
Agenda Introduction TI Overview TI Design Challenges Summary
Introduction Texas Instruments WCS design connectivity solutions for the cellular market: Bluetooth, WLAN, GPS, GNSS, NFC and FM Motorola Droid XGPS, WLAN, Bluetooth®,FM RIMPlaybook GPS, WLAN, Bluetooth®,FM Nokia C7 GPS, WLAN, Bluetooth®,FM LGEUptimus3D WLAN/Bluetooth®
FPGA Prototype – Targets At Speed RF connection to the FPGA, FPGA prototype designs work at speed (ARM Cortex M3 at 80MHz). The FPGA platform is connected to an RF device which performs:  GPS fix location from a satellite at real time  WLAN AP link or Bluetooth wireless Real time FW development & Debug before Tape Out Real time FW/HW integration before Tape Out Enables the ability to demonstrate the ASIC chip 2-3 weeks after chip arrival (with ROM base solution) with mature FW
TI FPGA Design Complexity    Includes 7 different CPUs (ARM 7, Cortex M3) Multiple paths with more than 100 logic levels between FFs Multiple clock dividers (dynamic & static) => needs to be synchronize Multiple Interfaces which include RF (BT=> wireless, GPS => to the satellite)  Usage of multiple Design Wares Dynamic power switching Real Time - Close timing up to 80MHz
Design Challenges Moving Toward FPGA Our Design encountered 3 main challenges:  FPGA vs. ASIC - Clock Tree   Design Ware Implementation in FPGA FPGA Flow   
FPGA Vs. ASIC - Clock Tree  TI ASIC Design includes clock dividers, some with constant divider value and some with dynamic divider value, after each divider there is a new clock tree   For higher frequency achievement and to eliminate clock skew there is a need for a minimum number of clocks,  For this reason we used a “fix gated clock” option. Uses of Synplify tool with “fix gated clock” option can solve only the constant divider value, the tool “knew” the divider value and mapped it to the FF data or CE.  Fixing the dynamic divider value there is a need to add dedicated RTL with the uses of the “fix gated clock” option (there is no tool that can guess the  divider value)
FPGA vs. ASIC - Clock Tree  The next figure shows RTL with constant divider value & with Synplify“fix gated clock” option.
FPGA Vs. ASIC - Clock Tree  With dynamic divider value , Synplify Implementation breaks the clock tree and, now, the clocks are no longer aligned (there is no Synthesis tool that can “guess” the divider value)
FPGA vs. ASIC - Clock Tree  Uses dedicated RTL with the “fix gated clock” tool option to solve the dynamic divider value clock tree
FPGA Vs. ASIC - Clock Tree  Synplify Implementation , Fix the clock tree.
Advantages: With one clock the tool can close higher frequency Eliminate clock skew  Better turnaround time  Simplify the constraints  Less RTL changes (all the “swallow” RTL is in the ASIC RTL)  Disadvantage:      1. The clock duty cycle has changed - might create timing path if using            falling edge  => theseclocks need special code (fall detected) FPGA Vs. ASIC - Clock Tree
Design Wares ,[object Object]
Equivalent RTL substituted from built-in library
Mapped to FPGA just like other RTL
True DesignWare components used if available (& licensed)
Exact same IP as SoC,[object Object]
Design Wares  2.   FixGated Clock with DW       Use of Fix Gated Clock option with DW “breaks” the clock tree (add BUFG)           in the DW clock start point RTL view with the same example (changing one FF to DW) Net list view
FPGA Flow  To achieve best timing closure and fast turnaround time: Minimize design changes in the original RTL code for FPGA Educate RTL designers to write RTL “FPGA friendly” (e.g. add “ifdefs” in the RTL with extra pipe or changed clocks …) Participate in ASIC architecture from the start to understand how the FPGA can emulate the design better Scripts-based working flow to avoid editing bugs and faster turnaround time

Weitere ähnliche Inhalte

Was ist angesagt?

KaiSemi - FPGA to ASIC Conversions
KaiSemi  - FPGA to ASIC ConversionsKaiSemi  - FPGA to ASIC Conversions
KaiSemi - FPGA to ASIC Conversionskaisemi
 
2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presenTakeshi Ohkawa
 
1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture 1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture Maurizio Donna
 
5.FPGA for dummies: DSP
5.FPGA for dummies: DSP5.FPGA for dummies: DSP
5.FPGA for dummies: DSPMaurizio Donna
 
FPGA, GPU and ALU
FPGA, GPU and ALUFPGA, GPU and ALU
FPGA, GPU and ALUITVoyagers
 
0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introduction0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introductionMaurizio Donna
 
Programmable logic device (PLD)
Programmable logic device (PLD)Programmable logic device (PLD)
Programmable logic device (PLD)Sɐɐp ɐɥɯǝp
 
ScilabTEC 2015 - Xilinx
ScilabTEC 2015 - XilinxScilabTEC 2015 - Xilinx
ScilabTEC 2015 - XilinxScilab
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
Sci scada toolbox
Sci scada toolboxSci scada toolbox
Sci scada toolboxAwesomejk
 
yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015Yeong Wang
 
Implementation of secure rfid on fpga
Implementation of secure rfid on fpgaImplementation of secure rfid on fpga
Implementation of secure rfid on fpgaansh1692
 
BKK16-502 Suspend to Idle
BKK16-502 Suspend to IdleBKK16-502 Suspend to Idle
BKK16-502 Suspend to IdleLinaro
 
Complete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSEComplete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSEVLSIUNIVERSE
 

Was ist angesagt? (20)

KaiSemi - FPGA to ASIC Conversions
KaiSemi  - FPGA to ASIC ConversionsKaiSemi  - FPGA to ASIC Conversions
KaiSemi - FPGA to ASIC Conversions
 
2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen
 
SoC FPGA Technology
SoC FPGA TechnologySoC FPGA Technology
SoC FPGA Technology
 
1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture 1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture
 
Asic vs fpga
Asic vs fpgaAsic vs fpga
Asic vs fpga
 
5.FPGA for dummies: DSP
5.FPGA for dummies: DSP5.FPGA for dummies: DSP
5.FPGA for dummies: DSP
 
FPGA MeetUp
FPGA MeetUpFPGA MeetUp
FPGA MeetUp
 
Fpga vs asic
Fpga vs asicFpga vs asic
Fpga vs asic
 
ASIC DESIGN FLOW
ASIC DESIGN FLOWASIC DESIGN FLOW
ASIC DESIGN FLOW
 
FPGA, GPU and ALU
FPGA, GPU and ALUFPGA, GPU and ALU
FPGA, GPU and ALU
 
0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introduction0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introduction
 
ASIC vs FPGA
ASIC vs FPGAASIC vs FPGA
ASIC vs FPGA
 
Programmable logic device (PLD)
Programmable logic device (PLD)Programmable logic device (PLD)
Programmable logic device (PLD)
 
ScilabTEC 2015 - Xilinx
ScilabTEC 2015 - XilinxScilabTEC 2015 - Xilinx
ScilabTEC 2015 - Xilinx
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
Sci scada toolbox
Sci scada toolboxSci scada toolbox
Sci scada toolbox
 
yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015
 
Implementation of secure rfid on fpga
Implementation of secure rfid on fpgaImplementation of secure rfid on fpga
Implementation of secure rfid on fpga
 
BKK16-502 Suspend to Idle
BKK16-502 Suspend to IdleBKK16-502 Suspend to Idle
BKK16-502 Suspend to Idle
 
Complete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSEComplete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSE
 

Ähnlich wie Snug

Synopsys User Group Presentation
Synopsys User Group PresentationSynopsys User Group Presentation
Synopsys User Group Presentationemlawgr
 
NIOS II Processor.ppt
NIOS II Processor.pptNIOS II Processor.ppt
NIOS II Processor.pptAtef46
 
FPGA Overview
FPGA OverviewFPGA Overview
FPGA OverviewMetalMath
 
Announcing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAnnouncing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAmazon Web Services
 
fpga1 - What is.pptx
fpga1 - What is.pptxfpga1 - What is.pptx
fpga1 - What is.pptxssuser0de10a
 
A Primer on FPGAs - Field Programmable Gate Arrays
A Primer on FPGAs - Field Programmable Gate ArraysA Primer on FPGAs - Field Programmable Gate Arrays
A Primer on FPGAs - Field Programmable Gate ArraysTaylor Riggan
 
1. FPGA architectures.pdf
1. FPGA architectures.pdf1. FPGA architectures.pdf
1. FPGA architectures.pdfTesfuFiseha1
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGAvelamakuri
 
Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Tarik Kazaz
 
VLSI design Dr B.jagadeesh UNIT-5.pptx
VLSI design Dr B.jagadeesh   UNIT-5.pptxVLSI design Dr B.jagadeesh   UNIT-5.pptx
VLSI design Dr B.jagadeesh UNIT-5.pptxjagadeesh276791
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET Journal
 
Nobuya Okada presentation
Nobuya Okada presentationNobuya Okada presentation
Nobuya Okada presentationkazu_papasan
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL Amr Rashed
 
FPGA Intro
FPGA IntroFPGA Intro
FPGA Intronaito88
 
SoC - altera's user-customizable arm-based soc
SoC - altera's user-customizable arm-based socSoC - altera's user-customizable arm-based soc
SoC - altera's user-customizable arm-based socSatya Harish
 

Ähnlich wie Snug (20)

Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
ASIC VS FPGA.ppt
ASIC VS FPGA.pptASIC VS FPGA.ppt
ASIC VS FPGA.ppt
 
Synopsys User Group Presentation
Synopsys User Group PresentationSynopsys User Group Presentation
Synopsys User Group Presentation
 
What is FPGA?
What is FPGA?What is FPGA?
What is FPGA?
 
NIOS II Processor.ppt
NIOS II Processor.pptNIOS II Processor.ppt
NIOS II Processor.ppt
 
FPGA Overview
FPGA OverviewFPGA Overview
FPGA Overview
 
HiPEAC-Keynote.pptx
HiPEAC-Keynote.pptxHiPEAC-Keynote.pptx
HiPEAC-Keynote.pptx
 
Announcing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAnnouncing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAs
 
fpga1 - What is.pptx
fpga1 - What is.pptxfpga1 - What is.pptx
fpga1 - What is.pptx
 
A Primer on FPGAs - Field Programmable Gate Arrays
A Primer on FPGAs - Field Programmable Gate ArraysA Primer on FPGAs - Field Programmable Gate Arrays
A Primer on FPGAs - Field Programmable Gate Arrays
 
1. FPGA architectures.pdf
1. FPGA architectures.pdf1. FPGA architectures.pdf
1. FPGA architectures.pdf
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio Hardware Accelerated Software Defined Radio
Hardware Accelerated Software Defined Radio
 
VLSI design Dr B.jagadeesh UNIT-5.pptx
VLSI design Dr B.jagadeesh   UNIT-5.pptxVLSI design Dr B.jagadeesh   UNIT-5.pptx
VLSI design Dr B.jagadeesh UNIT-5.pptx
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
 
Nobuya Okada presentation
Nobuya Okada presentationNobuya Okada presentation
Nobuya Okada presentation
 
Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL
 
FPGA Based VLSI Design
FPGA Based VLSI DesignFPGA Based VLSI Design
FPGA Based VLSI Design
 
FPGA Intro
FPGA IntroFPGA Intro
FPGA Intro
 
SoC - altera's user-customizable arm-based soc
SoC - altera's user-customizable arm-based socSoC - altera's user-customizable arm-based soc
SoC - altera's user-customizable arm-based soc
 

Snug

  • 1. Gated Clock & Design Ware Handling On FPGA Prototype Platforms Einav Shmaryh Texas Instruments
  • 2. Agenda Introduction TI Overview TI Design Challenges Summary
  • 3. Introduction Texas Instruments WCS design connectivity solutions for the cellular market: Bluetooth, WLAN, GPS, GNSS, NFC and FM Motorola Droid XGPS, WLAN, Bluetooth®,FM RIMPlaybook GPS, WLAN, Bluetooth®,FM Nokia C7 GPS, WLAN, Bluetooth®,FM LGEUptimus3D WLAN/Bluetooth®
  • 4. FPGA Prototype – Targets At Speed RF connection to the FPGA, FPGA prototype designs work at speed (ARM Cortex M3 at 80MHz). The FPGA platform is connected to an RF device which performs: GPS fix location from a satellite at real time WLAN AP link or Bluetooth wireless Real time FW development & Debug before Tape Out Real time FW/HW integration before Tape Out Enables the ability to demonstrate the ASIC chip 2-3 weeks after chip arrival (with ROM base solution) with mature FW
  • 5. TI FPGA Design Complexity Includes 7 different CPUs (ARM 7, Cortex M3) Multiple paths with more than 100 logic levels between FFs Multiple clock dividers (dynamic & static) => needs to be synchronize Multiple Interfaces which include RF (BT=> wireless, GPS => to the satellite) Usage of multiple Design Wares Dynamic power switching Real Time - Close timing up to 80MHz
  • 6. Design Challenges Moving Toward FPGA Our Design encountered 3 main challenges: FPGA vs. ASIC - Clock Tree Design Ware Implementation in FPGA FPGA Flow  
  • 7. FPGA Vs. ASIC - Clock Tree TI ASIC Design includes clock dividers, some with constant divider value and some with dynamic divider value, after each divider there is a new clock tree For higher frequency achievement and to eliminate clock skew there is a need for a minimum number of clocks, For this reason we used a “fix gated clock” option. Uses of Synplify tool with “fix gated clock” option can solve only the constant divider value, the tool “knew” the divider value and mapped it to the FF data or CE. Fixing the dynamic divider value there is a need to add dedicated RTL with the uses of the “fix gated clock” option (there is no tool that can guess the divider value)
  • 8. FPGA vs. ASIC - Clock Tree The next figure shows RTL with constant divider value & with Synplify“fix gated clock” option.
  • 9. FPGA Vs. ASIC - Clock Tree With dynamic divider value , Synplify Implementation breaks the clock tree and, now, the clocks are no longer aligned (there is no Synthesis tool that can “guess” the divider value)
  • 10. FPGA vs. ASIC - Clock Tree Uses dedicated RTL with the “fix gated clock” tool option to solve the dynamic divider value clock tree
  • 11. FPGA Vs. ASIC - Clock Tree Synplify Implementation , Fix the clock tree.
  • 12. Advantages: With one clock the tool can close higher frequency Eliminate clock skew Better turnaround time Simplify the constraints Less RTL changes (all the “swallow” RTL is in the ASIC RTL) Disadvantage: 1. The clock duty cycle has changed - might create timing path if using falling edge => theseclocks need special code (fall detected) FPGA Vs. ASIC - Clock Tree
  • 13.
  • 14. Equivalent RTL substituted from built-in library
  • 15. Mapped to FPGA just like other RTL
  • 16. True DesignWare components used if available (& licensed)
  • 17.
  • 18. Design Wares 2. FixGated Clock with DW Use of Fix Gated Clock option with DW “breaks” the clock tree (add BUFG) in the DW clock start point RTL view with the same example (changing one FF to DW) Net list view
  • 19. FPGA Flow To achieve best timing closure and fast turnaround time: Minimize design changes in the original RTL code for FPGA Educate RTL designers to write RTL “FPGA friendly” (e.g. add “ifdefs” in the RTL with extra pipe or changed clocks …) Participate in ASIC architecture from the start to understand how the FPGA can emulate the design better Scripts-based working flow to avoid editing bugs and faster turnaround time
  • 20. Summary For constant clock dividers the Synplify tool (with “fix gated clock” option) fixes the clock tree to one clock and clock enable 2. For dynamic clock dividers a special RTL “hook” is needed (with “fix gated clock” option) 3. For best timing closure, the DW must synthesize with Synplify Premier tool 4. DW with Synplify Premier is more FPGA “friendly” 5. FPGA flow
  • 21. Q&A
  • 25. Design Consideration Minimize design changes in the original RTL code for FPGA Educate RTL designers to write RTL “FPGA friendly” (e.g. add FPGA_mode in the RTL with extra pipe or changed clocks …) Participate in ASIC architecture from start to understand how the FPGA can emulate it better and add FPGA hooks to architecture Scripts based working flow (on the FPGA tools like Synplify & ISE) to avoid manual editing bugs and faster turnaround time On chip debug capability
  • 26. Retentions Flip – Flops TI SOC design uses retentions Flip – Flops , Explain : retentions FF are special FF cell’s in ASIC that do not go to default value in Power down, they save their last value. This option allow the IP to “sleep” during other tasks and to save current.
  • 27. Retentions Flip – Flops FPGA design do not have those cell’s so an RTL hack needed for allow this option in FPGA. Advantage : In the RTL Stage the SOC & FPGA Design Identified all the RET FF and write FPGA Friendly RTL code The ASIC synthesis the FPGA_MODE block as output ‘0’ so there is no logic added for FPGA uses Can be verified (for ASIC & FPGA) via ASIC synthesis tools
  • 28. Design Wares in FPGA 2. Clock gated When using a DW with a divider clock (constant or dynamic ) with icgcell , The tool “brake” the clock tree (add BUFG) in the DW clock start point. To Avoid it, RTL must be change to insert original clock (no dividers) to the DW RTL View
  • 29. Design Wares in FPGA Technology View