Quartus II Design Example: Design Space Explorer Custom Space
Design Space Explorer (DSE) is a simple and easy-to-use design optimization utility that ships with the Quartus® II software and is written in tool command language (Tcl). DSE will explore and report Quartus II options that are optimal for your design and target either design performance or area utilization improvements.
DSE will search a predefined set of Quartus II options that make it easy to determine optimal settings for a particular design. DSE also supports custom spaces, which provides the ability to explore specific options as specified by the user. Creating custom spaces allows for full customization over the Quartus II options that DSE will explore. Below is a sample custom exploration space for DSE.
DSE custom spaces are written in extensible markup language (XML). Figure 1 shows a sample custom space. This sample contains four exploration points that will modify seven Quartus II options for a DSE exploration. The options that will be modified are listed in Tables 1 and 2. The sample exploration space can be used as a template for the creation of any exploration spaces.
Download the custom space files used in this example:
The use of this design is governed by, and subject to, the terms and conditions of the Altera Hardware Reference Design License Agreement.
Before a custom space can be explored, you must first specify the custom space in DSE. Custom spaces can be specified in DSE by performing an Advanced Search and selecting Custom Space as the Exploration Space type.
Figure 1. Sample DSE Custom Space File Contained in custom_space.dse
<DESIGNSPACE>
<POINT space="map" enabled="1">
</POINT>
<POINT space="map" enabled="1">
<PARAM name="CYCLONE_OPTIMIZATION_TECHNIQUE">SPEED</PARAM>
<PARAM name="STATE_MACHINE_PROCESSING">MINIMAL BITS</PARAM>
<PARAM name="ADV_NETLIST_OPT_SYNTH_GATE_RETIME">OFF</PARAM>
<PARAM name="STRATIX_OPTIMIZATION_TECHNIQUE">SPEED</PARAM>
</POINT>
<POINT space="fit" enabled="1">
</POINT>
<POINT space="fit" enabled="1">
<PARAM name="PHYSICAL_SYNTHESIS_REGISTER_RETIMING">ON</PARAM>
<PARAM name="PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION">ON</PARAM>
<PARAM name="AUTO_PACKED_REGISTERS_STRATIX">NORMAL</PARAM>
<PARAM name="PHYSICAL_SYNTHESIS_COMBO_LOGIC">ON</PARAM>
<PARAM name="AUTO_PACKED_REGISTERS_CYCLONE">NORMAL</PARAM>
</POINT>
</DESIGNSPACE>
The following explains each of the various space points within the custom space.
Figure 2 defines the first space point in the “map” space. This space point defines an empty “map” point. This is the first of two required empty space points in the custom exploration space that defines the base compile in a DSE exploration.
Figure 2. First Space Point
<POINT space="map" enabled="1">
</POINT>
Figure 3 defines the second space point in the “map” space. The values in the PARAM tags are the Quartus II options that will be explored by DSE in this point.
Figure 3. Second Space Point
<POINT space="map" enabled="1">
<PARAM name="CYCLONE_OPTIMIZATION_TECHNIQUE">SPEED</PARAM>
<PARAM name="STATE_MACHINE_PROCESSING">MINIMAL BITS</PARAM>
<PARAM name="ADV_NETLIST_OPT_SYNTH_GATE_RETIME">OFF</PARAM>
<PARAM name="STRATIX_OPTIMIZATION_TECHNIQUE">SPEED</PARAM>
</POINT>
This particular point will modify the Quartus II options found in Table 1.
| Table 1. Second Space Point Options |
| PARAM Value |
Quartus II Option |
Value |
CYCLONE_OPTIMIZATION_TECHNIQUE
STRATIX_OPTIMIZATION_TECHNIQUE |
Optimization Technique |
SPEED |
| STATE_MACHINE_PROCESSING |
State Machine Processing |
MINIMAL_BITS |
| ADV_NETLIST_OPT_SYNTH_GATE_RETIME |
Perform gate-level register retiming |
OFF |
Refer to the Design Space Explorer chapter of the Quartus II Handbook for all available values for the PARAM tags.
Figure 4 defines the third space point in the “fit” space. This space point is an empty “fit” point. This is the second of 2 required empty space points in the custom exploration space that defines the base compile in a DSE exploration.
Figure 4. Third Space Point
<POINT space="fit" enabled="1">
</POINT>
Figure 5 defines the fourth space point in the “fit” space. The values in the PARAM tags are the Quartus II options that will be explored by DSE in this point.
Figure 5. Fourth Space Point
<POINT space="fit" enabled="1">
<PARAM name="PHYSICAL_SYNTHESIS_REGISTER_RETIMING">ON</PARAM>
<PARAM name="PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION">ON</PARAM>
<PARAM name="AUTO_PACKED_REGISTERS_STRATIX">NORMAL</PARAM>
<PARAM name="PHYSICAL_SYNTHESIS_COMBO_LOGIC">ON</PARAM>
<PARAM name="AUTO_PACKED_REGISTERS_CYCLONE">NORMAL</PARAM>
</POINT>
This particular point will modify the Quartus II options found in Table 2.
| Table 2. Fourth Space Point Options |
| PARAM Value |
Quartus II Option |
Value |
| PHYSICAL_SYNTHESIS_REGISTER_RETIMING |
Perform Register Duplication |
ON |
| PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION |
Perform Register Duplication |
ON |
AUTO_PACKED_REGISTERS_STRATIX
AUTO_PACKED_REGISTERS_CYCLONE |
Auto Packed Registers – Stratix/Stratix GX |
NORMAL |
| PHYSICAL_SYNTHESIS_COMBO_LOGIC |
Perform physical synthesis for combinational logic |
ON |
Refer to the Design Space Explorer chapter of the Quartus II Handbook for all available values for the PARAM tags.
Once all the space points have been combined as shown in Figure 1 the custom exploration space is completed.
Figure 1 provides a sample custom space that can be used to explore the Quartus II options specified, however, this sample can be modified to explore any or all of the supported Quartus II options in DSE.
Custom Spaces are supported in DSE that ships with the Quartus II web edition software.
Related Links
For more information about using this example in your project, go to:
Design Examples Disclaimer
These design examples may only be used within Altera Corporation devices and remain the property of Altera. They are being provided on an “as-is” basis and as an accommodation; therefore, all warranties, representations, or guarantees of any kind (whether express, implied, or statutory) including, without limitation, warranties of merchantability, non-infringement, or fitness for a particular purpose, are specifically disclaimed. Altera expressly does not recommend, suggest, or require that these examples be used in combination with any other product not provided by Altera.
|