• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. Analog/Custom Design
  3. Virtuoso Meets Maxwell: Die Export Gets a Facelift
Kabir
Kabir

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
ICADVM18.1
die export
Virtuoso Meets Maxwell
Advanced Node
Virtuoso RF
Wirebond
Virtuoso
System Design Environment
shape-based die
RF design
Custom IC Design
SKILL

Virtuoso Meets Maxwell: Die Export Gets a Facelift

27 Apr 2020 • 9 minute read

'Virtuoso Meets Maxwell' is a blog series aimed at exploring the capabilities and potential of Virtuoso® RF Solution and Virtuoso MultiTech. So, how does Virtuoso meets Maxwell? Now, the Virtuoso platform supports RF designs, and the RF designers measure the physical and radiation effects by using the Maxwell's equations. In addition to providing insights into the useful software enhancements, this series broadcasts the voices of different bloggers and experts about their knowledge and experience of various tools in the Virtuoso IC-Packaging world along with the nuances of RF, microwave, and high frequency designs. Watch out for our posts on Mondays.

Hello everyone, today I’d like to talk to you about the recent enhancements to Die export in the Virtuoso RF Solution, most of which were released in ICADVM 18.1 ISR10. BTW, if you’re not familiar with what Die export is and how it fits into the Virtuoso RF Solution, then I definitely recommend reading TILP! What’s a TILP? to understand the concept of a Technology Independent Layout Pcell (TILP), Export the Die? What Am I Exporting? To Where? and What About My Die That Has No Bumps, Only Pad Shapes? How Do I Export That? to understand how to create a TILP for a Die layout, and finally, Learn Your Moves – We’re Doing an Edit-in-Concert to understand how the Die TILP can be used for Edit-in-Concert, which is the ultimate IC-package-board co-design.

What’s the background for these enhancements? Exporting an abstract of a Die, which basically represents the outer boundary of the Die with I/O locations, as an intermediate file to exchange information between various Cadence tools (i.e., Innovus, Virtuoso, and Allegro) is not a new feature. This capability existed even prior to the Virtuoso RF Solution. However, the entire functionality was rewritten from scratch when we first started developing the Virtuoso RF Solution because the previous feature was deemed archaic, its performance and capacity needed to be enhanced, and use model needed to be modernized. This effort has been made in various phases, with the last round being completed and released in ICADVM18.1 ISR10.

Enhanced report for shape-based Die export: I discussed about exporting a Die that uses shapes with overlapping labels for I/O locations in What About My Die That Has No Bumps, Only Pad Shapes? How Do I Export That? While this feature has existed for more than a year, in ISR10 the post-export report has been enhanced to match the bump-based Die export flow. Now, after Die export is complete, the following information is written to the Virtuoso Command Interpreter Window (CIW):

Shape Based Export Die Report (PAD_SHAPES/wirebond/layout)

**********************************************************************************

Labels with overlapping shapes:

                Front Side: 14

                Back Side: 0

Labels without overlapping shapes:

                Front Side: 0

                Back Side: 0

**********************************************************************************

Shape Based Export Die End: "Mar 22 13:16:06 2020"

Shape Based Export Die Lapse Time: 2

Public SKILL function for Die export: Die export can now be done without opening the UI. A Skill based public function has now been provided, which is called vrfExportLayoutSkill(). You can find the details of this function from online documentation. Note that the function currently supports more features than what is available through the UI.

Customized component definition: sometimes it is needed to customize the Component Definition Form (CDF) or the exported Die. This customized CDF can be read from a CSV file. An example of a CSV file is shown below:

footprintCellName,DEVICE_TYPE,userProp1,userProp2,userProp3

Footprint CellName,DEVICE_TYPE,Part No,my Prop2,my Prop3

wirebond_PKG,wirebond_PKG,A123456,value2,value3

There are two mandatory CDF fields. In this example, these are Footprint CellName and DEVICE_TYPE. Their values are wirebnd_PKG and wirebond_PKG. This file also has three user-defined properties, which are Part No, my Prop2, and my Prop3. Their values are A123456, value2, and value3.

This file can now be used to customize the CDF using the SKILL function as follows:

