# tlp
**Repository Path**: icdop/tlp
## Basic Information
- **Project Name**: tlp
- **Description**: Technology Library Package
- **Primary Language**: Awk
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-02-05
- **Last Updated**: 2021-02-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# TechLib Package Management Kit V2020_0410a
## Define the following environment variables in the shell:
TECHLIB_PKGS - package source directory (*.tgz and *.tlp)
TECHLIB_DOCS - data sheet respository directory (sorted collection)
TECHLIB_ROOT - target techLib directory (where you plan to install)
Directory:
$(TECHLIB_ROOT)/
+-- $(NODE)
+--- $(MVER)
+-- $(GROUP)
+----- $(NAME)
Example:
techLib/
+-- T28HPC/
+----- 0p5/
| +----- FDK
| +----- PDK
| +----- CTK
+----- 0p9/
+----- FDK
| +----- PDK
+----- FIP
+----- STDCELL
## Step 0:Prepare TechLib Package definition file:
Example:
::::::::::::::
STDCELL_lib222_7t_base_e.2.0.tlp
::::::::::::::
BEGIN TLP
NODE T28HPC
MVER 0p5
GROUP FIP
TYPE STDCELL
KITNAME 7t_base_e.2.0
ORIGIN 7t_base_e.1.1
DIRNAME lib222_7t_base_e20
SIZE 10000
MD5SUM 11ba9bfa12c16459bc242c005c351b6f
REQUIRE KIT T28HPC/0p5/FDK/PDK TOPDIR pdk222_r10HF7
; If the kit size is huge, it could be split to multiple package files
PACKAGE FILE STDCELL_lib222_7t_base_e.2.0-1.tgz
PACKAGE FILE STDCELL_lib222_7t_base_e.2.0-2.tgz
PACKAGE FILE STDCELL_lib222_7t_base_e.2.0-3.tgz
END
; below this line, there are human readable docs which will be ignored by tool
## Step 1: Import TechLib Package to data sheet repository:
% tlp_import [--packageSrcDir $TECHLIB_PKGS] [--dataSheetDir $TECHLIB_DOCS]
% tlp_import .tlp ...
1. Search TLP definition file (*.tlp) in TECHLIB_PKGS directory
2. Copy the TLP definition file to $TECHLIB_DOCS directory as a dataSheet(dts) file
and categorize the dataSheet (dts) files based on tech node.
Example:
dataSheets/
|
+-- T28HPC
|
+----- 0p5
| |
| +----- FDK
| |
| +----- PDK
| | +---- aaa.dts
| |
| +----- CTK
| +---- bbb.dts
+----- 0p9
|
+----- FDK
| |
| +----- PDK
| +---- ccc.dts
+----- FIP
|
+----- STDCELL
+---- ddd.dts
+---- eee.dts
## Step 2: Install selected packages into techlib directory:
Usage-1 (Package Name):
% tlp_install ... ; search the tlp from $TECHLIB_PKGS
% tlp_install /.tlp ...
Usage-2 (Bundle File):
% tlp_install --bundleFile
Search the package definition file and tar kit in $TECHLIB_PKGS and install
all packages following the sequence. If any package fail to be installed,
the process will stop. After fixing the problem, teh same bundleFile could
be used, and package installtion will continue.
Example:
packageName1
packageName2
packageName3
Usage-3 (Interactive):
% tlp_install [--dataSheetDir $TECHLIB_DOCS] [--selectByCategory NODE/MVER/GROUP/TYPE]
User can specify kit category and then select the packages.
The tool will list all release notes of selected category under $TECHLIB_DOCS directory:
Example:
% tlp_install [--dataSheetDir $TECHLIB_DOCS] --selectByCategory T28HPC/0p9
INFO: Cateogry - [T28HPC/0p9]
1) FDK/PDK/ccc
2) FIP/STDCELL/ddd
3) FIP/STDCELL/eee
QUESTION: Which packages would you like to install? 1 3
INFO: Installing designkit package "ccc" ..
INFO: Validating package integrity ...
INFO: Checking package dependcy ...
INFO: Unpacking package files "ccc-1.tgz" ...
INFO: Unpacking package files "ccc-2.tgz" ...
INFO: Installing designkit package "eee" ..
...
Logfle:
tlp_install.log => detail installation log
$TECHLIB_ROOT/.tlp_install.summar => pacakge installation tracking summary
$TECHLIB_ROOT///.tlp_packages => package list which has been installed
## Step 3: Verify post-installation check (NOT IMPLEMETNTED YET)
% tlp_check (////)
% tlp_check --bundleFile
% tlp_check [--targetLibDir $TECHLIB_ROOT] --techNode