调试成为一个更大的问题

EDA公司发展更多的集成调试流将执行引擎和硬件和软件紧密联系在一起,但这是否就足够了呢?

受欢迎程度

EDA行业投入了大量的时间和精力在验证过程,包括新语言、新工具、新类库,新方法。但周期的一部分,定义这种类型的自动化调试。开发团队花了一半的时间在调试过程和问题越来越严重。

部分原因是设计和调试海外扩张作为一个纯粹的功能性问题到其他领域,如性能、权力和安全。此外,它不再仅仅是一个硬件问题。今天调试有多个利益相关者,所有这些可能需要不同的数据,不同形式的可视化和不同的分析工具。

扩大执行引擎
过去,逻辑模拟器是唯一的工具,调试器连接,和结果可以被交互地或保存到一个跟踪文件离线可视化和分析。之后,我们已经走过了漫长的道路,但是每一个新的执行平台来模拟调试器,之前他们的逻辑。

“我们已经添加形式验证,模拟,FPGA原型和其他模拟,”哈利福斯特说,首席科学家验证导师图形。“FPGA原型是一个例子。大多数规模soc现在使用原型。十年前的可用资源等FPGA调试很粗糙的由FPGA供应商提供。这些基本上都是小逻辑分析仪的核心。但这些解决方案的问题在于,用户将不得不为了re-instrument迭代4到6倍。在每次运行时,他们会发现额外的信号,他们不得不监视。今天,我们可以更信号仪器一个数量级。我们可以处理64000个信号和动态用户选择子集,而无需重新编译设计,往往是一个一夜之间的过程。”

设计师想要的一致性和不准备对相同的任务有不同的调试工具在不同的开发周期。通过古老的“传统硬件验证进行高密度脂蛋白模拟器将继续选择在设计周期的早期阶段,“Lauro Rizzatti说验证专家。”知识产权块和子系统,系统验证,包括嵌入式软件的交互与底层硬件,是太大的挑战HDL模拟器。对于这个任务,设计师需要一个硬件模拟器。它可以处理数十亿周期很短的一段时间。它可以启动一个操作系统,使设计的“国家利益”测试。它必须继续游戏调试功能,可以跟踪硬件和软件故障穿越两个域。”

和一致性扩展不仅仅是外观和感觉。“当工具损坏信号名称就一个问题通过和调试跟踪他们,”说,公司的首席执行官Agnisys。“一个统一的环境必须理解规范在开发的所有阶段的连续改进——虚拟原型、模拟、仿真、FPGA原型和真实的芯片(验证)。这有助于减少负荷调试。当工具cross-probing互联也是可能的。”

首席执行官治之。完全同意是需要更多的一致性作为额外的域添加到调试问题,许多执行引擎是必需的。“有些公司已经转而使用仿真软件验证。很多公司正在处理这个RT-level,使用模拟或FPGA原型,但这需要硬件设计已基本完成。早些时候在开发流,虚拟原型提供一个更好、更快的平台。”

扩大抽象
将在软件领域增加了很多挑战。“当你链接的硬件和软件,添加一个全新的维度,”Michael Sanie说验证组的营销高级总监Synopsys对此。”一行你要调试的软件,这可能是与数以百计的事务。考虑的软件来打开一个文件。需要大量的读命令事务级别,然后每一个与成千上万行代码和RTL的信号。立即硬件/软件,穿过的抽象级别你处理数据是10的5种不同的力量。”

为了解决这一问题的唯一方法就是通过使用抽象在很多方面,抽象是很有帮助的。“抽象的结果数据可以帮助与理解,因此,调试的错误行为,帮助暴露更重要的是错误的在概念层面上,“解释戴夫•帕里首席运营官Oski技术。“实际上,这让一个工程师不仅看到森林和树木。数据和结果抽象也可以更容易比较和对比的行为传递与失败测试。”

得到好处的系统级调试,硬件和软件工程师必须能够一起工作问题,这一直都是一个问题。这是一个长期的行业开玩笑说,在许多系统公司,硬件和软件团队要互相介绍了EDA供应商试图卖掉混合域工具。那些日子已经过去,但是仍然有很多不同的方法,两个团队的工作,可以使集成更加困难。

考虑一个典型的软件方法。“如果你有一个gdb任务与一个处理器和另一个gdb和另一个处理器,它变得很难控制系统,”指出Davidmann。“多个线程和多处理器意味着并发正在发生,这使它复杂。当你有事情并行交互需要一个完整的观点正在发生的事情。考虑Verilog描述总是有很多块,只有能够查看一次。这使得它很难做任何事。今天是如此复杂的嵌入式系统。不仅你想看什么是发生在一个处理器,您希望能够看到正在发生的事情在其他处理器和硬件。”

但问题不止于此。“如果涉及到真正的硬件,那么您还需要处理非确定性和种族,”继续Davidmann。“每次你运行一些软件,你不知道会发生什么,这使得调试复杂得多,尤其是如果问题是由于测序。我们仍然看到人们试图使用gdb调试这些类型的复杂的事情,这就像是试图使用一个示波器调试复杂的芯片。首先,你可以看到正在发生的一切。第二,每次你把探测放在你改变体制,也许改变的力量,一切都开始出错。软件比硬件变得越来越复杂,但是它的调试可以提高通过可用的各种功能的硬件团队。”

