Project

General

Profile

Actions

Chip Package Co-Simulation

Overall Flow

1. Import Chip Design Data
    1.Def-in flow
    2.DB-in flow
2. Import Package Data
    1.Import Package SPICE netlist
    2.Import chip-package port mapping file
3. Run chip-package co-simulation
    1.DC simulation: static IR analysis
    2.Transient simulation: dynamic IR analysis

Tcl Commands

1. import_package_model

import—package—model  [-spice—netlist  <package—netlist—file>]  [-port—name—map  <chip—to—package—port
—name—map—csv>] [-reset]

Import package model components including a package SPICE netlist file and a chip-to-package port name map CSV file.

Examples

  1. Import package SPICE netlist file pkg.sp.
import—package—model -spice—netlist pkg.sp
  1. Import chip-to-package port name map CSV file.
import—package—model -port—name—map chip-to-package-port-name-map.csv

chip-to-package-port-name-map.csv, saying, PLOC file, is a column-based CSV text file. We support a two-column PLOC file:

  • the 1st column contains chip port names (i.e. source node);
  • the 2nd column contains package port names.
    chip-to-package-port-name-map.csv example:
VDD8—15388—2591210,Vo·T—0 
VDD8—15388—923,Vo·T—1 
VDD8—l290l—2591210,Vo·T—2 
VDD8—l290l—923,Vo·T—3
......
  1. Remove all old results created by last import_package_model and then import package SPICE netlist file pkg.sp and chip-to-package port map file chip-to-package-port-name-map.csv
    Note: -reset clean up all old results before importing anything.
import—package—model -spice—netlist pkg.sp -port—name—map chip-to-package-port-name-map.csv -r eset

2. report_package

report—package

Report package netlist statistics, such as the number of resistors(R), capacitors(C), inductors(L), mutual inductors(K), voltage sources (V), etc..

Print the records to console. For example,

% report—package      髻C = 6
髻K = 190653
髻l . = 618
髻R = 292
髻V = 2

report_package also does package static diagnostic before running the chip-package co-simulation. It checks following items:

1.Connection between package and chip. For example, short/open bump or pad.
2.Package internal short check.

For example, regression case ut_run/ir/package_flow/qa_static_ir_with_package generate following package diagnostic report:


3.set_package_port_current*

Caution: set_package_port_current is a hidden Tcl command as part of the built-in static IR drop Tcl iteration procedure: work/src/emirTcl/pkgIteration.tcl

set—package—port—current -type [staticldynamic] -file <supply—location—current—file> -reset

Load the output dumped by continue_analyze_power_network -report_supply_location_current.

  • -reset removes last package port current data before setting new package port current data.
  • type static is default for static IR drop with package.
  • -type dynamic is used for dynamic IR drop with package. (Deprecated since 2022/7/25)
  • <supply_location_current_file> is created by VP Tcl commands as follows:

Static IR drop

continue—analy江e—power—network -report—supply—location—current > supply—location—current—f ile.static.txt

Dynamic IR drop (Deprecated since 2022/7/25)

continue—analy江e—power—network -report—supply—location—current -simtime 0.5 > supply—locat ion—current—file.dynamic.txt

4. run_package_simulation*

Caution: run_package_simulation is a hidden Tcl command as part of the built-in static IR drop Tcl iteration procedure: work/src/emirTcl/pkgIteration.tcl
You should NOT use it directly in customer cases. See also set_package_port_current.

run—package—simulation -type [staticldynamic] -file <supply—location—current—file> -reset

Run package SPICE simulation.

  • -reset removes last package port current data before setting new package port current data.
  • -type static is default for static package SPICE simulation.
  • -type dynamic is used for dynamic package SPICE simulation. (Deprecated since 2022/07/25)

5. report_package_voltage*

Caution: report_package_voltage is a hidden Tcl command as part of the built-in static IR drop Tcl iteration procedure: work/src/emirTcl/pkgIteration.tcl
You should NOT use it directly in customer cases. See also set_package_port_current.

report—package—voltage

Report package port voltages to console for both static and dynamic IR drop analysis. Report contents are a group of Tcl command set_supply_location_voltage .
Redirect the output to a Tcl file and source the Tcl file for next IR drop analysis iteration.

Examples

% report—package—voltage > "pkg—port—voltage.tcl" 
% source "pkg—port—voltage.tcl"            
髻 next IR drop iteration

pkg_port_voltage.tcl looks like

set—supply—location—voltage -port—name VDD8—15388—2591210 -voltage—value 1.08 
set—supply—location—voltage -port—name VDD8—15388—923 -voltage—value 1.08 
set—supply—location—voltage -port—name VDD8—l290l—2591210 -voltage—value 1.08 
set—supply—location—voltage -port—name VDD8—l290l—923 -voltage—value 1.08
......

Chip updates supply node voltage with values given by -voltage_value and continue to analyze the power network.

6.Report Generation

For either VDD or VSS analysis, following report commands dumps the IR drop/bounce reports for dynamic IR with package analysis.

report—misc -dynamic—ir vdd—inst—dvd.rpt  髻 Generate instance-based IR report
report—misc -ploc—current vdd—ploc—current.rpt  髻 Generate current waveforms for every supply loca tion
report—misc -ploc—voltage vdd—ploc—voltage.rpt  髻 Generate voltage waveforms for every supply loca tion
report—supply—location—current -output—file vdd—supply—current.inc -format spice 髻 Generate curre nt  waveform  in  SPICF  PWl  .  current  source  format  for  every  supply  location report—supply—location—current -output—file vdd—supply—sumup.rpt -sum—up 髻 Generate the total cur rent waveform of VDD or VSS

Typical Supply Node Voltage/Current Waveform Example - Dynamic IR with Package
The waveform files are generated by report_supply_location_current and report_misc .
1.Supply node voltage waveform

2.Supply node current waveform

Static IR Drop with Package

After importing chip and package design data, static IR drop with package analysis only need an extra -with_package option.

  • VDD static anlaysis: analyze_power_network -net VDD -with_package
  • VSS static analysis: analyze_power_network -net VDD -with_package

Regression case: ut_run/ir/package_flow/qa_static_ir_with_package

Dynamic IR Drop with Package

Since 2022/07/25, -with_package is deprecated for dynamic IR drop with package.
For package flow, only need to add following Tcl command to no package dynamic IR drop flow:

import—package—model -spice—netslit <package—top—spice—netlist—file—name> \
	-port—name—map <two—column—csv—Pl.oC—file—name> \
	-integ—method be -skip—calc—ix -skip—calc—source—i -package—dim 10000

Regression case: ut_run/ir/package_flow/qa_dynamic_ir_vector_base_with_L0_newflow

TODO (202208-01)

  1. Multi-solver solution: GSS solver for chip matrix and spsolver for package matrix.
  2. Combined PG package flow

Updated by jun chen 3 months ago · 1 revisions