由于本人的设计要用到一个4096X32bit的SRAM,于是我就用Memory Compiler生成了一个。dc做完以后的gate sim没有问题,我就进行PR,打开innovus init_design的时候就有如下报错:Loading LEF file lib/lef/S013LLLPSP_X512Y8D32.lef ...**ERROR: (IMPLF-53): The layer 'M2' referenced in pin 'Q[0]' in macro 'S013LLLPSP_X512Y8D32' is not found in the database. A layer must be defined in the LEF technology LAYER section before it can be referenced from a macro. Review the LEF files specified in the init_lef_file variable to see if the layer does not exist or is specified after the one that defines the macro.
Type 'man IMPLF-53' for more detail.
这是man的结果:
NAME
IMPLF-53
SUMMARY
The layer '%s' referenced %s is not found in the database. A layer must
be defined in the LEF technology LAYER section before it can be refer-
enced from a macro. Review the LEF files specified in the init_lef_file
variable to see if the layer does not exist or is specified after the
one that defines the macro.
DESCRIPTION
This error reports that a macro PIN references a layer that has not
been defined. The layer must be defined before they can be referenced
from a macro. The layer is either missing from the LEF files that were
read or it was defined in a LEF that was specified after the one that
contained the macro. Review the LEF files specified in the
init_lef_file variable to see if the layer is defined and, if so,
reorder the LEF files in the init_lef_file variable so that the LEF
file that contains the layer is read before the one that contains the
macro.
报错的这个Q端口是32位的,然后Q[0]在LEF中的定义如下:
PIN Q[0]
DIRECTION OUTPUT ;
USE SIGNAL ;
PORT
LAYER M2 ;
RECT 3.965 0 4.165 0.5 ;
END
在LEF文件的后面有如下关于M2的一段描述(我只截取了部分,后面还有很多)(我刚学习后端,不了解LEF文件):
OBS
LAYER M2 ;
RECT 0 0 3.765 0.7 ;
RECT 4.365 0 5.355 0.7 ;
RECT 5.955 0 20.545 0.7 ;