本文始于2024年01月,以2021R2 Circuit工具演示分别搭建DSPF netlist原始文件相关的验证电路和第3节课中生成的IBIS模型相关的验证电路,并给予特定激励对比两个电路输出波形的一致性,从而来判断IBIS模型的正确性。文章中先从原始功能验证电路开始,随后分别验证IBIS模型的输入和输出功能。
1. 相关文件准备
1.1 将第2节课中的TEST IO DSPF文件、Device hspice模型文件以及第3节课中生成的KX001.ibs文件放到同一文件夹下。
注意:因为这里验证的是KX001.ibs模型中的一个子模型“PAD_18_S_PK0”中对应的type数据,所以这里需要手动在IO dspf网表中加上“.INC ./TT_toplevel.l” 语句。
2. 相关电路搭建和验证
在Circuit中创建相关验证电路并按如下命名:
(1)IO DSPF netlist功能验证电路,命名为:0_dspf_function
(2)IBIS模型作为Receiver时的验证电路,命名为:1R_ibis_receiver_verify
(3)IO dspf作为Receiver时的验证电路,命名为:1R_dspf_receiver_verify
(4)IBIS模型作为Driver时的验证电路,命名为:2D_ibis_driver_verify
(5)IO dspf作为Driver时的验证电路,命名为:2D_dspf_driver_verify
注:“R”代表receiver;“D”代表driver。
2.1 创建IO dspf 功能验证电路0_dspf_function并验证其功能符合真值表,如下图; 这里我们随机选择下图真值表中的紫色框部分进行验证。
① 打开Ansys Electronics Desktop软件,按如下图示新建Circuit电路命名为0_dspf_function,同时将项目名改为IBIS。
② 新建对应IO dspf netlist模型器件,并结合上图真值表中节点电位和第2节课中的3.3.3小节仿真设置各节点对应的电位。
③ 放置相关探针和连接好电路图,并设置瞬态仿真如下;
根据验证需要调整 1、2 框中节点电位,观察PAD输出电压是否和真值表中的PAD值对应。
④ 仿真验证结果
(1)验证PAD输出为高电平:
(2)验证PAD输出为高阻
2.2 创建IBIS模型作为Receiver时的验证电路,命名为:1R_ibis_receiver_verify
① 添加激励,并将调入的IBIS模型属性按如下图片设置。
② 添加瞬态仿真
③ 仿真结果
2.3 创建IO dspf作为Receiver时的验证电路,命名为:1R_dspf_receiver_verify
注意:这里因为dspf网表中没有包含封装pin的RLC寄生参数,所以创建电路时应手动加上对应pin的RLC寄生参数,而2.2 因是ibis模型所以它本身就已经包含了pin的RLC寄生参数了。
① 对应创建后的电路图下;
② 添加瞬态仿真
③ 仿真结果
2.4 对比1R_ibis_receiver_verify和1R_dspf_receiver_verify仿真结果
局部细节部分对比:
从对比两个输入仿真波形图可以看出,IBIS模型和dspf netlist仿真得出的波形高度吻合。
下面按上述同样的方法验证作为输出时IBIS和dspf模型仿真波形的对比。
2.5 按同样方式创建IBIS模型作为Driver时的验证电路,命名为:2D_ibis_driver_verify,用10pf电容作为负载。
① 对应电路图如下;
② 添加瞬态仿真
③ 仿真结果
2.6 按同样方式创建IO dspf模型作为Driver时的验证电路,命名为:2D_dspf_driver_verify
① 对应激励参数和电路图
1 驱动强度和边沿特性控制;
2 激励输入;
3 封装RLC寄生参数;
② 添加瞬态仿真;
③ 仿真结果
2.7 对比2D_ibis_driver_verify和2D_dspf_driver_verify仿真结果
局部细节对比
从对比两个输出仿真波形图可以看出,IBIS模型和dspf netlist仿真得出的波形同样高度吻合。
至此IBIS模型验证结束。
-END-