Build A Model QA Report With MQA

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Shaoli Lv 2018.4.

17
• MQA Overview
• Check Spice
• Lib Explorer GUI
• Add Model Card/Library and Constant Setting
• Create QA/Compare/Corner Project
• Select Rule and Icf
• Load Data
• Run Simulation
• View QA Result and Generate Report
• Rule File
• Icf File
• Conclusion

2
Run QA Simulation and Generate QA Report

Simulator

Model Library
MQA
Data

Rule Files

Rule Files in ASCII


• Condition
• Sweep Type
• Target
• Check Criteria

3
Options-> General

$MQAHOMB/bin/

4
Utilities-> Check Spice

Check Hspice success

Check Spectre failure

5
6
Select Simulator

Load Model Card/ Library

7
Switch Between Corner View and Model View Create QA Project
Create Corner Project
Create Compare Project

Add/Delete
Model Card
or Library Map Setting To…
Copy Setting From…
Create Quick Compare Project

Switch to
Project View Constants for
or Report View Simulation
Remove

File
Operations Selected
Corners Instance for Simulation
(e.g. sa=1e-6, sb=1e-6)

Simulation Options
(e.g. gmindc=1e-12)

8
Map Setting to…

Select Corners to Map Setting

9
Create QA Project

Update Project Name

Project Path

Select Application Type


Select rule.index File

Select icf File

Application Type: Analog/Digital/RF


The application type should be consistent with that of
the rule file.

10
Create Compare Project

Select Compare Mode

CompareMode
– 0: Model A and B use the same constants from Model A. (Model A is the first model on the
selected list.)
– 1: Model A and B use their own Bias settings, but use A’s Geometry (default).
– 2: Model A and B use their own Bias and Geometry.

When compare two processes that have different Lmin/Wmin, etc, please
use CompareMode=2.

11
Create Corner Project

ConrerOnly
– Select to run corner compare only
– Deselect to run corner compare and each corner QA

12
Load Measurement/ET Data

Select Measurement Data

Select ET Data

13
Create Project Log

Fail

Success

14
Select Rule
Select to Run QA Project

Select All Rule Group


Deselect All Rule Group

Select all rule in a Group


Deselect all rule in a Group

15
Run QA

Select to Run QA

16
Run Log

Select to View QA Result

17
View Simulation Result

18
Generate Report

19
Generate Report
• Export to report
• Export to XML Select Path

• Report->Generate report from XML


Select File Type

Select Figure Layout

Select Template

20
• rule.index file
• *.rule file

21
• Common
• Group
• Label: ID and title
• Condition:
• Option:
• Loops:
• Target:
• Check:
• Corner:
• Compare:
A Rule file in MQA is a ASCII
text file which defines how
MQA performs certain
checks on certain objects
under certain conditions

22
Common and Group
[common]
appliedmodel = binning, global, macro

[Group: 4:Title=Model Scalability]

Group Number Group Name

23
Label
[Label: 4001:title= Check Idsat vs. L] *for NMOS
Lable number of each rule should be different
Label Number Label Name Marked Part

24
Condition
[Condition:(devtype=1)and(application=1 or application=2 or application=3)]

[Condition:1] For All Type

25
Option
• [Option: sweeptype=dc]
• [Loops
[Option: datablock=Ids_Vgs_Vbs]
:x=SA(start=G_samin, stop=G_samax, num=10)
[option: etblock=Idsat_N] :p=SB(start=G_samin, stop=G_samax, num=10)
[option:datablock=noise_freq_nmos:sweeptype=AC] …] 10X10=100 points

• [Option:DataTable=“resistor.csv”]
[Loops • [Option: Synchro=SA_SB]
:x=Vin(0,1) [Loops
:p=T(-40) :x=SA(start=G_samin, stop=G_samax, num=10)
:p1=l :p=SB
:p2=w …] SB=SA , 10 points
…]

26
Loops
[Loops
: X=L(start=g_lmin,stop=g_lmax,perdec=10)
: P=W (start=g_wmin,stop=g_wmax, num=3)
: P1=Vgs(vgg)
: P2=Vds(vdd)
: P3=Vbs(0)
: P4=T(tmin, tnom, tmax)]

27
Target
• [Target: y=Idsat] • [Target:rangefile=b4_range.txt]
[Target: y=Vt_lin]
• [Target
: Vth_M=CalCurve(Vgs,Ids,"Vth_con")
: y1=Vth_M] ]

• [Target
:y1=Ids
:y2=Igate
:y=Ids-Igate]

28
Check/Compare/Corner
• [Check: 01:Check Trend: CheckTrend2D (p,x,y,"times=1","incAtFirst=1"): error: Trend is not right]
[Compare: 02:RMS of Idsat vs. L : CompPlot(p,x,y): error: TBD]
[Corner:03:Check corner of Idsat vs. L : CompareTREND(x,y,"@TREND=-1"): error: TBD]

User Defined Title Built-in check Function User Defined Error Message

Times: incAtFirst:
1 stands for that the curve is monotonic -1Curve increases at first (default)
2 stands for that the curve has one peak. 1 Curve decreases at first

29
Built-in Functions
Check Functions Plot Functions Calculation Complex Number
Functions Functions
CheckTrend Save2DData DataAt2D CalComplex
CheckTrend2D SaveAnyDData CalPage Mod
CheckDelta2D SavePage CalCurve Mod2
CheckValue2D Plot D1 Real
CheckKink PlotInfo GetFt Imag
CheckKink2D CompPlot CalFmax
CheckPeak2D CompareRMS GetPeriod
CheckPTrend2D CompModel
CrossCheck CmpAbsDelta
CompareTrend CompPoint
CompXPlot
CompAnyD
CompareYAvsYB
PrintStdDv
30
[Port]: Define terminal index

[Connection]: Bias condition


connection and definition

31
icf file
[Variable]: Target definition

CalPage, d1, sqrt…:


Built-in function we can use to
define targets.

32
icf file

[parameter]: Define Instance


parameters

[op]: special targets using OP


method to calculate

33
• Using Lib Explorer run QA simulation and generate report
• Rule file syntax and examples
• Icf file construction

34

You might also like