You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

250 lines
13 KiB

3 years ago
  1. <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
  2. <html>
  3. <!--(==============================================================)-->
  4. <!--(Document created with RoboEditor. )============================-->
  5. <!--(==============================================================)-->
  6. <head>
  7. <title>CPLD Timing Analysis Glossary</title>
  8. <!--(Meta)==========================================================-->
  9. <meta http-equiv=Content-Type content="text/html; charset=UTF-8">
  10. <meta name=Author content=administrator>
  11. <meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
  12. <meta name=generator-major-version content=0.1>
  13. <meta name=generator-minor-version content=1>
  14. <meta name=filetype content=kadov>
  15. <meta name=filetype-version content=1>
  16. <meta name=page-count content=1>
  17. <meta name=layout-height content=2677>
  18. <meta name=layout-width content=716>
  19. <meta name=date content="04 8, 2003 10:49:54 AM">
  20. <!--(Links)=========================================================-->
  21. <link rel=StyleSheet href=xilhtml.css>
  22. </head>
  23. <!--(Body)==========================================================-->
  24. <body>
  25. <h1>Introduction</h1>
  26. <p>This report is the result of a static timing analysis of your design
  27. after it has been fit in the device that you selected. The timing values
  28. given represent the worst-case values over the recommended operating conditions
  29. for the part. </p>
  30. <h1>Overview</h1>
  31. <p>The timing report consists of a series of sections: </p>
  32. <h2>Summary</h2>
  33. <p>This table summarizes the external timing parameters for your device,
  34. including <a href="#tPD"><!--kadov_tag{{<ignored>}}-->tPD<!--kadov_tag{{</ignored>}}--></a>,
  35. <a href="#tCO"><!--kadov_tag{{<ignored>}}-->tCO<!--kadov_tag{{</ignored>}}--></a>,
  36. <a href="#tSU"><!--kadov_tag{{<ignored>}}-->tSU<!--kadov_tag{{</ignored>}}--></a>,
  37. <a href="#tCYC"><!--kadov_tag{{<ignored>}}-->tCYC<!--kadov_tag{{</ignored>}}--></a>,
  38. and <a href="#fSYSTEM"><!--kadov_tag{{<ignored>}}-->fSYSTEM<!--kadov_tag{{</ignored>}}--></a>.
  39. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->For a more
  40. detailed description of the timing model for your device, please refer
  41. to the application notes linked below.</p>
  42. <h2>Timing Constraints</h2>
  43. <p>This section reports on any timing constraints that you created for
  44. your design. Timing constraints can be entered using the Constraints Editor
  45. tool, or by editing an Implementation Constraints File directly. For more
  46. information on creating timing constraints, see the Constraints Guide.
  47. </p>
  48. <p class=Note><span style="font-weight: bold;">Note</span> that if you
  49. did not define any constraints for your design, then the timing analysis
  50. software will automatically create a default set of constraints for you.
  51. These include pad-to-pad, register-to-register, pad-to-register, and period
  52. constraints. A constraint value of 0 <!--kadov_tag{{<ignored>}}-->ns<!--kadov_tag{{</ignored>}}-->
  53. will be used for all of these automatically generated constraints. As
  54. a result, all paths listed under each constraint will violate the constraint,
  55. and will have a negative value for slack.</p>
  56. <p class=Note><span style="font-weight: bold;">Note</span> also that to
  57. limit the size of the report, each path endpoint involved in a timing
  58. path will only be listed once, under a single constraint. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}--></p>
  59. <p>For each timing path listed under a constraint, there is a hyperlink
  60. that can be used to open a window listing the individual internal delay
  61. elements traversed in the path. To understand these delay elements, consult
  62. the <a href="#Definitions">Definitions</a> section below, or the following
  63. application notes and white papers: </p>
  64. <p><a href="http://www.xilinx.com/apps/epld.htm#CoolRunner2">XAPP375: Understanding
  65. the <!--kadov_tag{{<ignored>}}-->CoolRunner-II<!--kadov_tag{{</ignored>}}-->
  66. Timing Model</a> </p>
  67. <p><a href="http://www.xilinx.com/publications/whitepapers/index.htm">WP122:
  68. Using the <!--kadov_tag{{<ignored>}}-->CoolRunner<!--kadov_tag{{</ignored>}}-->
  69. XPLA3 Timing Model</a> </p>
  70. <p><a href="http://www.xilinx.com/apps/epld.htm#CoolRunner2">XAPP071: Using
  71. the XC9500 Timing Model</a> </p>
  72. <p><a href="http://www.xilinx.com/apps/epld.htm#CoolRunner2">XAPP111: Using
  73. the XC9500XL Timing Model</a></p>
  74. <p><a href="http://www.xilinx.com/apps/epld.htm#CoolRunner2"><!--kadov_tag{{<ignored>}}-->XAPP<!--kadov_tag{{</ignored>}}-->
  75. 362: Using the XC9500XV Timing Model</a></p>
  76. <p>available in the literature section of <a href="http://www.xilinx.com"><!--kadov_tag{{<ignored>}}-->www.xilinx.com</a>.<!--kadov_tag{{</ignored>}}-->
  77. </p>
  78. <h2>Data Sheet Report</h2>
  79. <p>This section of the report lists the external timing parameters for
  80. your design. This includes; maximum external clock speed for each clock,
  81. setup and hold times for each registered input, clock-to-output pad timing
  82. for each registered output, clock to setup time for each register-to-register
  83. timing path, and pad-to-pad time for each combinatorial path through your
  84. design. </p>
  85. <h2>Going Further</h2>
  86. <p>To do more advanced timing analysis of your design, select the process
  87. <span style="font-weight: bold;">Analyze Post-Fit Static Timing</span>
  88. in <!--kadov_tag{{<ignored>}}-->iSE<!--kadov_tag{{</ignored>}}-->. This
  89. will run <!--kadov_tag{{<ignored>}}-->Xilinx's<!--kadov_tag{{</ignored>}}-->
  90. Timing Analyzer tool interactively. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->The
  91. Timing Analyzer provides a powerful, flexible, and easy way to perform
  92. static timing analysis on <!--kadov_tag{{<ignored>}}-->FPGA<!--kadov_tag{{</ignored>}}-->
  93. and <!--kadov_tag{{<ignored>}}-->CPLD<!--kadov_tag{{</ignored>}}--> designs.
  94. With Timing Analyzer, analysis can be performed immediately after mapping,
  95. placing or routing an <!--kadov_tag{{<ignored>}}-->FPGA<!--kadov_tag{{</ignored>}}-->
  96. design, and after fitting and routing a <!--kadov_tag{{<ignored>}}-->CPLD<!--kadov_tag{{</ignored>}}-->
  97. design. </p>
  98. <p>Timing Analyzer verifies that the delay along a given path or paths
  99. meets specified timing requirements. It organizes and displays data that
  100. allows you to analyze critical paths in a circuit, the cycle time of the
  101. circuit, the delay along any specified <!--kadov_tag{{<ignored>}}-->path(s<!--kadov_tag{{</ignored>}}-->),
  102. and the path with the greatest delay. It also provides a quick analysis
  103. of the effect different speed grades have on the same design. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}--></p>
  104. <p>Timing Analyzer performs setup and hold checks (skew analysis). It works
  105. with synchronous systems composed of synchronous elements and combinatorial
  106. logic. In synchronous design, Timing Analyzer takes into account all path
  107. delays, including clock-to-out and setup requirements, while calculating
  108. the worst-case timing of the design. </p>
  109. <p>Timing Analyzer creates timing analysis reports based on existing timing
  110. constraints or user specified paths within the program. Timing reports
  111. have a hierarchical browser to quickly jump to different sections of the
  112. reports. Timing paths in reports can be cross probed to synthesis tools
  113. (Exemplar and <!--kadov_tag{{<ignored>}}-->Synplicity<!--kadov_tag{{</ignored>}}-->)
  114. and <!--kadov_tag{{<ignored>}}-->Floorplanner<!--kadov_tag{{</ignored>}}-->.
  115. </p>
  116. <p>There are several ways to issue commands in Timing Analyzer. Timing
  117. Analyzer can be controlled through <!--kadov_tag{{<ignored>}}-->GUI<!--kadov_tag{{</ignored>}}-->
  118. features (menu commands) or its comprehensive macro command language facility.
  119. You can select from menus, click toolbar buttons, type keyboard commands
  120. in the console window, and run macros. </p>
  121. <h1><a name=Definitions></a>Definitions</h1>
  122. <h2><a name=tPD></a>Pad to Pad (<!--kadov_tag{{<ignored>}}-->tPD<!--kadov_tag{{</ignored>}}-->)
  123. </h2>
  124. <p>Reports pad to pad paths that start at input pads and end at output
  125. pads. The maximum external pad to pad delay. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->Combinatorial
  126. pad-to-pad paths begin at input pads, propagate through one or more levels
  127. of combinatorial logic and end at output pads. Combinatorial paths also
  128. trace through the enable inputs of 3-state controlled pads. Combinatorial
  129. paths are not traced through clock, and asynchronous set and reset inputs
  130. of registers. These paths are also broken at bidirectional pins</p>
  131. <h2><a name=tCO></a>Clock Pad to Output Pad (<!--kadov_tag{{<ignored>}}-->tCO<!--kadov_tag{{</ignored>}}-->)
  132. </h2>
  133. <p>The maximum external clock pad to output pad delay. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->Reports
  134. paths that start at input <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->pads
  135. trace through clock inputs of <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->registers
  136. and end at output pads. Paths are not traced through PRE/<!--kadov_tag{{<ignored>}}-->CLR<!--kadov_tag{{</ignored>}}-->
  137. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->inputs
  138. of registers. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->You
  139. can directly specify <!--kadov_tag{{<ignored>}}-->tCO<!--kadov_tag{{</ignored>}}-->
  140. for all registered output paths in your design using the Pad-to-Pad <!--kadov_tag{{<ignored>}}-->timespec<!--kadov_tag{{</ignored>}}-->.
  141. Clock-Pad-to-Pad paths for global clocks begin at global clock pads, propagate
  142. through global clock buffers, and propagate through the flip-flop <!--kadov_tag{{<ignored>}}-->Q<!--kadov_tag{{</ignored>}}-->
  143. output and any number of levels of combinatorial logic and end at the
  144. output pad. Clock-Pad-to-Pad paths for product term clock paths begin
  145. at input pads, propagate through any number of logic levels feeding into
  146. a clock product term, propagate through the flip-flop <!--kadov_tag{{<ignored>}}-->Q<!--kadov_tag{{</ignored>}}-->
  147. output and any number of levels of combinatorial logic and end at the
  148. output pad. Clock-Pad-to-Pad paths also trace through the enable inputs
  149. of 3-state controlled pads.</p>
  150. <h2><a name=tSU></a>Setup to Clock at Pad (<!--kadov_tag{{<ignored>}}-->tSU<!--kadov_tag{{</ignored>}}-->
  151. or <!--kadov_tag{{<ignored>}}-->tSUF<!--kadov_tag{{</ignored>}}-->) </h2>
  152. <p>Reports external setup time of data <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->to
  153. clock at pad. Data path starts at an input pad and ends at register <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->(Fast
  154. Input Register for <!--kadov_tag{{<ignored>}}-->tSUF<!--kadov_tag{{</ignored>}}-->)
  155. D/<!--kadov_tag{{<ignored>}}-->T<!--kadov_tag{{</ignored>}}--> <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->input.
  156. Clock path starts at input pad and ends at the register clock input. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->Paths
  157. are not traced through registers. Pin-to-pin setup requirement is not
  158. reported or guaranteed for product-term clocks derived from <!--kadov_tag{{<ignored>}}-->macrocell<!--kadov_tag{{</ignored>}}-->
  159. feedback signals. </p>
  160. <p>The minimum required setup time for flip-flops. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->You
  161. can specify the <!--kadov_tag{{<ignored>}}-->tSU<!--kadov_tag{{</ignored>}}-->
  162. (setup-to-clock) for all inputs in your design relative to a global clock
  163. or product term clock. Each <!--kadov_tag{{<ignored>}}-->tSU<!--kadov_tag{{</ignored>}}-->
  164. OFFSET timespec involves an input path and a clock path. Input paths start
  165. at input pads, propagate through input buffers and any number of combinatorial
  166. logic levels before ending at a flip-flop D/T input, including the receiving
  167. flip-flop's tSU. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->Input
  168. paths are not traced through flip-flop clock pins, asynchronous set/reset
  169. inputs or bidirectional I/O pins. Global clock paths start at global clock
  170. pads, propagate through global clock buffers and end at the flip-flop
  171. clock pin. Product term clock paths start at input pads, propagate through
  172. a single level of logic implemented in a clock product term and end at
  173. the flip-flop clock pin.</p>
  174. <h2><a name=tCYC></a>Clock to Setup (tCYC) </h2>
  175. <p>Register to register cycle time. Includes source register tCO and destination
  176. register tSU. </p>
  177. <p class=Note><span style="font-weight: bold;">Note</span> that when the
  178. computed Maximum Clock Speed is limited by tCYC, it is computed assuming
  179. that all registers are rising-edge sensitive. </p>
  180. <h2><a name=fSYSTEM></a>fSYSTEM </h2>
  181. <p>Maximum clock operating frequency. <!--kadov_tag{{<spaces>}}-->&nbsp;<!--kadov_tag{{</spaces>}}-->You
  182. can specify the fSYSTEM (clock frequency or period) for all registered
  183. paths in your design using a Register-to-Register timespec. Register-to-Register
  184. paths begin at flip-flop clock inputs, propagate through the flip-flop
  185. Q output and any number of levels of combinatorial logic and end at the
  186. receiving flip-flop D/T input, including the receiving flip-flop's tSU.
  187. When these flip-flops are clocked by the same clock, the delay on this
  188. path is equivalent to the cycle time of the clock. Registered paths do
  189. not propagate through clock, and asynchronous set and reset inputs of
  190. registers as shown below. These paths are also broken at bidirectional
  191. pins.</p>
  192. <p>&nbsp;</p>
  193. </body>
  194. </html>