Professional Documents
Culture Documents
Full Chip CIC Training
Full Chip CIC Training
KICG (PDC)
JUL 1st 2021
- restricted -
Design Environment
Topic Details Reference
1. icmpm for work area setup KeanSek passdown- work setup
2. bsub/LSF Job submission https://confluencewikiprod.intra.infineon.com/display/DFDoc/Compute+Load+Sharing
3. icmp4 for data management and revision
control
4. VNC setup https://confluencewikiprod.intra.infineon.com/display/DFDoc/Remote+Desktop+Project
Design Environment
5. NX setup https://confluencewikiprod.intra.infineon.com/display/DFDoc/Remote+Desktop+Project+NX+System
6. How to launch tools and override default
version
7. HOBTO variables https://confluencewikiprod.intra.infineon.com/x/86ibDw
AARR-102 DESCRIPTION OF HOBOT CIC FLOW VARIABLES
› https://remotedesktop.india.cypress.com/userReLogin.php
› https://remotedesktop.aus.cypress.com/NXactiveSns.php
› India use VNC and Austin use NX session
› VNC info:
https://confluencewikiprod.intra.infineon.com/display/DFDoc/Remote+Desktop+Project
› NX info:
https://confluencewikiprod.intra.infineon.com/display/DFDoc/Remote+Desktop+Project
+NX+System
Lab
› To create India VNC and be able to create cyw20829 workspace
Issue:
Perforce password (P4PASSWD) invalid or unset
icmp4 login
setenv P4PASSWD <passwd>
› goto/HOBTO
› Populate HOBTO scripts into work area
– cd <workarea>
– setenv DMWA <workarea>
– setenv DESIGN <workarea>
– cd <ddc>
Ex:/proj/gpfs/kicg/kicg_s40bt52radio_1.0-dev_15
cd /proj/gpfs/kicg/kicg_s40bt52radio_dev_10/s40bt52radio
make -f $DMWA/HOBTO_CIC_FLOW/common/cic_flow/Makefile prep
TASKS="atpg fv ir mvrc pnr power rcx sta syn dft v"
CELLS=cyw20829_top BRANCH=NORMAL
Lab
› Be able to cd to innovus directory
› Launch innovus from the work area and check the tools version
› innovus> restoreDesign /proj/gpfs/hsjs/cyw20829/hsjs_cyw20829_1.0-
dev_61/cyw20829/pnr/cyw20829_top/run_innovus/DBS/Powerplanupd_13.enc.
dat cyw20829_top –noTiming -noTimingGraph
› https://confluencewikiprod.intra.infineon.com/display/DFDoc/Compute+Load+Sharing
Executable Description
bjobs bjobs is used to view jobs currently in the queue or recently completed. The -l
[job number] will tell why a job is PENDing. The syntax is:
bjobs [-l] [-u <user|all>] [job number]
blinfo blinfo is used to list all of the license features scheduled by LSF. The syntax is:
blinfo
blstat blstat is used to show the current status of license features scheduled by
LSF. The syntax is
blstat blstat -t <feature> blstat -c <feature>
bqueues bqueues is used to list all queues, as well as their current priority and job
limits. The syntax is:
bqueues [-l] [queue name]
bsub bsub is used to submit a job to the queue for dispatch to a compute server. The
syntax is:
bsub [-I] [-q queue] [-R resource_requirements] your_command
2021-07-01 restricted Copyright © Infineon Technologies AG 2021. All rights reserved. 9
Icmp4 command
The following are examples of most commonly used commands the user may run:
• Adding a file to the changelist:
icmp4 add <filename>
• Submitting the default changelist:
icmp4 submit –d “checking in a bunch of stuff”
• Editing a file:
icmp4 edit <filename>
• Looking at the users open files:
icmp4 opened –a | grep <username>
• Populating (syncing) a workspace:
icmp4 sync
• Getting file history:
icmp4 filelog <filename>
• Getting a list of all the commands:
icmp4 help commands
• Getting information on any command:
icmp4 help <command>
› Full chip consist of IO ring area and PNR region. All digital route are done in PNR
digital implementation. There are analog routes that required NDR- Non default
routing rules that cant be routed using PNR. Ex: 2x width, coaxial shield, side
shield with different width and pwr/ground nets, off track route.
› In the current flow, this part handled by custom full chip analog route. Mainly to
connect the analog route from IO pad cells to IP placed at PNR region.
› Some projects (Austin) requires pwr/ground mesh planning on top of IP, to
complete the supply mesh from each IP to the PNR region, and from IO pad/pwr
pad/ground pad to the IP. Special requirement like star route has to be fulfilled.
› Efuse GR and ME1 guardring around the chip will be part of the custom route
also.
General
Analog route status 344506
Power 344513
Analog IP integration 344838 326423
LEF vs analog IP matches 336344
› https://svn.design.cypress.com:18080/svn/chips/trunk/s40/MXS40Sv2/Platform/M
XS40Sv2-SAS/Configuration/
› To look up information like supplies (for LVS), pins (for IO frame generation,
verification of IO placement and leadframe ARC), package (for leadframe ARC)
used for the project.
› To be conducted by YCTA
› Unix> cd $DESIGN/cyw20829/v/cyw20829/cyw20829_top
Then start running : make def_gds
make add_ip
make sealring
make hier
make gen_fill
make add_fill
› For each make steps run, check each GDS output using “caldrv <gds name>
› To check:-
– Sealring correctly placed?
– Is there any LVS text label on it?
– Is there any overlay cells?
– Does the chip structure resemble the chip hierarchy structure?
› FYI. there are some problems regarding the Hobto GDS generation (APOE-213). The command make def_gds, make
ip_gds, make sealring are fine, but the make hier could not generate the chip gds.
Import to database to Virtuoso
› CIW
– File->Import->Stream
– Fill in Stream File, Library, Top Cell(Create new library
psoc6a256k_strmin in ICM first), the layout will be in psoc6a256k_strmin
with cell name psoc6a256k_top
– Click Options, remove anything in “Ref Lib File Name”
Resistance Check
› To be conducted by GLKH
› https://confluencewikiprod.intra.infineon.com/display/DFDoc/Resistance+Measure
ment+Tool
› To be conducted by YCTA
› https://confluencewikiprod.intra.infineon.com/display/DFDoc/DRC%2C+Stress
%2C+Latchup%2C+and+Softconn
cyw20829_top_dummy_fill cyw20829_logo_partnum_cell
cyw20829_top_defin
cyw20829_top_overlay
cyw20829_top_sealring 1. DEFin2OA
2. HOBTO CIC Flow
cyw20829_top This gds level will be used for PV. It’s the implementation level GDS.
These are LVS Text labels (AL_CAD TEXT) that will be used for PV and to generate plots.
LVS Text
This contains all IPs/IOs/routings/standard cells. This GDS will be generated using output
cyw20829_top_defin DEF / Via LEF from Innovus using either DEFin2OA or HOBTO CIC Flow GDS generation.
Contains waffling/tiling for diffusion and metal layers. This GDS will be generate using
cyw20829_top_dummy_fill HOBTO CIC Flow or it can be generated manually using PV dummy_pd and dummy_met
Generating Chip Abstract : Run DEFin2OA Setup (Method1)
› Output and save a DEF from Innovus that contains only IO/Block with pads.
selectInst [dbGet top.insts.instTerms.net.name *_pad -p3]
defOut -selected ./out/cyw20829_top.def
› Defin into Virtuoso.
unix > setenv $DESIGN to your workarea.
unix> cp /home/ksek/cic/vir/s40s_def_to_pv.sh $DESIGN
unix> cp –r /home/ksek/cic/vir/lefdef2pv $DESIGN
› Modify the “master_replay.txt” inside $DESIGN/lefdef2pv for the
following parameters:
-top_cell <Top Cell Name> e.g. cyw20829_top
-lib_name <Library name> e.g. cyw20829
-pnr_def <Path to DEF> e.g. /proj/gpfs/ksek/ksek_cyw20829_1.0-
dev_92/cyw20829/pnr/cyw20829_top/run_innovus/out/cyw20829_top.def
Lab
› Create your own library inside IC Manage.
› Copy the following top cell layout “cyw20829_top” from library “cyw20829” to newly created
library
› Change the parameter “-lib_name” inside master_replay.txt to “-lib_name <new library>”
Generating Chip Abstract : Run DEFin2OA (Method1)
› Unix> cd $DESIGN
› Unix> ./s40s_def_to_pv.sh
› A layout view will be created inside library <new library> example:
Library : cyw20829_training
Cell : cyw20829_defApr101040_inApr101916
› Top level cell is cyw20829_top and it should contain only :
- seal ring
- cyw20829_defApr101040_inApr101916
- cyw20829_logo_partnum_cell
- top level pin text (AL_CAD TEXT)
› Check the following
– Die aspect Ratio (X : Y in um) before shrink without scribe
– Total Die Area X x Y= ?
– Not to use DEFin2OA
– Need to streamout to gds
– Some Vias will be missing.
HOBTO Generate GDS from DEF / Via LEF Output :Method2
› Open ./script/cic.gen.vars.tcl and change the following variables:
DEF_FILE_PATH -> Point to the correct DEF file
VIA_LEF -> Point to the correct Via LEF file
› Unix> cd $DESIGN/cyw20829/v/cyw20829/cyw20829_top
Then start running : make def_gds
make add_ip
make sealring
make hier
make gen_fill
make add_fill
› For each make steps run, check each GDS output using “caldrv <gds name>
› To check:-
– Sealring correctly placed?
– Is there any LVS text label on it?
– Is there any overlay cells?
– Does the chip structure resemble the chip hierarchy structure?
› FYI. there are some problems regarding the Hobto GDS generation (APOE-213). The command make def_gds, make
ip_gds, make sealring are fine, but the make hier could not generate the chip gds.
Generate GDS from DEF / Via LEF Output : HOBTO Flow (Workaround)
1. Create directory “gds” at $DESIGN
Example:
/proj/gpfs/whsh/whsh_cyw20829_dev_47/gds
2. Streamout gds from the following cells:
Library : cyw20829 / Cell : cyw20829_top_sealring / View : layout
Library : cyw20829 / Cell : cyw20829_top_overlay / View : layout
Library : cyw20829 / Cell : cyw20829_top_lvs_text / View : layout_bk
Library : cyw20829 / Cell : cyw20829_logo_partnum_cell / View : layout
3. $DESIGN/gds should contain the following gds:
cyw20829_logo_partnum_cell.gds.gz
cyw20829_top_lvs_text.gds.gz
cyw20829_top_overlay.gds.gz
cyw20829_top_sealring.gds.gz
4. Copy
/proj/gpfs/whsh/whsh_cyw20829_dev_47/cyw20829/v/cyw20829/cyw20829_top/script/cic.gen.v
ars.tcl to replace your default cic.gen.vars.tcl
Change $DESIGN to your own directory
5. Copy
/proj/gpfs/whsh/whsh_cyw20829_dev_47/cyw20829/v/cyw20829/cyw20829_top/gds/generate/gen
_chip_hier/merge_gds_data.tcl to replace your
$DESIGN/cyw20829/v/cyw20829/cyw20829_top/gds/generate/gen_chip_hier/merge_gds_data.tcl
Generate GDS from DEF / Via LEF Output : HOBTO Flow (Workaround)
6. Go to $DESIGN/cyw20829/v/cyw20829/cyw20829_top
Then start running : make def_gds
make add_ip
7. Still at $DESIGN/cyw20829/v/cyw20829/cyw20829_top
Start running using the following command : calibredrv
./gds/generate/gen_chip_hier/merge_gds_data.tcl
Notes:
1. This workaround flow with custom edit “merge_gds_data.tcl” will create
GDS up to cyw20829_top and merge with all the required cells (overlay,
sealring, partnum, lvs_text)
2. This will also flatten cell “cyw20829_top_lvs_text” to create LVS
labels at cyw20829_top level.
3. Newly created GDS can be used for PV run.
Make gen_top
Copy /proj/gpfs/whsh/whsh_cyw20829_dev_47/config/common_setup.tcl to your
$DESIGN/config/ overwriting your common_setup.tcl
LVS text: To generate pad labels (Innovus)
› Make sure all the IO pad are selected, if not, type command below:
selectInst [dbGet top.insts.instTerms.net.name *_pad -p3]
Initial end of
wire bond
Autobonder (cont)
› For TQFP packages, connect at least one ground pad to die paddle, consult chip
lead on which pad to be connected.
ARC check
› Open layout view cyw20829_chip_abstract.
› Go to “Cypress” -> “Bonding Tools” -> “Assembly Rules
Checker”
› Fill options as:
– Assembly Sites: : ASEK
– Package Family : Leadframe
(for TQFP) or QFN
– Die Attach Type : Epoxy
– Bond Wire Materia : Cu
– Die Thickness : 275 (TQFP)
or 250 (QFN)
– Package Thickness : 1
› Please check the extracted numbers of pad versus product SAS XLS
Reference of cyw20829
› Check out package cell name/leadframe used for bonding diagram
– Example: 64TQFP-EPAD, 68QFN and 80TQFP
– Cyw20829:
Library: cyw20829
Cell: cyw20829_top_bd
View: layout
› Pin2 pad mapping file
/proj/gpfs/ksek/ksek_cyw20829_1.0-dev_92/cyw20829/mfg/bonding/40-QFN_pintopad_mapping.txt
/proj/gpfs/ksek/ksek_cyw20829_1.0-dev_92/cyw20829/mfg/bonding/56-QFN_pintopad_mapping.txt
–
› Chip abstract and bonding diagram GDS
Library: cyw20829
Cells:
cyw20829_56QFN_A29417_0
cyw20829_40QFN_A29221_A
cyw20829_40QFN_A29222_B
› ARC
/proj/gpfs/ksek/ksek_cyw20829_1.0-dev_92/v/cyw20829/cyw20829_56QFN_A29417_0 – Clean
/proj/gpfs/ksek/ksek_cyw20829_1.0-dev_92/v/cyw20829/cyw20829_40QFN_A29221_A – Clean
/proj/gpfs/ksek/ksek_cyw20829_1.0-dev_92/v/cyw20829/cyw20829_40QFN_A29222_B – 34 Errors
related to automotive, should be able to ignored.
Tips from Kean Sek
› Misc
› Issues
› Scripting