{"id":11765,"date":"2022-10-06T15:31:26","date_gmt":"2022-10-06T15:31:26","guid":{"rendered":"https:\/\/www.techdesignforums.com\/practice\/?p=11765"},"modified":"2022-10-06T15:31:26","modified_gmt":"2022-10-06T15:31:26","slug":"building-confidence-and-flexibility-in-3d-ic-system-level-design","status":"publish","type":"post","link":"https:\/\/www.techdesignforums.com\/practice\/technique\/building-confidence-and-flexibility-in-3d-ic-system-level-design\/","title":{"rendered":"Building confidence and flexibility in 3D-IC system level design"},"content":{"rendered":"<p>3D integration is becoming a valuable alternative to the ongoing yet challenging transistor scaling known as Moore\u2019s Law. This is especially true for semiconductor products that are becoming limited by single die designs (e.g., in terms of form factor, size, and technology node).<\/p>\n<p>Homogeneous 2.5D-IC approaches have provided an acceptable yield and are currently helping bring about the era of so-called chiplets\u2014with its great emphasis on IP reuse. Additionally, heterogeneous integration provides even greater value since different process nodes can be mixed in the same semiconductor product.<\/p>\n<p>Unlike placing dies side-by-side in the 2.5D-IC approach, 3D-IC allows the stacking of different dies vertically. This reduces undesired delays as the interconnects are shorter. True 3D stacking improves the form factor even more than possible with 2.5D-IC and fan out wafer level packaging (FO-WLP). Examples of both 2.5D-IC and 3D-IC integration are shown in Figures 1 and 2.<\/p>\n<div id=\"attachment_11766\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig_1-2.5D-IC-drawing.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11766\" class=\"size-large wp-image-11766\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig_1-2.5D-IC-drawing-1024x276.png\" alt=\"Figure 1. Heterogenous integration using 2.5D-IC (Siemens EDA)\" width=\"640\" height=\"173\" srcset=\"https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig_1-2.5D-IC-drawing-1024x276.png 1024w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig_1-2.5D-IC-drawing-300x81.png 300w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig_1-2.5D-IC-drawing-768x207.png 768w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig_1-2.5D-IC-drawing-1536x414.png 1536w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig_1-2.5D-IC-drawing-650x175.png 650w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig_1-2.5D-IC-drawing.png 1678w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-11766\" class=\"wp-caption-text\">Figure 1. Heterogenous integration using 2.5D-IC (Siemens EDA)<\/p><\/div>\n<div id=\"attachment_11767\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig-2_3D-IC-die-stack.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11767\" class=\"size-large wp-image-11767\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig-2_3D-IC-die-stack-1024x566.png\" alt=\"Figure 2: True 3D-IC achieved by stacking wafers (Siemens EDA)\" width=\"640\" height=\"354\" srcset=\"https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-2_3D-IC-die-stack-1024x566.png 1024w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-2_3D-IC-die-stack-300x166.png 300w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-2_3D-IC-die-stack-768x425.png 768w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-2_3D-IC-die-stack-650x359.png 650w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-2_3D-IC-die-stack.png 1510w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-11767\" class=\"wp-caption-text\">Figure 2: True 3D-IC achieved by stacking wafers (Siemens EDA)<\/p><\/div>\n<p>In terms of EDA physical verification, designers need to confirm that the 3D-IC assembly is connected as expected, compared to the \u2018golden\u2019 design intent (captured as a system-level netlist). For the system-level netlist to be considered golden, the designer must be confident enough that it is the absolute reference of system connectivity.<\/p>\n<h3>Transitioning to advanced system-level connectivity flows<\/h3>\n<p>In the case of 2.5D-IC systems, designers usually build silicon interposers using the same approaches used to build digital SoCs (using traditional, automatic place-and-route EDA tools), which means that the interposer connectivity is usually captured in a Verilog netlist format. As far as the designer can tell, this is the best system-level golden connectivity reference that he or she can generate using the traditional IC flows.<\/p>\n<p>But now, when graduating to 3D-IC system-level design tools and approaches, how can designers know they built the connectivity correctly?<\/p>\n<p>They will need to employ equivalence checking, with which they can compare the output of the traditional connectivity capture approach (usually a single domain: CDL, Verilog, or CSV) versus the output of a new, system-level connectivity capture approach (multi-domain). In other words, you need a quick, automated, and flexible netlist- versus-netlist comparison. Once the comparison results are clean, the designer will have more confidence in using the newly introduced connectivity capture flow.<\/p>\n<p>To help designers make this transition, Siemens has developed an automated approach\u2014using Siemens\u2019s Xpedition Substrate Integrator (xS)\u2014in which the designer can compare with his or her traditional flow netlist (SPICE, Verilog, or CSV) versus the system-level assembly netlist generated from xSI (CSV). This automated netlist-versus-netlist comparison is performed using Calibre tools accessed through an add-on feature integrated with xSI. Figure 3 shows the interactive GUI (wizard) that is used for the netlist-versus-netlist comparison.<\/p>\n<div id=\"attachment_11768\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig-3_xSI-wizard-GUI.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11768\" class=\"size-large wp-image-11768\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig-3_xSI-wizard-GUI-1024x654.png\" alt=\"Figure 3. The xSI wizard for its netlist-versus-netlist feature (Siemens EDA)\" width=\"640\" height=\"409\" srcset=\"https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-3_xSI-wizard-GUI-1024x654.png 1024w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-3_xSI-wizard-GUI-300x192.png 300w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-3_xSI-wizard-GUI-768x491.png 768w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-3_xSI-wizard-GUI-650x415.png 650w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-3_xSI-wizard-GUI.png 1301w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-11768\" class=\"wp-caption-text\">Figure 3. The xSI wizard for its netlist-versus-netlist feature (Siemens EDA)<\/p><\/div>\n<p>Users can see whether the xSI system-level connectivity matches their traditional flow connectivity by generating the netlist-versus-netlist runset out of xSI, executing the comparison, and viewing the generated comparison report. If the report is clean, xSI correctly built the system connectivity as intended.<\/p>\n<h3>System connectivity exceptions in 3D-IC multi-substrate assemblies<\/h3>\n<p>In some cases, a system source netlist is not enough for LVS verification of 3D-IC multiple substrate systems. In these cases, designers need to \u2018short\u2019 some signals together in the substrate layout. These shorts create a mismatch between the layout and the source netlist. Although these differences are reported in the LVS comparison results, they are intended by the user (usually temporarily).<\/p>\n<p>For the user to differentiate between the intended LVS issues and the real LVS issues, the intended LVS issues need to be somehow waived from the LVS results. One obvious solution is to modify the system source netlist to match the physical layout implementation. However, this is not desirable since the system source netlist needs to be golden and frozen across different physical implementations and iterations.<\/p>\n<p>Thus, designers need a quick, automated, and flexible way to handle connectivity exceptions in a 3D-IC design that enables them to waive intended shorts in the LVS comparison results. Siemens\u2019s Calibre 3DSTACK supports a \u2018net mapping\u2019 feature that can be utilized to account for the intended shorts. The shorts list can be considered a net map file, and it can be automatically included in the Calibre runset using a wizard that is integrated with xSI.<\/p>\n<p>Another challenge can arise when an assembly includes both an interposer and a package substrate for the same connection; the IC design team (building the silicon interposer) may use a different net naming methodology than the packaging team (building the organic substrate). The system-level designer then ends up in a situation where the same port name can be assigned to two different net names. For example, the same die-to-BGA connection can be assigned to two different net names: C4_PKG (packaging team naming) and C4_INT (interposer team naming).<\/p>\n<p>xSI can recognize a connection across substrates, even when two different net names are assigned to the connection. This is achieved by applying the xSI interface part feature.<\/p>\n<p>The interface part function is used to connect two different substrates in xSI (called floorplans or designs). An example of an interface part is highlighted (on the left) in Figure 4.<\/p>\n<div id=\"attachment_11769\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig-4_interface-component.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11769\" class=\"size-large wp-image-11769\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2022\/10\/fig-4_interface-component-1024x503.png\" alt=\"Figure 4. An interface part in xSI (Siemens EDA)\" width=\"640\" height=\"314\" srcset=\"https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-4_interface-component-1024x503.png 1024w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-4_interface-component-300x147.png 300w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-4_interface-component-768x378.png 768w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-4_interface-component-1536x755.png 1536w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-4_interface-component-650x320.png 650w, https:\/\/www.techdesignforums.com\/practice\/files\/2022\/10\/fig-4_interface-component.png 1613w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-11769\" class=\"wp-caption-text\">Figure 4. An interface part in xSI (Siemens EDA)<\/p><\/div>\n<p>As seen in Figure 4, there are two substrates: \u2018Interposer\u2019 and \u2018Package\u2019. For the \u2018TEST_CLK\u2019 signal, there are two different net names: \u2018TEST_CLK\u2019 in the interposer domain and \u2018pkg_TEST_CLK\u2019 in the package domain. Although the net names are different, the \u2018TEST_CLK\u2019 signal is correctly tracked across the system due to the existence of the \u201cC4P\u201d part (the interface part).<\/p>\n<h3>Conclusion<\/h3>\n<p>For 3D-IC assemblies, the designer must ensure that the system-level netlist is golden. This can be a challenge in the case of a newly introduced design flow. Xpedition Substrate Integrator (xSI) and Calibre 3DSTACK offer a fast, automated, and flexible netlist-versus-netlist approach so users can be confident that they built the system-level connectivity correctly.<\/p>\n<p>Another challenge in the 3D-IC design flow are connectivity exceptions, in which different design versions can include intended shorts that need to be waived for more user-friendly, system-level LVS debugging. xSI and Calibre 3DSTACK allow the support of known shorts and the tracking of connectivity between the IC design and package design domains.<\/p>\n<p>To gain greater insight into the challenges of 3D-IC connectivity and the Siemens xSI and Calibre 3DSTACK solutions, please read the full paper <a href=\"https:\/\/resources.sw.siemens.com\/en-US\/white-paper-managing-system-level-netlist-challenges-for-3d-ic-assemblies-in-advanced\">Making the right connections: Managing the system level netlist and its exceptions in 3D-ICs.<\/a><\/p>\n<h3>About the author<\/h3>\n<p>Tarek Ramadan is a senior 3D-IC application engineer in the technical solutions sales (TSS) organization at Siemens EDA, Siemens Digital Industries Software (DISW). He drives EDA solutions for 2.5D-IC, 3D-IC, and wafer level packaging applications. Prior to that, Tarek was a technical product manager in the Calibre design solutions organization at Siemens EDA. Ramadan holds BS and MS degrees in electrical engineering from Ain Shams University, Cairo, Egypt<\/p>\n","protected":false},"excerpt":{"rendered":"<p>3D-IC presents major connectivity challenges in maintaining a golden netlist and managing necessary exceptions. Learn how to manage them.<\/p>\n","protected":false},"author":138,"featured_media":11771,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,35],"tags":[1068,1070,1479,1997,1022,6050],"coauthors":[1441],"class_list":["post-11765","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dfm-dfy","category-design-verification","tag-2-5dic","tag-3dic","tag-calibre","tag-connectivity","tag-netlist","tag-xsi","workflow-front-lead","workflow-technique","workflow-up-to-date","organization-mentor"],"_links":{"self":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/11765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/users\/138"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/comments?post=11765"}],"version-history":[{"count":0,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/11765\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/media\/11771"}],"wp:attachment":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/media?parent=11765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/categories?post=11765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/tags?post=11765"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/coauthors?post=11765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}