比如你打算写一个DRC的
command file
你首先把原有的command file照抄一遍
当然,operation部分不能照抄,这部分就是由你来写的
你先写好格式,如下:
*operation
*end
然后在之间,填充语句。
比如,要检查两根metal1的间距不能小于0.6u
语句如下:
ext[h] mt1 lt 0.6 out drc01 40
整个operation部分的内容就是
*oper
ext[h] mt1 lt 0.6 out drc01 40
*end
本句的具体意思就是
mt1 extend to mt1 less than 0.6 ,and check notch,
output error named drc01 by layer
number is 40 at last
ext 表 extend
[h] 为该命令的选项,为check notch
lt 为
littleout 为output
写dracula command file就像写八股文,照着往上套就是。
就写drc command file来讲,主要针对designer rule来写,
首先看懂rule后,再去规则一下,主要思路如下:
1,定义好所要用到的层
2,将要层进行细化,来表达准确的含意
3,定义好组件
4,给定check rule
比如说,要检测出gate与cont的rule
1,定义好层
...
pplus = 2
cont = 5
poly1 = 12
thin = 8
...
2,细化
...
and pplus thin pthin;;pplus与thin重合的部分定义为pthin,即p型的thinoxide
and nwell pthin pdiff;;pthin与nwell重合的部分就是要来形成pmos的部分
...
3,定义组件
...
and poly1 thin gate ;poly1与thin交结的地方,即是gate
and pdiff gate pgate;;gate在pdiff,就认定为pgate
not gate pgate ngate;;gate除去pgate,就认定是ngate
...
4,给定rule
...
ext[to] cont gate lt 0.4 out drc04 40;;gate距cont,至少0.4u
...
此例中,先定好要用到的层,细化时即是定义由基本层派生出的层
将层与层进行组合,就形成你所想要定义的组件,对应到平时所讲的
如,gate,pmos,nmos等,这些并不是单纯的层,而是由层与层交织出的组件。
值得注意的是,这些定义要能真正体现mask的本意,否则command file就是无意义的。
以小见大, 就可以完成command file的编写
不明白请call nfmao, 或者登录www.chalayout.com
thank you