查看工艺库(TSMC 90nm 或者SMIC 180nm )中NAND的面积

使用Design Complier进行综合得到的Total cell area是实际面积,但是论文中都是用的等效门(GE)。为了方便,一般是把2输入NAND门作为参考,等效门数(综合的门级数)是将综合得到的面积除以2输入NAND门的面积,计算公式为:等效门数=\(\frac{\text{总面积}}{\text{NAND2的面积}}\)

工艺库 NAND2X1面积(2表示2输入,X1表示驱动)
SMIC 180nm 9.979200 平方微米
TSMC 90nm 2.8224平方微米

下面给出具体查询NAND面积的方法

1. 查询 SMIC180nm 中 NAND2X1 的面积

1. 1. 首先要找到工艺库.lib文件的地址(如果知道地址,这步省略)

如果不知道具体的位置,那么就直接在\home里面找,使用find搜索.lib文件:
find /home -name "*.lib"
如果知道在某个文件夹,比如我把下载的SMIC180nm 的工艺库放在了/home/ICer/SMIC180里,那么我就可以直接在这个文件夹里找:
find /home/ICer/SMIC180 -name "*.lib"
在输出结果中找到了想要的文件地址,如下:


[ICer@IC_EDA /home/ICer]$find /home/ICer/SMIC180 -name "*.lib"
/home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/fast.lib
/home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/slow.lib
/home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/typical.lib


可以看到我这里这里有三种,fast.lib,slow.lib和typical.lib

1. 2. 接下来直接解析 .lib文件,查看单元面积:

grep -A 10 "cell *(NAND2X1)" /home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/typical.lib

其中/home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/typical.lib是存放工艺库的地址 ,NAND2X1是想找的单元。输出结果如下,说明SMIC 180nm中NAND2X1的面积是9.979200 平方微米


[ICer@IC_EDA /home/ICer]$grep -A 10 "cell *(NAND2X1)" /home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/typical.lib
cell (NAND2X1) {
cell_footprint : nand2;
area : 9.979200;
pin(A) {
direction : input;
capacitance : 0.004328;
}
pin(B) {
direction : input;
capacitance : 0.004047;
}


另外也可以查看fast.lib,slow.lib中的NAND2X1的面积:
grep -A 10 "cell *(NAND2X1)" /home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/fast.lib
grep -A 10 "cell *(NAND2X1)" /home/ICer/SMIC180/smic180/std_cell/fb_2005q4v1/aci/sc-x/synopsys/slow.lib

2. 查询 TSMC 90nm 中 NAND2X1 的面积

方法和上面一样,先找.lib文件的地址,再解析NAND单元。

假设我不知道TSMC 90nm的.lib文件在哪,首先用find广泛寻找:
find /home -name "*.lib"
输出的结果中可以找到想要的地址,如下:


/home/ic_libs/TSMC.90/aci/sc-x/synopsys/fast.lib
/home/ic_libs/TSMC.90/aci/sc-x/synopsys/slow.lib
/home/ic_libs/TSMC.90/aci/sc-x/synopsys/fastz.lib
/home/ic_libs/TSMC.90/aci/sc-x/synopsys/typical.lib
/home/ic_libs/TSMC.90/aci/sc-x/synopsys/fast_leakage.lib
/home/ic_libs/TSMC.90/aci/sc-x/synopsys/typical_leakage.lib


接下来利用这个地址查看NAND单元:
grep -A 10 "cell *(NAND2X1)" /home/ic_libs/TSMC.90/aci/sc-x/synopsys/typical.lib


cell (NAND2X1) {
cell_footprint : nand2;
area : 2.822400;
pin(A) {
direction : input;
capacitance : 0.001744;
}
pin(B) {
direction : input;
capacitance : 0.001637;
}


上面的输出结果表明TSMC 90nm中NAND2X1 面积为2.8224平方微米

注:存放.lib的地址可能不同,上面只是我电脑中的地址。不知道怎么放代码输出结果的图片,就把输出结果用两条横线夹起来了。

3. 这里也存放一些其他cell的面积

3. 1.使用grey命令查看库里有哪些cell(如果知道cell的名称,该步骤可以省略)

grep "^cell" your.lib
其中your.lib是工艺库的地址,这个命名会输出类似结果:


cell (ADDFHX1) {
cell (ADDFHX2) {
cell (ADDFHX4) {
cell (ADDFHXL) {


然后利用1中的方法查看这些cell的面积,只需要把1中的NAND2X1改成其他cell名称

3. 2.也可以直接查看所有cell及其面积

grep -A 2 "^cell" your.lib
其中your.lib是工艺库的地址,grep -A 2 "^cell"是找出cell开头并显示后2行(因为area显示在cell(...)的第二行,这里显示2行就足够了),这个命名会输出类似结果:


cell (ADDFHX1) {
cell_footprint : addfh;
area : 76.507200;

cell (ADDFHX2) {
cell_footprint : addfh;
area : 113.097600;

cell (ADDFHX4) {
cell_footprint : addfh;
area : 116.424000;


3. 3.常见cell的面积记录

cell area GE
SMIC 180nm NAND2X1 9.979200 1GE
SMIC180 NOR2X1(nor2) 9.979200 1GE
SMIC180 AND2X1(and2) 13.305600 1.3333GE
SMIC180 OR2X1(or2) 13.305600 1.3333GE
SMIC180 XOR2X1(xor2) 26.611200 2.6666GE
SMIC180 XNOR2X1(xnor2) 26.611200 2.6666GE
SMIC180 AND3X1(and3) 16.632000
posted @ 2025-04-08 10:23  MnnLynn  阅读(120)  评论(0)    收藏  举报