Reading and Writing Bump Cell and TSV Locations Using CSV Files

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

3/12/24, 12:54 PM 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
...

icc2_shell> sh head locations_mapped.csv


re,c4,ub,ts,x_,y_,or,po,ne,co
C4_BUMP,C4_logic_SIGNAL_B_0_0,,,500,500,R0,,,
C4_BUMP,C4_logic_SIGNAL_B_0_1,,,690,500,R0,,,
...

icc2_shell> read_design_io -file_name locations_mapped.csv \


-map_file mapfile.txt
...
1

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!!!
...

icc2_shell> read_design_io -file_name location_splat.csv \


-delimiter_char !
1

Specify a C4-bump reference name with the -c4_ref_name option.


Specify a TSV reference name with the -tsv_ref_name option.
Specify a u-bump reference name with the -ubump_ref_name option.
Specify the die origin and orientation.
By default, the tool uses the lower-left corner of the die as its origin and assumes no rotation (R0 orientation). To specify the origin
coordinates, use the -die_origin option. To specify the die orientation, use the -die_orientation option. Valid values are R0, R90, R180,
R270, MX, MXR90, MY, and MYR90.

Specify the cell origin location.


By default, the coordinates specified for the cell origin are interpreted as the lower-left corner of the cell. To interpret the coordinates as the
cell center instead, use the -cell_origin_type center option.
Specify the length unit used in the CSV file.
By default, the command assumes the x-coordinate and y-coordinate in the CSV file use the design library length units. If the CSV file uses a
different length unit, specify a multiplier with the -units option. The command divides the values in the CSV file by the specified value to
determine the length in microns. The multiplier must be an integer value greater than or equal to one.
Specify a comment character with the -comment_char option.
Use options with the write_design_io command to control how the CSV file is written:
Specify the objects to write to the output file.
By default, the command writes all C4-bump cells, u-bump cells, and TSVs to the output file. To modify the objects written to the output file,
use one of the following options:
-contents: Output only a single object type. Supported types are c4, ubump, or tsv.

-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.

Specify the cell origin location.


By default, the command uses the lower-left corner of a cell as its origin. To use the cell center instead, use the -cell_origin_type center
option. When you use this option, the tool calculates the cell center based on its bounding box.
Specify the length unit used in the CSV file.
By default, the command writes the x-coordinate and y-coordinate to the CSV file using the design library length units. To use a different length
unit, specify a multiplier with the -units option. The command multiplies the values in microns by the specified value and writes this value to
the CSV file. The multiplier must be an integer value greater than or equal to one.
Specify the data fields to write to the CSV file by placing a list of field names in a file and referencing the file with the -columns_file option.
icc2_shell> sh cat c4_columns.csv
Reference_name,C4_inst,X_origin,Y_origin

icc2_shell> write_design_io -file_name c4bumps.csv \


-columns_file c4_columns.csv -contents c4
Parsing columns file c4_columns.csv

icc2_shell> sh head c4bumps.csv


Reference_name,C4_inst,X_origin,Y_origin
C4_BUMP,C4_logic_SIGNAL_B_0_0,500,500
...

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

You might also like