15. Managing Big Designs

HITAS offers a set a variables dedicated to speed up execution or to limit the use of memory.

Memory-use strategies can be classified in three categories: the ones that use disk cache, the ones removing non-critical information, and the ones reducing the number of objects to treat by introducing sharing. Disk-caching strategies are accuracy lossless, but can severely impact execution runtimes. Object-sharing strategies try to use the same model for objects having close shapes. It can be really efficient, and is done in such a way that accuracy is preserved.

Execution speeding-up is most of the times done by keeping more objects in memory. However, it can also be correlated with the memory-use sharing strategies, as they limit the number of objects to treat.

15. 1. File Compression and Disk Caching

HITAS is able to make a system call to any compression command. To get this mechanism work for input files, one only needs to set two variables: avtInputFilter for specifying the compression command to use, and avtFilterSuffix, in order to tell the tool which files it should apply the compression command on, for example:

avt_config avtInputFilter "gzip -d"
avt_config avtFilterSuffix ".gz"
 
avt_LoadFile my_design.spi spice

This will load seamlessly my_design.spi or my_design.spi.gz.

If avtOutputFilter is used, all output files will be compressed with the specified command and will have the suffix avtFilterSuffix.

The stmCacheSize, avtMaxCacheFile and avtParasiticCacheSize allow disk caching for very big design.

15. 2. Information removal

Non-critical information can be removed through the variables avtNoTransistorName and tasShortNamesForModels.

15. 3. Object sharing

Object sharing can be applied to the Timing Models, through the stmShareModels variable.

15. 4. Execution Speed-up

Speeding-up strategies are essentially performed for crosstalk analysis, through variables stbCtkFastMode and rcxFastMode.