Chapter 3: Tcl

Note: See also the collection set command for more information on property values for the

collection command.

R

index (extract a collection object)

Given a collection and an index into it, the collection index command extracts the object at the specified index and returns the object, if the index is in range. The base collection is unchanged.

The range for an index is zero (0) to one less (-1) the size of the collection obtained with the collection sizeof command. See “sizeof (show the number of objects in a collection).”

collection index <collection_variable> <index>

collection is the name of the Xilinx Tcl command.

index is the name of the collection subcommand.

collection_variable specifies the name of the collection for index.

index specifies the index into the collection. Index values are 0 to -1, unless the size of the collection was defined with the collection sizeof command.

Example:

% set colVar [search * -type instance]

 

% set item [collection index $colVar 2]

 

% object name $item

 

 

Description:

In this example, the collection index command extracts the third object

 

in the collection of instances.

 

In the first line, the set command is used to create a collection variable

 

named colVar. The nested search command defines the value of the

 

collection for colVar, which in this case is all of the instances in the

 

current design.

 

In the second line, the set command is used to create a variable

 

named item. The nested collection index command obtains the third

 

object (starting with index 0, 1, 2 . . .) in the given collection.

 

The last line of this example uses the object name command to return

 

the value of the item variable, which is the specified value of index.

Tcl Return:

The object at the specified index.

Note: Xilinx-specific Tcl commands that create a collection of objects do not impose a specific order on the collection, but they do generate the objects in the same, predictable order each time. Applications that support sorting collections, can impose a specific order on a collection.

properties (list available collection properties)

The collection properties command displays a list of the supported properties for all collections in the current ISE project. You can set the value of any property with the collection set command.

% collection properties

collection is the name of the Xilinx Tcl command.

86

www.xilinx.com

Development System Reference Guide

Page 86
Image 86
Xilinx 8.2i manual Index extract a collection object, Properties list available collection properties, Object name $item

8.2i specifications

Xilinx 8.2i is a significant version of the Xilinx ISE (Integrated Software Environment) that emerged in the early 2000s, marking an important milestone in the world of FPGA (Field-Programmable Gate Array) development. This version introduced a slew of advanced features, technologies, and characteristics that made it an indispensable tool for engineers and developers in designing, simulating, and implementing digital circuits.

One of the standout features of Xilinx 8.2i is its enhanced design entry capabilities. This version supports multiple design entry methods, including schematic entry, VHDL, and Verilog HDL, giving engineers the flexibility to choose their preferred approach. The integrated environment provides user-friendly graphical interfaces, making it accessible for both novice and experienced users.

Xilinx 8.2i's synthesis tools have been improved to enable more efficient design compilation and optimization. The new algorithms used in this version facilitate faster synthesis times while reducing power consumption and improving performance. Furthermore, it features support for advanced FPGA architectures, which allows for the implementation of more complex designs with greater efficiency.

The implementation tools in Xilinx 8.2i include advanced place and route capabilities, utilizing state-of-the-art algorithms for optimized resource usage. These tools enable designers to make better use of FPGA resources, ensuring that designs fit within the constraints of the target device while maximizing performance.

Another key characteristic of Xilinx 8.2i is its extensive support for various Xilinx devices such as the Spartan, Virtex, and CoolRunner series. This compatibility ensures that developers can leverage the powerful features of these FPGA families, including high-speed transceivers and DSP slices.

Xilinx 8.2i also places a strong emphasis on simulation and verification. The version integrates with various simulation tools, allowing for thorough testing of the designs before implementation. This reduces the risk of errors and ensures that the final product meets specifications.

In addition, this version includes support for design constraints, enabling engineers to specify timing, area, and other critical design parameters. By accommodating constraints, Xilinx 8.2i helps in achieving reliable and efficient designs tailored to project needs.

In summary, Xilinx 8.2i is a robust software development tool that enhances the design process for FPGAs. Its comprehensive features, including multiple design entry options, advanced synthesis and implementation tools, extensive device support, and strong simulation capabilities, make it a valuable resource for engineers and developers striving for innovation in digital design.