向一个集成的调试平台
自然的解决方案是软件社区迁移到一个虚拟的平台,许多这些问题消失,完全控制,可以提供决定论和可见性。”软件解决方案有一个侵入性,特别是如果使用JTAG或Vstream将调试器连接到核心,”弗兰克Schirrmeister指出产品营销高级总监的系统和软件实现小组节奏。“当你连接这些虚拟化产品,如模拟、仿真、FPGA原型,所有这些问题消失。在虚拟化解决方案,我们可以查询事情不改变国家。”

虽然有些可能仍然不满意的运营速度虚拟引擎,还有其他的方法调试可以执行。“你看看是哪些用户?”Schirrmeister问道。“这是软件的家伙试图考虑硬件,或硬件家伙试图处理软件,因为它执行他的硬件吗?自下而上的家伙,你可以选择的核心形象你想看看当你戳的硬件,和很多可以做后期处理的形式。可以生成一个跟踪的仿真运行提供所有带时间戳的痕迹。我们有所有硬件的痕迹。现在你可以查看每一个核心和理解它们在管道的地方。”

后期处理也可以为性能分析是有用的,尤其是对问题无法发现从一个运行。“我们的设计环境性能分析的数据库,我们从RTL或SystemC获得事务数据模拟和加载到一个SQL数据库,”解释说,首席技术官超音速。“从我们可以提取底层事务。系统可以将原始事务从发起者,领带,事务的意见,通过网络流和再次交易的响应。我们可以以图形化的方式显示他们可以想象之间的因果关系在不同地方发生的事情。如果没有得到预期的性能,您可以调查瓶颈。”

很多努力已经将这两个领域更紧密地联系在一起,如集成硬件调试器与流行的软件环境,Eclipse。“当指针移动的波形仿真时间,相应的软件的声明可以突出显示在软件来看,“Sanie说。“相反地,如果一个用户是介入软件来看,硬件仿真时间视图将自动同步。用户可以自由地向前或向后移动在整个模拟时间范围。用户还可以设置断点快速跳转到感兴趣的点。威尔第提供了一种机制,可以自动建立波形之间的相关性和执行软件指令,并允许程序员同时查看多个核心。”

硬件世界越来越多地使用事务级执行和调试性能、电力和其他体系结构方面的考虑,以及执行功能验证后多个IP核已经被集成到一个系统中。“移民事务级验证世界的帮助很多,任务,”博Zalewski说,硬件部门的总经理Aldec。“在消息级别的工作也更自然的软件与硬件开发人员和简化了合作团队。这一件大事是常见的数据格式都可以理解的团队。它还允许您插入基于事务的协议监控和检查验证平台。这不仅有助于调试,还自动检测和缩小的过程问题。消息级调试绝对是最常见的一种现代SoC项目调试任务。”

Agnisys的问题提醒我们,开发过程本身可以带来惊喜,需要理解的用户。”一位需要调试是由于不准确的细化操作步骤在设计过程中。通常情况下,一个产品设计团队开始设计规范,规范转换为IP或芯片。当转换分解,工程师需要跟踪的点有一个错误的转换。”

上下文敏感
验证IP在调试可发挥重要作用。“如果你看一个协议,它必须是上下文敏感,“Sanie说。“USB有一组完全不同的数据包和接口。有信息嵌入到调试环境,这样用户不需要成为界面专家很有价值。环境敏感性非常重要。”

断言也可以是一个有价值的IP集成的一部分。“你可以断言,引发了如果你不使用IP以正确的方式,”继续Sanie。“这使您能够国旗。如果你回去六个月后,试着观察波形,它是更加困难。你想要找到的东西尽快。”

有上下文敏感的协议对所有任务是不够的。“当你试图在系统级调试事情发生你不想看着details-even尽管它可能帮助你的一些时间,比如当你有某些问题在一个司机,“Davidmann说。“但调试软件你想要在最高层次的抽象。你想要工作在操作系统级和应用程序级别,以便您可以看到他们都是相互作用的。你需要相关技术构建到调试器,知道有一个操作系统,能够呈现的抽象级别的用户。然后他们可以提出这样的问题,“这功能是使用最力量?””



3评论

Gajinder Panesar 说:

我理解给你主要关注的工具,但人们应该认识到整个系统(SoC和软件)是一个非常复杂的野兽,因此几乎不可能真正理解如何在部署操作。因此他们应该开始soc设计可以更有效地调试。这可以提供更好的信息描述的工具:今天,不管你的工具有多好,如果没有您想要调试的可见性系统。

这将意味着添加片上硬件:但这不仅会给你好处在调试,还优化领域。

布莱恩•贝利 说:

我同意你的观点,但一些公司试图创建IP实现这一计划,到目前为止还没有成功。问题是:你愿意支付多少保险能够找出出错的字段?

Gajinder Panesar 说:

有一个公司在英国叫做UltraSoC技术有限公司(www.ultrasoc.com)提供IP做的事情我突出显示。我只是碰巧CTO。
我不认为有一个数字将会回答你的问题。但如果IP非侵入性的(我们)可以有效地在不需要时关闭,这涉及到硅面积需要多少。现代SoC硅成本这个IP是(几乎)整个SoC相比微不足道。

留下一个回复


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

Baidu