APL (Apache Power Library)是Redhawk工具可以識(shí)別的、用于描述cell開關(guān)電流波形、解耦電容、等效電阻(ESR)、開關(guān)delay、leakage電流等信息的模型文件。該文件可以由Foundry提供,也可以使用使用Redhawk的Characterize工具轉(zhuǎn)換生成。相比于lib中靜態(tài)的Power信息,apl文件可以為Dynamic分析提供更準(zhǔn)確的數(shù)據(jù),提升分析結(jié)果的可信度。 ?? Characterize流程 按照是否依賴于Design數(shù)據(jù),APL Characterize流程可以分為APLDI和APLDD兩種,其含義及特點(diǎn)如下: APLDI:APL design-independent flow,不依賴于design數(shù)據(jù),對(duì)Standard cell庫中所有的cell進(jìn)行Characterize,只需要運(yùn)行一次就可以完成全部cell提取。但是精度較APLDD低,按照User guide的說法約在10%的誤差之內(nèi)。運(yùn)行時(shí)間較長,需要提前轉(zhuǎn)換。 APLDD:APL design-dependent flow,依賴于特定的設(shè)計(jì)數(shù)據(jù),精度較高,每次design更新時(shí)都需要重新Run。
由于APLDI Flow不依賴于Design數(shù)據(jù),可以提前準(zhǔn)備,且精度較高(比APLDD精度略低),因此也較為常用,下面說明APLDI flow的使用方法。
?? APLDI FLOW Input data lib文件:包含cell的時(shí)序、功耗、功能等信息; lef文件:包含cell的pin定義; spice網(wǎng)表:包括每個(gè)cell的spice模型,可以是合并的一個(gè)文件,也可以是每個(gè)cell單獨(dú)一個(gè)文件; device model:所使用工藝對(duì)應(yīng)的器件(device)模型; config file:用于apldi flow運(yùn)行的配置文件,主要內(nèi)容是配置文件路徑和運(yùn)行參數(shù); cell list:包括普通cell和decap cell的list,普通cell與decap cell需要分開提取。Foundry一般都會(huì)提供cell list,只需將decap cell單獨(dú)拿出來就可以。如果Foundry沒有提供,可以從LEF或lib中抓取,使用linux三劍客命令可以輕松搞定。
config file config file是APLDI flow的核心所在,下面詳細(xì)說明其格式和內(nèi)容,為方便描述,注釋采用中文。 # 指定APL flow為DI mode APL_RUN_MODE DI # 指定cell LEF文件 LEF_FILES { xxx.lef } # 指定cell的PG pin,具體信息查看lib文件中PG pin定義 PRIMARY_VDD_PIN VDD PRIMARY_VSS_PIN VSS VDD_PIN_NAME VDD VSS_PIN_NAME VSS # 指定要抽取模型的電壓梯度,假定VDD為1V,根據(jù)需要選擇 APL_VOLTAGES 4 0.8 0.9 1.0 1.1 # 指定Debug模式 DEBUG 0 # 指定工作目錄及結(jié)果存放目錄 WORKING_DIRECTORY ./ APL_RESULT_DIRECTORY ./result # 指定spice工具,可以指定hspice或spectre,不指定的或默認(rèn)為nspice,下面參數(shù)指定一個(gè)即可 APL_HSPICE:APL內(nèi)置仿真功能來提取cell參數(shù),所以需要spice model和spice netlist,APL也可以調(diào)用Hspice工具來提高仿真的準(zhǔn)確性。 APL_HSPICE /eda/.../bin/hspice APL_SPECTRE /eda/.../bin/spectre # 指定并行job數(shù)量,默認(rèn)為10,job數(shù)量越多,速度越快,但對(duì)服務(wù)器資源要求越高 JOB_COUNT 20 RUN_TIME_LIMIT 96 # 指定Corner DESIGN_CORNER { tt85 { TEMPERATURE 85 VDD 1.0 PROCESS TT DEVICE_MODEL_LIBRARY xxx.spice TT # 定義spice device model LIB_FILES { pgarc.lib CUSTOM xxx.lib } } } 對(duì)于有多個(gè)Power pin或Ground pin的cell,需要自定義pgarc.lib,其格式如下: # 指定某個(gè)cell的pg arc cell XXX { pgarc { VDD VSS VDD1 VSS1 …… } } # 指定所有cell的pg arc pgarc { VDD VSS VDD1 VSS1 …… } SPICE_SUBCKT_DIR /netlist/extracted/ulptt 指定spice netlist路徑。也可以用SPICE_NETLIST run command # 生成cdev文件 apldi -c -l non_decap_cell.list -v config.file apldi -p decap_cell.list -v config.file # 將單個(gè)cell的cdev文件merge到一起 aplmerge -o xxx.cdev ./result/CAP/*.cdev # 生成pwcdev文件 apldi -w -l non_decap_cell.list -v config.file apldi -w -p decap_cell.list -v config.file aplmerge -o xxx.pwcdev ./result/PWC/*.pwcdev
# 生成current文件 apldi -l non_decap_cell.list -v config.file aplmerge -o xxx.current ./result/CURRENT/*.current
output data cdev:包含cell的cap、ESR、leakage等信息的文件; pwcdev:包含電壓與cap、ESR、leakage的分段線性關(guān)系信息的文件; current:包含cell的switch電流波形信息的文件。
apldi的option含義 -c 提取intrinsic decap、ESR、leakage信息 -p 指定decap cell list,提取decap cell的intrinsic decap、ESR、leakage信息 -w 提取電壓與cap、ESR、leakage的分段線性關(guān)系信息 -l 指定cell list,只提取指定cell list中的cell -sw 對(duì)switch cell進(jìn)行decap提取 -o 指定輸出文件
|