Home Up Feedback Contents Download Search Search Results

Checking Custom MRR
Home Up Coding Custom MRR Checking Custom MRR

 


Up

Custom MRR Manual Check Code ~ Generic Code in C#

// CustomMRR Rate Checker
// To compile this file you need to install Microsoft.NET Framework SDK
// file: CheckCustomMRR.cs
// Compile: csc /r:CustomMRR.dll CheckCustomMRR.cs


using System;

class Test
{

static void Main()
{

// Parameters for CustomMRR.Rate
//
TODO: Please set parameters' initial values according to your test scenario.
string Comment = String.Empty; // Comment for CustomMRR
double CMPPrssNow = 0.0; // Wafer Contact Pressure (g/mm2)
double PadVNow = 0.0; // Wafer/Pad Relative Velocity (mm/sec)
double CMPTempNow = 0.0; // Average Temperature (Celsius degree)
double CMPSurfaceTempNow = 0.0; // Wafer Surface Temperature (Celsius degree) - Flash Temp. - You need to use "Heat Mode"
double PadWaferGap = 0; // Gap between Pad and Wafer (A)
double FlowNow = 250; // Slurry Flow Rate (cc/min)
int MatNoNow = 1; // Material ID No (no unit)
int PadNoNow = 1; // Pad ID No (no unit)
int SlyNoNow = 1; // Slurry ID No (no unit)
double ARNow = 1.0; // Layer Area Ratio (no unit) - ex. Pad Groove etc.
double CMPStepPrssNow = 0.0; // Nominal Pressure for CMP Step (g/mm2)
double PrestonSFlowNow = 250; // Slurry Flow Rate during Preston Test (cc/min)
double PrestonCOF = 0.0; // Friction Coefficient during Preston Test (no unit)
// Preston Parameter from CMPxML
double C1Now = 0.0;
double C2Now = 0.0;
double C3Now = 0.0;
double C4Now = 0.0;
double C5Now = 0.0;
double C6Now = 0.0;
double C7Now = 0.0;
double C8Now = 0.0;
double PthNow = 0.0;

while(true)
{

// Manual input of parameters for CustomMRR
//
TODO: Please comment-out/rewrite according to your test scenario!
Console.WriteLine("Please input CMPPrssNow (g/mm2)");
    CMPPrssNow = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Please input PadVNow (mm/sec)");
    PadVNow = Convert.ToDouble(Console.ReadLine());

// for future use
// Console.WriteLine("Please input CMPTempNow (Celsius degree)");
// CMPTempNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input CMPSurfaceTempNow (Celsius degree)");
// CMPSurfaceTempNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input PadWaferGap (A)");
// PadWaferGap = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input FlowNow (cc/min)");
// FlowNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input MatNoNow (no unit)");
// MatNoNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input PadNoNow (no unit)");
// PadNoNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input SlyNoNow (no unit)");
// SlyNoNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input ARNow (no unit)");
// ARNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input CMPStepPrssNow (g/mm2)");
// CMPStepPrssNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input PrestonSFlowNow (cc/min)");
// PrestonSFlowNow = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input PrestonCOF (no unit)");
// PrestonCOF = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C1Now");
// C1Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C2Now");
// C2Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C3Now");
// C3Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C4Now");
// C4Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C5Now");
// C5Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C6Now");
// C6Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C7Now");
// C7Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input C8Now");
// C8Now = Convert.ToDouble(Console.ReadLine());
// Console.WriteLine("Please input PthNow");
// PthNow = Convert.ToDouble(Console.ReadLine());

// Calculation of Rate by CustomMRR.Rate

double Rate =
CustomMRR.Rate
(

// Please do not change parameters!
out Comment, // Comment for CustomMRR
CMPPrssNow, // Wafer Contact Pressure (g/mm2)
PadVNow, // Wafer/Pad Relative Velocity (mm/sec)
CMPTempNow, // Average Temperature (Celsius degree)
CMPSurfaceTempNow, // Wafer Surface Temperature (Celsius degree) - Flash Temp. - You need to use "Heat Mode"
PadWaferGap, // Gap between Pad and Wafer (A)
FlowNow, // Slurry Flow Rate (cc/min)
MatNoNow, // Material ID No
PadNoNow, // Pad ID No
SlyNoNow, // Slurry ID No
ARNow, // Layer Area Ratio (no unit) - ex. Pad Groove etc.
CMPStepPrssNow, // Nominal Pressure for CMP Step (g/mm2)
PrestonSFlowNow, // Slurry Flow Rate during Preston Test (cc/min)
PrestonCOF, // Friction Coefficient during Preston Test (no unit)
// Preston Parameter from CMPxML
C1Now, //
C2Now, //
C3Now, //
C4Now, //
C5Now, //
C6Now, //
C7Now, //
C8Now, //
PthNow //

);

//
Output on Console
Console.WriteLine("CustomMRR Comment: " + Comment);
Console.WriteLine("Rate (mm/sec) = {0}", Rate);
Console.WriteLine("----------------------------------------------------");

}

}

}
 


Information Request Form

Select the items that apply, and then let us know how to contact you.

Send service literature
Send company literature
Have a salesperson contact me

Name
Title
Company
Address
E-mail
Phone

 

Send mail to istation@ynt-jp.com with questions or comments about this web site.
Last modified: 05/07/05