Gated Clock & Design Ware Handling On FPGA Prototype Platforms <br />Einav Shmaryh<br />Texas Instruments<br />
Agenda<br />Introduction<br />TI Overview<br />TI Design Challenges<br />Summary <br />
Introduction<br />Texas Instruments WCS design connectivity solutions for the cellular market: Bluetooth, WLAN, GPS, GNSS,...
FPGA Prototype – Targets<br />At Speed RF connection to the FPGA, FPGA prototype designs work at speed (ARM Cortex M3 at 8...
TI FPGA Design Complexity   <br />Includes 7 different CPUs (ARM 7, Cortex M3)<br />Multiple paths with more than 100 logi...
Design Challenges Moving Toward FPGA<br />Our Design encountered 3 main challenges: <br />FPGA vs. ASIC - Clock Tree  <br ...
FPGA Vs. ASIC - Clock Tree <br />TI ASIC Design includes clock dividers, some with constant divider value and some with dy...
FPGA vs. ASIC - Clock Tree <br />The next figure shows RTL with constant divider value & with Synplify“fix gated clock” op...
FPGA Vs. ASIC - Clock Tree <br />With dynamic divider value , Synplify Implementation breaks the clock tree and, now, the ...
FPGA vs. ASIC - Clock Tree <br />Uses dedicated RTL with the “fix gated clock” tool option to solve the dynamic divider va...
FPGA Vs. ASIC - Clock Tree <br />Synplify Implementation , Fix the clock tree. <br />
Advantages:<br />With one clock the tool can close higher frequency<br />Eliminate clock skew <br />Better turnaround time...
Design Wares<br /><ul><li>Synplify Premier Recognizes DesignWare Automatically
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</li></li></ul><li>Design Wares<br />TI ASIC design uses DW (Design wares) from Synopsys, like PCIe , ...
Design Wares<br /> 2.   FixGated Clock with DW<br />      Use of Fix Gated Clock option with DW “breaks” the clock tree (a...
FPGA Flow <br />To achieve best timing closure and fast turnaround time:<br />Minimize design changes in the original RTL ...
Upcoming SlideShare
Loading in...5
×

Snug

1,052

Published on

Gated Clock &amp; Design Ware Handling On FPGA Prototype Platforms

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,052
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Snug

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

    Clipping is a handy way to collect important slides you want to go back to later.

×