vrfExportLayoutSkill(cvId "Metal1T P0" "" ?dieInterfaceType "SHAPEANDLABEL" ?includeUnconnectedBump t ?pinNumbering "Use numbers from file" ?pinNumberFile "./myDieFileName2.txt" ?abstractLib "die_footprintFromFile2" ?frontLabelLPP "Metal1T P0" ?backLabelLPP "" ?csvFileName "./part.csv")

Area / Logo transfer: often times, an area of the Die needs to be captured in the exported abstract. Die export now supports this feature.

The picture below shows an example of a simple Die layout (with just the pad shapes). Note that there are two labels WireBond_PAD_SHAPE and dTm. The intent is to transfer these areas in the exported Die, i.e., the abstract.

                                                       

Area transfer can be accomplished using the vrfExportLayoutSkill() SKILL function as follows:

vrfExportLayoutSkill(cvId "Metal1T P0" "" ?dieInterfaceType "SHAPEANDLABEL" ?includeUnconnectedBump t ?pinNumbering "Use numbers from file" ?pinNumberFile "./myDieFileName2.txt" ?abstractLib "die_footprintFromFile" ?frontLabelLPP "Metal1T P0" ?backLabelLPP "" ?areaTransferFile "./logoFile.txt")

Note the usage of the ?areaTransferFile argument. In this example, we are using a logo file called ./logoFile.txt. The content of this file is as follows:

</TransferAreas>

   <SetName name="Set1">

      <Layer name="PDiff"> </Layer>

      <Purpose name="P0"> </Purpose>

      <Property name=""> </Property>

      <Class name="CONDUCTOR"> </Class>

      <SubClass name="TOP"> </SubClass>

   </SetName>

   <SetName name="Set2">

      <Layer name="ResWdum"> </Layer>

      <Purpose name="drawing"> </Purpose>

      <Property name=""> </Property>

      <Class name="CONDUCTOR"> </Class>

      <SubClass name="TOP"> </SubClass>

   </SetName>

</TransferAreas>

Notice the two lines above highlighted in yellow. These two need to have the value of layer purpose pair (LPP) of the labels/text that we want to transfer. In our example the LPP is PDiff/P0. Once the Die is exported, this is how the labels show up in the exported Die (abstract cell view).

                                                       

Supporting multiple parts for the same Die: Die export now supports multiple parts for the same Die. Using the previous example for the part.csv file, we can extend it to contain three part variants:

footprintCellName,DEVICE_TYPE,userProp1,userProp2,userProp3

Footprint CellName,DEVICE_TYPE,Part No,my Prop2,my Prop3

wirebond_PKG1,wirebond_PKG1,A123456,value2,value3

wirebond_PKG2,wirebond_PKG2,A789022,value2,value3

wirebond_PKG3,wirebond_PKG3,A123789,value2,value3

When this part.csv file will be used to export the Die, then a part.csv file will be placed in the Virtuoso 5x library structure under the exported Die. The user can pick any one of these parts when instantiating the Die abstract in the package schematic.

Exporting a Die text file from Virtuoso layout: a Die text file can be exported from the Virtuoso layout. The format of the file is as follows:

;File: /vols/VFE_PE_T3_vol01/skabir/TRO2018/VRF_RAK/VRF_PA_BGA_RAK/myDieFileName.txt

;Date: Oct 15 00:51:34 2019

;Units(DBUPerUU): 2000.000000

;Extents: ((-2.7 -5.35) (1134.25 1080.35))

;

;Pin Number     Padstack               X Coord  Y Coord  Rotation Pin Use Net Name  Metal Layer

;

gnd2_EXTRA1 gpdksige50/bump2/layout   65.500000  217.750000 MXR90 BI     gnd2  Metal3 drawing

gnd1_EXTRA1 gpdksige50/bump2/layout 1064.450000  841.000000 MXR90 BI     gnd1  Metal3 drawing

pdet        gpdksige50/bump2/layout  765.650000 1006.400000 MY    BI     pdet  Metal3 drawing

gnd         gpdksige50/bump2/layout  196.050000 1006.400000 MY    BI     gnd   Metal3 drawing

vcc1        gpdksige50/bump2/layout 1067.700000  715.850000 MY    BI     vcc1  Metal3 drawing

