TMAX testcoverage之remove_faults *匹配

跑TMAX ATPG,testcoverage很低,想把不需要ATPG测试的逻辑剔除不计算在ATPG testcoverage,通过remove_faults命令来剔除这些逻辑cell,但cell太多如何通过*号匹配批量完成?

remove_faults不能直接get_cells 使用*匹配,只能通过foreach_in_collection的方式:

1. 直接带cell hierarchy 匹配,比较精准一些,不至于溢出到其他逻辑。

2.  使用-filter的正则表达式匹配,可以匹配更宽的范围

 注:注意其中的get_attribute的那行,是整个get_cells的关键

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这个错误可能是因为在第一次循环中,`T(i-2)`的索引为负数,因为`i`的初始值是1,所以`i-2`是负数。可以在循环开始之前将`T(1)`和`T(2)`都初始化为`Tin`,这样就可以避免这个错误。修改后的代码如下: ``` % 初始化温度和湿度向量 T = ones(size(t))*Tin; T(1:2) = Tin; RH = ones(size(t))*RHin; % 循环计算温度和湿度 for i = 3:length(t) % 外部温度和湿度 Tout_i = Tout; RHout_i = RHout; % 光照强度 Q = I*A*(1-alpha); % 气体密度 rho_i = rho*(T(i-1)+273.15)/(Tin+273.15); % 能量平衡方程 Qh = rho_i*Cp*V*(T(i-1)-Tout_i)/dt; Qs = sigma*A*(T(i-1)^4-Tout_i^4)/dt; Qe = rho_i*ET*18*V*(611*exp(17.27*T(i-1)/(T(i-1)+237.3))-RH(i-1)/100*611*exp(17.27*Tin/(Tin+237.3)))/dt; Qp = rho_i*E*2.45*V*(RH(i-1)/100-RHout_i/100)/dt; Qg = k*A*(T(i-1)-Tsoil)/dt; Qw = rho_i*Cp*V*(T(i-1)-T(i-2))/dt; Qf = Q*cosd(theta)/dt; Qr = rho_i*Cp*V*(T(i-1)-Tin)/dt; Qin_i = Qh+Qs+Qe+Qp+Qg+Qw+Qf+Qr; % 生长模型 Tave = (T(i-1)+Tin)/2; if Tave < Tmin kT = 0; elseif Tave > Tmax kT = 1; else kT = (Tave-Tmin)/(Tmax-Tmin); end R = k1*(1-exp(-k2*I))*exp(-k3*Tave)*kT; % 更新温度和湿度 Tin_i = Tin + Qin_i/(rho_i*Cp*V); RHin_i = RHin + R*(RHin/100)*(RHsoil-RHin)/dt; % 记录温度和湿度 T(i) = Tin_i; RH(i) = RHin_i; % 更新初始温度和湿度 Tin = Tin_i; RHin = RHin_i; end % 绘制温度随时间变化的曲线 plot(t/3600,T) xlabel('时间(小时)') ylabel('温度(℃)') title('温室温度动态模型') ``` 这个修改应该能够解决索引错误问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值