Professional Documents
Culture Documents
Reading and Writing Bump Cell and TSV Locations Using CSV Files
Reading and Writing Bump Cell and TSV Locations Using CSV Files
Reading and Writing Bump Cell and TSV Locations Using CSV Files
Reading and Writing Bump Cell and TSV Locations Using CSV Files
Instead of setting placement constraints and matching types to place and connect bump cells and through-silicon vias (TSVs), you can specify
location and connection information by using one or more comma-separated values (CSV) files. Use the read_design_io command to read the
placement and connection information from the CSV file and place the cells on the interposer. Use the write_design_io command to write out
the location information to a CSV file.
The following example writes out the locations of the bump cells and TSVs in the current design.
icc2_shell> write_design_io -file_name bump_tsv_locations.csv
icc2_shell> sh cat bump_tsv_locations.csv
Reference_name,C4_inst,Ubump_inst,TSV_inst,X_origin,Y_origin,
Orientation,Port_name,Net_name,Comments
C4_BUMP,C4_logic_SIGNAL_B_0_0,,,500,500,R0,,C4_logic_SIGNAL_B_0_0_net,
C4_BUMP,C4_logic_SIGNAL_B_0_1,,,690,500,R0,,C4_logic_SIGNAL_B_0_1_net,
C4_BUMP,C4_logic_SIGNAL_B_0_2,,,880,500,R0,,C4_logic_SIGNAL_B_0_2_net,
...
VIAB1,,,VIAB1_C4_mem_VSS_4_0,11165,5725,R0,,,
VIAB1,,,VIAB1_C4_mem_VSS_4_1,11465,5725,R0,,,
VIAB1,,,VIAB1_C4_mem_VSS_4_2,11765,5725,R0,,,
...
The CSV file contains a header row and a row of data for each cell instance. The following list shows a description for each field and the default
name for the field in the column header:
Cell reference name (Reference_name)
C4-bump instance name (C4_inst)
U-bump instance name (Ubump_inst)
TSV instance name (TSV_inst)
X-origin (X_origin)
Y-origin (Y_origin)
Cell orientation (Orientation)
Port name (Port_name)
Net name (Net_name)
Comments (Comments)
You can specify multiple input files and provide different fields in each file. Not all fields are required for each cell instance or connection. The
header row is required and describes the keyword for each column. After the header row, each row describes a cell instance or a connection. Cell
rows specify the cell instance name, reference name, location, and orientation of the cell. Connection rows specify connections between
terminals, and port rows are used to create a port.
If a cell instance does not exist, the tool creates the specified cell instance. By default, the tool performs the following checks when creating new
cell instances:
Cells of the same type cannot overlap.
A C4-bump cell can overlap an existing u-bump cell, TSV, or standard cell.
A u-bump cell can overlap an existing C4-bump cell, TSV, or standard cell.
A TSV can overlap an existing C4-bump cell or u-bump cell.
To disable checking, use the -overlap_check none option. To prevent any overlaps, use the -overlap_check strict option.
If the cell instance already exists, it is moved to the specified location. If the cell instance overlaps an existing instance, it is skipped. The tool
issues warning messages when reading an invalid row and skips the row.
By default, if a port does not exist, the tool ignores it. To create the port instead, use the -create_ports option.
By default, if a port or net already exists, it retains the current setting of its port_type or net_type attribute. To set this attribute to power for
specific ports or nets, use the -power option. To set this attribute to ground for specific ports or nets, use the -ground option. If the ports or nets
specified in these options do not exist, the tool creates them.
If your CSV file contains custom column names, create a map file with a list of custom column names and standard column names, then specify
the map file with the -map_file option. Each line in the map file contains the comma-separated custom column name and corresponding
standard column name as shown in the following example.
custom_reference_name,Reference_name
custom_C4_instance_name,C4_inst
...
In the following example, the locations_mapped.csv file uses custom column names and the mapfile.txt file contains the list of custom column
names and the standard column names.
https://spdocs.synopsys.com/dow_retrieve/qsc-u/dg/icc2olh/U-2022.12-SP3/icc2olh/fcbdp/creating_3d_ic_design/reading_writing_bump_cell_tsv_locations_using_csv_files.html 1/2
3/12/24, 12:54 PM Reading and Writing Bump Cell and TSV Locations Using CSV Files
icc2_shell> sh head mapfile.txt
re,Reference_name
c4,C4_inst
ub,Ubump_inst
ts,TSV_inst
...
Use other options with the read_design_io command to control how the CSV file is read.
Specify a delimiter character with the -delimiter_char option.
icc2_shell> sh head location_splat.csv
Reference_name!C4_inst!Ubump_inst!TSV_inst!X_origin!...
C4_BUMP!C4_logic_SIGNAL_B_0_0!!!500!500!R0!!!
C4_BUMP!C4_logic_SIGNAL_B_0_1!!!690!500!R0!!!
C4_BUMP!C4_logic_SIGNAL_B_0_2!!!880!500!R0!!!
...
-objects: Output only the specified objects. The specified objects must be C4-bump cells, u-bump cells, or TSVs.
-within: Output only the C4-bump cells, u-bump cells, and TSVs that are within the specified bounding box.
https://spdocs.synopsys.com/dow_retrieve/qsc-u/dg/icc2olh/U-2022.12-SP3/icc2olh/fcbdp/creating_3d_ic_design/reading_writing_bump_cell_tsv_locations_using_csv_files.html 2/2