首先介绍verilog-a,这是一种类似verilog风格的模拟描述语言,可以用来实现对单元的行为级描述。
他的好处在于,可以直接用行为级语言描述一个模块(或者cell),并带入到spectre中进行仿真。
如非门的verilog-a代码(cadenc的ahdlLib library中的nand_gate cellview)如下:
具体的语法细节就不多说了。写完一个verilog-a后,可以由此生成一个symbol,并由此symbol辅助搭建电路。
下面是关键问题,怎样做这个电路的LVS(Layout Vs Schematic)。
我们需要有对应的版图,layout部分已有,麻烦的地方在schematic。
众所周知,calibre工具的LVS只能对已有的单元做LVS,对于verilog-a写成的单元,由于没有对应网表信息,无法形成网表(netlist),也就没法做LVS。
这里提供一个只检查单元之间连线的方法。注意:这里不对单元内部做LVS,事实上这也不可能做到,因为单元是用verilog-a写的。
<