OCV Evolution

EDA (Electronic Design Automation) cell characterization tools have been used extensively to generate models for timing, power and noise at a rapidly growing number of process corners. Today, model variation has become a critical component of cell characterization. Variation can impact circuit timing due to process, voltage, and temperature changes and can lead to timing violations, resulting in a costly re-spin of the design. While global variation is captured by analyzing the design at different process corners, local variation cannot be handled effectively with just the traditional corner-based static timing analysis (STA). As designers try to squeeze every ounce of power-performance-area (PPA), packing millions of transistors into the chip, local variation effects have become more and more prominent. In today’s most advanced nodes at 7nm and below, there is a strong need for innovative methods to reduce pessimism and to provide a better design margining methodology to accurately account for the impact of variation.

Read More

Calibre Platform Support - 2022

Platform Identifiers for Calibre Install Files and Runtime Directories

Calibre provides different executables that are optimized for different Linux distributions, and each has its own platform identifier. The platform identifier is sometimes referred to as a VCO, which refers to a Vendor-CPU-OS combination. The platform identifier is first used to identify which install files should be downloaded. After installation the platform identifier and release version number are used to identify the Calibre runtime directory, generally referred to as a MGC_HOME tree. Each Calibre MGC_HOME tree can only be used with specific OS versions and must run on hardware that supports the minimum CPU instruction set identified for that MGC_HOME tree. Note that when using Calibre with distributed processing, the MGC_HOME trees on the master host and all remote hosts must all have the same platform identifier.

Read More

Calibre Platform Support -2022

Platform Identifiers for Calibre Install Files and Runtime Directories

Calibre provides different executables that are optimized for different Linux distributions, and each has its own platform identifier. The platform identifier is sometimes referred to as a VCO, which refers to a Vendor-CPU-OS combination. The platform identifier is first used to identify which install files should be downloaded. After installation the platform identifier and release version number are used to identify the Calibre runtime directory, generally referred to as a MGC_HOME tree. Each Calibre MGC_HOME tree can only be used with specific OS versions and must run on hardware that supports the minimum CPU instruction set identified for that MGC_HOME tree. Note that when using Calibre with distributed processing, the MGC_HOME trees on the master host and all remote hosts must all have the same platform identifier.

Read More

Linux Shell System Variables

These are special shell variables which are set internally by the shell and which are available to the user. Visit here for better understanding Linux shell system variables.

Variable Description
$0 The filename of the current script.
$n These variables correspond to the arguments with which a script was invoked. Here n is a positive decimal number corresponding to the position of an argument (the first argument is $1, the second argument is $2, and so on).
$$ The process ID of the current shell. For shell scripts, this is the process ID under which they are executing.
$# The number of arguments supplied to a script.
$@ All the arguments are individually double quoted. If a script receives two arguments, $@ is equivalent to $1 $2.
$* All the arguments are double quoted. If a script receives two arguments, $* is equivalent to $1 $2.
$? The exit status of the last command executed.
$! The process ID of the last background command.
$_ The last argument of the previous command.

Get Strings Within Commandline

I’ve got two methods to get strings or substrings within current Linux shell command-line. For instance, sometimes we want to get the file full path when source it in shell. Here are my ways to do so.

  1. Use command of lsof
    1
    2
    3
    set sourced_file = `/usr/sbin/lsof -p && -w | grep -oE "\s+\/.*\Sourced_Filename"`
    set relative_path = `dirname $sourced_file`
    set absolute_path = `chdir $relative_path && pwd`
  2. Use command of history
    1
    2
    3
    set sourced_file = `history 1 | sed -e 's/^.*source\ //g'`
    set relative_path = `dirname $sourced_file`
    set absolute_path = `chdir $relative_path && pwd`