在做大屏LCD Driver的chip layout TOP层验证时,因为SRAM和APR部分layout(版图) 太过于复杂,而电脑配置如果有限,calibre LVS运行到一半时就会因为内存不足而中断,无法继续。因此需要用到hcells,他可以简化schematic和layout的层次,有效的提高calibre的性能,同时也会缩短LVS所需要的时间。hcell英文意思是hierarchically corresponding cell,我把它翻译为层次化对应的单元。
在一般情况下,在layout(版图)和source中相对应的hcell列表应该是比较简单的,且这些cell在层次化的结构中出现了很多次。一个详细的hcell列表是没用必要的,往往适得其反。这是因为在Calibre LVS时层次化的单元会被选择性的打散以提高性能,而密集的单元会影响calibre的性能。在hcell列表中的cells则不会被打平。指定某些像通孔(via)或其它一些小的单元也会阻碍calibre LVS的性能。
在calibre LVS hcells中,layout(版图) cell name和相对应的source cell name可能是一样的,也可能不同。可以指定一对多的关系,即一个layout(版图) cell name对应多个不同的source cell name。当然也可以指定多对一的关系,即一个source cell name对应多个layout(版图) cell name。但是多对多的关系是不被允许的。
下面举个例子说明一下 hcells 文件的格式
[code lang=”bash”]//layout source
ABC DEF
ABC GHI
ABC JKL
UVW XYZ
RST XYZ
OPQ XYZ
UVW GHI
OPQ DEF[/code]
一对多的例子:同一layout cell name 对应不同的source cell name
[code lang=”bash”]//layout source
ABC DEF
ABC GHI
ABC JKL[/code]
多对一的例子:不同的layout cell name 对应不同的 source cell name
[code lang=”bash”]//layout source
UVW XYZ
RST XYZ
OPQ XYZ[/code]
当然,多对多不允许的例子也来一个
[code lang=”bash”]//layout source
UVW XYZ
RST XYZ
OPQ XYZ
OPQ GHI[/code]
这种会提示
[code lang=”bash”]//error. OPQ mapped previously to XYZ
//which is mapped to three different names.[/code]
说了这么些,具体怎么使用用呢?
先打开calibre Interactive –LVS 界面,点左面的 Inpus,选择 H-cells (netlist的右边)选项卡,在Use H-Cells file前面打钩,如果有已经写好的hcell.txt文件,就点后面的 …选择事先写好的上hcell文件;如果没有的画,在那里输入你想要的hcell文件的名字,如hcell.txt,点后面的view,会提示你文件不存在是否创建,点是,就可以打开一个编辑界面,进行hcells的编写。Calibre LVS其它的设置和使用和平时一样.