电子系统级调试技术综述
1. 引言
随着现代复杂和异构集成电路及系统的快速发展,调试逐渐成为芯片设计生产力的瓶颈。传统的调试方法往往是非系统化且耗时的,尤其是在开发过程中早期发现并隔离错误的需求日益增长。本文将详细介绍一种系统化的调试方法,旨在提高错误检测、观察、隔离以及设计理解的效率。该方法适用于电子系统级(ESL)设计,涵盖了从静态分析到动态程序切片的各种技术。
1.1 背景与动机
现代集成电路和系统由多个不同的功能模块组成,包括多个异构处理器核心、专用模拟/混合信号组件、各种片上总线和存储器、第三方知识产权(IP)以及越来越多的嵌入式软件。根据“摩尔定律”,可用芯片容量呈指数增长,高端处理器设计可达20亿个晶体管。完整系统可以集成在一个单芯片上,即所谓的片上系统(SoC)。随着设计复杂性和规模的增加,系统级调试变得尤为重要。
1.2 主要目标
本文的目标是开发一种系统化的调试方法,能够在验证ESL设计时实现系统化地搜索错误。通过这种方法,可以在系统模型的不同开发阶段高效地检测和定位错误。所提出的调试技术伴随着每个开发阶段,从最初的模块可用时开始,一直到整个系统设计完成。与主要集中在后期系统级模拟的传统ESL验证流程相比,这种方法允许更快地检测到错误。
2. ESL设计与验证
2.1 ESL设计
ESL设计是指在较高的抽象层次上对系统进行建模和验证,以加快开发速度并减少错误。系统级语言SystemC是ESL设计的常用工具之一。SystemC允许设计人员在事务级(TLM)进行建模,从而提供足够的精度和速度来执行生产软件。以下是SystemC设计的一些关键点: </