原文地址:Interview: How to solve the IP integration problem
原作者:eoin_mccann
我最近很荣幸地访问了 David Murray,并讨论了 IP 集成在系统构建过程中的现状。你们有些人可能不认识 David。他是一位充满激情的技术专家,曾担任 Duolog 公司的首席技术官;目前在 ARM 担任令人印象深刻的职位 - IP 工具架构师。他非常有活力并且善于表达,能在聆听时始终保持专注,希望您能享受以下专访。您可以在下面的备注区域提出问题,David 将尽快给予答复。
这篇博文延续了我在几周前对 Norman Walsh 的专访内容。Norman 讲述了 IP 集成的历史以及它如何演变成我们当前所看到的状态。您可以在此处查阅该篇专访人物专访:IP 集成的简史
IP 集成将继续作为 SoC 发展所面临的关键挑战。我们已经看到,在解决 IP 集成问题的紧密连接的日程中,IP 重复利用、IP 可配置性以及系统复杂性正持续增长。由于它会影响越来越多的前端到后端团队(如软件、RTL 设计、验证、物理实施等),系统的 IP 数量将持续增长,IP 本身具备的复杂性和可配置性以及总体集成范围也在不断增长。
我们已非常熟悉这一问题领域,并且过去几年来一直专注于架构集成解决方案。 其中一项提高 IP 集成流程的基础核心就是实现流程数据标准化。Norman Walsh 在他的人物专访中也提到了这一点,那就是我们需要通过使用元数据来实现 IP 数据(特别是接口数据)标准化。如果 IP 能够与接口实现标准相连,那么,整个 IP 和 SoC 集成流程将变得更加轻松。如果我们对所有 IP 接口都规定了一个正式的定义(以某种元数据格式表示),那么,我们就可以使用更加自动化的智能,规定如何连接 IP 接口并启用其他关键流。例如,能够识别 AMBA 接口、时钟、重设、中断、DMA、调试和追踪接口等。此外,它不仅仅涉及我所讨论的硬件接口,对于全面了解硬件/软件接口(如 IP 中的寄存器和内存图),也同样重要。
在我看来,当务之急是实现接口信息的标准化,以便让 IP 实际使用尽可能多的行业标准协议,如 AMBA(ACE、AXI、AHB、APB 等)。这些接口的可配置性非常强,因此使用元数据格式定义接口内容和配置十分重要。业界使用的主要标准为 IP-XACT 格式,最初由 SPIRIT Consortium 制定,现在由 Accellera 制定。这从本质上指定了机器可读取 (XML) 格式的定义,该格式可以描述 IP 接口、内存图及其内容和连接性。我们目前已在 ARM 中采用该格式,以提高 ARM IP 的标准化,从而实现更为轻松的集成。
只要设计流能够创建此 IP-XACT,我们就可以据此进行工作并在 IP-XACT 上运行查询。由于知道工具读取和解析的内容,我们能够与合作伙伴携手合作,帮助他们定义必要的 IP-XACT 规格。
快速 IP 集成需要标准化 IP
ARM 还制定了 IP-XACT 标准总线定义;任何人都可以通过 ARM 网站下载使用。如果其他 IP 提供商使用这些标准定义,那么它将提供更为简单的机制,以便在子系统或顶层中连接这些 IP。同时,请不要忘记这不仅会启用更有效的集成 - 通过提供可以利用元数据的更佳 EDA 解决方案,我们的合作伙伴还能从中受益。
这是我们过去六七年来一直努力的方向,我们甚至在 Duolog 公司就开始努力,因为在减少漏洞、简化设计和验证流程方面存在着巨大的改进空间。目前,我们非常注重于提高 ARM IP 的标准化级别,甚至组件了内部 IP-XACT 建模定义组。我们正在针对 IP-XACT 的运用创建新的总线定义、新的扩展和指南,当然,我们也会利用 ARM Socrates 创建更好的 IP-XACT 流。在 ARM 系统和软件集团工作让我们得以了解子系统和 SoC 级别,进而成了狂热的 IP-XACT 消费者,这让深刻体会到合作伙伴的体验。我们面临的主要挑战可能也是业界的常见挑战。我们正在尝试使用元数据格式标准化我们需要的所有接口,但是首先,我们需要了解全部不同利益相关方的需求。
这是一件非常棒的事情,因为当我们标准化 IP 接口后,集成和验证流程的速度得到了显著的提高。但是,当您相对从容地标准化大多数接口时,我们却发现,目前有许多 IP 块可以通过不同的方式得到调整。在某些方面,我们将 IP 可配置性视为最大的集成挑战。
目前可用的 IP 配置级别正面临着集成问题,因为您可以采用相同的 IP 块并以不同方式进行配置;而基于此产生的 IP 块在外形和操作方面却完全不同。因此,将 IP 成功集成至系统将变得更加困难。
我将此比作录音室的调音台,上面带有数百种开关的,你可以通过任意调试来影响性能。这些选项让设计人员能够优化 IP,但是大量选择同样也令人困惑。用户真正需要的是,能够针对体现系统局限性的特殊 IP 块提供最佳配置选项。
多种配置选项通常会让设计人员陷入谜团
当我们概述 IP 配置时,通常会提到 IP 块有三种不同类型的配置级别。首先,有一种根本无法配置的“静态 IP”。这在过去更为常见,通常称作“现用”IP,您可以购买用于“即插即用”型功能。如今,即便是“现用”IP 也需要用户根据各个单独设计进行配置。
第二种可配置 IP 较为简单,它拥有可以设置的固定参数集。即便如此 - 创建可配置 IP 也很有挑战性,因为如果您有 10 个或者甚至 20 个参数,就会产生多种可能性,这样很难保证您的 IP 将适用于每个单独配置。验证团队和建模人员将确保 IP 在最可能的场景中能良好地运行,但很难针对所有场景进行测试。您仅拥有有限数量的验证资源来确保它已经过严格的测试。
第三种可配置 IP 的配置在很大程度上依赖于系统,例如系统互联、调试和追踪子系统、电源、时钟&重置、中断、输入/输出以及内存系统。它们的可配置性非常强,并且排列数量大,这意味着您需要其他策略来进行恰当的处理。理想情况下,您应有一些高度智能化的解决方案来解析系统要求和接口,以便用户可以轻松配置上述类型的 IP。我们一直致力于解决这些挑战,并在引导 Socrates 设计环境以提供该领域的解决方案。
ARM 已在该领域提供了大量 IP(包括总线互连 IP),例如 ARM CoreLink NIC-400、ARM CoreLink CCI-400 缓存一致性互连、ARM CoreLink CCN-512 缓存一致性网络、ARM CoreLink GIC-500 以及 CoreSight 调试和追踪 IP。这些 IP 将耗费大量系统连接性,例如级联互连基础架构;并且 CoreSight 调试和追踪可能消耗 50% 以上的系统连接性,因此某种程度而言,高度可配置的 IP 是解决集成解决方案的核心之一。
我们目前提出的全新关键因素在于帮助管理这些 IP 配置,以便能够适用于对应的系统环境。如果我们可以了解系统内容及其不同的接口需求,便可以帮助指导 IP 配置。
我们该如何执行此操作?– 借助所有元数据格式的系统组件,当然,还要拥有可以提取此信息的智能流并执行指导配置 - 实际上,这就是智能 IP 配置。
是的 - 我们过去数年来借助 ARM Socrates IP 工具努力实现的愿景便是:通过创建智能 IP 配置功能来创建“一日系统”。在 6 年前,我们首次推出 Socrates 时,人们需要花费数月时间执行集成任务才能获得初始 RTL 网表,并且还得花费好几个月才能创建并运行可用系统。借助 Socrates,我们开始显著缩减日程,将其缩短至数周。然而,我们发现,每件 IP 在设计、构建和集成方面都是相互独立的。因此,如果已根据某个规格构建了互连,那么人们就会尝试根据相同规格(可能已过时)将其集成到系统。“一日系统”的瓶颈在于这些系统相关 IP 的创建和集成。我们重点关注的解决方案是,在系统环境中寻求配置这些 IP 的智能方法。我们通过 IP 自身的智能配置,找到了应对 IP 集成问题的解决方案。我认为,正确配置系统的每个方面是提高整体连接性最为有效的方法。
在这里,我们试图使用元数据在系统环境中提供快速、准确的配置。我所说的系统环境,是指您可以在其中看到不同系统要求如何给每个 IP 配置和整体系统带来连锁反应。这会缩短我们将部件集成至系统时所耗费的实际时间,因为 90% 的操作均将通过智能配置完成。我们需要通过智能配置来完成 IP 集成“一日系统”的愿景。您需要拥有一个适用于这些复杂 IP 块的解决方案,以便它们可以在系统定义过程中自行执行重新配置。
我们看到合作伙伴指出,即便了解了系统中一些更为复杂的 IP 块的透视图,通常也需要花费数周时间进行编译。过去,他们不得不仔细检查 TRM 和规格,以便了解系统需求。我们希望能够根据系统中 IP 的元数据即时提供信息。
IP 集成问题将通过智能配置得到解决
重新回到我之前提到的 IP-XACT 元数据;使用这种格式,我们能够在早期阶段清楚地了解系统,并且采用轻松可读取的格式 (XML)。然后,我们将关于系统、接口和寄存器视图和内存图的丰富信息传递给我们的 EDA 合作伙伴和其他生态系统利益相关者。由于信息显示为标准的、机器可读取的格式,所以可以即时进行验证。例如,Cadence Design Systems 可以针对 Interconnect Workbench 采用元数据,并自动创建验证环境和开箱即用性能方案和分析。这让我们实现了首要目标,能够帮助合作伙伴在较短时间范围内设计和实施系统。
ARM Socrates 已经是一款经过认证的 IP 标准化和集成解决方案。我们现在开始利用智能 IP 配置方法。现在,我们已经加入 ARM,可以直接使用 IP 并能够执行标准化并简化集成,从而为合作伙伴创造更多价值。这非常令人兴奋,您将在不久后看到新的解决方案问世。
在 Duolog 这种小公司工作时,您所肩负的职责远不止于所扮演的“角色”。 我不得不时刻做出调整以适应客户的设计流,并寻找客户开发过程中的任何热点。发现主要问题后,我们必须针对该问题设计并架构解决方案,最终通过敬业的团队开发出高价值的产品(如 Socrates)。我们开发 IP 集成时也是如此,我们并未刻意寻找它,它通过我们的客户自然而然地找到了我们。 然而,一家小公司很难抢占一席之地,因此我们做了很多工作,包括发布消息、撰写白皮书、博客、参加展会等,并且举办了多场客户见面会。 我在 Duolog 做的另一件事情是让我们向标准团队靠齐,并试图推动他们朝真正的解决方案领域发展。作为一家小公司,Duolog 投入了大量的时间和精力来推动 IP-XACT 标准的发展,而这无疑也是我将继续在 ARM 推进的事业,我将帮助发展符合每个人利益的内部标准和行业标准。
这就是我目前考虑的事情;总而言之,我在 ARM 公司担任的角色与之前的非常相似。IP 集成仍是我们所面临的问题 - 我们仍在追求“一日系统”的愿景,并且我大胆猜测这“将”成为现实 - 最大的转变在于,加入 ARM 后,我们同样获得了 ARM IP - 这将带来巨大的潜力。之前在 Duolog,我们不得不与 ARM 合作以获取有限的 IP 访问权限 - 现在,我们可以在较早的开发阶段直接与 IP 设计人员合作,并能够借助标准化的 IP 块自下而上推动智能 IP 集成 - 这将是一场变革。
不客气,这是我的荣幸。(我真的讲了 10 分钟吗?)- 我希望你们的读者能对这个话题感兴趣。如果他们有任何问题,请让他们留言。
Wonderful tool for IP integrate.More Demo should be good.