Contact Glew Engineering! 1.650.641.3019|contactgec@glewengineering.com

EDA Methodology: SKILL Routine to Define MOS Device Width

Home/Semiconductor/EDA Methodology: SKILL Routine to Define MOS Device Width

EDA Methodology: SKILL Routine to Define MOS Device Width

eda_image_1It is not very often that an organization is willing to give something away for free, but that is what Glew Engineering is doing right now.

Below is a sample written in SKILL language of a CDF callback procedure for generation of the width of a MOS device.  Glew Engineering Consulting’s experts in EDA methodology can assist with your CAD EDA systems: Cadence(TM), Synopsys(TM), Mentor Graphics (TM) and more.

The SKILL procedure for use in EDA CAD for semiconductor engineering of integrated circuits (IC) and ASICS is fully functional and yours to try out. This is just a small sample of the many ways in which we can help with your EDA needs for semiconductor IC design.  Contact Glew Engineering to discuss your CAD EDA, or any engineering work your business requires.

 

procedure( Glew_MOS_Wtotal_Nf()

prog(()

NewTempWidth = cdfgData->w->value;

NewWidth = substring( NewTempWidth 1 strlen(NewTempWidth)-1 )

NewWidthUnit = substring( NewTempWidth strlen(NewTempWidth) )

if( NewWidthUnit == “n” then

ThisNewWidth = atof(NewWidth)*10**-9

)

if( NewWidthUnit == “u” then

ThisNewWidth = atof(NewWidth)*10**-6

)

if( NewWidthUnit == “m” then

ThisNewWidth = atof(NewWidth)*10**-3

)

ThisTotalNewWidth = ThisNewWidth * atof(cdfgData->Nf->value);

sprintf( NewTotWidth “%.1f%s” atof(NewWidth)*atof(cdfgData->Nf->value) NewWidthUnit);

if( 200u <= ThisTotalNewWidth then

printf(“Width is out of range “)

sprintf(WidthWarning,”Width of %s is too high Must be Between 0.3u and 200u “,NewTotWidth);

Glew_WarningBox(“Width Is Out of Range”,WidthWarning);

return(nil);

)

if( ThisTotalNewWidth <= 300n then

printf(“Width is out of range “)

sprintf(WidthWarning,”Width of %s is too low Must be Between 0.3u and 200u “,NewTotWidth);

Glew_WarningBox(“Width Is Out of Range”,WidthWarning);

return(nil);

)

cdfgData->Wtotal->value = NewTotWidth;

AD_Value = ThisTotalNewWidth*0.75u;

PD_Value = ThisTotalNewWidth*1.8u;

sprintf( NewAdValue,”%.3e”,AD_Value);

sprintf( NewPdValue,”%.3e”,PD_Value);

cdfgData->ad->value = NewAdValue;

cdfgData->as->value = NewAdValue;

cdfgData->pd->value = NewPdValue;

cdfgData->ps->value = NewPdValue;

))

procedure( Glew_InfoBox(MyBanner,MyText)

hiDisplayAppDBox(

?name gensym( ‘trWarningDialogBox )

?dboxBanner MyBanner

?dboxText MyText

?dialogType hicInformationDialog

?dialogStyle ‘modeless

?buttonLayout ‘Close

))

 

Copyright 2011 Glew Engineering Consulting.

By | 2016-12-15T22:26:35+00:00 May 24th, 2011|Semiconductor|0 Comments

About the Author:

Leave a Reply