{"id":1766,"date":"2018-11-22T23:03:24","date_gmt":"2018-11-22T15:03:24","guid":{"rendered":"https:\/\/www.innotronix.com.cn\/?page_id=1766"},"modified":"2024-12-22T22:00:40","modified_gmt":"2024-12-22T14:00:40","slug":"die-per-wafer-calculator","status":"publish","type":"page","link":"https:\/\/www.innotronix.com.cn\/?page_id=1766","title":{"rendered":"DPW\u8ba1\u7b97\u5668"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1766\" class=\"elementor elementor-1766\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-734ff4e elementor-section-stretched elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"734ff4e\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c037cf5\" data-id=\"c037cf5\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7d197a8 elementor-widget elementor-widget-image\" data-id=\"7d197a8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1800\" height=\"480\" src=\"https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_estimator_header.jpg\" class=\"attachment-full size-full wp-image-1768\" alt=\"\" srcset=\"https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_estimator_header.jpg 1800w, https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_estimator_header-600x160.jpg 600w, https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_estimator_header-300x80.jpg 300w, https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_estimator_header-768x205.jpg 768w, https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_estimator_header-1024x273.jpg 1024w\" sizes=\"(max-width: 1800px) 100vw, 1800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ae5fd09 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ae5fd09\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c0ba504\" data-id=\"c0ba504\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56c78b3 elementor-widget elementor-widget-heading\" data-id=\"56c78b3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-xl\">\u6676\u5706\u53ef\u5207\u5272\u6676\u7c92\u8ba1\u7b97\u5668 DPW(Die Per Wafer) Calculator<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-45b8050 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"45b8050\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-213d2be\" data-id=\"213d2be\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-30aba91 elementor-widget elementor-widget-image\" data-id=\"30aba91\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"382\" height=\"436\" src=\"https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_illustration.png\" class=\"attachment-full size-full wp-image-1773\" alt=\"\" srcset=\"https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_illustration.png 382w, https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/2018\/11\/DPW_illustration-263x300.png 263w\" sizes=\"(max-width: 382px) 100vw, 382px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ce54a0d\" data-id=\"ce54a0d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e78ceca elementor-widget elementor-widget-text-editor\" data-id=\"e78ceca\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>DPW\u662fDie Per Wafer\u7684\u7f29\u7565\u8bcd\uff0c\u7528\u4e8e\u8868\u5f81\u5355\u4e2a\u6676\u5706\u4e0a\u53ef\u5207\u5272\u6676\u7c92\u7684\u6570\u91cf\u3002\u6676\u5706\u53ef\u5207\u5272\u6676\u7c92\u6570(DPW)\u7684\u8ba1\u7b97\u662f\u975e\u5e38\u7b80\u5355\u7684\uff0c\u5b83\u7684\u8ba1\u7b97\u5b9e\u9645\u4e0a\u662f\u4e0e\u5706\u5468\u7387\u03c0\u6709\u5bc6\u5207\u7684\u5173\u8054\u3002<\/p><p>\u6676\u5706\u4e0a\u7684\u6676\u7c92\u5176\u5b9e\u53ef\u4ee5\u770b\u4f5c\u662f\u5706\u5f62\u6240\u80fd\u5bb9\u7eb3\u4e0b\u7684\u6240\u6709\u65b9\u5f62\u7684\u96c6\u5408\u3002\u6240\u4ee5\uff0c\u53ef\u5207\u5272\u6676\u7c92\u6570\u7684\u8ba1\u7b97\u5c31\u662f\u5229\u7528\u5706\u5468\u7387\u548c\u6676\u5706\u5c3a\u5bf8\u4f5c\u4e3a\u5df2\u77e5\u53c2\u6570\uff0c\u786e\u5b9a\u51fa\u6574\u4f53\u5706\u5f62\u533a\u57df\u80fd\u5bb9\u91cf\u4e0b\u7684\u65b9\u5f62\u6570\u91cf\u3002<\/p><p>\u6676\u5706\u5c3a\u5bf8\u548c\u6676\u7c92\u5c3a\u5bf8\u867d\u7136\u662f\u5df2\u77e5\u7684\uff0c\u4f46\u662f\uff0c\u7531\u4e8e\u6676\u7c92\u76f8\u4e92\u4e4b\u95f4\u662f\u6709\u7a7a\u9699\uff08\u5982\u9884\u7559\u7684\u5212\u9053\uff09\u7684\uff0c\u6676\u5706\u7684\u8fb9\u7f18\u53bb\u9664\u533a\u4e5f\u4e0d\u53ef\u7528\u3002\u8fd9\u4e9b\u56e0\u7d20\u4f7f\u5f97\u8ba1\u7b97\u53d8\u5f97\u7a0d\u5fae\u6709\u70b9\u590d\u6742\u548c\u68d8\u624b\u3002\u56e0\u6b64\uff0c\u628aDPW(Die Per Wafer)\u5de5\u5177\u7684\u8ba1\u7b97\u7ed3\u679c\u4f5c\u4e3a\u53ef\u5207\u5272\u6676\u7c92\u4f30\u7b97\u503c\u800c\u975e\u7cbe\u786e\u7684\u8ba1\u7b97\u503c\u53ef\u80fd\u66f4\u51c6\u786e\u4e00\u70b9\u3002<\/p><p>\u9664\u4e86\u524d\u9762\u63d0\u5230\u7684\u65e0\u6548\u533a\u57df\u5916\uff0c\u6676\u5706\u5382\u8fd8\u4f1a\u989d\u5916\u5360\u7528\u90e8\u5206\u533a\u57df\u505a\u6d4b\u8bd5(PCM\u7ed3\u6784)\uff0c\u76f8\u5bf9\u800c\u8a00\u4e5f\u4f1a\u5360\u7528\u6676\u5706\u4e00\u5c0f\u90e8\u5206\u9762\u79ef\u3002\u53e6\u5916\u8fd8\u6709\u5212\u9053\u3001\u6676\u5706\u88d5\u91cf\uff0c\u4ee5\u53ca\u56e0\u4e3a\u5404\u5de5\u5e8f\u4e4b\u95f4\u6216\u6676\u5706\u5382\u4e4b\u95f4\u8981\u6c42\u4e0d\u540c\u800c\u5bfc\u81f4\u7684\u6d4b\u8bd5\u7ed3\u6784\u5927\u5c0f\u4e0d\u4e00\u81f4\u800c\u6d6a\u8d39\u7684\u533a\u57df\u3002\u56e0\u6b64\uff0c\u5982\u9700\u7cbe\u786e\u7684\u6700\u7ec8DPW\u6570\u503c\u5e94\u76f4\u63a5\u5411\u6676\u5706\u5382\u8be2\u6d3d\uff0c\u4ed6\u4eec\u5177\u6709\u66f4\u4e13\u4e1a\u7684\u65b9\u6848\u63d0\u4f9bDPW\u7684\u51c6\u786e\u6570\u636e\u3002<\/p><p>\u6211\u4eec\u8fd9\u91cc\u63d0\u4f9bDie We Wafer\u8ba1\u7b97\u5668\uff0c\u8ba1\u7b97\u662f\u57fa\u4e8e\u4ee5\u4e0b\u516c\u5f0f\uff1a<span lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: \u5b8b\u4f53; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;\"><!--[endif]--><\/span><!--[endif]--><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24b8219 elementor-widget elementor-widget-image\" data-id=\"24b8219\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.innotronix.com.cn\/wp-content\/uploads\/elementor\/thumbs\/dpw\u8ba1\u7b97\u516c\u5f0f-nzg9k9ktxhggjwz1onc9r1vkao3vmscwtxqo8v1gwg.png\" title=\"dpw\u8ba1\u7b97\u516c\u5f0f\" alt=\"dpw\u8ba1\u7b97\u516c\u5f0f\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-327c088 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"327c088\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6c64504\" data-id=\"6c64504\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-30cda0d elementor-widget elementor-widget-html\" data-id=\"30cda0d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<script type=\"text\/javascript\">\r\n\t\t\twindow._wpemojiSettings = {\"baseUrl\":\"https:\\\/\\\/s.w.org\\\/images\\\/core\\\/emoji\\\/11\\\/72x72\\\/\",\"ext\":\".png\",\"svgUrl\":\"https:\\\/\\\/s.w.org\\\/images\\\/core\\\/emoji\\\/11\\\/svg\\\/\",\"svgExt\":\".svg\",\"source\":{\"concatemoji\":\"https:\\\/\\\/caly-technologies.com\\\/wp-includes\\\/js\\\/wp-emoji-release.min.js?ver=4.9.13\"}};\r\n\t\t\t!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline=\"top\",l.font=\"600 32px Arial\",a){case\"flag\":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case\"emoji\":return b=d([55358,56760,9792,65039],[55358,56760,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement(\"script\");c.src=a,c.defer=c.type=\"text\/javascript\",b.getElementsByTagName(\"head\")[0].appendChild(c)}var g,h,i,j,k=b.createElement(\"canvas\"),l=k.getContext&&k.getContext(\"2d\");for(j=Array(\"flag\",\"emoji\"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],\"flag\"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener(\"DOMContentLoaded\",h,!1),a.addEventListener(\"load\",h,!1)):(a.attachEvent(\"onload\",h),b.attachEvent(\"onreadystatechange\",function(){\"complete\"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);\r\n\t\t<\/script>\r\n\t\t<style type=\"text\/css\">\r\nimg.wp-smiley,\r\nimg.emoji {\r\n\tdisplay: inline !important;\r\n\tborder: none !important;\r\n\tbox-shadow: none !important;\r\n\theight: 1em !important;\r\n\twidth: 1em !important;\r\n\tmargin: 0 .07em !important;\r\n\tvertical-align: -0.1em !important;\r\n\tbackground: none !important;\r\n\tpadding: 0 !important;\r\n}\r\n<\/style>\r\n<link rel='stylesheet' id='dashicons-css'  href='https:\/\/caly-technologies.com\/wp-includes\/css\/dashicons.min.css?ver=4.9.13' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='elusive-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/menu-icons\/vendor\/kucrut\/icon-picker\/css\/types\/elusive.min.css?ver=2.0' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='font-awesome-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/menu-icons\/vendor\/kucrut\/icon-picker\/css\/types\/font-awesome.min.css?ver=4.7.0' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='foundation-icons-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/menu-icons\/vendor\/kucrut\/icon-picker\/css\/types\/foundation-icons.min.css?ver=3.0' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='genericons-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/menu-icons\/vendor\/kucrut\/icon-picker\/css\/types\/genericons.min.css?ver=3.4' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='menu-icons-extra-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/menu-icons\/css\/extra.min.css?ver=0.11.2' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='contact-form-7-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/contact-form-7\/includes\/css\/styles.css?ver=5.0.4' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='bodhi-svgs-attachment-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/svg-support\/css\/svgs-attachment.css?ver=4.9.13' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='default-icon-styles-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/svg-vector-icon-plugin\/public\/..\/admin\/css\/wordpress-svg-icon-plugin-style.min.css?ver=4.9.13' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='wpsm_tabs_r-font-awesome-front-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/tabs-responsive\/assets\/css\/font-awesome\/css\/font-awesome.min.css?ver=4.9.13' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='wpsm_tabs_r_bootstrap-front-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/tabs-responsive\/assets\/css\/bootstrap-front.css?ver=4.9.13' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='wpsm_tabs_r_animate-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/tabs-responsive\/assets\/css\/animate.css?ver=4.9.13' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='autocomplete-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/wp-advanced-search\/class.inc\/autocompletion\/jquery.autocomplete.css?ver=1.0' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='owl.carousel.style-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/wp-posts-carousel\/owl.carousel\/assets\/owl.carousel.css?ver=4.9.13' type='text\/css' media='all' \/>\r\n<link rel='stylesheet' id='wpstatistics-css-css'  href='https:\/\/caly-technologies.com\/wp-content\/plugins\/wp-statistics\/assets\/css\/frontend.css?ver=12.4.3' type='text\/css' media='all' \/>\r\n\r\n<\/style>\r\n\r\n<link rel='stylesheet' id='kirki-styles-cenote_config-css'  href='https:\/\/caly-technologies.com\/wp-content\/themes\/cenote\/inc\/kirki\/assets\/css\/kirki-styles.css?ver=3.0.25' type='text\/css' media='all' \/>\r\n<style id='kirki-styles-cenote_config-inline-css' type='text\/css'>\r\n\r\n<\/style>\r\n<script type='text\/javascript' src='https:\/\/caly-technologies.com\/wp-includes\/js\/jquery\/jquery.js?ver=1.12.4'><\/script>\r\n<script type='text\/javascript' src='https:\/\/caly-technologies.com\/wp-includes\/js\/jquery\/jquery-migrate.min.js?ver=1.4.1'><\/script>\r\n<script type='text\/javascript' src='https:\/\/caly-technologies.com\/wp-content\/plugins\/wp-posts-carousel\/owl.carousel\/owl.carousel.js?ver=2.0.0'><\/script>\r\n<script type='text\/javascript' src='https:\/\/caly-technologies.com\/wp-content\/plugins\/wp-posts-carousel\/owl.carousel\/jquery.mousewheel.min.js?ver=3.1.12'><\/script>\r\n<link rel='https:\/\/api.w.org\/' href='https:\/\/caly-technologies.com\/wp-json\/' \/>\r\n<link rel=\"EditURI\" type=\"application\/rsd+xml\" title=\"RSD\" href=\"https:\/\/caly-technologies.com\/xmlrpc.php?rsd\" \/>\r\n<link rel=\"wlwmanifest\" type=\"application\/wlwmanifest+xml\" href=\"https:\/\/caly-technologies.com\/wp-includes\/wlwmanifest.xml\" \/> \r\n<meta name=\"generator\" content=\"WordPress 4.9.13\" \/>\r\n<link rel='shortlink' href='https:\/\/caly-technologies.com\/?p=774' \/>\r\n<link rel=\"alternate\" type=\"application\/json+oembed\" href=\"https:\/\/caly-technologies.com\/wp-json\/oembed\/1.0\/embed?url=https%3A%2F%2Fcaly-technologies.com%2Fdie-yield-calculator%2F\" \/>\r\n<link rel=\"alternate\" type=\"text\/xml+oembed\" href=\"https:\/\/caly-technologies.com\/wp-json\/oembed\/1.0\/embed?url=https%3A%2F%2Fcaly-technologies.com%2Fdie-yield-calculator%2F&#038;format=xml\" \/>\r\n\r\n\t\r\n<script>var wp_posts_carousel_url=\"https:\/\/caly-technologies.com\/wp-content\/plugins\/wp-posts-carousel\/\";<\/script><meta name=\"generator\" content=\"Powered by Visual Composer - drag and drop page builder for WordPress.\"\/>\r\n<!--[if lte IE 9]><link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/caly-technologies.com\/wp-content\/plugins\/js_composer-NULLED\/assets\/css\/vc_lte_ie9.min.css\" media=\"screen\"><![endif]--><script type=\"text\/javascript\" id=\"sns_scripts_in_head\">\/\/ MapScript.js\r\n\/\/ By Dominique Tournier\r\n\/\/ Copyright 2014-2017, CALY Technologies, All Rights Reserved.\r\n\r\n\/\/ NOTE(S):\r\n\/\/ 1. Requires JavaScript module HTML.js.\r\n\/\/ ******************************************************************************************\r\n\/\/ MODULE FUNCTIONS\r\n\/\/ ******************************************************************************************\r\n\/\/ Object Constructor\r\nfunction CounterObject() {\r\n    this.i=0;\r\n\tthis.n = 0;\r\n}\r\n\/\/ Object Constructor\r\nfunction PtObject() {\r\n\tthis.v = 0;\r\n\tthis.h = 0;\r\n}\r\nfunction DieObject() {\r\n\tthis.v = 0;\r\n\tthis.h = 0;\r\n    this.type = 0;\r\n    this.dimX = 0;\r\n    this.dimY = 0;\r\n}\r\n\/\/ Object Constructor\r\nfunction RectObject() {\r\n\tthis.t = 0;\r\n\tthis.l = 0;\r\n\tthis.b = 0;\r\n\tthis.r = 0;\r\n}\r\n\/\/ Object Constructor\r\nfunction RectDieObject() {\r\n\tthis.x = 0;\r\n\tthis.y = 0;\r\n\tthis.w = 0;\r\n\tthis.h = 0;\r\n}\r\n\/\/ Object Constructor\r\nfunction StepObject() {\r\n\tthis.t = 0;\r\n\tthis.l = 0;\r\n\tthis.b = 0;\r\n\tthis.r = 0;\r\n\tthis.c = \"\";\r\n}\r\n\/\/ Creates a simple array object\r\nfunction MakeArray(n) {\r\n\tthis.length = n;\r\n\treturn (this);\r\n} \r\nfunction getSelectedValue(selectList) {\r\n    return (selectList[selectList.selectedIndex].value);\r\n}\r\n\r\n \/\/ Creates a global parameters structure\r\nfunction STRDieCalParams(){\r\n    this.CHKscblnt = 0;\r\n    this.CHKdiesize = 0;\r\n    this.dieSize = new PtObject();\r\n    this.reticle = new PtObject();\r\n    this.dieSpace = new PtObject();\r\n\tthis.dieSize_H = 0;\r\n\tthis.dieSize_V = 0;\r\n\tthis.dieSpace_H = 0;\r\n\tthis.dieSpace_V = 0;\r\n\tthis.wfrDiameter = 0;\r\n\tthis.xWidth = 0;\r\n    this.def=0;\r\n    this.centrage=\"true\";\r\n    this.vshift=0;\r\n    this.hshift=0;\r\n}\r\nfunction STRDieCalResults(){\r\n    this.as = 0;\r\n    this.da = 0;\r\n    this.yda = 0;\r\n    this.md = 0;\r\n    this.GOODDEV=0;\r\n    this.PARTIALDEV=0;\r\n    this.EXCLDEV=0;\r\n}\r\nfunction STRWaferPlot(){\r\n    this.DiePosXY = new DieObject();   \r\n}\r\n\/\/ ******************************************************************************************\r\n\/\/ MODULE VARIABLES\r\n\/\/ ******************************************************************************************\r\n\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ input parameters\r\n\/\/ ------------------------------------------------------------------------------------------\r\nvar reticle = new PtObject();\r\nvar def=0.1;\r\nvar vshift=0;\r\nvar hshift=0;\r\nvar ctxFontSize='22pt Dosis';\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ CALCULATED PARAMETERS\r\n\/\/ ------------------------------------------------------------------------------------------\r\nvar wfrRadius = 0;\r\nvar DiePosXY = new DieObject();\r\nvar centerX=0;\r\nvar centerY=0;\r\nvar dimplot=2048;\r\nvar PlotScale=1;\r\nvar scribev = 0;\r\nvar scribeh = 0;\r\nvar dieX = 0;\r\nvar dieY = 0;\r\nvar edgeLoss = 0;\r\nvar waferSize = 0;\r\nvar waferProd = 0;\r\nvar DieInWafer = 0;\r\nvar centrage=\"true\";\r\nvar diameter = 0;\r\nvar die = new MakeArray(0);\r\nvar dieCountH = 0;\r\nvar dieCountV = 0;\r\nvar map = \"\";\r\nvar offset = new PtObject();\r\nvar ret = new MakeArray(0);\r\n\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ FUNCTIONS.\r\n\/\/ ------------------------------------------------------------------------------------------\r\nfunction LoadParam(form,DCParam){\r\n    \/\/ CHECK Horizontal \/ Vertical SCRIBE LANE \/ dependence (checkbox)\r\n            \r\n            DCParam.CHKscbln=(form.elements['scrblaneCHKBX'].checked); \r\n                \/\/ both scribe lane parameters can be tuned   \r\n            if (!DCParam.CHKscbln) {  \r\n                form.sv.disabled=DCParam.CHKscbln;\r\n                form.sv.style=\"background-color:white;border: solid 1px #FF0000;vertical-align:9px;color:#FF0000;\";\r\n                document.getElementById(\"symbLNKDieScribe\").style.visibility = \"hidden\";\r\n            }\r\n            \/\/ both scribe lane parameters are linked \r\n            if (DCParam.CHKscbln) {\r\n                form.sv.disabled=!DCParam.CHKscbln;\r\n                form.sv.value=form.sh.value;\r\n                form.sv.style=\"background-color:#eee;border: solid 0px #aaaaaa;vertical-align:9px;color:#bbb;\";\r\n                document.getElementById(\"symbLNKDieScribe\").style.visibility = \"visible\";\r\n            }\r\n    \r\n            DCParam.CHKdiesize=(form.elements['DieSizeCHKBX'].checked); \r\n            \/\/ both die size parameters can be tuned \r\n            if (!DCParam.CHKdiesize) {\r\n                form.yv.disabled=DCParam.CHKdiesize;\r\n                form.yv.style=\"background-color:white;border: solid 1px #FF0000;vertical-align:9px;color:#FF0000;\";\r\n                document.getElementById(\"symbLNKDieSize\").style.visibility = \"hidden\";\r\n            }\r\n            \/\/ both die size parameters are linked\r\n            if (DCParam.CHKdiesize) {\r\n                form.yv.disabled=!DCParam.CHKdiesize;\r\n                form.yv.value=form.xh.value;\r\n                form.yv.style=\"background-color:#eee;border: solid 0px #aaaaaa;vertical-align:9px;color:#bbb;\";\r\n                document.getElementById(\"symbLNKDieSize\").style.visibility = \"visible\";\r\n            }\r\n\r\n         \r\n    \/\/ LOAD PARAMETERS FROM FORMULAR\r\n            \/\/ Die width (horizontal dimension)\r\n            DCParam.dieSize.h=parseFloat(form.elements['xh'].value, 10);\r\n            \/\/ Die height (horizontal dimension)\r\n            DCParam.dieSize.v=parseFloat(form.elements['yv'].value, 10);\r\n            \/\/ Scribe lane dimensions\r\n            DCParam.dieSpace.h=parseFloat(form.elements['sv'].value, 10);\r\n            DCParam.dieSpace.v=parseFloat(form.elements['sh'].value, 10);\r\n            \/\/ wafer dimension\r\n            DCParam.wfrDiameter=parseInt(form.elements['d'].value);\r\n            DCParam.xWidth= parseFloat(form.elements['e'].value, 10);\r\n            \/\/ defect density\r\n            def = parseFloat(form.elements['dd'].value, 10);\r\n            centrage=(form.elements['wcentering'].checked); \r\n            vshift=parseFloat(form.elements['vshift'].value, 10);\r\n            hshift=parseFloat(form.elements['hshift'].value, 10);\r\n            \r\n    \/\/ CHECK PARAMETERS AND UPDATE FORMULAR\r\n            if (DCParam.dieSize.h>(DCParam.wfrDiameter\/4-DCParam.xWidth*2)) {\r\n                form.xh.value=DCParam.wfrDiameter\/4-DCParam.xWidth*2;   \r\n                DCParam.dieSize.h=DCParam.wfrDiameter\/4-DCParam.xWidth*2;\r\n            }\r\n            if (DCParam.dieSize.v>(DCParam.wfrDiameter\/4-DCParam.xWidth*2)) {\r\n                form.yv.value=DCParam.wfrDiameter\/4-DCParam.xWidth*2;\r\n                DCParam.dieSize.v=DCParam.wfrDiameter\/4-DCParam.xWidth*2;\r\n            }\r\n            if (DCParam.dieSpace.h>(DCParam.wfrDiameter\/4-DCParam.xWidth*2)) {\r\n                form.sv.value=DCParam.wfrDiameter\/4-DCParam.xWidth*2;   \r\n                DCParam.dieSpace.h=DCParam.wfrDiameter\/4-DCParam.xWidth*2;\r\n            }\r\n            if (DCParam.dieSpace.v>(DCParam.wfrDiameter\/4-DCParam.xWidth*2)) {\r\n                form.sh.value=DCParam.wfrDiameter\/4-DCParam.xWidth*2;\r\n                DCParam.dieSpace.v=DCParam.wfrDiameter\/4-DCParam.xWidth*2;\r\n            }\r\n            if (isNaN(DCParam.dieSize.h)||DCParam.dieSize.h<=0)     {form.xh.value=2; DCParam.dieSize.h=2;}\r\n            if (isNaN(DCParam.dieSize.v)||DCParam.dieSize.v<=0)     {form.yv.value=2; DCParam.dieSize.v=2;}\r\n            if (isNaN(DCParam.dieSpace.h)||DCParam.dieSpace.h<=0)   {form.sv.value=0.08; DCParam.dieSpace.h=0.08;}\r\n            if (isNaN(DCParam.dieSpace.v)||DCParam.dieSpace.v<=0)   {form.sh.value=0.08; DCParam.dieSpace.v=0.08;}\r\n            if (isNaN(DCParam.xWidth)||DCParam.xWidth<0)            {form.e.value=5; DCParam.xWidth=5;}\r\n           \/*if (DCParam.xWidth>0.5*DCParam.wfrDiameter-2*Math.min(DCParam.dieSize.h,DCParam.dieSize.v)) {\r\n                form.e.value=5; \r\n                DCParam.xWidth=5;\r\n            }*\/\r\n            if (isNaN(def)||def<0)                  {form.dd.value=0.1; def=0.1;}\r\n            if (isNaN(vshift))                      {form.vshift.value=0; vshift=0;}\r\n    return(DCParam);\r\n    }\r\n\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/show hide mapping\r\n\r\n\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ converts a string equal to \"true\" into the boolean value true and\r\n\/\/ all other values into the boolean value of false\r\nfunction parseBool(str) {\r\n\tvar bool = false;\r\n\tif (str.toUpperCase() === \"TRUE\") {\r\n\t\tbool = true;\r\n\t}\r\n\treturn (bool);\r\n}\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ Calculate yield and wafer map parameters\r\n\/\/ Return updated parameters \r\nfunction CalcWfrParam(DCParam,DCRes) {\r\n    \/\/calculate average side for die (mm\/side)\r\n    DCRes.as = Math.sqrt(DCParam.dieSize.v * DCParam.dieSize.h) + DCParam.dieSpace.v+DCParam.dieSpace.h;\r\n    \/\/calculate die area with scribe\r\n    DCRes.da = Math.pow(DCRes.as, 2);\r\n    \/\/calculate die area without scribe in cm\r\n    DCRes.yda = DCParam.dieSize.v *  DCParam.dieSize.h * .01;\r\n    \/\/calculate modified wafer diameter\r\n    DCRes.md = DCParam.wfrDiameter - (2 * DCParam.xWidth);\r\n    \/\/calculate modified wafer area\r\n    return(DCParam,DCRes);\r\n}\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ Return a random value between min and max. \r\nfunction aleatoire(min, max) {\r\n            return (Math.floor((max-min)*Math.random())+min);\r\n        }    \r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ check wheter the die is located in the wafer area, exclusion edge area of production area\r\n\/\/ Input : die position, die dimension, wafer size and wafer prod size\r\n\/\/ Output : die type classification \r\n\/\/              type 1: GOOD DIES       \/\/ IN WAFER PROD AREA\r\n\/\/              type 2: WASTED DIES     \/\/ LOST DIES (IN WAFER AND EXCLUSION EDGE AREA)\r\n\/\/              type 3: NO DIES         \/\/ OUTSIDE WAFER\r\n\/\/              type 4: PARTIAL DIES    \/\/ ON EXCLUSION EDGE LIMIT\r\n\r\nfunction IsInWafer (Die_pos_X,Die_pos_Y,Die_dim_X,Die_dim_Y,wSize,wProd) {\r\n    var dietype=0;\r\n    var h=centerX;\r\n    var k=centerY;\r\n    var rext=wSize*0.5;\r\n    var rint=wProd*0.5;\r\n    \/\/bl\r\n    var posX=Die_pos_X;\r\n    var posY=Die_pos_Y;\r\n    var test_bl_int=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rint,2);\r\n    \/\/tl\r\n    var posX=Die_pos_X;\r\n    var posY=Die_pos_Y+Die_dim_Y;\r\n    var test_tl_int=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rint,2);\r\n    \/\/tr\r\n    var posX=Die_pos_X+Die_dim_X;\r\n    var posY=Die_pos_Y+Die_dim_Y;\r\n    var test_tr_int=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rint,2);\r\n    \/\/br\r\n    var posX=Die_pos_X+Die_dim_X;\r\n    var posY=Die_pos_Y;\r\n    var test_br_int=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rint,2);\r\n    \r\n    \/\/bl\r\n    var posX=Die_pos_X;\r\n    var posY=Die_pos_Y;\r\n    var test_bl_ext=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rext,2);\r\n    \/\/tl\r\n    var posX=Die_pos_X;\r\n    var posY=Die_pos_Y+Die_dim_Y;\r\n    var test_tl_ext=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rext,2);\r\n    \/\/tr\r\n    var posX=Die_pos_X+Die_dim_X;\r\n    var posY=Die_pos_Y+Die_dim_Y;\r\n    var test_tr_ext=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rext,2);\r\n    \/\/br\r\n    var posX=Die_pos_X+Die_dim_X;\r\n    var posY=Die_pos_Y;\r\n    var test_br_ext=(Math.pow((posX-h),2.0)+Math.pow((posY-k),2.0))<Math.pow(rext,2);\r\n    \r\n    dietype=3;\r\n    if (test_tl_ext & test_tr_ext & test_bl_ext & test_br_ext)\r\n        {\r\n            dietype=2;\r\n            if (test_tl_int || test_tr_int || test_bl_int || test_br_int)\r\n                {\r\n                    dietype=4;\r\n                    if (test_tl_int & test_tr_int & test_bl_int & test_br_int)\r\n                        {\r\n                            dietype=1;\r\n                        }\r\n                }\r\n        }\r\n    return (dietype);\r\n}\r\nfunction createArray(length) {\r\n    var arr = new Array(length || 0),\r\n    i = length;\r\n    if (arguments.length > 1) {\r\n        var args = Array.prototype.slice.call(arguments, 1);\r\n        while(i--) arr[length-1 - i] = createArray.apply(this, args);\r\n    }\r\n    return (arr);\r\n}    \r\nfunction canvas_labelling(canvas,ctx,dimplot) {\r\n        \r\n        \/\/ draw canvas limits\r\n            ctx.strokeStyle = '#FFFFFF';\r\n            ctx.strokeRect(centerX-0.5*dimplot-7,centerY-0.5*dimplot-7,dimplot+14,dimplot+14); \r\n        \/\/ draw wafer square border\r\n            ctx.strokeStyle = '#11AAAA';\r\n            ctx.strokeRect(centerX-0.5*dimplot-8,centerY-0.5*dimplot-8,dimplot+16,dimplot+16);  \r\n            ctx.strokeRect(centerX-0.5*dimplot-6,centerY-0.5*dimplot-6,dimplot+12,dimplot+12);\r\n            ctx.strokeStyle = \"rgba(77, 0, 0, 1)\";\r\n            ctx.lineWidth=2;\r\n            ctx.strokeRect(centerX-0.5*dimplot-8,centerY-0.5*dimplot-8,dimplot+16,dimplot+16);  \r\n        \/\/ draw circle @ wafer size\r\n            ctx.beginPath();\r\n            ctx.strokeStyle = \"rgba(200, 0, 0,1)\";\r\n            ctx.lineWidth=5;\r\n            ctx.arc(centerX,centerY,(waferSize*0.5)*PlotScale,0,Math.PI*2,true);  \/\/ Good die edge\r\n            ctx.stroke();\r\n        \/\/ draw circle @wafer exclusion \r\n            ctx.beginPath();\r\n            ctx.strokeStyle = \"rgba(0, 200, 0,1)\";\r\n            ctx.lineWidth=5;\r\n            ctx.arc(centerX,centerY,(waferSize*0.5-edgeLoss)*PlotScale,0,Math.PI*2,true);  \/\/ Good die edge\r\n            ctx.stroke();\r\n        \/\/ insert caly text in backside\r\n            ctx.stroke();\r\n            ctx.font = '30pt Dosis';\/\/ctxFontSize;\r\n            ctx.fillStyle = \"#555555\";\r\n            ctx.fillText(\"\u82f1\u521b\u529b\u79d1\u6280\u6709\u9650\u516c\u53f8\", centerX-165, centerY+70); \/\/canvas.width-25); \r\n            ctx.stroke();\r\n        \r\n       \/\/ add wafer limit label\r\n            ctx.font = ctxFontSize;\r\n            ctx.fillStyle = \"#FF0000\";\r\n            ctx.fillText(\"Wafer Limits\", centerX-0.5*dimplot, centerY-0.5*dimplot+55); \r\n            ctx.strokeStyle = '#CC0000';\r\n        \/\/ add wafer exclusion edge label with line   \r\n            ctx.fillStyle = \"#00DD22\";\r\n            ctx.fillText(\"Exclusion Edge\", centerX+0.5*dimplot-200, centerY+0.5*dimplot-5);\r\n            \r\n            var X_L=centerX+0.5*dimplot-200;\r\n            var Y_L=centerY+0.5*dimplot-5;\r\n            var Rext=Math.sqrt( Math.pow((X_L-centerX),2)+Math.pow((Y_L-centerY),2) );\r\n            var Y_I=centerY+waferProd*0.5*PlotScale*(Y_L-centerY)\/Rext;\r\n            var X_I=centerX+Math.sqrt(  Math.pow((waferProd*0.5*PlotScale),2) - Math.pow( (Y_I-centerY) ,2) );\r\n            ctx.beginPath();\r\n            ctx.moveTo(X_L, Y_L);\r\n            ctx.strokeStyle='green';\r\n            ctx.lineWidth=4;\r\n            ctx.lineTo(X_I,Y_I);\r\n            ctx.stroke();\r\n    \r\n    \/\/ add Legend\r\n        \/\/BAD DIES\r\n        ctx.fillStyle=\"#777777\";\r\n        ctx.fillRect(0.5*dimplot+285,25,20,20);\r\n        ctx.beginPath();\r\n        ctx.arc(0.5*dimplot+295,35,5,0,Math.PI*2,true);\r\n        ctx.fillStyle = 'white';\r\n        ctx.fill();\r\n        ctx.lineWidth=1;\r\n        ctx.strokeStyle = \"#777777\";\r\n        ctx.stroke();\r\n        \/\/ EXCLUDED DIES\r\n        ctx.fillStyle=\"rgba(240,70,70,0.8)\";             \r\n        ctx.fillRect(0.5*dimplot+15,25,20,20);\r\n        \/\/ PARTIAL DIES\r\n        ctx.fillStyle=\"rgba(220,210,0,0.8)\";             \r\n        ctx.fillRect(0.5*dimplot+285,66,20,20);\r\n        \/\/ GOOD DIES\r\n        ctx.fillStyle=\"rgba(70,200,70,0.8)\";             \r\n        ctx.fillRect(0.5*dimplot+15,66,20,20);\r\n\r\n    \r\n\r\n \r\n}    \r\nfunction Aff_res_canvas(canvas,ctx,DCRes,GDPW,def,EstimYield) {  \r\n              \/\/0.8*canvas.width,centerY-0.5*dimplot-8                \r\n              ctx.font = ctxFontSize;\r\n              ctx.fillStyle = \"#21c821\"; \/\/black\r\n              ctx.fillText(\"Def. Density \" + def +\" #\/sq.cm\", centerX-0.5*dimplot, 45);\r\n              ctx.fillText(\"Fab. Yield = \" + EstimYield +\" %\", centerX-0.5*dimplot, 85);\r\n          \r\n              ctx.fillStyle = \"#000000\"; \/\/black\r\n              ctx.fillStyle = \"#000000\"; \/\/black\r\n              ctx.fillText(\"Wasted Dies  #\" + DCRes.EXCLDEV , 0.55*dimplot, 45);\r\n              \/\/ctx.fillStyle = \"#21c821\"; \/\/green\r\n              ctx.fillText(\"Defective Dies  #\" + (DCRes.GOODDEV-GDPW), 0.65*dimplot+190, 45);\r\n              \/\/ctx.fillStyle = \"#21c821\"; \/\/green\r\n              ctx.fillText(\"Good Dies #\" + GDPW, 0.55*dimplot, 85);\r\n              \/\/ctx.fillStyle = \"#2121c8\"; \/\/blue\r\n              ctx.fillText(\"Partial Dies #\" + DCRes.PARTIALDEV, 0.65*dimplot+190, 85);\r\n              ctx.fillStyle = \"#000000\"; \/\/black\r\n              ctx.fillText(\"Max Dies Per Wafer (without defect) #\" + DCRes.GOODDEV, 20, canvas.width-20);\r\n              \r\n              if( (GDPW==0) || isNaN(EstimYield)){\r\n                   ctx.fillStyle = \"#c82121\"; \/\/red\r\n                  ctx.fillText(\"CHECK PARAMETERS\",centerX-150,centerY+200);}\r\n             }\r\nfunction save_mapping(){\r\n       var canvas=document.getElementById(\"yieldcanvas\");\r\n       var win=window.open();\r\n        win.document.write(\"<br><img src='\"+canvas.toDataURL()+\"'\/>\");\r\n        win.print();\r\n        win.location.reload();\r\n    }\r\nfunction draw_logo(canvas,ctx,aff,logopos){\r\n            var  LOGO =  new Array();\r\n            var  PtLogo = [[0,0],[-44,-40],[-46,-44],[-45,-48],[-42,-59],[-40,-62],[-37,-64],[-25,-66],[-22,-66],[-19,-64],[47,0]];\r\n            var  nbPtLogo = PtLogo.length;\r\n            \r\n            if (aff==\"TRUE\")\r\n            {        \r\n                var scaleLogo=1.5\r\n                if (logopos==\"EXTERNAL\"){\r\n                    var  PosXlogo=canvas.width-140;\r\n                    var  PosYlogo=canvas.width-60+10;\r\n                    }\r\n                else {\r\n                    var  PosXlogo=centerX-65;\r\n                    var  PosYlogo=centerY-70;\r\n                }\r\n                ctx.beginPath();\r\n                ctx.fillStyle =\"rgba(11, 11, 11, 0.1)\";\r\n                ctx.strokeStyle = \"rgba(22, 22, 22, 0.2)\";\r\n                ctx.lineWidth = 2;\r\n                for (var i=0;i<nbPtLogo;i+=1){\r\n                    LOGO [i]=PtLogo[i];\r\n                    \/\/ alert(\"Point \"+i+\" : \"+LOGO[i]+\" ; X=\"+LOGO[i][0]+\" ; Y=\"+LOGO[i][1]);\r\n                }\r\n                ctx.moveTo(PosXlogo+LOGO[0][0],PosYlogo+LOGO[0][0]);\r\n                for (var i=1;i<nbPtLogo;i+=1){\r\n                    ctx.lineTo(PosXlogo+LOGO[i][0]*scaleLogo,PosYlogo-LOGO[i][1]*scaleLogo);\r\n                }\r\n                ctx.closePath();\r\n                ctx.fill();\r\n                ctx.stroke();\r\n\r\n                PtLogo = [[0,0],[72,68],[76,70],[81,69],[95,64],[114,59],[117,57],[127,25],[127,20],[125,16],[109,0]];\r\n                var  nbPtLogo = PtLogo.length;\r\n                if (logopos==\"EXTERNAL\"){\r\n                    var  PosXlogo=canvas.width-140;\r\n                    var  PosYlogo=canvas.width-60+68*scaleLogo+10;\r\n                    }\r\n                else {\r\n                    var  PosXlogo=centerX-65;\r\n                    var  PosYlogo=centerY+68*scaleLogo-70;\r\n                }ctx.beginPath();\r\n                ctx.fillStyle =\"rgba(11, 11, 11, 0.1)\";\r\n                ctx.strokeStyle = \"rgba(22, 22, 22, 0.2)\";\r\n                ctx.lineWidth = 2;\r\n                for (var i=0;i<nbPtLogo;i+=1){\r\n                    LOGO [i]=PtLogo[i];\r\n                    \/\/ alert(\"Point \"+i+\" : \"+LOGO[i]+\" ; X=\"+LOGO[i][0]+\" ; Y=\"+LOGO[i][1]);\r\n                }\r\n                ctx.moveTo(PosXlogo+LOGO[0][0],PosYlogo+LOGO[0][0]);\r\n                for (var i=1;i<nbPtLogo;i+=1){\r\n                    ctx.lineTo(PosXlogo+LOGO[i][0]*scaleLogo,PosYlogo-LOGO[i][1]*scaleLogo);\r\n                }    \r\n                ctx.closePath();\r\n                ctx.fill();\r\n                ctx.stroke();\r\n            }\r\n}\r\n\/\/ Function to download data to a file\r\nfunction download(data, filename, type) {\r\n    var a = document.createElement(\"a\"),\r\n        file = new Blob([data], {type: type});\r\n    if (window.navigator.msSaveOrOpenBlob) \/\/ IE10+\r\n        window.navigator.msSaveOrOpenBlob(file, filename);\r\n    else { \/\/ Others\r\n        var url = URL.createObjectURL(file);\r\n        a.href = url;\r\n        a.download = filename;\r\n        document.body.appendChild(a);\r\n        a.click();\r\n        setTimeout(function() {\r\n            document.body.removeChild(a);\r\n            window.URL.revokeObjectURL(url);  \r\n        }, 0); \r\n    }\r\n}\r\n\r\n\r\nfunction calculate_die_cost(GDPW,form) {\r\n    \/\/alert(\"fonction calcul cout\");\r\n    \r\n    var wafer=parseFloat(form.elements['WAFER_cost'].value,10);\r\n    var process=parseFloat(form.elements['PROCESS_cost'].value,10);\r\n    var probing=parseFloat(form.elements['PROBING_cost'].value,10);\r\n    var sawing=parseFloat(form.elements['SAWING_cost'].value,10);\r\n    var packaging=parseFloat(form.elements['PACKAGING_cost'].value,10);\r\n    var testing=parseFloat(form.elements['TEST_cost'].value,10);\r\n    \r\n    \r\n    var fixed_cost=wafer+process+probing+sawing+packaging+testing;\r\n    var UNIT_DIE_cost=Math.round(fixed_cost\/GDPW*1000)\/1000;\r\n    \/\/alert(\"Fixed cost :\"+fixed_cost);\r\n    \/\/alert(\"Unit die cost :\"+UNIT_DIE_cost);\r\n    form.TotalCost.value=fixed_cost;    \r\n    form.UnitDieCost.value=UNIT_DIE_cost;\r\n    \/\/alert(\"fin fonction calcul\");\r\n\r\n}\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/  MAIN FUNCTION  YIELD CALCULATOR \r\n\/\/ ------------------------------------------------------------------------------------------\r\n\/\/ ------------------------------------------------------------------------------------------\r\nfunction dieyielddata(form) {\r\n    \/\/ get the canvas element using the DOM\r\n    var canvas = document.getElementById('yieldcanvas');\r\n    var cnxplot = document.getElementById('resplot');\r\n    canvas.width = canvas.width;\r\n\r\n    \/\/ variable declaration for wafer map input parameters, yield calculation and graphical plot\r\n    var DCParam = new STRDieCalParams();\r\n    var DCRes = new STRDieCalResults();\r\n    var WFRPlt = new STRWaferPlot();\r\n            \r\n    \/\/Load and check parameter from Form;  \r\n    LoadParam(form,DCParam);\r\n            \r\n    \/\/ CalculateWaferParameters\r\n    CalcWfrParam(DCParam,DCRes);          \r\n            \r\n    \r\n      \/\/ Make sure we don't execute when canvas isn't supported\r\n      if (canvas.getContext){\r\n        \/\/ use getContext to use the canvas for drawing\r\n        {\r\n            var ctx = canvas.getContext('2d');\r\n            dimplot=canvas.width*0.80;\r\n            centerX=canvas.width*0.5;\r\n            centerY=canvas.width*0.5+20;\r\n            PlotScale= dimplot\/DCParam.wfrDiameter;\r\n\r\n            scribev = DCParam.dieSpace.v;\r\n            scribeh = DCParam.dieSpace.h;\r\n            dieX = (DCParam.dieSize.h);\r\n            dieY = (DCParam.dieSize.v);\r\n            edgeLoss = DCParam.xWidth;\r\n            waferSize = DCParam.wfrDiameter;\r\n            waferProd = (DCParam.wfrDiameter-2*DCParam.xWidth);\r\n            \r\n            reticle.h=DCParam.dieSize.h+ DCParam.dieSpace.h;\r\n            reticle.v=DCParam.dieSize.v+ DCParam.dieSpace.v;\r\n          \r\n            dieCountH=Math.round(DCParam.wfrDiameter\/reticle.h);\r\n            dieCountV=Math.round(DCParam.wfrDiameter\/reticle.v);     \r\n        }\r\n        \r\n        \/\/ DRAW WAFER PLOT AREA  \r\n        \/\/ Draw Wafer (external and exclusion edge)\r\n        canvas_labelling(canvas,ctx,dimplot);         \r\n              \r\n        \/\/ create array function\r\n        \/\/var  XposYpos = createArray (2);\r\n        var  MapDie =  createArray(Math.round(dieCountH), Math.round(dieCountV));  \r\n        var  PosDie =  createArray(Math.round(dieCountH), Math.round(dieCountV));      \r\n        \/\/ Draw Rectangle Colored Dies\r\n          ctx.beginPath();\r\n          ctx.setLineDash([0]);  \r\n          ctx.strokeStyle = '#AAAAAA';\r\n          ctx.lineWidth = 0.8;\r\n          for (var x = 0; x < dieCountH; x += 1) {\r\n              for (var y = 0; y < dieCountV; y +=1) {              \r\n                   if (centrage)\r\n                    {\r\n                        \/\/ test si centre sur die ou sur scribe lane\r\n                        if  ( (dieCountH % 2) ==0){\r\n                            var offsetX=DCParam.dieSpace.h*0.5*PlotScale+hshift*PlotScale;\r\n                            }\r\n                        else {\r\n                            var offsetX=-0.5*DCParam.dieSize.h*PlotScale+hshift*PlotScale;    \r\n                        }\r\n                        if  ( (dieCountV % 2) ==0){  \r\n                            var offsetY=DCParam.dieSpace.v*0.5*PlotScale+vshift*PlotScale;\r\n                            }\r\n                        else {\r\n                            var offsetY=-0.5*DCParam.dieSize.v*PlotScale+vshift*PlotScale;\r\n                        }\r\n                    }\r\n                  else{\r\n                       if  ( (dieCountH % 2) >0){\r\n                            var offsetX=DCParam.dieSpace.h*0.5*PlotScale+hshift*PlotScale;\r\n                            }\r\n                        else {\r\n                            var offsetX=-0.5*DCParam.dieSize.h*PlotScale+hshift*PlotScale;    \r\n                        }\r\n                        if  ( (dieCountV % 2) >0){  \r\n                            var offsetY=DCParam.dieSpace.v*0.5*PlotScale+vshift*PlotScale;\r\n                            }\r\n                        else {\r\n                            var offsetY=-0.5*DCParam.dieSize.v*PlotScale+vshift*PlotScale;\r\n                        }\r\n                  }\r\n                    var Die_pos_X=centerX+(Math.round(x-(0.5*dieCountH))*PlotScale)*(DCParam.dieSize.h+DCParam.dieSpace.h)+offsetX;\r\n                    var Die_pos_Y=centerY+(Math.round(y-(0.5*dieCountV))*PlotScale)*(DCParam.dieSize.v+DCParam.dieSpace.v)+offsetY;\r\n                    var Die_dim_X=DCParam.dieSize.h*PlotScale; \r\n                    var Die_dim_Y=DCParam.dieSize.v*PlotScale;\r\n                   \r\n                    \/\/ test si in wafer (gray)\r\n                    \/\/ test si \"in exclusion edge\" (green)\r\n                    DieInWafer=IsInWafer(Die_pos_X,Die_pos_Y,Die_dim_X,Die_dim_Y,waferSize*PlotScale,waferProd*PlotScale);\r\n                    DiePosXY.h=Die_pos_X;\r\n                    DiePosXY.v=Die_pos_Y;\r\n                    DiePosXY.dimX =Die_dim_X;\r\n                    DiePosXY.dimY =Die_dim_Y;\r\n                    DiePosXY.type =DieInWafer;\r\n                    MapDie[x][y]=DieInWafer;\r\n                    if (DieInWafer==4){\r\n                        ctx.lineWidth=0.1;\r\n                        ctx.fillStyle=\"rgba(220,210,0,0.8)\";             \r\n                        ctx.fillRect(Die_pos_X,Die_pos_Y,Die_dim_X,Die_dim_Y);\r\n                        DCRes.PARTIALDEV+=1;\r\n                      \r\n                        PosDie[x][y]=DiePosXY;\r\n                    }\r\n                    if (DieInWafer==3){\r\n                        ctx.lineWidth=0.1;\r\n                        ctx.fillStyle=\"rgba(70,70,70,0.8)\";             \r\n                        ctx.strokeRect(Die_pos_X,Die_pos_Y,Die_dim_X,Die_dim_Y);\r\n                \r\n                        PosDie[x][y]=DiePosXY;\r\n                    }\r\n                    if (DieInWafer==2){\r\n                        ctx.lineWidth=0.2;\r\n                        ctx.fillStyle=\"rgba(240,70,70,0.8)\";\r\n                        ctx.fillRect(Die_pos_X,Die_pos_Y,Die_dim_X,Die_dim_Y);\r\n                        DCRes.EXCLDEV+=1;\r\n                       \r\n                        PosDie[x][y]=DiePosXY;\r\n                    }\r\n                    if (DieInWafer==1){\r\n                        ctx.lineWidth=0.3;\r\n                        ctx.fillStyle=\"rgba(70,200,70,0.8)\";\r\n                        ctx.fillRect(Die_pos_X,Die_pos_Y,Die_dim_X,Die_dim_Y);\r\n                        DCRes.GOODDEV+=1;\r\n                       \r\n                        PosDie[x][y]=DiePosXY;\r\n                    }\r\n                    \/\/alert(\"h :\"+PosDie[x][y].h+\" \\n v :\"+PosDie[x][y].v+\" \\n dimX \"+PosDie[x][y].dimX+\" \\n dimY :\"+PosDie[x][y].dimY+\" \\n type :\"+PosDie[x][y].type);\r\n              }  \r\n          }       \r\n          \/\/ YIELD CALCULATION OUTPUT           \r\n            \/\/calculate max die per wafer = wafer area\/die area - pi * wafer diam\/sqrt(2*dia area)\r\n            var mdpw = 0;\r\n            mdpw = ((Math.PI * Math.pow(DCRes.md, 2)) \/ (4 * DCRes.da)) - ((Math.PI * DCRes.md) \/ (Math.sqrt(2 * DCRes.da)));\r\n            \/\/calculate yield per wafer with defect density (Y=[(1-e^(-AD))\/(AD)]^2\r\n            if (def>0){ yld = Math.pow(((1 - (Math.exp(-(DCRes.yda * def)))) \/ (DCRes.yda * def)), 2);}\r\n            if (def<=0){yld=1;}\r\n            \/\/calculate die per wafer with defect density\r\n            var dpw = 0;\r\n            var BDPW =0;\r\n            \/\/dpw = yld * mdpw;\r\n            dpw = yld * DCRes.GOODDEV;\r\n            BDPW = Math.round(DCRes.GOODDEV-dpw);\r\n           \r\n            \r\n            var GDPW = Math.round(dpw);\r\n            var MaxDPW = Math.round(mdpw);\r\n            var EstimYield = Math.round(yld*10000)\/100;\r\n          \r\n           \/\/outputs\r\n            form.yield.value = EstimYield;\/\/(Math.round(yld * 1000) \/ 1000) * 100;\r\n            \/\/form.maxdpw.value = Math.round(mdpw);\r\n            form.maxdpw.value = Math.round(DCRes.GOODDEV);\r\n            form.dpw.value = Math.round(dpw);\r\n          \r\n          \/\/distribute random bad dies and update mapping        \r\n          \r\n             var COUNT=1;\r\n                while(COUNT<=BDPW)    \r\n                {\r\n                    var Xsel=aleatoire(0,dieCountH-1);\r\n                    var Ysel=aleatoire(0,dieCountV-1);\r\n                    if (MapDie[Xsel][Ysel]==1)\r\n                        {\r\n                          \/\/ Adjust_centrage;\r\n                            if (centrage)\r\n                            {\r\n                               \/\/ rajouter une case \u00e0 cocher centrage sur puce ou sur scribe\r\n                               \/\/ rajouter deux slider (sans valeur apparente du centre X et Y) pour d\u00e9caler le centre\r\n                               \/\/ test si centre sur die ou sur scribe lane\r\n                                if  ( (dieCountH % 2) ==0){\r\n                                    var offsetX=DCParam.dieSpace.h*0.5*PlotScale+hshift*PlotScale;\r\n                                    }\r\n                                else {\r\n                                    var offsetX=-0.5*DCParam.dieSize.h*PlotScale+hshift*PlotScale;    \r\n                                }\r\n                                if  ( (dieCountV % 2) ==0){  \r\n                                    var offsetY=DCParam.dieSpace.v*0.5*PlotScale+vshift*PlotScale;\r\n                                    }\r\n                                else {\r\n                                    var offsetY=-0.5*DCParam.dieSize.v*PlotScale+vshift*PlotScale;\r\n                                }\r\n                            }\r\n                          else{\r\n                               if  ( (dieCountH % 2) >0){\r\n                                    var offsetX=DCParam.dieSpace.h*0.5*PlotScale+hshift*PlotScale;\r\n                                    }\r\n                                else {\r\n                                    var offsetX=-0.5*DCParam.dieSize.h*PlotScale+hshift*PlotScale;    \r\n                                }\r\n                                if  ( (dieCountV % 2) >0){  \r\n                                    var offsetY=DCParam.dieSpace.v*0.5*PlotScale+vshift*PlotScale;\r\n                                    }\r\n                                else {\r\n                                    var offsetY=-0.5*DCParam.dieSize.v*PlotScale+vshift*PlotScale;\r\n                                }\r\n                          }\r\n                        var Die_dim_X=DCParam.dieSize.h*PlotScale; \r\n                        var Die_dim_Y=DCParam.dieSize.v*PlotScale;\r\n                        var Die_pos_X=centerX+(Math.round(Xsel-(0.5*dieCountH))*PlotScale)*(DCParam.dieSize.h+DCParam.dieSpace.h)+offsetX;\r\n                        var Die_pos_Y=centerY+(Math.round(Ysel-(0.5*dieCountV))*PlotScale)*(DCParam.dieSize.v+DCParam.dieSpace.v)+offsetY;\r\n                        ctx.fillStyle=\"#777777\";\r\n                        \/\/ctx.fillRect(Die_pos_X+0.25*Die_dim_X,Die_pos_Y+0.25*Die_dim_Y,Die_dim_X*0.5,Die_dim_Y*0.5);\r\n                        ctx.fillRect(Die_pos_X,Die_pos_Y,Die_dim_X,Die_dim_Y);\r\n                        ctx.beginPath();\r\n                        ctx.arc(Die_pos_X+0.5*Die_dim_X,Die_pos_Y+0.5*Die_dim_Y,Math.min(Die_dim_X,Die_dim_Y)\/5,0,Math.PI*2,true);                               ctx.fillStyle = 'white';\r\n                            ctx.fill();\r\n                            ctx.lineWidth=Math.min(Die_dim_X,Die_dim_Y)\/15;\r\n                            ctx.strokeStyle = \"#777777\";\r\n                            ctx.stroke();\r\n                            \r\n                            MapDie[Xsel][Ysel]=0;\r\n                            COUNT+=1;\r\n                         }\r\n                }\r\n          \/\/ AFF RESULTS\r\n            Aff_res_canvas(canvas,ctx,DCRes,GDPW,def,EstimYield);   \r\n      } else {\r\n        alert('You need Safari or Firefox 1.5+ to see this page.');\r\n      }\r\n    }    \r\n<\/script>\t\t<style type=\"text\/css\" id=\"wp-custom-css\">\r\n\t\t\t@import url('https:\/\/fonts.googleapis.com\/css?family=Oswald:300,400,500,700');\r\n\r\nh1, h2, h3, h4, h5, h6{ font-family: 'Oswald', sans-serif;}\r\n\r\n.layout--right-sidebar #secondary{display:none;}\r\n.layout--right-sidebar #primary{\r\n\twidth:100%;\r\n}\r\n.tg-site-footer .tg-footer-widget-area{width:100%;}\r\n.tg-footer-widget-area section{float:left;padding:20px}\r\n\r\n.tg-site-header .tg-header-top ul.tg-contact-info {display:none;}\r\n\r\n.tg-site-menu--default .current_page_item > a, .tg-site-menu--default .current-menu-item > a, .tg-site-menu--default .current_page_ancestor > a, .tg-site-menu--default .current-menu-ancestor > a {\r\n    font-weight: 600;\r\n\tborder-bottom-color: #FF0000;}\r\n\r\n\r\n#tab_container_11 .tab-content {\r\n    margin-left: 100px;\r\n    padding: 0px;\r\n    height: 490px;\r\n\t    font-family: Roboto, Helvetica, Arial, sans-serif !important;\r\n}\r\n.tg-site-menu--default a{color:#000; text-transform:uppercase; font-family: 'Oswald', sans-serif;font-size:1.2em}\r\n.tg-site-menu--default a:hover{color:#FF0000;}\r\n\r\n.site-branding .site-description {\r\n   \r\n    margin: 0 0 0px;\r\n    font-size: 1.4em;\r\n    color: #FF0000;\r\n    letter-spacing: 0px;\r\n    font-family: Oswald;\r\n}\r\n\r\n.cenote-breadcrumb {\r\n    padding: 20px 0;\r\n    background-color: #e7e7e7;\r\n}\r\n.cenote-header-sticky {\r\n\tbackground-color: #e7e7e7;}\r\n.tg-social-menu li a{color:#FF0000}\r\n.site-content {\r\n    margin-top: 20px;\r\n    margin-bottom: 0px;\r\n}\r\n.home .entry-title{display:none;}\r\n.tg-footer-widget-area a{color:#FFF}\r\n\r\n.fa-align-center:before {\r\n\r\n#tab_container_11 .wpsm_nav-tabs {\r\n    position: absolute !important;\r\n    background: transparent !important;\r\n    z-index: 1;\r\n    padding-left: 30px;\r\n}\r\n.bloc_info_TAB{text-align:center;color:#FFF}\r\n\r\n\r\n.tab-pane p {\r\n    width: 40%;\r\n    padding: 4%;\r\n    line-height: 1.4em;\r\n    color: #FFF;\r\n    height: 99.99%;\r\n    text-align: center;\r\n    background: rgba(0, 0, 0, 0.5);\r\n}\r\n.vc_btn3.vc_btn3-color-juicy-pink, .vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat {\r\n    color: #fff;\r\n    background-color: #FF0000;\r\n    width: 100%;\r\n}\r\n.entry-thumbnail {\r\n    position: relative;\r\n    display: inline-block;\r\n    margin-bottom: 34px;\r\n    background-color: #e7e7e7;\r\n}\r\n.tg-author-box{display:none;}\r\n.entry-content .first-child .cenote-drop-cap {\r\n    font-size: inherit;\r\n    color: inherit;\r\n    font-weight: inherit;\r\n    float: inherit;\r\n    vertical-align: top; \r\n    line-height: inherit; \r\n     padding-right: inherit; \r\n     padding-left: inherit; \r\n     padding-top: inherit;\r\n     text-shadow:  0px 0px 0 rgba(56, 60, 80, 0.22);\r\n}\r\n\r\n.archive .page-header{background-color:transparent}\t\t<\/style>\r\n\t<noscript><style type=\"text\/css\"> .wpb_animate_when_almost_visible { opacity: 1; }<\/style><\/noscript><\/head>\r\n\r\n<body class=\"page-template-default page page-id-774 wp-custom-logo layout-site--wide layout--right-sidebar wpb-js-composer js-comp-ver-5.2 vc_responsive\">\r\n<div id=\"page\" class=\"site\">\r\n\t<a class=\"skip-link screen-reader-text\" href=\"#content\">Skip to content<\/a>\r\n\r\n<article id=\"post-774\" class=\"post-774 page type-page status-publish hentry\">\r\n    \r\n<header class=\"entry-header\">\r\n<h1 class=\"entry-title\">DPW(Die Per Wafer) Calculator<\/h1>\r\n<\/header>\r\n\r\n<!-- .entry-header -->\r\n<div class=\"entry-content\">\r\n<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n<meta name=\"description\" content=\"Use this Die Yield Calculator to determine how many good die you can expect from a wafer.\">\r\n<style type=\"text\/css\">\r\n        canvas { \r\n            width:100%;\r\n            height: auto;\r\n            border: 2px solid black; \r\n        }\r\n        label, input {\r\n            display: block;\r\n        }\r\n        label {\r\n            padding-top: 20px;\r\n        }\r\n       \/\/input[type='text'] { font-size: 20px; font-family: dosis; }\r\n        input[type='text'] {font-family: dosis; }\r\n    <\/style>\r\n<style>\r\n        .button {\r\n            background-color: #4CAF50; \/* Green *\/\r\n            border: none;\r\n            border-radius: 4px;\r\n            color: white;\r\n            padding: 6px 10px;\r\n            text-align: center;\r\n            text-decoration: none;\r\n            display: inline-block;\r\n            font-size: 12px;\r\n            margin: 4px 2px;\r\n            -webkit-transition-duration: 0.4s; \/* Safari *\/\r\n            transition-duration: 0.4s;\r\n            cursor: pointer;\r\n        }<\/p>\r\n<p>        .button1 {\r\n            background-color: white; \r\n            color: black; \r\n            border: 2px solid #4CAF50;\r\n        }<\/p>\r\n<p>        .button1:hover {\r\n            background-color: #4CAF50;\r\n            color: white;\r\n        }\r\n      <\/style>\r\n<p>    <script type=\"text\/javascript\" src=\"mapscript-V2.2.js\"> <\/script>\r\n    <link rel=\"stylesheet\" type=\"text\/css\" media=\"all\" href=\"css\/screen.css\">\r\n<\/head><\/p>\r\n<p><body onload=\"dieyielddata(document.getElementById('DieForm'));\" ><\/p>\t\t\t\r\n\r\n<h2><strong><span style=\"color: #6f6f6f;\">\u6676\u5706\u53ef\u5207\u5272\u6676\u7c92(DPW)\u8ba1\u7b97\u5668<\/span><\/strong><\/h2>\r\n<hr><\/p>\r\n\r\n<p> \u8bf7\u5728\u4e0b\u8868\u4e2d\u8f93\u5165 <b>\u6676\u7c92\u7684\u5c3a\u5bf8\u5927\u5c0f(\u957f\u3001\u5bbd)<\/b> \u4ee5\u53ca<b>\u5782\u76f4\u548c\u6c34\u5e73\u65b9\u5411\u5212\u9053(Saw Street\/Scribe Lane)\u7684\u5bbd\u5ea6\u503c\u3002<\/b> \u7531\u4e8e\u6676\u7c92\u4ea7\u51fa\u6570\u91cf\u53d6\u51b3\u4e8e<b>\u6676\u5706\u76f4\u5f84\u5927\u5c0f<\/b> \u548c <b>\u8fb9\u6cbf\u53bb\u9664\u533a\u57df\u5927\u5c0f(Edge Loss Area)<\/b>\uff0c\u8f93\u5165\u76f8\u5173\u53c2\u6570\u540e\uff0c\u6676\u7c92\u4ea7\u51fa\u6570\u548c\u5e03\u5c40\u56fe\u4f1a\u81ea\u52a8\u5237\u65b0\u3002 \u7528\u6237\u53ef\u52fe\u9009<b>\u5e03\u5c40\u56fe\u5c45\u4e2d<\/b> (\u88f8\u82af\u7247\u6216\u8005\u6676\u5706\u5c45\u4e2d)\u3002 \u5229\u7528Murphy Low\u7684\u88f8\u82af\u7247\u4ea7\u51fa\u6570\u548c\u7f3a\u9677\u5bc6\u5ea6\u6a21\u578b\uff0c\u5408\u683c\u7684\u826f\u54c1\u88f8\u82af\u7247\u5c31\u4f1a\u81ea\u52a8\u8ba1\u7b97\u51fa\u5e76\u663e\u793a\u5728\u53f3\u4fa7\u56fe\u4e0a\u65b9\u3002<\/p>\r\n<hr>\r\n<table id=\"printTable\"  width=\"80%\">\r\n<tr>\r\n<tr>\r\n<th><h4><strong>\u5212\u7247\u53c2\u6570\u8bbe\u7f6e<\/strong><\/h4><\/th>\r\n<th><h4><strong>\u6676\u5706\u5e03\u5c40\u56fe<\/strong><\/h4><\/th>\r\n<\/tr>\r\n<tr>\r\n<td width=\"50%\">\r\n<form method=\"post\" action=\"\" name=\"DieForm\" id=\"DieForm\" >\r\n<table width=\"100%\">\r\n<tbody>\r\n<tr>\r\n<td valign=\"top\">\u6676\u7c92\u957f\u5ea6(mm)<\/td>\r\n<td><input name=\"xh\" id=\"xh\" maxlength=\"5\" size=\"3\" value=\"1.2\"  type=\"number\" step=\"0.2\" min=\"0.2\" onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #FF0000;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#FF0000';dieyielddata(this.form);\" \/><\/td>\r\n<td>&rceil;<\/td>\r\n<td valign=\"middle\" align=\"center\" rowspan=2 name=\"symbLNKDieSize\" id=\"symbLNKDieSize\">&#x1F517;<\/td>\r\n<td valign=\"middle\" align=\"center\" rowspan=2 width=10%>\r\n                            <input name=\"DieSizeCHKBX\" maxlength=\"5\" size=\"3\" value=\"checkbox\"  type=\"checkbox\"  unchecked=\"on\" \r\n                                   onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #FF0000;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#0000FF';dieyielddata(this.form);\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u6676\u7c92\u5bbd\u5ea6(mm)<\/td>\r\n<td><input name=\"yv\" id=\"yv\" maxlength=\"5\" size=\"3\" value=\"1.2\" type=\"number\" step=\"0.2\" min=\"0.2\" \r\n                                       onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:#eee;border: solid 0px #aaaaaa;vertical-align:9px;color:#bbb;visibility visible;\" \r\n                            onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#FF0000';dieyielddata(this.form);\" \/><\/td>\r\n<td>&rfloor;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u6c34\u5e73\u5212\u9053\u5bbd\u5ea6(mm)<\/td>\r\n<td><input name=\"sh\" id=\"sh\" maxlength=\"5\" size=\"3\" value=\"0.2\" type=\"number\" step=\"0.05\" min=\"0.05\" onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #FF0000;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#FF0000';dieyielddata(this.form);\" \/><\/td>\r\n<td>&rceil;<\/td>\r\n<td valign=\"middle\" align=\"center\" rowspan=2 name=\"symbLNKDieScribe\" id=\"symbLNKDieScribe\">&#x1F517;<\/td>\r\n<td valign=\"middle\" align=\"center\" rowspan=2 width=10%>\r\n                            <input name=\"scrblaneCHKBX\" maxlength=\"5\" size=\"3\" value=\"checkbox\"  type=\"checkbox\"  unchecked=\"on\" \r\n                                   onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #FF0000;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#0000FF';dieyielddata(this.form);\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u5782\u76f4\u5212\u9053\u5bbd\u5ea6(mm)<\/td>\r\n<td><input name=\"sv\" id=\"sv\" maxlength=\"5\" size=\"3\" value=\"0.2\" type=\"number\" step=\"0.05\" min=\"0.05\"\r\n                                    onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:#eee;border: solid 0px #aaaaaa;vertical-align:9px;color:#bbb;visibility visible;\" \r\n                            onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#FF0000';dieyielddata(this.form);\" \/><\/td>\r\n<td>&rfloor;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u6676\u5706\u76f4\u5f84(mm)<\/td>\r\n<td><select name=\"d\" onchange=\"dieyielddata(this.form)\"; onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#FF0000';dieyielddata(this.form);\" \/><option value=\"25\"   selected=\"selected\">25.4 mm (1 in)<\/option><option value=\"50\">50.8 mm (2 in)<\/option><option value=\"76\">76.2 mm (3 in)<\/option><option value=\"100\"  selected=\"selected\">100 mm (4 in)<\/option><option value=\"125\">125 mm (5 in)<\/option><option value=\"150\">150 mm (6 in)<\/option><option value=\"200\">200 mm (8 in)<\/option><option value=\"300\">300 mm (12 in)<\/option><option value=\"330\">330 mm (13 in)<\/option><option value=\"450\">450 mm (18 in)<\/option><\/select><\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u8fb9\u6cbf\u53bb\u9664\u5bbd\u5ea6(mm)<\/td>\r\n<td valign=\"top\"><input name=\"e\" maxlength=\"4\" size=\"4\" value=\"5.00\" type=\"number\" step=\"0.2\" min=\"0.2\" onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #22FF22;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#00FF00';\" \r\n                            onblur=\"this.style.color='#00FF00';dieyielddata(this.form);\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u7f3a\u9677\u5bc6\u5ea6(#\/sq.cm)<\/td>\r\n<td valign=\"top\"><input name=\"dd\" maxlength=\"5\" size=\"3\" value=\"0.1\"  type=\"number\" step=\"0.05\" min=\"0\" onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #22FF22;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#00FF00';\" \r\n                            onblur=\"this.style.color='#00FF00';dieyielddata(this.form);\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u624b\u5de5\u653e\u7247\u6c34\u5e73\u504f\u79fb\u4fee\u6b63<\/td>\r\n<td valign=\"top\"><input name=\"hshift\" maxlength=\"5\" size=\"3\" value=\"0\"  type=\"number\" step=\"0.05\"  onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #0000FF;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#0000FF';\" \r\n                            onblur=\"this.style.color='#0000FF';dieyielddata(this.form);\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u624b\u5de5\u653e\u7247\u5782\u76f4\u504f\u79fb\u4fee\u6b63<\/td>\r\n<td valign=\"top\"><input name=\"vshift\" maxlength=\"5\" size=\"3\" value=\"0\"  type=\"number\" step=\"0.05\"  onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #0000FF;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#0000FF';\" \r\n                            onblur=\"this.style.color='#0000FF';dieyielddata(this.form);\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td valign=\"top\">\u88f8\u82af\u7247\u5c45\u4e2d \/ \u6676\u5706\u5c45\u4e2d (\u5df2\u68c0\u67e5\/\u672a\u68c0\u67e5)<\/td>\r\n<td valign=\"top\"><input name=\"wcentering\" maxlength=\"5\" size=\"3\" value=\"checkbox\"  type=\"checkbox\"  checked=\"on\" onchange=\"dieyielddata(this.form);\" \r\n                            style=\"background-color:white;border: solid 1px #FF0000;vertical-align:9px;color:#bbb\" \r\n                            onfocus=\"this.style.color='#FF0000';\" \r\n                            onblur=\"this.style.color='#0000FF';dieyielddata(this.form);\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td colspan=4>\u91c7\u7528Murphy's \u7684\u4ea7\u51fa\u6a21\u578b\u4f30\u7b97\u6676\u5706\u88f8\u82af\u7247\u4ea7\u51fa\u6570\u91cf\u3002<button type=\"reset\" value=\"Reset\" onClick=\"window.location.href=window.location.href\" class=\"button button1\">\u91cd\u7f6e<\/button><\/td>\r\n<\/tr>\r\n\r\n<\/tbody>\r\n<\/table>\r\n<p>                \r\n<input name=\"maxdpw\" value=\" \" readonly=\"readonly\" size=\"3\" type=\"hidden\"  style=\"background-color:rgba(0, 0, 0, 0);vertical-align:1px;border:0;color:black\" ><br \/>\r\n\r\n<input name=\"dpw\" value=\" \" readonly=\"readonly\" size=\"3\" type=\"hidden\" style=\"background-color:rgba(0, 0, 0, 0);vertical-align:1px;border:0;color:black\" ><br \/>\r\n\r\n<input name=\"yield\" value=\" \" readonly=\"readonly\" maxlength=\"5\" size=\"3\" type=\"hidden\" style=\"background-color:rgba(0, 0, 0, 0);vertical-align:1px;border:0;color:black\" ><br \/>\r\n            <\/form>\r\n<\/td>\r\n<td  width=\"50%\">\r\n                <canvas id=\"yieldcanvas\" width=\"1024px\" height=\"1024px\"><\/canvas><\/p>\r\n<table width=\"100%\">\r\n\r\n\r\n\r\n<td width=\"50%\" align=\"right\" style=\"background-color:rgba(0, 0, 0, 0);vertical-align:1px;border:0;color:blue\"><a><center> &copy; 2025 \u82f1\u521b\u529b\u79d1\u6280\u6709\u9650\u516c\u53f8<\/center><\/a><\/td>\r\n<h5><a><span style=\"color: #6f6f6f;\"><center>\u9f20\u6807\u53f3\u952e\u70b9\u51fb\u56fe\u7247\uff0c\u9009\u62e9\u201c\u56fe\u7247\u53e6\u5b58\u4e3a\u2026\u2026\u201d\u6216\u201c\u590d\u5236\u56fe\u7247\u201d\u53ef\u4fdd\u5b58\/\u62f7\u8d1d\u5e03\u5c40\u56fe<\/center><\/span><\/a><\/h5>\r\n<\/table>\r\n<\/td>\r\n<\/tr>\r\n<\/table>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u6676\u5706\u53ef\u5207\u5272\u6676\u7c92\u8ba1\u7b97\u5668 DPW(Die Per Wafer) Calculator DPW\u662fDie Per Wa [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":190,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"fullwidth-page.php","meta":{"footnotes":""},"class_list":["post-1766","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=\/wp\/v2\/pages\/1766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1766"}],"version-history":[{"count":45,"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=\/wp\/v2\/pages\/1766\/revisions"}],"predecessor-version":[{"id":5272,"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=\/wp\/v2\/pages\/1766\/revisions\/5272"}],"up":[{"embeddable":true,"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=\/wp\/v2\/pages\/190"}],"wp:attachment":[{"href":"https:\/\/www.innotronix.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}