中文 英语
系统与设计
的意见

四个需求改善芯片设计调试

保持增长之前调试的复杂性等特性部分设计荷载和智能可视化。

受欢迎程度

调试一直是痛苦的和不可避免的半导体设计的一部分,尽管许多技术进步,它仍是芯片发展的主要任务之一。一次,大多数错误检测和诊断在实际设备上启动实验室,可视性和可控性都是极其有限的。确实,调试的结果pre-silicon testbench模拟、静态检查,和正式的验证要容易得多。然而,这种获得部分抵消芯片日益增长的更大、更复杂,需要花更多的时间和精力来追踪错误的来源。今天许多设计芯片系统(SoC)设备,依靠嵌入式软件以及硬件、更为复杂的调试。

幸运的是,最好的调试环境提供了许多方法来减少所需的时间和精力。这些工具的持续改进,添加新的功能与每次发布调试的复杂性。关键特性包括一个直观的图形用户界面(GUI),多个视图的设计和testbench,容易通过交叉连接导航整个视图,并且能够从内部控制模拟运行GUI。近几个月来,四个新的所需能力成为人们关注的焦点。保持竞争力和相关的,任何调试解决方案必须为这四个新特性添加强劲支持。

在调试一个主要挑战是必须加载的大小设计检验仿真结果和跟踪测试失败的根源。加载register-transfer-level (RTL)设计已经够难了;装载门级仿真的结果(gl)的一个巨大的网表是更加困难。第一个新的需求是调试工具加载不能坚持完成整个设计的模拟信息。只需要模拟信号值和源代码的部分设计与调试失败,只有“假”(骨骼)信息需要休息。这种“智能负载”功能通常增加调试能力至少5倍和减少调试启动时间至少80%,大幅提高生产率。

智能负载有两个主要的操作模式。用户只能指定一个特定子集的设计完全加载,使受过教育的猜测一个设计错误所在的基础上,测试失败。其余的设计只在虚拟的形式加载,加快调试和保护人类和计算资源。或者,用户可以加载整个设计但指定某些实例黑箱和加载虚拟形式。这两个模式可以组合,因此只有一个子集的设计被加载,通过一些实例在黑箱子集。用户必须能够提供一个配置文件信息,完全增量加载虚拟实例和交互式调试过程中并保存当前状态为一个配置文件用于未来的调试会话。

智能负载时的性能做了很多帮助调试RTL设计和gl网表,但仍然有些操作需要大量的时间。搜索一个大型网表是一个常见的例子。用户不希望整个调试过程搁置在深度搜索,所以另一个要求是多任务技术调试工具。许多观点和浏览器可以使用GUI在搜索过程中如果程序作为独立的任务可以并行运行。调试工具还必须提供一个任务管理器,以便用户可以监视和控制并行活动。

大大复杂调试另一个挑战就是SystemVerilog和普遍的验证方法(UVM)严重依赖于面向对象编程(OOP)。使用OOP,程序员可以设置testbench创建和销毁对象的模拟运行。动态对象的调试工具必须提供专业意见显示随时间的变化情况,方便验证工程师调试测试失败。用户必须能够控制如何显示这些信息,包括过滤UVM内部属性减少屏幕杂乱,帮助用户关注。注意,处理OOP在调试的能力可能选择模拟器上的一些需求。

最后一个新的调试功能也要求模拟器自动诊断的任务失败UVM-based模拟测试。为了节省时间和磁盘空间,模拟回归测试通常运行dumpfile代,详细的日志记录和其他调试选项关掉。失败测试通常运行自动启用这些选项后,但从那里调试主要是一个手动过程。验证团队必须检查失败,识别相关的事件,在这些事件中添加检查点并重新运行模拟。这个过程更容易如果模拟器可以添加一个检查点和保存状态在第一个UVM错误调试工具可以启动状态。使用此功能,Synopsys对此称之为瞬时记忆,用户可以在时间中向前和向后移动的失败点调试更有效率。

要求调试工具成为更强的设计和testbenches继续增长。任何发展先进芯片需求部分设计荷载,多任务调试、智能的可视化动态对象和即时回忆回归。作为行业领导者,Synopsys对此威尔第自动调试系统已经有四个特性在全面生产模式下,许多领先的用户使用。一个白皮书更多的信息可以在需求。



留下一个回复


(注意:这个名字会显示公开)

Baidu