What is Model Builder Program (MBP) Script?

Blog Post created by KeysightEEsofEDA Employee on Mar 13, 2017

Model Builder Program (MBP) is a one-stop solution that provides both automation and flexibility for silicon device modeling. MBP Script is a Java™ based scripting language, where no compilation is required at the user end. MBP Script runs equivalently on Windows and Linux. Many MBP-specific APIs(Application Program Interface) and high-efficiency programming structures are developed for Device Modeling work. IMV is the most commonly used process in MBP. Device Targets such as Vth, Idlin, etc are so called IMV in MBP, and are calculated from IV/CV data. The default BSIM4 IMV settings are shown below, we could see that many Device Targets, as well as their scaling plots have been created.


These device targets correspond to the IMV panel in the MBP main window, where all the IMV plots are displayed as long as the required IV or CV curves are loaded, as shown below.


Many IMV targets can be created without prior coding, since MBP Script provides many built-in algorithms and methods to create IMV targets such as, Idlin.


Double-clicking on Idlin opens the definition panel, as shown below:
Here, Idlin is defined as the Java Algorithm IMV Type, for all loaded devices, find Idlin as Current(Ids) from their Ids_Vgs_Vbs plots, where:

  • Vds = absmin(vds), meaning the absolute min Vds value from measurement data.

  • Vgs = absmin(vgs), meaning the absolute max Vgs value from measurement data.

  • Vbs = absmin(vbs), meaning the absolute min Vbs

    value from measurement data.

To specify the Restrictions, you could also directly assign a number, say Vgs=0; or, you could use a variable for flexibility, for example, Vgs=Vgg, where Vgg is a variable that must be defined in imv_const table, as shown below:

Script Editor

Many IMV targets can be defined like Idlin; however, if the logic is more than simply picking out a value from the IV/CV plot by a certain condition, you can use the Script programming.


For example, Gm, where derivative is used, as shown below:


MBP Script editor has Contents Assistance, Code Auto Completion, and C o l o r Coding functions to help ease and expedite your coding experience.
For example, the available function list to an object will drop down when typing the .(dot) sign. as shown below:


Another peek at the built-in Math functions:


MBP Script has an advanced step in debugging function. For now, we could use the old school Print() function to print out variables to the Message window.
To execute a Script file, simply click on the play button, as shown below:

Save and Reload

All the work we've done in MBP Script window can be saved as a single .zip file to a user defined folder. The zip file can be loaded back into the MBP Script window directly, no un-zip is required, which greatly facilitates your work for re-use, sharing and version control.


Use these 3 buttons on the toolbar to Save and Load, as shown below.
After you press Save to a current project, hit refresh, and as a result, all the changes will be reflected in the MBP main window. So newly created IMV plots can be viewed and used for simulation and optimization right away.
Don't forget to press dump or this icon to convert your project to a zip file, where it can be re-use and shared with all team members.  

Interested in Model Builder Program (MBP) Software?

ADS Free trial