gnd2_EXTRA4 gpdksige50/bump2/layout   65.500000  386.250000 MXR90 BI     gnd2  Metal3 drawing

This file has the same format supported by Cadence SiP Layout, with the following exceptions:

  1. The Padstack column has been enhanced to include the Lib/Cell/View of the padstack.
  2. A “Metal Layer” column has been added. This is an optional column.

Updating a Die layout with customized pin numbers: in the packaging world, it is a common practice to represent a Die footprint with pin numbers. However, the IC layout usually does not use pin numbers, rather it uses pin names. Die export in the Virtuoso RF Solution allows a simple mechanism to address this. The exported Die text file can be modified as follows where the Pin Number column has been modified with pin numbers.

;Pin Number     Padstack               X Coord  Y Coord  Rotation Pin Use Net Name  Metal Layer

;

12          gpdksige50/bump2/layout   65.500000  217.750000 MXR90 BI     gnd2  Metal3 drawing

19          gpdksige50/bump2/layout 1064.450000  841.000000 MXR90 BI     gnd1  Metal3 drawing

18          gpdksige50/bump2/layout  765.650000 1006.400000 MY    BI     pdet  Metal3 drawing

13          gpdksige50/bump2/layout  196.050000 1006.400000 MY    BI     gnd   Metal3 drawing

11          gpdksige50/bump2/layout 1067.700000  715.850000 MY    BI     vcc1  Metal3 drawing

9           gpdksige50/bump2/layout   65.500000  386.250000 MXR90 BI     gnd2  Metal3 drawing

This file can be used to update the Die layout inside the Virtuoso RF Solution. When that is done, then for every bump/pad a property called APD_PIN_NUMBER is added, and it is seeded with the pin number from the Pin Number column. Note that for shape-based Die, the property APD_PIN_NUMBER is added to the label, as it is the label which decides the pin name (in exported views) and hence the number must correspond to it.

Exporting a Die with customized pin numbers: there are two mechanisms to export a Die with customized pin numbers. Once the Die layout has been updated with APD_PIN_NUMBER property for the bumps/shapes, then vrfExportLayoutSkill() can be used to export the Die.

vrfExportLayoutSkill(cvId "Metal3 drawing" "" ?dieInterfaceType "IO cell" ?includeUnconnectedBump t ?pinNumbering "Use numbers as-is" ?abstractLib "die_footprintFromLayout")

Notice the argument ?pinNumbering and its value (Use numbers as-is).

However, if the Die layout is not  editable, then the APD_PIN_NUMBER property cannot be added to the layout. In that case, the Die can be directly exported using the pin numbers from the Die text file, but without having to add these to the Die layout. The way to accomplish this is to use the vrfExportLayoutSkill() in the following manner:

vrfExportLayoutSkill(cvId "Metal1T P0" "" ?dieInterfaceType "SHAPEANDLABEL" ?includeUnconnectedBump t ?pinNumbering "Use numbers from file" ?pinNumberFile "./myDieFileName2.txt" ?abstractLib "die_footprintFromFile" ?frontLabelLPP "Metal1T P0" ?backLabelLPP "")

Notice the argument ?pinNumbering and its value (Use numbers from file).

Future enhancements: a few more Die export related enhancements are planned for the future which include exporting an XDA format, creating a layout with bump cells or pad shapes by reading a Die text file, and swapping bump cells during Die export.

That’s it for today. Now you know all there is to know about Die TILP for both bump-based and shape-based Die layouts. Have a great day!

Related Resources

  • Virtuoso RF Solution
  • What’s New in Virtuoso (ICADVM18.1 Only)

For more information on Cadence circuit design products and services, visit www.cadence.com.

Contact Us

For any questions, general feedback, or even if you want to suggest a future blog topic, write to custom_ic_blogs@cadence.com.

About Virtuoso Meets Maxwell

Virtuoso Meets Maxwell series includes posts about the next-generation die, package, and board design flow with a focus on reinventing and optimizing the design process to ensure that the designer remains a designer! Keep watching!

Click Subscribe to submit your email address for receiving notifications about our latest Virtuoso Meets Maxwell posts. 

(Sutirtha) Kabir



CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information