{"id":4018,"date":"2012-12-03T11:36:26","date_gmt":"2012-12-03T11:36:26","guid":{"rendered":"https:\/\/www.techdesignforums.com\/eda\/?p=4018"},"modified":"2012-12-26T08:45:36","modified_gmt":"2012-12-26T08:45:36","slug":"dummy-fill-analog-designs","status":"publish","type":"post","link":"https:\/\/www.techdesignforums.com\/practice\/technique\/dummy-fill-analog-designs\/","title":{"rendered":"Overcoming dummy fill deck limitations for analog design"},"content":{"rendered":"<p>In advanced node IC designs, nonfunctional geometric shapes &#8211; dummy fill structures &#8211; are added to maintain layer planarity during chemical mechanical polishing (CMP).<\/p>\n<p>The automated layout flows to generate dummy fill have been primarily designed for large, digital system-on-chips (SoCs). For mixed-signal layouts, these flows sometimes cannot generate both the required layer densities, and lack enough flexibility to maintain symmetry for device matching.<\/p>\n<p>However, you can get better results with an approach where fill patterns are customized. This is controlled through a design entry system that is used to drive a <a title=\"TCL Developer Exchange\" href=\"http:\/\/tcl.tk\/\" target=\"_blank\">tool command language<\/a> (Tcl) programmable engine which adds fill to a variety of analog layout styles.<\/p>\n<h2>The growing importance of dummy fill<\/h2>\n<p>For several process nodes, silicon processes have used a damascene approach to depositing metal layers. It requires CMP steps to remove excess metal and isolate tracks. This CMP polishing comprises the combination of a chemical slurry with mechanical pressure.<\/p>\n<p>The rate of the erosion of metal and inter-metal dielectric during polishing varies, and this can cause surface dishing and other non-planar surface effects. These in turn can lead to poor isolation of tracks and shorting <a href=\"#ref1\">[1]<\/a>.<\/p>\n<p>To alleviate this, foundry design rules specify the area densities of specific metal layers. When insufficient metal density is present from circuitry (devices and interconnects), non-functional dummy fill shapes are added to meet the targets <a href=\"#ref2\">[2]<\/a>.<\/p>\n<p>From 40nm, in addition to CMP induced metal density targets, density rules for base layers have\u00a0 become necessary to maintain thermal uniformity during rapid thermal annealing (RTA) to reduce device variability. Therefore, the fill process has become more important and more complex.<\/p>\n<h2>CSR\u2019s advanced dummy fill requirements<\/h2>\n<p><a title=\"CSR homepage\" href=\"http:\/\/www.csr.com\" target=\"_blank\">CSR<\/a> is a global fabless company specializing in wireless connectivity, location, audio and imaging devices. It relies upon foundry partners to provide a physical verification rule deck to process the layout and generate dummy fill structures to meet density targets. CSR realized that foundry-supplied decks tend to be targeted at customers developing digital SoCs.<\/p>\n<p>For digital projects, the dummy fill process is done once only at the top (full chip) level. However, where there is a large amount of analog content, it is better to insert fill structures hierarchically as analog IP is integrated into the design. This means the additional structures can be included in parasitic simulations.<\/p>\n<p>One issue CSR encountered when using standard foundry fill decks was that it had little control over how the decks operated. For analog designs, this could result in insufficient density control, an inability to adapt to specific device structures (such as mirrored and matched circuitry), and a further inability to alter the dummy fill shape depending on underlying layers.<\/p>\n<p>CSR observed that the decks could not meet the foundry\u2019s own density requirements for analog. In addition, the rules did not comprehend the matching requirements for specific analog circuitry that ensure it meets performance specifications. The result was that dummy fill had to be added by hand, a time consuming process.<\/p>\n<h2>New tool capabilities to support advanced dummy fill<\/h2>\n<p>The SmartFill functionality in Mentor Graphics\u2019 <a title=\"Calibre YieldEnhancer homepage\" href=\"http:\/\/www.mentor.com\/products\/ic_nanometer_design\/design-for-manufacturing\/calibre-yieldenhancer\/\" target=\"_blank\">Calibre Yield Enhancer<\/a> has been introduced to address the challenges posed by advanced dummy fill. New functionality provided by this and similar tools includes:<\/p>\n<ul>\n<li><em>Multi-layer stack<\/em>: the ability to create fill structures that extend across multiple layers<\/li>\n<li><em>Minimum and maximum density control<\/em><\/li>\n<li><em>Density gradient control<\/em><\/li>\n<li><em>Fill geometrical transforms<\/em>: including mirroring and rotation<\/li>\n<li><em>Data compression<\/em>: a sizeable reduction in the size of GDSII files<\/li>\n<li><em>Double patterning capability<\/em>: the ability to color fill structures, (divide them across two masks)<\/li>\n<li><em>Net aware fill<\/em>: the ability to apply special rules for identified critical nets<\/li>\n<\/ul>\n<p>The addtional concept of \u2018cell-based fill\u2019 has been added to Calibre Yield Enhancer to simplify pattern definition and control.<\/p>\n<p>For example, cell-based fill can define a \u2018fill cell\u2019 that can subsequently be placed in arrays within a defined region (Figure 1). Fill cells allow for large-scale compression of the GDS files for large IC designs, thereby saving processing and data transfer time.<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 1. Cell-based fill, provided by the SmartFill functionality of Calibre (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig1lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig1med.jpg\" alt=\"Cell-based dummy fill, provided by the SmartFill functionality of Calibre, allows designers to define a fill pattern, or cell, which can be replicated over a defined region.\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 1<\/span><br \/>\nCell-based fill, provided by the SmartFill functionality of Calibre, allows designers to define a fill pattern, or cell, which can be replicated over a defined region. (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<h2>Advanced dummy fill programming: a case study<\/h2>\n<p>To demonstrate how to deal with the complexities of advanced dummy fill for mixed-signal design, this section describes how CSR used SmartFill with Cadence Design Systems\u2019 <a title=\"Virtuoso analog homepage at Cadence\" href=\"http:\/\/www.cadence.com\/products\/cic\/analog_design_environment\/pages\/default.aspx\" target=\"_blank\">Virtuoso<\/a>, its custom analog design platform.<\/p>\n<p>The Calibre platform supports Tcl coding constructs with purpose-built Tcl Verification Format (TVF) extensions to help with physical verification. These extensions support scripting using batch commands for layout manipulation and the automation of Calibre rule file submissions.<\/p>\n<p>Using the DESIGNrev component of Calibre, users can create and execute these scripts, and also call on a graphical layout view with interactive layout manipulation functions. Based on these capabilities, Calibre DESIGNrev forms the core environment from which CSR\u2019s fill flow is driven.<\/p>\n<p>The number and variety of analog IP blocks in a typical CSR project precludes the creation of a unique fill rule deck for each block. Instead, CSR has sought a way for its layout engineers to tag geometries with fill directives as they create a design. They then use these directives to automatically generate the correct fill style and parameters.<\/p>\n<p>As CSR\u2019s primary analog layout entry system, Virtuoso allows properties to be associated with layers. This mechanism can be used to pass directives to the SmartFill engine and store them for audit trail purposes.<\/p>\n<p>However for complex dummy fill patterns, it is not feasible to have a user manually input directives for each fill geometry. So, CSR used Cadence\u2019s SKILL scripting and PCell description language to create a more efficient GUI interface.<\/p>\n<p>First the user draws one or more fill regions. Then he or she uses a custom GUI panel to specify various fill directives associated with the region, which are stored as layer properties. These directives are described below.<\/p>\n<p>CSR exploited a capability to specify multiple regions with different dummy fill directives for each, but this did still create a number of issues. First, where regions on the same layer overlapped, CSR had no way of specifying which region should be processed first. To alleviate this CSR employed a concept of \u2018nested regions\u2019 (or Russian Dolls) to resolve the processing order. Using this approach, regions can be nested but must be non-overlapping.<\/p>\n<p>Once fill regions had been created and directives assigned, CSR used the layout editor to generate a text file, the \u2018region property file\u2019. This contained the region and fill directive information. The file and the GDS were then passed to SmartFill. It processed the fill regions in order, inserting fill shapes into a working GDS database as it progressed. A flow diagram for this automation approach appears in Figure 2.<\/p>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 2. Flow to insert advanced fill into an analog design (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig2med.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig2med.jpg\" alt=\"The flow used to insert advanced dummy fill structures into an analog design.\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 2<\/span><br \/>\nThe flow used to insert advanced fill structures into an analog design (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<h2>Expanded dummy fill directives<\/h2>\n<p>Using the cell-based capabilities of SmartFill in the way described allowed each dummy fill region to be controlled in a number of ways, providing a degree of flexibility that standard fill decks lacked. These were:<\/p>\n<ul>\n<li><em>Layers<\/em>: The layers to receive fill can be specified on a region basis. All settings that apply to each region are applied to these layers.<\/li>\n<\/ul>\n<ul>\n<li><em> Type<\/em>: This specifies how fill is inserted within the region. Four types have been defined:<\/li>\n<\/ul>\n<ul>\n<li><em> Standard Dummy Fill<\/em>: This is the conventional type of fill, including nested fill regions.<\/li>\n<\/ul>\n<ul>\n<li><em> MX or MY<\/em>: This is a region where mirroring is enabled. The region is halved, fill is generated for that half, and the resultant fill pattern is mirrored.<\/li>\n<\/ul>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 3. Standard fill regions - Russian doll nesting (left). Fill mirroring around MX and MY regions (right) (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig3lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig3lrg.jpg\" alt=\"Standard fill regions, Russian doll nesting (left). Fill mirroring around MX and MY regions (right)\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 3<\/span><br \/>\nStandard dummy fill regions with Russian doll nesting (left). Fill mirroring around MX and MY regions (right) (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<ul>\n<li><em> Replicated<\/em>: This is potentially the most powerful type of fill directive. Many circuits in analog layouts are replicated in arrays, and designers want the same parasitic environment for each instance in each array. A fill pattern can be defined for one instance and replicated.<\/li>\n<\/ul>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 4. Fill replication (left) and centering (right) (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig4lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig4med.jpg\" alt=\"Dummy fill replication (left) and centering (right)\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 4<\/span><br \/>\nFill replication (left) and centering (right) (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<ul>\n<li><em> Position<\/em>: When filling a rectangular area, the user can choose whether to have a fill geometry at the center or not.<\/li>\n<\/ul>\n<ul>\n<li><em> Pattern<\/em>: A standard foundry deck uses a staggered approach. For a tight analog layout, this approach can lead to density targets being missed. This pattern option allows users to choose between staggered and array fill patterns.<\/li>\n<\/ul>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 5. Arrayed fill (left) and staggered fill (right) (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig5lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig5med.jpg\" alt=\"Arrayed dummy fill (left) and staggered fill (right)\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 5<\/span><br \/>\nArrayed fill (left) and staggered fill (right) (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<ul>\n<li><em> Shape<\/em>: In some cases, stretched fill objects are suboptimal. This option allows users to specify the amount of stretch.<\/li>\n<\/ul>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 6. Square dummy fill (left) and stretched fill (right) (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig6lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig6med.jpg\" alt=\"Square fill (left) and stretched fill (right)\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 6<\/span><br \/>\nSquare fill (left) and stretched fill (right) (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<ul>\n<li><em> Density<\/em>: A desired density range can be specified and for adjacent (or Russian-dolled) regions, and user defined gradients can be specified. These are useful in matching densities across adjacent IP blocks.<\/li>\n<\/ul>\n<div class=\"article_figure\"><a class=\"figure\" title=\"Figure 7. Russian-dolled regions of varying densities (left) and fill halo definitions (right) (Source: Mentor Graphics)\" href=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig7lrg.jpg\"><img decoding=\"async\" src=\"https:\/\/www.techdesignforums.com\/practicefiles\/2012\/12\/tdf-mentcsr-dec11-fig7med.jpg\" alt=\"Russian-dolled regions of varying densities (left) and fill halo definitions (right)\" \/><\/a><\/div>\n<div class=\"article_figure\">\n<p class=\"figure_wrapper\"><span class=\"figure_title\">Figure 7<\/span><br \/>\nRussian-dolled regions of varying densities (left) and fill halo definitions (right) (Source: Mentor Graphics \u2013 click image to enlarge)<\/p>\n<\/div>\n<ul>\n<li><em> Halo<\/em>: By default, SmartFill generates DRC-clean fill patterns. However, there are cases where extra spacing is required. This can be specified as additional halo spacing.<\/li>\n<\/ul>\n<p>When the property file is read, the regions are first prioritized according to the \u2018order\u2019 value within it. Then SmartFill is run via batch commands. During this process, a number of SmartFill tasks are submitted. As each job is completed, the GDS file is imported back into the original layout, so the fill generated at each stage becomes part of the database. This ensures that any new fill is placed with regard to any previously generated fill. After each placement cycle the relevant exclude layer is added to the region.<\/p>\n<p>For each region, the density is calculated to meet the minimum and maximum values defined in the property file. It is measured over a defined window of 20&#215;20 microns with a typical gradient of 5%. The target density variation between adjacent windows is &lt;5%.<\/p>\n<h2>Conclusion<\/h2>\n<p>This approach to advanced dummy fill provides a powerful set of fill operations and a flexible way of controlling them, without requiring deck writing on a per block basis. This has many benefits for a purely analog fill flow, but the flexibility of the approach can also be used for controlling density gradients between adjacent blocks in any chip\/IP integration scenario.<\/p>\n<h2>References<\/h2>\n<p><a id=\"ref1\">[1]<\/a> &#8220;Section 1.6 Design Dependency of Chip Surface Topology&#8221;, <em>Nano-CMOS Design for Manufacturability<\/em>, Wong, Zach, Moroz et al, Wiley-Interscience, October 2008, ISBN9780470112809 59 50.<br \/>\n<a id=\"ref2\">[2]<\/a> &#8220;Section 5.6.5 Dummy Diffusion \u2013 Poly-Metal&#8221;, <em>Ibid<\/em>.<\/p>\n<h2>Acknowledgments:<\/h2>\n<p>The authors would like to thank their colleagues at CSR and Mentor Graphics for their contributions to the development of approach, in particular, Fady Fouad, Technical Marketing Engineer, Mentor Graphics, Bill Graupp, Technical Marketing Engineer, Mentor Graphics, and David Vigar, Senior Director of Advance Process and Development, CSR.<\/p>\n<h2>About the Authors<\/h2>\n<p><strong>Colin Thomas<\/strong> <em>is the DFM Technologist in the Advanced Process Technology Development Group at CSR in Cambridge, UK.<\/em><br \/>\n<strong>Ian Smith<\/strong> <em>is a European Application Engineer in the Physical Verification Group at Mentor Graphics in Newbury, UK.<\/em><\/p>\n<h2>Contacts<\/h2>\n<p><em>CSR<\/em><br \/>\n<em>Corporate Headquarters<\/em><br \/>\n<em>Churchill House<\/em><br \/>\n<em>Cambridge Business Park<\/em><br \/>\n<em>Cowley Road<\/em><br \/>\n<em>Cambridge<\/em><br \/>\n<em>CB4 0WZ<\/em><br \/>\n<em>UK<\/em><br \/>\n<em>T: +44 (0)1223 692000<\/em><br \/>\n<em>W: <a title=\"CSR homepage\" href=\"http:\/\/www.csr.com\" target=\"_blank\">www.csr.com<\/a><\/em><\/p>\n<p><em>Mentor Graphics<\/em><br \/>\n<em>Corporate Office<br \/>\n<\/em><em>8005 SW Boeckman Rd<br \/>\n<\/em><em>Wilsonville<br \/>\n<\/em><em>OR 97070<br \/>\n<\/em><em>USA<\/em><\/p>\n<p><em>T: +1 800 547 3000<br \/>\n<\/em><em>W: <a href=\"http:\/\/www.mentor.com\">www.mentor.com<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>CSR used a customized approach to automated dummy fill layout for AMS to address layer density and device matching issues in standard flows aimed at digital SoCs.<\/p>\n","protected":false},"author":138,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,38],"tags":[659,505,1158],"coauthors":[51],"class_list":["post-4018","post","type-post","status-publish","format-standard","hentry","category-dfm-dfy","category-ic-implementation","tag-dummy-fill","tag-mixed-signal","tag-tcl","workflow-case-study","workflow-featured","workflow-up-to-date","organization-csr","organization-mentor-graphics"],"_links":{"self":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/4018","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=4018"}],"version-history":[{"count":0,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/posts\/4018\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/media?parent=4018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/categories?post=4018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/tags?post=4018"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.techdesignforums.com\/practice\/wp-json\/wp\/v2\/coauthors?post=4018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}