Slam Capacity

 

The slam system was designed to handle even very large designs. The limits of the database are below.

  • Maximum number of objects per cell: > 1,000,000,000
    **32 bit operating systems are limited by virtual memory. Because most designs are hierarchical, the requirement for more than 4GB of virtual memory is unlikely. Even very large designs would probably not have 1 billion objects in any specific cell. Even some very large graphic chips and DSP chips have not required more than 32 bit addressing. Some of the latest processor and graphics do require 64 bit addressing though. If the design requires more than 4GB of memory, you must use either opteron or solaris 64 bit OS'es.
  • Maximum number of layers: 4000
  • Maximum number of datatypes: 256
  • Maximum hierarchical depth: 100
  • Maximum number of points in a polygon/path: 2040
  • Maximum string length of most names: 2048
  • Maximum cell name length: 1024 (Although stream limits this to 32)
  • Maximum view name length: 100
  • Largest stream file converted (as far as we know) 13GB
  • Estimated largest P&R block size: 100M cell placements (including fillers) requiring about 90GB of memory.
  • Chip size limited to memory size. As an example, a single chip could be composed of 4 unique 100M gate P&R blocks placed at the chip level requiring some 270GB of memory.

    Platform Capacity

    The following can be used as a general guide to virtual memory requirements for slam with P&R type databases. All component counts exclude filler cell placements, which can double or even triple placement counts.

  • Less than 750K placements; Less than 2GB and will operate under Linux.
  • Less than 1.5M placements; Less than 4GB and will operate under Solaris.
  • Greater than 1.5M placements; Sun/Solaris 8 or AMD opteron/linux required.

    If your design does not contain connectivity information, a substantially larger design will fit in the same memory footprint. Estimated platform limits are

  • Less than 1.5M placements; Less than 2GB and will operate under Linux.
  • Less than 3M placements; Less than 4GB and will operate under Solaris.
  • Greater than 3M placements; Sun/Solaris 8 or AMD opteron/linux required.

    The above are only estimates as every design will be slightly different. Some designs have more or less wiring per cell. Placement counts are used as a guide because it is a more commonly available parameter. Note the placement counts are all unique placements. For example 15 placements of a cell containing 50 placements counts as 65, not 750 placements.

    Please note that for reasonable performance, you should have physical memory of at least the size of the largest block. In the above 3M placement case, 4GB of physical memory is recommended as a minimum.

    Slam Performance

    Example on a quad 16GB opteron
    12GB stream file
    5 minute conversion from stream to slam format
    1 minute to open database with all hierarchical levels displayed

    Example (on an Ultra 10 440MHz processor)
    1.2 million instances
    1.8 million rectangles
    82 thousand paths
    1.9 million wires
    3.1 million port connections

    Resource Usage
    400MB Virtual memory
    230 seconds stream in conversion time
    Move 500K instances in 120 seconds