weixin_53622170 2025-08-04 21:10 采纳率: 50%
浏览 15
已结题

tsmc28nm仿真报错,疑似模型库问题,希望获得解决方法

今天添加tsmc28nm工艺库中的tsmc28hpc+中的iPDK_CLN28HPC+_v1.0_2p2a_20150612,用 cadence virtuoso画原理图,检查+保存是正常的,但是DC仿真的时候报如下错误:
deepseek问了,可能是模型库的问题,然后一个一个试了,还是报错

img

img

img

img

  • 写回答

3条回答 默认 最新

  • 一杯年华@编程空间 2025-08-04 22:26
    关注

    一杯年华@编程空间帮您解答,本答案结合 ChatGPT4.0和DeepSeek整理
    我曾经遇到过类似的问题,当时也是在使用特定工艺库进行仿真时出现了模型未定义的错误,和你现在遇到的“实例‘Mt’引用了未定义的模型或子电路”情况很像。结合你的报错信息和操作流程,我分析问题核心在于模型库没有被仿真器正确识别或加载,导致仿真时找不到对应的元件模型。

    解决方案一:检查并修正模型库加载设置

    这是最直接且常见的解决方向,因为报错明确指向“未定义的模型”,大概率是仿真器没有正确加载包含该模型的文件。
    具体操作步骤:

    1. 打开仿真设置中的“Model Library Setup”(模型库设置)界面(你提供的截图中已有该界面)。
    2. 确认“Global Model Files”中是否正确添加了工艺库的核心模型文件。从你的模型文件列表来看,toplevel_1d8.scstoplevel_2d5.scs是顶层模型文件(通常包含模型的索引和引用关系),需要优先添加。
    3. 检查模型文件对应的“Section”(章节)是否正确。比如顶层文件中可能包含top_tt(典型工艺角)等章节,需确保选中的章节与你的设计需求匹配(如温度、电压条件)。
    4. 验证模型文件路径是否有效。确认路径/mnt/hgfs/SHARE/tsmc28hpc+/.../models/spectre没有拼写错误,且文件确实存在(比如检查cin28hpcp_1d8_elk_v1d0_2p2.scs等底层模型文件是否完整)。

    解决方案二:核对元件与模型的匹配性

    如果模型库加载正确,可能是原理图中的元件引用了模型库中不存在的模型名称。
    具体操作步骤:

    1. 在Virtuoso中找到报错的“Mt”实例(可以通过报错信息中的位置定位到具体元件)。
    2. 查看该元件的属性设置,记录其模型名称(比如晶体管的“model”参数)。
    3. 打开已加载的模型文件(如cin28hpcp_1d8_elk_v1d0_2p2.scs),搜索记录的模型名称,确认模型库中是否存在该模型的定义。
    4. 若模型名称不匹配,修改元件的模型参数为模型库中已有的名称(比如将“Mt”的模型名改为cin28hpcp系列中定义的名称)。

    最优方案:优先选择解决方案一

    相比之下,解决方案一更高效,因为你的问题中“原理图检查+保存正常”说明元件本身的绘制没有问题,更可能是仿真阶段模型库未加载导致的。
    详细操作补充:

    • 若之前只添加了iPDK_CLN28HPC+_v1.0_2p2a_20150612的顶层路径,可能遗漏了具体模型文件。建议在“Model Library Setup”中手动添加toplevel_1d8.scs(或根据设计选择1d8/2d5版本),并指定top_tt章节(典型工艺条件下的模型最常用)。
    • 添加后点击“Apply”保存设置,重新运行仿真。若仍报错,可尝试同时加载底层模型文件(如cin28hpcp_1d8_elk_v1d0_2p2.scs),确保仿真器能读取到完整的模型定义。

    以上方法应该能解决你的问题,我之前就是通过修正模型库加载路径和章节设置解决了类似报错。请楼主采纳,如有操作中遇到的细节问题,欢迎继续留言。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月13日
  • 已采纳回答 8月5日
  • 修改了问题 8月4日
  • 创建了问题 8月4日