[fusion_builder_container hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” overlay_color=”” video_preview_image=”” border_size=”” border_color=”” border_style=”solid” padding_top=”” padding_bottom=”” padding_left=”” padding_right=””][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” border_position=”all” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” center_content=”no” last=”no” min_height=”” hover_type=”none” link=””][fusion_text]
It 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.
[/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]