Home

18. Mentor Graphics Precision Synthesis Support

image

Contents

1. Example 18 23 Using incr partition Attribute to a Create Partition in VHDL Design unit partition entity my block is port clk in std logic data out out std logic vector 31 downto 0 attribute incr partition boolean attribute incr partition of my block entity is true end entity my block Instance partition component my block is port clk in std logic data out out std logic vector 31 downto 0 end component attribute incr partition boolean attribute incr partition of my block inst label is true my block inst my block port map clk data out Creating Multiple Mapped Netlist Files With Separate Precision Projects or Implementations This section describes how to manually generate multiple netlist files which can be VOM or EDIF files for incremental compilation using black boxes and separate Precision projects or implementations for each design partition This manual flow is supported in versions of the Precision software that do not include the incremental synthesis feature You might also use this feature if you perform synthesis in a team based environment without a top level synthesis project that includes all of the lower level design blocks Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 27 Incremental Compilation and Block Based Design In the Precision Synthesis software cre
2. June 2012 Altera Corporation Quartus I Handbook Version 13 1 Volume 1 Design and Synthesis 18 20 Chapter 18 Mentor Graphics Precision Synthesis Support Guidelines for Altera Megafunctions and Architecture Specific Features Controlling DSP Block Inference for Multipliers By default the Precision Synthesis software uses DSP blocks available in Stratix series devices to implement multipliers The default setting is AUTO which allows the Precision Synthesis software to map to logic look up tables LUTs or DSP blocks depending on the size of the multiplier You can use the Precision Synthesis GUI or HDL attributes to direct mapping to only logic elements or to only DSP blocks The options for multiplier mapping in the Precision Synthesis software are described in Table 18 3 Table 18 3 Options for dedicated mult Parameter to Control Multiplier Implementation in Precision Synthesis Value Description ON OFF Use only DSP blocks to implement multipliers regardless of the size of the multiplier Use only logic LUTs to implement multipliers regardless of the size of the multiplier Use logic LUTs or DSP blocks to implement multipliers depending on the size of the multipliers AUTO Setting the Use Dedicated Multiplier Option To set the Use Dedicated Multiplier option in the Precision Synthesis GUI compile the design and then in the Design Hierarchy browser right click the operator for the desired mu
3. Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis June 2012 B Twitter Feedback Subscribe 18 2 Chapter 18 Mentor Graphics Precision Synthesis Support Design Flow The Precision Synthesis software also supports the FLEX 8000 and MAX 9000 legacy devices that are supported only in the Altera MAX PLUS II software as well as ACEX 1K APEX II APEX 20K APEX 20KC APEX 20KE FLEX 10K and FLEX 6000 legacy devices that are supported by the Quartus II software version 9 0 and earlier Design Flow The following steps describe a basic Quartus II design flow using the Precision Synthesis software 1 Create Verilog HDL or VHDL design files 2 Create a project in the Precision Synthesis software that contains the HDL files for your design select your target device and set global constraints Refer to Creating and Compiling a Project in the Precision Synthesis Software on page 18 5 for details 3 Compile the project in the Precision Synthesis software 4 Add specific timing constraints optimization attributes and compiler directives to optimize the design during synthesis L gt For best results Mentor Graphics recommends specifying constraints that are as close as possible to actual operating requirements Properly setting clock and I O constraints assigning clock domains and indicating false and multicycle paths guide the synthesis algorithms more accurately toward a suitable solution in the shorte
4. With this command the file is generated after the synthesis Running the Quartus II Software from within the Precision Synthesis Software The Precision Synthesis software also has a built in place and route environment that allows you to run the Quartus II Fitter and view the results in the Precision Synthesis GUI This feature is useful when performing an initial compilation of your design to view post place and route timing and device utilization results but not all the advanced Quartus II options that control the compilation process are available Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 11 Exporting Designs to the Quartus II Software Using NativeLink Integration After you specify an Altera device as the target set the options for the Quartus II software On the Tools menu click Set Options On the Integrated Place and Route page under Quartus II Modular specify the path to the Quartus II executables in the Path to Quartus II installation tree box To automate the place and route process click Run Quartus II in the Quartus II Modular window of the Precision Synthesis toolbar The Quartus II software uses the current implementation directory as the Quartus II project directory and runs a full compilation in the background that is the user interface does not appear Two primary Precision Synthesis software commands contr
5. for a partition with the Design Partitions Window You can change the Netlist Type to one of the following options m To preserve the previous post fit placement results change the Netlist Type of the partition to Post Fit m To preserve the previous routing results set the Fitter Preservation Level of the partition to Placement and Routing Creating Partitions with the incr partition Attribute Partitions are set using the HDL incr partition attribute The Precision Synthesis software creates or deletes partitions by reading this attribute during compilation iterations The attribute can be attached to either the design unit definition or an instance Example 18 22 and Example 18 23 show how to use the attribute to create partitions To delete partitions you can remove the attribute or set the attribute value to false June 2012 Altera Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 26 Chapter 18 Mentor Graphics Precision Synthesis Support Incremental Compilation and Block Based Design gt The Precision Synthesis software ignores partitions set in a black box Example 18 22 Using incr partition Attribute to Create a Partition in Verilog HDL Design unit partition module my block input clk output reg 31 0 data out synthesis incr partition Instance partition my block my block inst clk clk data out data out synthesis attribute my block inst incr partition true
6. my verilogIP verilogIP inst clock clk q count endmodule Module declaration The following attribute is added to create a black box for this module module my verilogIP clock q synthesis syn black box input clock output 7 0 q endmodule Instantiating Black Box IP Functions With Generated VHDL Files You can use the syn black box or black box compiler directives to declare a component as a black box The top level design files must contain the megafunction variation component declaration and port mapping Apply the directive to the component declaration in the top level file gt The syn black boxand black box directives are supported only on module or entity definitions Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 19 Guidelines for Altera Megafunctions and Architecture Specific Features Example 18 11 shows a sample top level file that instantiates my vhdlIP vhd which is a simplified customized variation generated by the MegaWizard Plug In Manager and IP Toolbench Example 18 11 Top Level VHDL Code with Black Box Instantiation of IP LIBRARY ieee USE ieee std logic 1164 all ENTITY top IS PORT clk IN STD LOGIC count OUT STD LOGIC VECTOR 7 DOWNTO 0 i END top ARCHITECTURE rtl OF top IS COMPONENT my vhdlIP PORT clock IN STD LOGIC q OUT STD LOGIC VECTOR 7 DOWN
7. Installation Guide in the Precision Manuals Bookcase To access the Manuals Bookcase in the Precision Synthesis software click Help and select Open Manuals Bookcase Altera Device Family Support The Precision Synthesis software supports active devices available in the current version of the Quartus II software Support for newly released device families may require an overlay Contact Mentor Graphics for more information 2012 Altera Corporation All rights reserved ALTERA ARRIA CYCLONE HARDCOPY MAX MEGACORE NIOS QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U S Patent and Trademark Office and in other countries All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www altera com common legal html Altera warrants performance of its semiconductor products to current specifications in accordance with Altera s standard Warranty but reserves the right to make changes to any products and 3 services at any time without notice Altera assumes no responsibility or liability arising out of the application or use of any information product or service Registered described herein except as Xpress agreed to in writing by Altera Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services ISO 9001 2008
8. Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 13 Exporting Designs to the Quartus II Software Using NativeLink Integration The period is specified in units of nanoseconds ns If no clock domain is specified the clock belongs to a default clock domain main All clocks in the same clock domain are treated as synchronous related clocks If no clock name is provided the default name virtual default is used The edge list sets the rise and fall edges of the clock signal over an entire clock period The first value in the list is a rising transition typically the first rising transition after time zero The waveform can contain any even number of alternating edges and the edges listed should alternate between rising and falling The position of any edge can be equal to or greater than zero but must be equal to or less than the clock period If waveform edge list is not specified and period period in ns is specified the default waveform has a rising edge of 0 0 and a falling edge of period value 2 The Precision Synthesis software maps the clock constraint to the TimeQuest create clock setting in the Quartus II software The Quartus II software supports only clock waveforms with two edges in a clock cycle If the Precision Synthesis software finds a multi edge clock it issues an error message when you synthesize your design in the Precision Synthesis software set input dela
9. and incorporate it into a top level design using the incremental compilation features to maintain placement results The following sections describe how to create the Quartus II projects for these two design flows EM a Single Quartus Il Project for a Standard Incremental Compilation ow Use the lt top level project gt tcl file generated for the top level partition to create your Quartus II project and import all the netlists into this one Quartus II project for an incremental compilation flow You can optimize all partitions within the single Quartus II project and take advantage of the performance preservation and compilation time reduction that incremental compilation provides Figure 18 3 shows the design flow for the example design in Figure 18 2 on page 18 28 All the constraints from the top level implementation are passed to the Quartus II software in the top level tcl file but any constraints made only in the lower level implementations within the Precision Synthesis software are not forward annotated Enter these constraints manually in your Quartus II project Figure 18 3 Design Flow Using Multiple EDIF Files with One Quartus Il Project Quartus Il Project a edf Use a tcl to import top level Precsion Synthesis software assignments Enter any lower level assignments manually b edf f edf Creating Multiple Quartus Il Projects for a Bottom Up Flow Use the tcl f
10. applying any other timing constraints You also can use multicycle path and false path assignments to relax requirements or exclude nodes from timing requirements which can improve area utilization and allow the software optimizations to focus on the most critical parts of the design St For details about the syntax of Synopsys Design Constraint commands refer to the Precision RTL Synthesis User s Manual and the Precision Synthesis Reference Manual To access these manuals in the Precision Synthesis software click Help and select Open Manuals Bookcase Setting Mapping Constraints Mapping constraints affect how your design is mapped into the target Altera device You can set mapping constraints in the user interface in HDL code or with the set_attribute command in the constraint file Quartus I Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 7 Mapping the Precision Synthesis Design Assigning Pin Numbers and 1 0 Settings The Precision Synthesis software supports assigning device pin numbers I O standards drive strengths and slew rate settings to top level ports of the design You can set these timing constraints with the set_attribute command the GUI or by specifying synthesis attributes in your HDL code These constraints are forward annotated in the lt project name gt tcl file that is read by the Quartus II software during place
11. clock In the place and route Tcl constraints file the multicycle path setting in the Precision Synthesis software is mapped to a set multicycle path setting The Quartus II software supports the rise or fall options on this assignment The node lists represent top level ports and or nets connected to instances end points of timing assignments The node lists can contain wildcards such as the Quartus II software automatically expands all wildcards Any multicycle path setting in Precision Synthesis software can be mapped to a setting in the Quartus II software with a through specification Guidelines for Altera Megafunctions and Architecture Specific Features Altera provides parameterizable megafunctions including the LPMs device specific Altera megafunctions IP available as Altera MegaCore functions and IP available through the Altera Megafunction Partners Program AMPP You can use megafunctions and IP functions by instantiating them in your HDL code or by inferring certain megafunctions from generic HDL code If you want to instantiate a megafunction such as a PLL in your HDL code you can instantiate and parameterize the function using the port and parameter definitions or you can customize a function with the MegaWizard Plug In Manager Altera recommends using the MegaWizard Plug In Manager which provides a graphical interface within the Quartus II software for customizing and parameterizing any available megafunct
12. design file If two different modules are in the same design file but are defined as being part of different partitions incremental synthesis cannot be maintained because both regions must be recompiled when you change one of the modules Altera recommends that you register all inputs and outputs of each partition This makes logic synchronous and avoids any delay penalty on signals that cross partition boundaries If you use boundary tri states in a lower level block the Precision Synthesis software pushes the tri states through the hierarchy to the top level to make use of the tri state drivers on output pins of Altera devices Because pushing tri states requires optimizing through hierarchies lower level tri states are not supported with a block based compilation methodology You should use tri state drivers only at the external output pins of the device and in the top level block in the hierarchy For more tips on design partitioning refer to the Best Practices for Incremental Compilation Partitions and Floorplan Assignments chapter in volume 1 of the Quartus II Handbook The Mentor Graphics Precision Synthesis software and Quartus II design flow allow you to control how to prepare your design files for the Quartus II place and route process which allows you to improve performance and optimizes your design for use with Altera devices Several of the methodologies outlined in this chapter can help you optimize your design to achieve perfo
13. to a set false path setting The Quartus II software supports setup hold rise or fall options for this assignment Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 15 Guidelines for Altera Megafunctions and Architecture Specific Features The node lists for this assignment represents top level ports and or nets connected to instances end points of timing assignments Any false path setting in the Precision Synthesis software can be mapped to a setting in the Quartus II software with a through path specification set multicycle path This multicycle path constraint is specified in the Precision Synthesis software as shown in Example 18 9 Example 18 9 Using the set multicycle path Constraint set multicycle path multiplier value start end to to node list from from node list reset path The node list can contain clocks ports instances and pins Multiple elements in the list can be represented using wildcards such as and Paths without multicycle path definitions are identical to paths with multipliers of 1 To add one additional cycle to the datapath use a multiplier value of 2 The option start indicates that source clock cycles should be considered for the multiplier The option end indicates that destination clock cycles should be considered for the multiplier The default is to reference the end
14. 18 Mentor Graphics Precision Synthesis o Support Q1151011 12 0 0 This chapter documents support for the Mentor Graphics Precision RTL Synthesis and Precision RTL Plus Synthesis software in the Quartus II software design flow as well as key design methodologies and techniques for improving your results for Altera devices The topics discussed in this chapter include m Altera Device Family Support m Design Flow on page 18 2 m Creating and Compiling a Project in the Precision Synthesis Software on page 18 5 m Mapping the Precision Synthesis Design on page 18 5 m Synthesizing the Design and Evaluating the Results on page 18 9 m Exporting Designs to the Quartus II Software Using NativeLink Integration on page 18 10 m Guidelines for Altera Megafunctions and Architecture Specific Features on page 18 15 m Incremental Compilation and Block Based Design on page 18 24 This chapter assumes that you have set up licensed and installed the Precision Synthesis software and the Quartus II software You must set up license and install the Precision RTL Plus Synthesis software if you want to use the incremental synthesis feature for incremental compilation and block based design Toobtain and license the Precision Synthesis software refer to the Mentor Graphics website at www mentor com To install and run the Precision Synthesis software and to set up your work environment refer to the Precision Synthesis
15. Architecture Specific Features on page 10 19 Updated Incremental Compilation and Block Based Design on page 10 28 Added section Creating Partitions with the incr partition Attribute on page 10 29 Removed Mercury from the list of supported devices Changed Precision version to 2007a update 3 Added note for Stratix IV support Renamed Creating a Project and Compiling the Design section to Creating and Compiling a Project in the Precision RTL Synthesis Software Added information about constraints in the Tcl file Updated document based on the Quartus II software version 8 0 June 2012 Altera Corporation For previous versions of the Quartus II Handbook refer to the Quartus II Handbook Archive Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 34 Chapter 18 Mentor Graphics Precision Synthesis Support Document Revision History Quartus II Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis
16. EX APEX FLEX and MAX series devices The Precision Synthesis software can create edf files for all Altera devices supported by the Quartus II software but defaults to creating vqm files when the device is supported Forward annotated Tcl assignments and constraints file The lt project name gt tcl file is generated for all devices The tcl file acts as the Quartus Project Configuration file and is used to make basic project and placement assignments and to create and compile a Quartus II project acf sdc Assignment and Configurations file for backward compatibility with the MAX PLUS II software For devices supported by the MAX PLUS II software the MAX PLUS Il assignments are imported from the MAX PLUS II acf file Quartus II timing constraints file in Synopsys Design Constraints format This file is generated automatically if the device uses the TimeQuest Timing Analyzer by default in the Quartus II software and has the naming convention project name pnr constraints sdc For more information about generating a TimeQuest constraint file refer to Exporting Designs to the Quartus Il Software Using NativeLink Integration on page 18 10 Notes to Table 18 1 1 The timing report file includes performance estimates that are based on pre place and route information Use the fmax reported by the Quartus II software after place and route for accurate post place and route timing information The area report file inc
17. OWNTO 0 SIGNAL pdt int pdt2 int signed 15 DOWNTO 0 SIGNAL result int signed 15 DOWNTO 0 ATTRIBUTE preserve signal OF pdt int SIGNAL IS TRUE ATTRIBUTE dedicated mult OF pdt int SIGNAL IS OFF ATTRIBUTE preserve signal OF pdt2 int SIGNAL IS TRUE ATTRIBUTE dedicated mult OF pdt2 int SIGNAL IS OFF BEGIN a int signed b int signed c int signed d int signed pdt int a int pdt2 int c int d int result int lt pdt int pdt2 int result STD LOGIC VECTOR result int END rtl June 2012 Altera Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 24 Chapter 18 Mentor Graphics Precision Synthesis Support Incremental Compilation and Block Based Design RAM and ROM The Precision Synthesis software detects memory structures in HDL code and converts them to an operator that infers an ALTSYNCRAM or LPM RAM DP megafunction depending on the device family The software then places these functions in memory blocks The software supports inference for these functions only if the target device family has dedicated memory blocks For more information about inferring RAM and ROM megafunctions in HDL code refer to the Recommended HDL Coding Styles chapter in volume 1 of the Quartus II Handbook and the Precision Synthesis Style Guide in the Precision Synthesis Manuals Bookcase To access these manuals in the Precision Synthesis software click Help and sele
18. TO 0 end COMPONENT attribute syn black box boolean attribute syn black box of my vhdlIP component is true BEGIN vhdlIP inst my vhdlIP PORT MAP clock gt clk q gt count END rtl Inferring Altera Megafunctions from HDL Code The Precision Synthesis software automatically recognizes certain types of HDL code and maps arithmetical and relational operators and memory RAM and ROM to efficient technology specific implementations This functionality allows technology specific resources to implement these structures by inferring the appropriate Altera function to provide optimal results In some cases the Precision Synthesis software has options that you can use to disable or control inference T For coding style recommendations and examples for inferring technology specific architecture in Altera devices refer to the Recommended HDL Coding Styles chapter in volume 1 of the Quartus II Handbook and the Precision Synthesis Style Guide in the Precision Manuals Bookcase To access these manuals in the Precision Synthesis software click Help and select Open Manuals Bookcase Multipliers The Precision Synthesis software detects multipliers in HDL code and maps them directly to device atoms to implement the multiplier in the appropriate type of logic The Precision Synthesis software also allows you to control the device resources that are used to implement individual multipliers as described in the following section
19. a Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 14 Chapter 18 Mentor Graphics Precision Synthesis Support Exporting Designs to the Quartus II Software Using NativeLink Integration Although the Precision Synthesis software allows you to set output delays on pins inside the design these constraints are not sent to the Quartus II software set max delay and set min delay The maximum delay for a point to point timing path constraint is specified in the Precision Synthesis software as shown in Example 18 6 The minimum delay for a point to point timing path constraint is shown in Example 18 7 Example 18 6 Using the set max delay Constraint set max delay from from node list to to node list delay value Example 18 7 Using the set min delay Constraint set min delay from from node list to to node list delay value The set max delay and set min delay commands specify that the maximum and minimum respectively required delay for any start point in from node list to any endpoint in to node list must be less than or greater than delay value Typically you use these commands to override the default setup constraint for any path with a specific maximum or minimum time value for the path The node lists can contain a collection of clocks registers ports pins or cells The from and to parameters specify the source start point and the destination endpoin
20. and route and do not affect synthesis You can use the set attribute command in the Precision Synthesis software sdc file format to specify pin number constraints I O standards drive strengths and slow slew rate settings Table 18 2 describes the format to use for entries in the Precision Synthesis software constraint file Table 18 2 Constraint File Settings Constraint Entry Format for Precision Constraint File Pin number set attribute name PIN NUMBER value lt pin number port port name gt O standard set attribute name IOSTANDARD value lt I O Standard port port name Drive strength set attribute name DRIVE value lt drive strength in mA port port name Slew rate set attribute name SLEW value TRUE FALSE port port name You can also specify these options in the GUI To specify a pin number or other I O setting in the Precision Synthesis GUI follow these steps 1 After compiling the design expand Ports in the Design Hierarchy Browser 2 Under Ports expand Inputs or Outputs You also can assign I O settings by right clicking the pin in the Schematic Viewer 3 Right click the desired pin name and select Set Input Constraints under Inputs or Set Output Constraints under Outputs 4 Type the desired pin number on the Altera device in the Pin Number box in the Port Constraints dialog box 5 Select the I O standard from the IO STANDARD list 6 Foroutput pins you can also select a d
21. aration for any lower level files that also contain a black box or for any block beneath the current level of hierarchy June 2012 Altera Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 30 Chapter 18 Mentor Graphics Precision Synthesis Support Incremental Compilation and Block Based Design Example 18 25 VHDL Black Box for Top Level File A vhd LIBRARY ieee USE ieee std logic 1164 all ENTITY A IS PORT data in IN INTEGER RANGE 0 TO 15 clk e ld IN STD LOGIC data out OUT INTEGER RANGE 0 TO 15 END A ARCHITECTURE a arch OF A IS COMPONENT B PORT data in IN INTEGER RANGE 0 TO 15 clk ld IN STD LOGIC d out OUT INTEGER RANGE 0 TO 15 END COMPONENT COMPONENT F PORT d IN INTEGER RANGE 0 TO 15 clk e IN STD LOGIC q OUT INTEGER RANGE 0 TO 15 END COMPONENT Other component declarations in A vhd go here Signal cnt out INTEGER RANGE 0 TO 15 BEGIN Ul B PORT MAP data_in gt data_in clk gt clk ld gt 1d d_out gt cnt_out U2 F PORT MAP d gt cnt_out clk gt clk e gt q gt data out Any other code in A vhd goes here END a_arch After you complete the steps outlined in this section you have different EDIF netlist files for each partition of the design These files are ready for use with incremental compilation in the Quartus II software Creating Quartus II Projects for Multiple EDIF Files The Precision Synthesis software cre
22. artus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 23 Guidelines for Altera Megafunctions and Architecture Specific Features Example 18 20 Using extract mac dedicated mult and preserve signal in Verilog HDL module unsig altmult accuml dataout dataa datab clk aclr clken input 7 0 dataa datab input clk aclr clken output 31 0 dataout reg 31 0 dataout wire 15 0 multa wire 31 0 adder out assign multa dataa datab synthesis attribute multa preserve signal TRUE synthesis attribute multa dedicated mult OFF assign adder out multa dataout always posedge clk or posedge aclr begin if aclr dataout 0 else if clken dataout adder out end synthesis attribute unsig altmult accuml extract mac FALSE endmodule Example 18 21 Using extract mac dedicated mult and preserve signal in VHDL LIBRARY ieee USE ieee std logic 1164 all USE ieee std logic arith all USE ieee std logic signed all ENTITY signedmult add IS PORT a b c d IN STD LOGIC VECTOR 7 DOWNTO O0 result OUT STD LOGIC VECTOR 15 DOWNTO 0 ATTRIBUTE preserve signal BOOLEAN ATTRIBUTE dedicated mult STRING ATTRIBUTE extract mac BOOLEAN ATTRIBUTE extract mac OF signedmult add ENTITY IS FALSE END signedmult add ARCHITECTURE rtl OF signedmult add IS SIGNAL a int b int c int d int signed 7 D
23. ate a separate implementation or a separate project for each lower level module and for the top level design that you want to maintain as a separate netlist file Implement black box instantiations of lower level modules in your top level implementation or project For more information about managing implementations and projects refer to the Precision RTL Synthesis User s Manual To access this manual in the Precision Synthesis software click Help and select Open Manuals Bookcase When synthesizing the implementations for lower level modules perform these steps in the Precision Synthesis software 1 Onthe Tools menu turn off Add IO Pads on the Optimization page under Set Options La You must turn off the Add IO Pads option while synthesizing the lower level modules individually Enable the Add IO Pads option only while synthesizing the top level module 2 Read the HDL files for the modules gt Modules can include black box instantiations of lower level modules that are also maintained as separate netlist files 3 Add constraints for all partitions in the design When synthesizing the top level design implementation perform these steps 1 Read the HDL files for top level designs 2 Onthe Tools menu click Set Options On the Optimization page turn on Add IO Pads Create black boxes for lower level modules in the top level design 4 Add constraints In a standard Quartus II incremental compilation flow Precision Sy
24. ates a tcl file for each implementation and provides the Quartus II software with the appropriate constraints and information to set up a project When using incremental synthesis the Precision RTL Plus Synthesis software creates only a single tcl file project name incr partitions tcl to pass the partition information to the Quartus II software For details about using this Tcl script to set up your Quartus II project and to pass your top level constraints refer to Running the Quartus II Software Manually Using the Precision Synthesis Generated Tel Script on page 18 11 Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 31 Incremental Compilation and Block Based Design Depending on your design methodology you can create one Quartus II project for all EDIF netlists or a separate Quartus II project for each EDIF netlist In the standard incremental compilation design flow you create design partition assignments for each partition in the design within a single Quartus II project This methodology provides the best QoR and performance preservation during incremental changes to your design You might require a bottom up design flow if each partition must be optimized separately such as for third party IP delivery To follow this design flow in the Quartus II software create separate Quartus II projects and export each design partition
25. bute to the port in the HDL source code Controlling Fan Out on Data Nets Fan out is defined as the number of nodes driven by an instance or top level port High fan out nets can cause significant delays that result in an unroutable net Ona critical path high fan out nets can cause longer delays in a single net segment that result in the timing constraints not being met To prevent this behavior each device family has a global fan out value set in the Precision Synthesis software library In addition the Quartus II software automatically routes high fan out signals on global routing lines in the Altera device whenever possible To eliminate routability and timing issues associated with high fan out nets the Precision Synthesis software also allows you to override the library default value on a global or individual net basis You can override the library value by setting a max fanout attribute on the net Synthesizing the Design and Evaluating the Results To synthesize the design for the target device click Synthesize in the Precision Synthesis Design Bar During synthesis the Precision Synthesis software optimizes the compiled design and then writes out netlists and reports to the implementation subdirectory of your working directory after the implementation is saved using the following naming convention project name impl number After synthesis is complete you can evaluate the results for area and timing The Preci
26. clude file from Compile Phase and click OK When this option is turned on the Precision Synthesis software excludes the file from compilation and copies the file to the appropriate directory for use by the Quartus II software during place and route Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 17 Guidelines for Altera Megafunctions and Architecture Specific Features Instantiating Megafunctions With MegaWizard Plug In Manager Generated VHDL Files The MegaWizard Plug In Manager generates a VHDL component declaration file output file gt cmp and a VHDL instantiation template file output file inst vhd for use in your Precision Synthesis design Incorporate the component declaration and instantiation template into your top level design to instantiate the megafunction wrapper file output file gt vhd Adding the megafunction wrapper file output file gt vhd in your Precision Synthesis project is optional but you must add the file to your Quartus II project along with the Precision Synthesis generated EDIF or VOM netlist Alternatively you can include the megafunction wrapper file output file gt vhd in your Precision Synthesis project and then right click the file in the input file list and select Properties In the Input file properties dialog box turn on Exclude file from Compile Phase and click OK When this option is turne
27. ct Open Manuals Bookcase Incremental Compilation and Block Based Design As designs become more complex and designers work in teams a block based incremental design flow is often an effective design approach In an incremental compilation flow you can make changes to one part of the design while maintaining the placement and performance of unchanged parts of the design Design iterations can be made dramatically faster by focusing new compilations on particular design partitions and merging results with the results of previous compilations of other partitions You can perform optimization on individual blocks and then integrate them into a final design and optimize the design at the top level The first step in an incremental design flow is to make sure that different parts of your design do not affect each other You must ensure that you have separate netlists for each partition in your design If the whole design is in one netlist file changes in one partition affect other partitions because of possible node name changes when you resynthesize the design You can create different implementations for each partition in your Precision Synthesis project which allows you to switch between partitions without leaving the current project file You can also create a separate project for each partition if you require separate projects for a team based design flow Alternatively you can use the incremental synthesis capability in the Precision RTL Plus s
28. d designate the partitions with the incr partition attribute For the syntax to create partitions refer to Creating Partitions with the incr partition Attribute on page 18 25 Create a project in the Precision RTL Plus Synthesis software and add the HDL design files to the project Enable incremental synthesis in the Precision RTL Plus Synthesis software using one of these methods m Onthe Tools menu click Set Options On the Optimization page turn on Enable Incremental Synthesis m Runthe following command in the Transcript Window setup design enable incr synth Run the basic Precision Synthesis flow of compilation synthesis and place and route on your design In subsequent runs the Precision RTL Plus Synthesis software processes only the parts of the design that have changed resulting in a shorter iteration than the initial run The performance of the unchanged partitions is preserved The Precision RTL Plus Synthesis software sets the netlist types of the unchanged partitions to Post Fit and the changed partitions to Post Synthesis You can change the netlist type during timing closure in the Quartus II software to obtain the best QoR Import the EDIF or VOM netlist for each partition and the top level tcl file into the Quartus II software and set up the Quartus II project to use incremental compilation Compile your Quartus II project If you want you can change the Quartus II incremental compilation netlist type
29. d on the Precision Synthesis software excludes the file from compilation and copies the file to the appropriate directory for use by the Quartus II software during place and route Instantiating Intellectual Property With the MegaWizard Plug In Manager and IP Toolbench Many Altera IP functions include a resource and timing estimation netlist that the Precision Synthesis software can use to synthesize and optimize logic around the IP efficiently As a result the Precision Synthesis software provides better timing correlation area estimates and Quality of Results QoR than a black box approach To create this netlist file perform the following steps 1 Select the IP function in the MegaWizard Plug In Manager 2 Click Next to open the IP Toolbench 3 Click Set Up Simulation which sets up all the EDA options 4 Turn on the Generate netlist option to generate a netlist for resource and timing estimation and click OK 5 Click Generate to generate the netlist file The Quartus II software generates a file output file syn v This netlist contains the grey box information for resource and timing estimation but does not contain the actual implementation Include this netlist file into your Precision Synthesis project as an input file Then include the megafunction wrapper file output file gt v vhd in the Quartus II project along with your EDIF or VOM output netlist The generated grey box netlist file output file s
30. ge infrequently directly to the HDL source files with HDL attributes or pragmas gt The Precision sdc file contains all the constraints for the Precision Synthesis project For the Quartus II software placement constraints are written in a tcl file and timing constraints for the TimeQuest Timing Analyzer are written in the Quartus II sdc file St For details about the syntax of Synopsys Design Constraint commands refer to the Precision RTL Synthesis User s Manual and the Precision Synthesis Reference Manual For more details and examples of attributes refer to the Attributes chapter in the Precision Synthesis Reference Manual To access these manuals in the Precision Synthesis software click Help and select Open Manuals Bookcase Setting Timing Constraints The Precision Synthesis software uses timing constraints based on the industry standard sdc file format to deliver optimal results Missing timing constraints can result in incomplete timing analysis and might prevent timing errors from being detected The Precision Synthesis software provides constraint analysis prior to synthesis to ensure that designs are fully and accurately constrained The project name pnr constraints sdc file which contains timing constraints in SDC format is generated in the Quartus II software Because the sdc file format requires that timing constraints be set relative to defined clocks you must specify your clock constraints before
31. iles generated by the Precision Synthesis software for each Precision Synthesis software implementation or project to generate multiple Quartus II projects one for each partition in the design Each designer in the project can optimize their block separately in the Quartus II software and export the placement of their blocks using incremental compilation Designers should create a LogicLock region to provide a floorplan location assignment for each block the top level designer should then import all the blocks and assignments into the top level project Figure 18 4 June 2012 Altera Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 32 Chapter 18 Mentor Graphics Precision Synthesis Support Conclusion shows the design flow for the example design in Figure 18 2 on page 18 28 Figure 18 4 Design Flow Using Multiple EDIF Files with Multiple Quartus Il Projects Quartus II Project a edf lt Use a tcl to import Precision Synthesis software assignments e Quartus II Project Quartus II Project Use b tcl to import Use f tcl to import Precision Synthesis Precision Synthesis software assignments software assignments Hierarchy and Design Considerations Conclusion To ensure the proper functioning of the synthesis flow you can create separate partitions only for modules entities or existing netlist files In addition each module or entity must have its own
32. imize the design during place and route in the Quartus II software Repeat the process until the area and timing requirements are met You can use other options and techniques in the Quartus II software to meet area and timing requirements For example the WYSIWYG Primitive Resynthesis option can perform optimizations on your EDIF netlist in the Quartus II software For more information about netlist optimizations refer to the Netlist Optimizations and Physical Synthesis chapter in volume 2 of the Quartus II Handbook For more recommendations about how to optimize your design refer to the Area and Timing Optimization chapter in volume 2 of the Quartus II Handbook While simulation and analysis can be performed at various points in the design process final timing analysis should be performed after placement and routing is complete During synthesis the Precision Synthesis software produces several intermediate and output files which are described in Table 18 1 Table 18 1 Precision Synthesis Software Intermediate and Output Files File Extension File Description vqm edf 2 tcl psp Precision Synthesis Project File xdb Mentor Graphics Design Database File rep Synthesis Area and Timing Report File Technology specific netlist in vqm or edf file format By default the Precision Synthesis software creates vqm files for Arria series Cyclone series and Stratix series devices and creates edf files for AC
33. ion for the design Instantiating Altera Megafunctions Using the MegaWizard Plug In Manager and Instantiating Intellectual Property With the MegaWizard Plug In Manager and IP Toolbench on page 18 17 describe the MegaWizard Plug In Manager flow with the Precision Synthesis software June 2012 Altera Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 16 Chapter 18 Mentor Graphics Precision Synthesis Support Guidelines for Altera Megafunctions and Architecture Specific Features For more information about specific Altera megafunctions and IP functions refer to the IP and Megafunctions page of the Altera website The Precision Synthesis software automatically recognizes certain types of HDL code and infers the appropriate function The Precision Synthesis software provides options to control inference of certain types of megafunctions as described in Inferring Altera Megafunctions from HDL Code on page 18 19 For a detailed discussion about instantiating functions versus inferring functions to target Altera architecture specific features refer to the Recommended HDL Coding Styles chapter in volume 1 of the Quartus II Handbook This chapter also provides details on using the MegaWizard Plug In Manager in the Quartus II software and explains the files generated by the wizard as well as coding style recommendations and HDL examples for inferring functions in Altera devices Instantiating Altera Megafunction
34. ist is created for module B and its submodules D and E while a third netlist is created for module F To create multiple EDIF netlist files for this design follow these steps 1 Generate an edf file for module B Use B v vhd D v vhd and E v vhd as the source files 2 Generate an edf file for module F Use E v vhd as the source file 3 Generate a top level edf file for module A Use A v vhd and C v vhd as the source files Ensure that you create black boxes for modules B and F which were optimized separately in the previous steps The goal is to individually synthesize and generate an edf netlist file for each lower level module and then instantiate these modules as black boxes in the top level file You can then synthesize the top level file to generate the edf netlist file for the top level design Finally both the lower level and top level edf netlist files are provided to your Quartus II project L When you make design or synthesis optimization changes to part of your design resynthesize only the changed partition to generate the new edf netlist file Do not resynthesize the implementations or projects for the unchanged partitions Creating Black Boxes in Verilog HDL Any design block that is not defined in the project or included in the list of files to be read for a project is treated as a black box by the software In Verilog HDL you must provide an empty module declaration for any module that is treated as a b
35. lack box Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 29 Incremental Compilation and Block Based Design A black box for the top level file A v is shown in the following example Provide an empty module declaration for any lower level files which also contain a black box for any module beneath the current level of hierarchy Example 18 24 Verilog HDL Black Box for Top Level File A v module A data in clk e ld data out input data in clk e ld output 15 0 data out wire 15 0 cnt out B U1 data in data in clk clk 1d 1d data out cnt out F U2 d cnt out clk clk e e q data out Any other code in A v goes here endmodule Empty Module Declarations of Sub Blocks B and F follow here These module declarations including ports are required for black boxes module B data in clk ld data out input data in clk 1d output 15 0 data out endmodule module F d clk e q input 15 0 d input clk e output 15 0 q endmodule Creating Black Boxes in VHDL Any design block that is not defined in the project or included in the list of files to be read for a project is treated as a black box by the software In VHDL you must provide a component declaration for the black box A black box for the top level file A vhd is shown in Example 18 25 Provide a component decl
36. ltiplier and click Use Dedicated Multiplier Setting the dedicated mult Attribute To control the implementation of a multiplier in your HDL code use the dedicated mult attribute with the appropriate value from Table 18 3 as shown in Example 18 12 and Example 18 13 Example 18 12 Setting the dedicated mult Attribute in Verilog HDL synthesis attribute signal name dedicated mult value Example 18 13 Setting the dedicated mult Attribute in VHDL ATTRIBUTE dedicated mult STRING ATTRIBUTE dedicated mult OF signal name SIGNAL IS value The dedicated mult attribute can be applied to signals and wires it does not work when applied to a register This attribute can be applied only to simple multiplier code such as a b c Some signals for which the dedicated mult attribute is set can be removed during synthesis by the Precision Synthesis software for design optimization In such cases if you want to force the implementation you should preserve the signal by setting the preserve signal attribute to TRUE as shown in Example 18 14 and Example 18 15 Example 18 14 Setting the preserve signal Attribute in Verilog HDL synthesis attribute signal name gt preserve signal TRUE Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 21 Guidelines for Altera Megafunctions and Architecture Specific Features Exa
37. ludes post synthesis device resource utilization statistics that can differ from the resource usage after place and route due to black boxes or further optimizations performed during placement and routing Use the device utilization reported by the Quartus II software after place and route for final resource utilization results See Synthesizing the Design and Evaluating the Results on page 18 9 for details 2 The Precision Synthesis software generated VQM file is supported by the Quartus Il software version 10 1 and later Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 5 Creating and Compiling a Project in the Precision Synthesis Software Creating and Compiling a Project in the Precision Synthesis Software After creating your design files create a project in the Precision Synthesis software that contains the basic settings for compiling the design To create a project follow these steps 1 Inthe Precision Synthesis software click New Project in the Design Bar on the left side of the GUI 2 Specify the Project Name and the Project Folder The implementation name of the design corresponds to this project name 3 Add input files to the project by clicking Add Input Files in the Design Bar The Precision Synthesis software automatically detects the top level module entity of the design and uses it to name the current implementa
38. mple 18 15 Setting the preserve signal Attribute in VHDL ATTRIBUTE preserve signal BOOLEAN ATTRIBUTE preserve signal OF signal name SIGNAL IS TRUE Example 18 16 and Example 18 17 are examples in Verilog HDL and VHDL of using the dedicated mult attribute to implement the given multiplier in regular logic in the Quartus II software Example 18 16 Verilog HDL Multiplier Implemented in Logic module unsigned mult result a b output 15 0 result input 7 0 a input 7 0 b assign result a b synthesis attribute result dedicated mult OFF endmodule Example 18 17 VHDL Multiplier Implemented in Logic LIBRARY ieee USE ieee std logic 1164 ALL USE ieee std logic arith ALL USE ieee std logic unsigned ALL ENTITY unsigned mult IS PORT a IN std logic vector 7 DOWNTO 0 b IN std logic vector 7 DOWNTO 0 result OUT std logic vector 15 DOWNTO 0 ATTRIBUTE dedicated mult STRING END unsigned mult ARCHITECTURE rtl OF unsigned mult IS SIGNAL a int b int UNSIGNED 7 downto 0 SIGNAL pdt int UNSIGNED 15 downto 0 ATTRIBUTE dedicated mult OF pdt int SIGNAL IS OFF BEGIN a int UNSIGNED a b int UNSIGNED b pdt int a int b int result std logic vector pdt int END rtl Multiplier Accumulators and Multiplier Adders The Precision Synthesis software also allows you to control the device resources used to implement multiply accumulators or multiply adde
39. ng the Quartus II Software to Run the Precision Synthesis Software on page 18 12 for more information 7 After obtaining place and route results that meet your requirements configure or program the Altera device Figure 18 1 shows the Quartus II design flow using the Precision Synthesis software as described in these steps which are further described in detail in this chapter Figure 18 1 Design Flow Using the Precision Synthesis Software and Quartus Il Software Design Specifications e System Verilog HDL Verilog Constraints and m Settings Precision Synthesis June 2012 Altera Corporation Technology Forward Annotated Projec Specific Netlist Configuration edf tel acf Quartus II Timing Constraints in SDC format sdc Post Synthesis Simulation Files v 0 vo Y Quartus II Software Constraints and Settings No Timing and Area Post Place and Route Requirements Simulation File Satisfied V 0 vo Configuration Programming Files Sof pof Y Prog ram Configure Device Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 4 Chapter 18 Mentor Graphics Precision Synthesis Support Design Flow If your area or timing requirements are not met you can change the constraints and resynthesize the design in the Precision Synthesis software or you can change the constraints to opt
40. nthesis software constraints made on lower level modules are not passed to the Quartus II software Ensure that appropriate constraints are made in the top level Precision Synthesis project or in the Quartus II project June 2012 Altera Corporation Quartus I Handbook Version 13 1 Volume 1 Design and Synthesis 18 28 Chapter 18 Mentor Graphics Precision Synthesis Support Incremental Compilation and Block Based Design Creating Black Boxes to Create EDIF Netlists This section describes how to create black boxes to create separate EDIF netlists Figure 18 2 shows an example of a design hierarchy separated into various partitions Figure 18 2 Partitions in a Hierarchical Design Partition Top A B C D E F Partition B Partition F In Figure 18 2 the top level partition contains the top level block in the design block A and the logic that is not defined as part of another partition In this example the partition for top level block A also includes the logic in the sub block C Because block F is contained in its own partition it is not treated as part of the top level partition A Another separate partition B contains the logic in blocks B D and E In a team based design different engineers may work on the logic in different partitions One netlist is created for the top level module A and its submodule C another netl
41. oftware St For more information about creating partitions and using incremental compilation in the Quartus II software refer to the Ouartus II Incremental Compilation for Hierarchical and Team Based Design chapter in volume 1 of the Quartus II Handbook Creating a Design with Precision RTL Plus Incremental Synthesis The Precision RTL Plus incremental synthesis flow for Quartus II incremental compilation uses a partition based approach to achieve faster design cycle time Using the incremental synthesis feature you can create different netlist files for different partitions of a design hierarchy within one partition implementation which makes each partition independent of the others in an incremental compilation flow Only the portions of a design that have been updated must be recompiled during design iterations You can make changes and resynthesize one partition in a design to create a new netlist without affecting the synthesis results or fitting of other partitions Quartus Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 25 Incremental Compilation and Block Based Design The following steps show a general flow for partition based incremental synthesis with Quartus II incremental compilation 1 2 Create Verilog HDL or VHDL design files Determine which hierarchical blocks you want to treat as separate partitions in your design an
42. ol the place and route process Use the setup place and route command to set the place and route options Start the process with the place and route command Precision Synthesis software uses individual Quartus II executables such as analysis and synthesis quartus map Fitter quartus fit and the TimeQuest Timing Analyzer quartus sta for improved runtime and memory utilization during place and route This flow is referred to as the Quartus II Modular flow option in the Precision Synthesis software By default the Precision Synthesis software generates a Quartus II Project Configuration File tcl file for current device families Timing constraints that you set during synthesis are exported to the Quartus II place and route constraints file project name pnr constraints sdc After you compile the design in the Quartus II software from within the Precision Synthesis software you can invoke the Quartus II GUI manually and then open the project using the generated Quartus II project file You can view reports run analysis tools specify options and run the various processing flows available in the Quartus II software St For more information about running the Quartus II software from within the Precision Synthesis software refer to the Altera Quartus II Integration chapter in the Precision Synthesis Reference Manual To access this manual in the Precision Synthesis software click Help and select Open Manuals Bookcase Running the Qua
43. ost synthesis area and timing estimates but you should use the place and route software to obtain final logic utilization and timing reports Exporting Designs to the Quartus Il Software Using NativeLink Integration The NativeLink feature in the Quartus II software facilitates the seamless transfer of information between the Quartus II software and EDA tools which allows you to run other EDA design entry synthesis simulation and timing analysis tools automatically from within the Quartus II software After a design is synthesized in the Precision Synthesis software the technology mapped design is written to the current implementation directory as an EDIF netlist file along with a Quartus II Project Configuration File and a place and route constraints file You can use the Project Configuration script project name gt tcl to create and compile a Quartus II project for your EDIF or VOM netlist This script makes basic project assignments such as assigning the target device specified in the Precision Synthesis software If you select an Arria GX Stratix IIL Cyclone III or newer device the constraints are written in SDC format to the project name pnr constraints sdc file by default which is used by the Fitter and the TimeQuest Timing Analyzer in the Quartus II software Use the following Precision Synthesis software command before compilation to generate the project name pnr constraints sdc setup design timequest sdc
44. r ALTMULT ACCUM megafunction appropriately in your design These megafunctions allow the Quartus II software to select either logic or DSP blocks depending on the device utilization and the size of the function You can use the extract mac attribute to prevent inference of an ALTMULT ADD or ALTMULT ACCUM megafunction in a certain module or entity The options for this attribute are described in Table 18 4 Table 18 4 Options for extract mac Attribute Controlling DSP Implementation Value Description TRUE The ALTMULT ADD or ALTMULT_ACCUM megafunction is inferred FALSE The ALTMULT ADD or ALTMULT ACCUM megafunction is not inferred To control inference use the extract mac attribute with the appropriate value from Table 18 4 in your HDL code as shown in Example 18 18 and Example 18 19 Example 18 18 Setting the extract mac Attribute in Verilog HDL synthesis attribute module name extract mac value Example 18 19 Setting the extract mac Attribute in VHDL ATTRIBUTE extract mac BOOLEAN ATTRIBUTE extract mac OF entity name ENTITY IS value To control the implementation of the multiplier portion of a multiply accumulator or multiply adder you must use the dedicated mult attribute Example 18 20 and Example 18 21 on page 18 23 use the extract mac dedicated mult and preserve signal attributes in Verilog HDL and VHDL to implement the given DSP function in logic in the Quartus II software Qu
45. rive strength setting and slew rate setting using the DRIVE and SLOW SLEW lists You also can use synthesis attributes or pragmas in your HDL code to make these assignments Example 18 1 and Example 18 2 show code samples that make a pin assignment in your HDL code Example 18 1 Verilog HDL Pin Assignment pragma attribute clk pin number P10 Example 18 2 VHDL Pin Assignment attribute pin number string attribute pin number of clk signal is P10 June 2012 Altera Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 8 Chapter 18 Mentor Graphics Precision Synthesis Support Mapping the Precision Synthesis Design You can use the same syntax to assign the I O standard using the IOSTANDARD attribute drive strength using the attribute DRIVE and slew rate using the SLEW attribute 5 For more details about attributes and how to set these attributes in your HDL code refer to the Precision Synthesis Reference Manual To access this manual in the Precision Synthesis software click Help and select Open Manuals Bookcase Assigning 1 0 Registers The Precision Synthesis software performs timing driven I O register mapping by default You can force a register to the device s IO element IOE using the Complex I O constraint This option does not apply if you turn off I O pad insertion Refer to Disabling I O Pad Insertion on page 18 8 for more information To force an I O register into the device s IOE using
46. rmance goals and decrease design time Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 33 Document Revision History Document Revision History Table 18 5 shows the revision history for this document Table 18 5 Document Revision History Date June 2012 November 2011 Version 12 0 0 10 1 1 Changes Removed survey link Template update Minor editorial changes December 2010 July 2010 November 2009 10 1 0 10 0 0 9 1 0 Changed to new document template Removed Classic Timing Analyzer support Added support for vqm netlist files Edited the Creating Quartus Projects for Multiple EDIF Files on page 15 30 section for changes with the incremental compilation flow Editorial changes Minor updates for the Quartus Il software version 10 0 release Minor updates for the Quartus II software version 9 1 release March 2009 Updated list of supported devices for the Quartus II software version 9 0 release Chapter 11 was previously Chapter 10 in software version 8 1 November 2008 May 2008 Changed to 8 1 2 x 11 page size Title changed to Mentor Graphics Precision Synthesis Support Updated list of supported devices Added information about the Precision RTL Plus incremental synthesis flow Updated Figure 10 1 to include SystemVerilog Updated Guidelines for Altera Megafunctions and
47. rs in your project or in a particular module The Precision Synthesis software detects multiply accumulators or multiply adders in HDL code and infers an ALTMULT ACCUM or ALTMULT ADD megafunction so that the logic can be placed in DSP blocks or the software maps these functions directly to device atoms to implement the multiplier in the appropriate type of logic June 2012 Altera Corporation Quartus II Handbook Version 13 1 Volume 1 Design and Synthesis 18 22 Chapter 18 Mentor Graphics Precision Synthesis Support Guidelines for Altera Megafunctions and Architecture Specific Features The Precision Synthesis software supports inference for these functions only if the target device family has dedicated DSP blocks Refer to Controlling DSP Block Inference for more information For more information about DSP blocks in Altera devices refer to the appropriate Altera device family handbook and device specific documentation For details about which functions a given DSP block can implement refer to the DSP Solutions Center on the Altera website at www altera com For more information about inferring multiply accumulator and multiply adder megafunctions in HDL code refer to the Recommended HDL Coding Styles chapter in volume 1 of the Quartus II Handbook and the Precision Synthesis Style Guide in the Precision Synthesis Manuals Bookcase Controlling DSP Block Inference By default the Precision Synthesis software infers the ALTMULT ADD o
48. rtus Il Software Manually Using the Precision Synthesis Generated Tcl Script You can run the Quartus II software using a Tcl script generated by the Precision Synthesis software To run the Tcl script generated by the Precision Synthesis software to set up your project and start a full compilation perform the following steps 1 Ensure the edf or vqm file tcl files and sdc file are located in the same directory The files should be located in the implementation directory by default 2 In the Quartus II software on the View menu point to Utility Windows and click Tcl Console 3 Atthe Tcl Console command prompt type the command source path project name tcl 4 Onthe File menu click Open Project Browse to the project name and click Open 5 Compile the project in the Quartus II software June 2012 Altera Corporation Quartus I Handbook Version 13 1 Volume 1 Design and Synthesis 18 12 Chapter 18 Mentor Graphics Precision Synthesis Support Exporting Designs to the Quartus II Software Using NativeLink Integration Using the Quartus Il Software to Run the Precision Synthesis Software With NativeLink integration you can set up the Quartus II software to run the Precision Synthesis software This feature allows you to use the Precision Synthesis software to synthesize a design as part of a standard compilation When you use this feature the Precision Synthesis software does not use any timing constraints or assignmen
49. s Using the MegaWizard Plug In Manager This section describes how to instantiate Altera megafunctions with the MegaWizard Plug In Manager and how to generate the files that are included in the Precision Synthesis project for synthesis You can run the stand alone version of the MegaWizard Plug In Manager by typing the following command at a command prompt qmegawiz Instantiating Megafunctions With MegaWizard Plug In Manager Generated Verilog HDL Files The MegaWizard Plug In Manager generates a Verilog HDL instantiation template file output file inst v and a hollow body black box module declaration output file bb v for use in your Precision Synthesis design Incorporate the instantiation template file output file inst v into your top level design to instantiate the megafunction wrapper file output file gt v Include the hollow body black box module declaration output file bb v in your Precision Synthesis project to describe the port connections of the black box Adding the megafunction wrapper file output file v in your Precision Synthesis project is optional but you must add it to your Quartus II project along with the Precision Synthesis generated EDIF or VOM netlist Alternatively you can include the megafunction wrapper file output file v in your Precision Synthesis project and then right click the file in the input file list and select Properties In the Input file properties dialog box turn on Ex
50. sion RTL Synthesis User s Manual on the Mentor Graphics website describes different results that can be evaluated in the software June 2012 Altera Corporation Quartus I Handbook Version 13 1 Volume 1 Design and Synthesis 18 10 Chapter 18 Mentor Graphics Precision Synthesis Support Exporting Designs to the Quartus II Software Using NativeLink Integration There are several schematic viewers available in the Precision Synthesis software RTL schematic Technology mapped schematic and Critical Path schematic These analysis tools allow you to quickly and easily isolate the source of timing or area issues and to make additional constraint or code changes to optimize the design Obtaining Accurate Logic Utilization and Timing Analysis Reports Historically designers have relied on post synthesis logic utilization and timing reports to determine the amount of logic their design requires the size of the device required and how fast the design runs However today s FPGA devices provide a wide variety of advanced features in addition to basic registers and look up tables LUTs The Quartus II software has advanced algorithms to take advantage of these features as well as optimization techniques to increase performance and reduce the amount of logic required for a given design In addition designs can contain black boxes and functions that take advantage of specific device features Because of these advances synthesis tool reports provide p
51. st synthesis time 5 Synthesize the project in the Precision Synthesis software With the design analysis and cross probing capabilities of the Precision Synthesis software you can identify and improve circuit area and performance issues using prelayout timing estimates 6 Create a Quartus II project and import the following files generated by the Precision Synthesis software into the Quartus II project m The technology specific EDIF edf netlist or Verilog Quartus Mapping File vqm netlist m Synopsys Design Constraints File sdc for TimeQuest Timing Analyzer constraints Quartus I Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 3 Design Flow If your design uses the Classic Timing Analyzer for timing analysis in the Quartus II software versions 10 0 and earlier the Precision Synthesis software generates timing constraints in the Tcl Constraints File tcl If you are using the Quartus II software versions 10 1 and later you must use the TimeQuest Timing Analyzer for timing analysis m Tel Script Files tcl to set up your Quartus II project and pass constraints You can run the Quartus II software from within the Precision Synthesis software or run the Precision Synthesis software using the Quartus II software Refer to Running the Quartus II Software from within the Precision Synthesis Software on page 18 10 and Usi
52. stic constraints as possible Be sure to set constraints for timing mapping false paths multicycle paths and other factors that control the structure of the implemented design Mentor Graphics recommends creating an sdc file and adding this file to the Constraint Files section of the Project Files list You can create this file with a text editor by issuing command line constraint parameters or by directing the Precision Synthesis software to generate the file automatically the first time you synthesize your design To create a constraint file with the user interface set constraints on design objects such as clocks design blocks or pins in the Design Hierarchy browser By June 2012 Altera Corporation Quartus I Handbook Version 13 1 Volume 1 Design and Synthesis 18 6 Chapter 18 Mentor Graphics Precision Synthesis Support Mapping the Precision Synthesis Design default the Precision Synthesis software saves all timing constraints and attributes in two files precision rtl sdc and precision tech sdc The precision rtl sdc file contains constraints set on the RTL level database post compilation and the precision_tech sdc file contains constraints set on the gate level database post synthesis located in the current implementation directory You can also enter constraints at the command line After adding constraints at the command line update the sdc file with the update constraint file command You can add constraints that chan
53. t of the timing path respectively The source list from node list cannot include output ports and the destination list to node list cannot include input ports If you include more than one node on a list you must enclose the nodes in quotes or in braces If you specify a clock in the source list you must specify a clock in the destination list Applying set max delay or set min delay setting between clocks applies the exception from all registers or ports driven by the source clock to all registers or ports driven by the destination clock Applying exceptions between clocks is more efficient than applying them for specific node to node or node to clock paths If you want to specify pin names in the list the source must be a clock pin and the destination must be any non clock input pin to a register Assignments from clock pins or to and from cells apply to all registers in the cell or for those driven by the clock pin set false path The false path constraint is specified in the Precision Synthesis software as shown in Example 18 8 Example 18 8 Using the set false path Constraint set false path to to node list from from node list reset path The node lists can be a list of clocks ports instances and pins Multiple elements in the list can be represented using wildcards such as and In a place and route Tcl constraints file this false path setting in the Precision Synthesis software is mapped
54. the GUI follow these steps 1 After compiling the design expand Ports in the Design Hierarchy browser 2 Under Ports expand Inputs or Outputs 3 Under Inputs or Outputs right click the desired pin name point to Map Input Register to IO or Map Output Register to IO for input or output respectively and click True You also can make the assignment by right clicking on the pin in the Schematic Viewer For the Stratix series Cyclone series and the MAX II device families the Precision Synthesis software can move an internal register to an I O register without any restrictions on design hierarchy For more mature devices the Precision Synthesis software can move an internal register to an I O register only when the register exists in the top level of the hierarchy If the register is buried in the hierarchy you must flatten the hierarchy so that the buried registers are moved to the top level of the design Disabling 1 0 Pad Insertion The Precision Synthesis software assigns I O pad atoms device primitives used to represent the I O pins and I O registers to all ports in the top level of a design by default In certain situations you might not want the software to add I O pads to all I O pins in the design The Quartus II software can compile a design without I O pads however including I O pads provides the Precision Synthesis software with more information about the top level pins in the design Preventing the Precision S
55. tion directory logs reports and netlist files 4 In the Design Bar click Setup Design 5 To specify a target device family expand Altera and select the target device and speed grade 6 If you want you can set a global design frequency and or default input and output delays This constrains all clock paths and I O pins in your design Modify the settings for individual paths or pins that do not require such a setting 7 Onthe Design Center tab right click the Output Files folder and click Output Options 8 To generate additional HDL netlists for post synthesis simulation select the desired output format The Precision Synthesis software generates a separate file for each selected type of file EDIF and Verilog HDL or VHDL 9 To compile the design into a technology independent implementation in the Design Bar click Compile Mapping the Precision Synthesis Design In the next steps you set constraints and map the design to technology specific cells The Precision Synthesis software maps the design by default to the fastest possible implementation that meets your timing constraints To accomplish this you must specify timing requirements for the automatically determined clock sources With this information the Precision Synthesis software performs static timing analysis to determine the location of the critical timing paths The Precision Synthesis software achieves the best results for your design when you set as many reali
56. ts such as incremental compilation partitions that you have set in the Quartus II software 2 For detailed information about using NativeLink integration with the Precision Synthesis software refer to Using the NativeLink Feature with Other EDA Tools in the Quartus II Help Passing Constraints to the Quartus Il Software The place and route constraints script forward annotates timing constraints that you made in the Precision Synthesis software This integration allows you to enter these constraints once in the Precision Synthesis software and then pass them automatically to the Quartus II software Refer to the introductory text in the section Exporting Designs to the Quartus II Software Using NativeLink Integration on page 18 10 for information on how to ensure the Precision Synthesis software targets the TimeQuest Timing Analyzer The following constraints are translated by the Precision Synthesis software and are applicable to the TimeQuest Timing Analyzer E create clock B set input delay E set output delay E set max delay E set min delay B set false path BH set multicycle path create clock You can specify a clock in the Precision Synthesis software as shown in Example 18 3 Example 18 3 Specifying a Clock using create clock create clock name clock name period period in ns waveform edge list domain V ClockDomain pin Quartus Il Handbook Version 13 1 June 2012 Altera Corporation
57. y This port specific input delay constraint is specified in the Precision Synthesis software as shown in Example 18 4 Example 18 4 Specifying set input delay set input delay delay value port pin list clock clock name rise fall add delay This constraint is mapped to the set input delay setting in the Quartus II software When the reference clock clock name is not specified all clocks are assumed to be the reference clocks for this assignment The input pin name for the assignment can be an input pin name of a time group The software can use the clock fall option to specify delay relative to the falling edge of the clock Although the Precision Synthesis software allows you to set input delays on pins inside the design these constraints are not sent to the Quartus II software and a message is displayed set output delay This port specific output delay constraint is specified in the Precision Synthesis software as shown in Example 18 5 Example 18 5 Using the set output delay Constraint set output delay delay value port pin list clock clock name rise fall add delay This constraint is mapped to the set output delay setting in the Quartus II software When the reference clock clock name is not specified all clocks are assumed to be the reference clocks for this assignment The output pin name for the assignment can bean output pin name of a time group June 2012 Alter
58. yn v is always in Verilog HDL format even if you select VHDL as the output file format For information about creating a grey box netlist file from the command line search Altera s Knowledge Database Alternatively you can use a black box approach as described in Instantiating Black Box IP Functions With Generated Verilog HDL Files June 2012 Altera Corporation Quartus I Handbook Version 13 1 Volume 1 Design and Synthesis 18 18 Chapter 18 Mentor Graphics Precision Synthesis Support Guidelines for Altera Megafunctions and Architecture Specific Features Instantiating Black Box IP Functions With Generated Verilog HDL Files You can use the syn black box or black box compiler directives to declare a module as a black box The top level design files must contain the IP port mapping and a hollow body module declaration You can apply the directive to the module declaration in the top level file or a separate file included in the project so that the Precision Synthesis software recognizes the module is a black box gt The syn black boxand black box directives are supported only on module or entity definitions Example 18 10 shows a sample top level file that instantiates my verilogIP v which is a simplified customized variation generated by the MegaWizard Plug In Manager and IP Toolbench Example 18 10 Top Level Verilog HDL Code with Black Box Instantiation of IP module top clk count input clk output 7 0 count
59. ynthesis Software from Adding 1 0 Pads If you are compiling a subdesign as a separate project I O pins cannot be primary inputs or outputs of the device therefore the I O pins should not have an I O pad associated with them To prevent the Precision Synthesis software from adding I O pads perform the following steps 1 Onthe Tools menu click Set Options The Options dialog box appears Quartus Il Handbook Version 13 1 June 2012 Altera Corporation Volume 1 Design and Synthesis Chapter 18 Mentor Graphics Precision Synthesis Support 18 9 Synthesizing the Design and Evaluating the Results Ls 2 On the Optimization page turn off Add IO Pads 3 Click Apply These steps add the following command to the project file setup design addio false Preventing the Precision Synthesis Software from Adding an 1 0 Pad on an Individual Pin To prevent I O pad insertion on an individual pin when you are using a black box such as DDR or a phase locked loop PLL at the external ports of the design perform the following steps 1 After compiling the design in the Design Hierarchy browser expand Ports 2 Under Ports expand Inputs or Outputs 3 Under Inputs or Outputs right click the desired pin name and click Set Input Constraints 4 In the Port Constraints dialog box for the selected pin name turn off Insert Pad You also can make this assignment by right clicking the pin in the Schematic Viewer or by attaching the nopad attri

Download Pdf Manuals

image

Related Search

Related Contents

Ariel 801L Installation Guide  Sola 26 User Manual 60Hz  Hama Classic  Specification Sheet  RocketFish RF-HDMI4 Switch User Manual  ruResearch report 125 - Department of Computer Science  Samsung Galaxy TabPRO 10.1 32GB White  Wave Window  Philips SVC2521W With fluid CD/DVD cleaning wipes  STATE OF NEW JERSEY  

Copyright © All rights reserved.
Failed to retrieve file