背景:使用siliconsamrt的SBA方法对TSMC28nm单元库的一个反相器单元INVD1P5BWP30P140进行LVF特征化。
问题1:configure阶段出现子电路找不到
X-instance中找不到XMM1的nch_mac子电路,因此跳过了将子电路名称添加到model名称的过程
解决1:尝试修改configure文件的子电路设置语句——失败 同样的报错
猜想:.l文件中单单对nch_hv18_mac、pch_hv18_mac定义了许多子电路类型,我在configure文件中设置子电路类型应该从总的nch\pch_hv18_mac进入到更详细的子电路中?
解决:将标准单元的sp文件的nch_mac改为nch_hv18_mac即可
---------------------------------------------------------------------------------------------------------------------------------
问题2:simple_param_screening0 statistical_delay_I_hl_ZN_hl_ACQ_1
---------------------------------------------------------------------------------------------------------------------------------
问题3:delay_I_hl_ZN_hl_ACQ_1
对于该子电路,输入I输出ZN,对setup和hold建模生成LVF格式特征化单元库,问题在于ACQ_1,即获取时间问题
这里我的理解是获取时间是setup和hold都需要的一段时间,这段时间在统计建模中需要根据统计参数,读取标准单元库和统计SPICE库(并进行仿真?)得到,但是标准参数的设置有问题,最终问题转化为参数的设置。
新问题:对时序弧建模,该设置哪些参数?
---------------------------------------------------------------------------------------------------------------------------------
问题4:统计SPICE模型,Macro model、Mmismatch Parameters
---------------------------------------------------------------------------------------------------------------------------------
对比tcbn28hpcplusbwp30p140ffg0p88v0c.lib两个单元
28 纳米体硅工艺的高性能紧凑型工艺库,适用于 PMOS 晶体管,具有 30.140 mA 的驱动能力,ff工艺角,0.88V 的栅极电压,并且在 0°C 的温度下工作。
cln28hpcp_hv_1d8_eld_v1d1_2p1.l
描述了一个 28 纳米 CMOS 逻辑工艺的高性能紧凑型工艺库,适用于 NMOS 和 PMOS 晶体管,具有高电压特性(1.8V 和 2.1V),增强型低功耗高密度设计,并且是版本 1.1
cln28hpcp_hv_1d8_eld_v1d1_2p1_shrink0d9_embedded_usage.l
描述了一个 28 纳米 CMOS 逻辑工艺的高性能紧凑型工艺库,适用于 NMOS 和 PMOS 晶体管,具有高电压特性(1.8V 和 2.1V),增强型低功耗高密度设计,并且是版本 1.1。此外,这个库还经过了 0.9 倍的缩小,适用于嵌入式应用场景。
---------------------------------------------------------------------------------------------------------------------------------
全局工艺参数应该细化为多个局部参数,每个参数都是呈统计分布的;
这是不是可以认为siliconsmart中设置统计参数实际是设置全局参数?
---------------------------------------------------------------------------------------------------------------------------------
crn28hpcp_1d8_eld_v1d0_2p2.l
中子电路nch_mac位置位于.LIB Total 但是我设置的是.LIB FF_RFMOS
猜想:因此.sp中的子电路名称是否要改为FF_RFMOS中的子电路名称?
cln28hpcp_hv_1d8_eld_v1d1_2p1.l中子电路nch_hv18_mac位置位于.LIB Total_hv18的Macro model
猜测:以上两个.l文件中的子电路定义都只是定义了子电路的参数 这些参数并不是用于统计表征的参数,因此用于统计表征的参数应该是再该文件的其它小库中,带有AGAUSS形式的参数
---------------------------------------------------------------------------------------------------------------------------------
问题:进行LVF表征会出现以下任务失败的情况
-timing存在时会出现delay_I_lh_ZN_hl_ACQ_1失败的情况 没有timing则不会出现(不会对这个弧仿真?
---------------------------------------------------------------------------------------------------------------------------------
问题:再configure脚本中设置这两个工艺库会出现第二个找不到的情况
猜想:应该不是找不到这个工艺库 而是去这个工艺库中找我设定的以下工艺参数找不到 所以进不去(感觉不太可能 这里明显说的是库找不到
以上参数par1等是我在下面的库中搜到的 唯一适合AGAUSS形式的参数
猜想:我把FFGlobalCorner_Local_MOS_MOSCAP注释掉试一下
结果:注释掉成功运行 没有error 但是存在以下warning
报告显示测量得到的时序弧的delay于输入delay相差过大/过小,应该是参数设置不正确
或者是:仿真模型与实际器件特性不匹配/库文件中的数据不准确或过时/仿真设置不正确
---------------------------------------------------------------------------------------------------------------------------------
猜想:我的configure结构没什么问题,是可以跑出框架的,但是可能netlist和SPICE model不匹配
我将参数修改为.l文件中LIBRARY OF FF CORNER CASE库中的.LIB FF_BIP 的par_bjtp1\par_bjtp2参数(但是这个库是针对双极晶体管的 我的管子是CMOS 应该不对)
结果:一样的错误
猜想:.LIB FF_CMOS在哪???
---------------------------------------------------------------------------------------------------------------------------------
netlist形式:
根据子电路形式,去.l文件中寻找具有该子电路形式的.lib 把该lib中的参数调出来
v1d0文件中有且仅有这一个库的子电路是nch_mac形式
再按照该lib的名称去Total工艺库中寻找对应的参数
但是该.l文件中只有这个一个库名称为Total 因此调用该库中的参数
尝试mismatch参数 Total中的参数没有sigma
---------------------------------------------------------------------------------------------------------------------------------
另一个思路:去FF_RFMOS库中找子电路形式,将.sp文件的子电路形式修改为该形式
但是FF_RFMOS中没有子电路形式,参数都是分散参数,也没有agauss形式的参数
---------------------------------------------------------------------------------------------------------------------------------
转换思路,Total中也没有agauss的参数,那么我去有agauss参数的库用这个库里面的参数,并把.sp中子电路的形式改成这个库子电路的形式
---------------------------------------------------------------------------------------------------------------------------------