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¶
- Import package SPICE netlist file pkg.sp.
import—package—model -spice—netlist pkg.sp
- 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
......
- 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)¶
- Multi-solver solution: GSS solver for chip matrix and spsolver for package matrix.
- Combined PG package flow
Updated by jun chen 3 months ago · 1 revisions