|

Up
| |
Custom MRR Coding ~ Generic Code in C#
// Custom MRR
// To compile this file you need to install Microsoft.NET Framework SDK
// file : CustomMRR.cs
// compile: csc /t:library /out:CustomMRR.dll CustomMRR.cs
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("CMP3DPro CustomMRR")]
[assembly: AssemblyDescription("CustomMRR.DLL")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("YNT")]
[assembly: AssemblyProduct("CustomMRR")]
[assembly: AssemblyCopyright("Free License")]
[assembly: AssemblyTrademark("CMP3DPro")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build
Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]
public class CustomMRR
{
public static double
Rate
(
// Do not change parameters list
out string
Comment,
// Comment for CustomMRR
double CMPPrssNow, //
Wafer Contact Pressure (g/mm2)
double PadVNow, //
Wafer/Pad Relative Velocity (mm/sec)
double CMPTempNow, //
Average Temperature (Celsius degree)
double CMPSurfaceTempNow,
// Wafer Surface Temperature (Celsius degree) -
Flash Temp. - You need to use "Heat Mode"
double PadWaferGap,
// Gap between Pad and Wafer (A)
double FlowNow,
//
Slurry Flow Rate (cc/min)
int MatNoNow, //
Material ID No
int PadNoNow, // Pad
ID No
int SlyNoNow, //
Slurry ID No
double ARNow, //
Layer Area Ratio (no unit) - ex. Pad Groove etc.
double CMPStepPrssNow,
// Nominal Pressure for CMP Step (g/mm2)
double PrestonSFlowNow,
// Slurry Flow Rate during Preston Test (cc/min)
double PrestonCOF, //
Friction Coefficient during Preston Test (no unit)
// Preston Parameters Input from CMPxML
double C1Now, //
Preston Parameters
double C2Now, //
Generalized Preston Equation
double C3Now, //
double C4Now, //
double C5Now, //
double C6Now, //
double C7Now, //
double C8Now, //
double PthNow //
)
{
//
TODO: Write your comment for
your custom MRR
Comment = "My custom MRR";
//
TODO: Write your own codes for Custom MRR
Equation!
//
TODO: Please return a rate value in units of (mm/sec)
if
(
PadNoNow == 0 || SlyNoNow == 0 ||
PrestonSFlowNow == 0
)
{
return
0.0;
}
else
{
double Kp = 1.29E-09;
//
unit (1/[gf/mm2])
return FlowNow / PrestonSFlowNow
* ( Kp * CMPPrssNow * PadVNow ); //
unit (mm/sec)
}
}
}
|