Timequest (1162593), страница 2
Текст из файла (страница 2)
We can examine the timing data in moredetail by right-clicking on the row with the given clock and selecting Report Timing... as shown in Figure 8.Selecting this option opens a window shown in Figure 9. There are several fields in this window that help specifythe data to be reported. The first field is the Clocks field, which specifies the types of paths that will be reported.More precisely, it specifies the clock signal that launches the data and the clock signal that latches the data in.
Forthis example, choose the signal named clock for the To and From clock fields. This will limit the reporting to the6Altera Corporation - University ProgramJanuary 2011U SING T IME Q UEST T IMING A NALYZERFigure 7. Setup summary.Figure 8. Pop-up menu to generate a detailed timing report.register-to-register paths only.The next field is the Targets field. The Targets field further refines the report by focusing only on certain paths inthe design. We can specify the starting and the ending point of the paths of interest by filling the From and To fields.In addition, we can look at only the paths that pass through certain nodes in the design. For this example, we leavethese fields blank to indicate that every path should be taken into account for the report.The next two fields are the Analysis type and Paths fields. The Analysis type field specifies if the report shouldcontain setup, hold, recovery, or removal information.
Each of these analyses looks for distinct timing characteristicsin your design. For example, the setup analysis determines if the data arrives at a flip-flop sufficiently early for theflip-flop to store it reliably, given a clock period. On the other hand, the hold analysis determines if the data inputat any given flip-flop remains stable after the positive edge of the clock long enough for the data to be stored in aflip-flop reliably. The Paths field specifies the maximum number of paths to be reported and the maximum slackrequired for a path to be included in the report.
For this example, choose the type of analysis to be Setup and select10 paths to be reported. This will generate a setup analysis report and show 10 paths with largest negative slack (thepaths that violate the constraint the most).Altera Corporation - University ProgramJanuary 20117U SING T IME Q UEST T IMING A NALYZERFigure 9. Timing report generation window.The next set of fields specify the Output format and the level of detail in the report. The output could be to a windowor a file. Set the Detail level to Path Only, then set the output to a window by checking the Report panel namecheck box (and not the File name check box). The window should be named Setup: clock by default, and thatname will identify the report in the report pane.Finally, the last field is the Tcl command field.
This field shows a command that will be executed to generate therequested report. You do not need to edit this field. Press the Report Timing button to generate and display thereport shown in Figure 10.The timing report in Figure 10 consists of three sections. The top part of the report contains a list of paths, includingtiming information. In particular, the column called slack shows the difference between the time a signal is requiredto arrive at a destination FF, as per the desired clock period, and the actual arrival time.
When the slack is negative,the path takes too long to compute, and the timing is considered to violate the clock constraint. In this example, thedesired clock period was 1ns, and one of the paths in the circuit exceeded this constraint by 2.503ns. The timinganalysis details for a given path can be displayed in the two panes at the bottom of the report by clicking on one ofthe paths in the report, as shown in Figure 10.The bottom two sections of the report consist of identical sets of tabs. The tabs show path summary, statistics, datapath, and waveforms. The left-hand side shows a set of components through which the path travels, including thedelays along the way, while the right-hand side shows the waveform that explains how the timing violation occurred.The waveform display is a useful tool in understanding the timing of a circuit. It includes both data delays on agiven path as well as clock delays to source and destination registers.
At a glance, the information provided in thewaveform is comprehensive to experts, but may not be as intuitive to others. This is because the timing information8Altera Corporation - University ProgramJanuary 2011U SING T IME Q UEST T IMING A NALYZERFigure 10. Detailed setup time information for a given register-to-register path.is shown with respect to the time when inputs appear at the input pin to an FPGA device. For example, the clocksignal shown in the first line is the signal at the pin of the device, and it arrives at the clock input of the sourceflip-flop later.
In Figure 11 we show how to interpret the waveform information presented in Figure 10.In the figure, the first three waveforms show the clock signals for the source and destination flop-flops, along with atiming requirement - in this case 1ns. The launch and latch edges of each clock are indicated by thick lines. The nexttwo waveforms in the figure show the same clock signals as they appear at the clock inputs of source and destinationflip-flops, with the launch and latch clock edges indicated appropriately. These two waveforms show the actual timethe data will be launched from and stored in flip-flops. Note that the Launch Clock at Source FF and Latch Clock atDestination FF waveforms in Figure 11 are shown for this explanation, but are not part of the screenshot in Figure 10.The Clock Delay in Figure 10 represents the time between the launch/latch edges at the pin of the device and at theclock inputs of the source/destination flip-flops.The next two waveforms, Data Arrival and Data Delay, show the time it will take a signal to propagate from sourceto destination.
Notice that Data Delay is measured from the positive edge of the clock named Launch Clock atSource FF. The second last waveform, called Data Required indicates the time when the data should have arrivedat the destination flip-flop to be stored correctly, including the setup time (uTsu) shown in the last line.From the diagram we see that the time the data arrives at its destination is after the time it is required to arrive if itis to meet the timing constraint.
Thus, the timing constraint is violated. To indicate this, a negative slack value isshown to indicate by how much the timing constraint is violated. In contrast, a timing constraint that is satisfied hasa positive slack value.Altera Corporation - University ProgramJanuary 20119U SING T IME Q UEST T IMING A NALYZERFigure 11. Interpreting setup time information for a given register-to-register path.4.3Setting Up Timing Constraints for a DesignTimeQuest provides a way to specify timing constraints to be included in the next compilation of your design throughthe Constraints menu.
To assign a clock constraint, select Create Clock... from the Constraint menu. A windowshown in Figure 12 will appear.Figure 12. TimeQuest window to create a clock constraint.In the window, the constraint on the clock signal can be specified. To do this give the clock constraint a name (forexample, the name of the clock for which constraints are specified) in the top field.
Then, specify the clock periodto be 4ns in the field below. The next two fields define the time at which the clock changes from 0 to 1 and 1 to 0.10Altera Corporation - University ProgramJanuary 2011U SING T IME Q UEST T IMING A NALYZERLeave these fields empty to indicate that the rising edge of the clock should appear at time 0, and a falling edge atone half of the clock period. Finally, specify the Targets field to be clock as shown in the figure, to indicate that thegiven constraint is for the clock signal named clock. Then press the Run button to apply the constraint and save theconstraints file into example.sdc file, by double-clicking on the Write SDC File...
task as shown in Figure 13.Figure 13. Saving a constraints file.Once the constraints file is saved, it can be used by Quartus II when compiling a project. This is done by addingthe example.sdc file to the TimeQuest timing analyzer settings as shown in Figure 14. Once the constraint file isadded, recompile the project and open up the setup summary report, as before, in TimeQuest.
You will now noticethat the timing constraint is met.5Regarding Designs with Multiple Clock SignalsTimeQuest is capable of analyzing circuits that contain multiple clocks. This includes cases where the designerused several clocks, or clock signals were automatically to support features such as the SignalTap II Logic Analyzeror a JTAG interface. Should the reader work with such designs, it is important to note that the initial experiencewith TimeQuest may differ from that described above. In designs with multiple clocks, it is important to applyconstraints to each clock before performing timing analysis. Doing so will make the analyzer provide the samereports as described in previous sections.6ConclusionThis tutorial demonstrated the basic use of the TimeQuest timing analyzer.















