Our Blog

Current Articles | RSS Feed RSS Feed

EDA CAD of ASIC and IC Design: CDF Skill Procedure for Device Width

 

EDA Image

The SKILL procedure for use in EDA CAD for semiconductor engineering of integrated circuits (IC) and ASICS is fully functional, and a small sample of the many ways in which we can help with your EDA needs for semiconductor IC design.

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

 

 

 

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\n")

sprintf(WidthWarning,"Width of %s is too high\nMust be Between 0.3u and 200u\n",NewTotWidth);

Glew_WarningBox("Width Is Out of Range",WidthWarning);

return(nil);

)

if( ThisTotalNewWidth <= 300n then

printf("Width is out of range\n")

sprintf(WidthWarning,"Width of %s is too low\nMust be Between 0.3u and 200u\n",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

))

Glew Engineering Consulting Inc.

www.glew.com

All Posts

Follow Me