Timequest (1162593)
Текст из файла
Using TimeQuestTiming Analyzer1IntroductionThis tutorial provides a basic introduction to TimeQuest Timing Analyzer. It demonstrates how to set up timingconstraints and obtain timing information for a logic circuit.The reader is expected to have the basic knowledge of Verilog hardware description language, as well as the basicuse of the Altera Quartus II CAD software.Contents:• Introduction to timing analysis• Setting up Quartus II to use TimeQuest• Using TimeQuest• Setting Up Timing ConstraintsAltera Corporation - University ProgramJanuary 20111U SING T IME Q UEST T IMING A NALYZER2BackgroundTiming analysis is a process of analyzing delays in a logic circuit to determine the conditions under which the circuitoperates reliably. These conditions include, but are not limited to, the maximum clock frequency ( f max ) for whichthe circuit will produce a correct output.
A simple example of the maximum clock frequency computation is shownin Figure 1.aDQD1 nsbDQfQ1 nscDQ1 nsdDQclockaFigure 1. A example for timing analysis.DQIn this example, flip-flops on the left-hand side drive a combinational circuit that generates an output that is later1 nsstored in the flip-flop on the right-hand side. To operate correctly, the clock frequency is limited by the delay on thelongest path in the circuit. If weQ the clock-to-Q and setup times for each flip-flop are 1 ns, and the delayb assumeDthatin each gate is 1 ns, then the maximum clock frequency for this circuit is:f max =cD11 1 nsD== 200 MHzt c q + 3 × t and + t su 5 nsQfQComputing f max is a basic function of a timing analyzer.
The timing analyzer can be used to guide Computer-AidedDesign tools in the implementation of logic circuits. For example,the circuit in Figure 1 shows an implementation of1 nsa 4-input function using 2-input AND gates. Without any timing requirements, the presented solution is acceptable.QHowever, if a user requires thed circuit toDoperateat a clock frequency of 250 MHz, the above solution is inadequate.By placing timing constraints on the maximum clock frequency, it is possible to direct the CAD tools to seek animplementation that meets those constraints. As a result, the CAD tools may arrive at a solution shown in Figure 2.The new circuit has f max =clock250 MHz and thus meets the required timing constraints.In this tutorial, we demonstrate how to obtain timing information and how to set timing constraints using TimeQuesttiming analyzer.IMPORTANT: The example design provided with this tutorial contains exactly one clock signal. When multipleclock signals are present, the initial behavior of the analyzer differs slightly.
We recommended that readers com2Altera Corporation - University ProgramJanuary 20111 nsdQDU SING T IME Q UEST T IMING A NALYZERclockaDQ1 nsbDQ1 nscDDQfQ1 nsdDQclockFigure 2. Functionally equivalent circuit with a different logic structure.plete the tutorial using the provided example design before proceeding to use TimeQuest on their own design. Weelaborate on this issue in Section 6.3Design ExampleAs an example we will use an adder that adds three 8-bit numbers and produces a sum output. The inputs are A , B ,and C , which are stored in registers reg_A, reg_B and reg_C at the positive edge of the clock.
The three registersprovide inputs to the adder, whose result is stored in the reg_sum register. The output of the reg_sum register drivesthe output port sum. The diagram of the circuit is shown in Figure 3.The Verilog source code for the design is given in Figure 4. Note that the ”synthesis keep” comment is included inthis code. This comment is interpreted as a directive that instructs Quartus II software to retain the specified nodesin the final implementation of the circuit and keep their names as stated.
This directive will allow us to refer to thesenodes in the tutorial.To begin the tutorial open the example project. It is available in the add_three_numbers directory provided with thistutorial.Compile the example circuit to see the results of timing analysis.
These results will be available in the compilationreport, once the design is compiled. In this tutorial we will use the TimeQuest Graphical User Interface to inspectthe timing analysis results.Altera Corporation - University ProgramJanuary 20113U SING T IME Q UEST T IMING A NALYZERreg_AA8D Q+reg_BB8D Qreg_sum+D Q10sumreg_CC8D QclockFigure 3. Diagram of the example circuit.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.module add_three_numbers(clock, A, B, C, sum);input clock;input [7:0] A,B,C;output [9:0] sum;reg [7:0] reg_A, reg_B, reg_C /* synthesis keep */;reg [9:0] reg_sum /* synthesis keep */;always @(posedge clock)beginreg_A <= A;reg_B <= B;reg_C <= C;reg_sum <= reg_A + reg_B + reg_C;endassign sum = reg_sum;endmoduleFigure 4.
Verilog code for the example circuit.4Altera Corporation - University ProgramJanuary 2011U SING T IME Q UEST T IMING A NALYZER4Using TimeQuestTo start TimeQuest, select Tools > TimeQuest Timing Analyzer from the main menu. The TimeQuest window,shown in Figure 5, will appear.4.1TimeQuest Graphical User InterfaceFigure 5. TimeQuest window.The TimeQuest window consists of several sections. They include the main menu at the top, the Report pane inthe top-left corner, the Tasks pane on the left, the View pane on the right, and the Console display at the bottomof the window.
The main menu is used to interact with the TimeQuest tool and issue commands. The Report panecontains any reports generated when using the tool, and the Tasks pane contains a sequence of actions that can beperformed to obtain timing reports. The View pane hosts any windows that are opened, and initially contains a briefdescription of each part of the TimeQuest GUI. The Console window at the bottom provides access to a commandline for TimeQuest.We will focus on two of the panes, the Tasks and the Report panes, shown in Figure 6. The Tasks pane providesa sequence of common actions that can be taken to obtain timing data for a design. These tasks include creating atiming netlist, reading a timing constraints file, performing timing analysis, generating reports and saving a timingconstraints file.
The Report pane contains reports with detailed timing information about the design. These reportsare generated using commands in the Tasks pane.Altera Corporation - University ProgramJanuary 20115U SING T IME Q UEST T IMING A NALYZERFigure 6. TimeQuest Tasks and Report Panes.To demonstrate how to use the timing analyzer, we go through a set of basic steps to obtain timing data for theexample design.
Begin by double-clicking the Create Timing Netlist command in the Tasks pane to create a timingnetlist, which will be used to perform the analysis. Then double-click Read SDC File to instruct the analyzer toread a Synopsys Design Contraints (SDC) file and apply the constraints during analysis. Specifying the constraintsenables the analyzer to determine which parts of the design will operate correctly and which will not.
Initially, noconstraints are specified and the default constraint of 1 GHz on the clock signal is applied automatically. Third,double-click the Update Timing Netlist command to use the specified constraints to determine which parts of thecircuit fail to meet them. Once the timing netlist is updated, reports can be generated.4.2Timing Analysis ReportsTo generate a report, double-click on a report name in the Tasks pane. For example, double-click on the SetupSummary report.
This command will bring up a window in the view pane as shown in Figure 7.The setup summary report shows a summary for each clock domain. The columns in the report include slack,and total negative slack (TNS), which together indicate how well the design meets setup constraints for each clockdomain. In this case, given a 1 GHz frequency requirement, the design fails to meet the constraints because thelongest path in the design is 2.497 ns too long (from the slack column).
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.















