当前位置:首页 >> 信息与通信 >>

如何为SOC选择IP核


IP 核可以两种形式提供给客户:软核和硬核。两种方式都可使客户获得在功能上经过验证 的设计。软核也被称为可综合内核,需要由客户进行综合并在其 SoC 上实现。而硬核已完 全实现(完成了版图设计),可直接用于制造。(从技术上说,一种设计只有生产后才能实现。 但是在此情况下,实现的意思是指安排布局并可直接投入生产)。SoC 团队只需将硬核像一 个单片集成电路片那样置入芯片即可。软核和

硬核具有不同的问题和好处。 将 IP 核整合到一个芯片上需要很多步骤。这个过程是否能够很容易地完成,主要取决于提 供的交付成果。另外,客户不仅必须对 IP 核进行评估,而且还要评估 IP 提供商。 软核与硬核的对比 1. 性能

由于软核没有实现,因此它天生在功能和实现方面比硬核更加灵活。另一方面,硬核开发者 可能要花更多的时间来优化他们的硬核,因为它们要在很多设计中使用。因此,这使人们觉 得硬核会提供更高的性能。 事实上,为那些最先进工艺设计的高端、全定制硬核确实能够提供比软核更好的性能。通过 使用锁存、动态逻辑、三态信号、定制存储器等,全定制设计团队能实现比完全静态综合的 设计更好的结果。对于需要达到现有工艺和设计技术极限性能的 SoC 来说,全定制硬核能 够更好地满足这些要求。 然而,如果性能目标在一个软核范围内,那么硬核的优势就无关紧要了。SoC 设计团队能够 使用软核来满足性能要求,并利用其固有的灵活性优势。而随着工艺技术的进步,软核的最 高频率限制也在提高,使它们成为更多 SoC 设计师的一种选择。在较低时钟频率下,硬核 或许具有硅片面积方面的优势。但是情况往往并不是这样。硬核经常简单地使用 ASIC 的方 法进行固化,使之不能提供速度上的优势。在其他情况下,全定制内核不能根据每一代工艺 进行重新优化,所以削弱了频率和尺寸上的优势。 2. 技术独立和可移植性

软核的优势之一是技术独立的,也就是说,Verilog 或 VHDL 不需要使用一种特定的工艺技 术或标准的单元库。这意味着同一个 IP 核能够应用到多种设计中,或现有设计的下一代中。 一些软核提供商采用使其内核技术上非独立的设计风格,但是这种方式看不到什么优势。

图1:受 IP 核影响的开发任务。

另一方面,硬核在技术上是非常特定的。事实上,如果代工厂改变其工艺参数或库,硬核可 能就无法正常工作。这就产生了一个风险,因为在工艺参数改变时,IP 提供商需要重新对 硬核进行验证。 硬核能够移植到新的工艺技术, 但是重新优化全定制内核的工作既费事又昂贵。 对于一些先 进的微处理器内核,这可能要花两年或更长的时间。因此,硬核经常根据新的工艺进行光学 调整。 虽然这一方法既简单又快速, 但是它减少了由设计团队针对现有工艺进行全定制优化 的许多优势。 不仅如此,光学调整同时带来了另一个风险,因为它只能保证新的设计满足设计规则,而不 能保证准确的时序或功能,而且重新全面验证经过光学调整的 IP 核是非常困难的。 3. 速度/面积/功率优化

对于要实现的技术来说, 硬核通常比可比较的软核运行速度更快。 但是即使对于这单种技术 来说,硬核也仅仅是针对一组目标而优化。如果目标是在合理的性能上使芯片面积更小,那 么对于这种应用来说,为高度可调性能而优化的硬核可能就太大了。 软核是能够被“应用优化”的。为适合特定的嵌入式 SoC 设计,时序、面积和功率目标可能 需要进行调整。例如:如果 SoC 使用200MHz 的时钟,那么设计运行在250MHz 的软 IP 内 核可以改为准确地运行在200MHz 上。这在得到更小尺寸和更低功率的同时满足了设计约 束。 这种应用优化也适用于低层 IO 时序。软内核的 IO 约束可以进行调整,以准确配合内核的 使用环境。如果硬内核有延迟输出信号,SoC 设计师几乎无法改善时序。 如果 SoC 的速度、面积和功率目标与硬核的目标相符,那么硬核将极具竞争力。但对于大 多数设计师来说,软核在为特定的 SoC 优化方面更具优势。 4. 可定制性

软核相对硬核还具有另外一个优势:编译时间定制化。这些是实现之前的设计选项。 高速缓冲存储器的内存大小就是一种常见的编译时间用户定制项目。 根据特定嵌入式应用所 需的高速缓冲存储器的大小, 软核处理器能够精确地被配置。 而硬核在这方面就不能被定制。 另一种在许多软核中应用的定制项目就是指令专用,或选择性支持某种特殊指令。例如,一 些 SoC 可能需要对外部协处理器的支持。然而,在一些不使用这些特性的系统中,多余的 硬件可从软核中去掉,以节省面积和功率。 软核还可以包括实现配置参数。 这是一种特殊的编译时间定制, 可帮助软核更好地配合 SoC 团队使用的设计风格。例如,微处理器内核经常通过使用门控时钟电路来实现,但这种时钟 不能与某些时钟布线工具很好配合。 如果处理器内核可提供一种将所有门控时钟变为相等的 多路复用器(MUX)的编译时间设置,SoC 团队可使实现更为容易。 5. 易于集成

软核很可能更容易被集成到 SoC 设计团队使用的流程中,除非内部设计小组已经实现了硬 核。其原因是 SoC 设计团队将在他们认可的 IP 核周围添加 RTL 模块。 这些内核看上去就像 另外的 SoC 模块,也可像它们一样地实现。 另一方面,硬核看上去更像一个黑匣子 RAM,特别是在它采用全定制技术实现时。这意味 着硬核提供商将需要为该内核提供更多的黑匣子模型,使 SoC 设计师能够在其周围设计其 模块。这本身就比使用软核更困难。例如,全定制硬核也许没有门级网表。这是因为该设计 已经在晶体管级完成, 而没有使用逻辑门。 但是设计团队可能需要通过背注时序运行门级功 能仿真,因为缺少门级网表,这将难以进行。 附加提供物 一个有竞争力的软 IP 核不只是一个 Verilog 或 VHDL 源文件的集合。出于同样原因,一个 好的硬核也不只是一个版图数据库。 今天的 IP 核包含一系列可交付使用的提供物, 可使 SoC 设计团队将 IP 核整合到他们的设计中。 这些附加提供物的目标是使 IP 核尽可能容易地整合 到设计流程的各个环节。 图1显示了采用不同 IP 核的 SoC 开发活动。这里包括了软核和硬核都必需的一些可交付使 用的提供物。 1. 文档创建

清晰和简练的文档是大多数技术产品的先决条件。然而,需要参考 IP 核文档的人差异非常 大,这使 IP 核技术文档创建面临非常大的挑战。

在图1中,每一个开发活动都有不同的文档需求。例如,软件开发者需要了解硬件的可编程 特性,但他们可能不关心它是怎样实现的。因此,一组好的文档可使软件开发者更容易发现 他们所需的信息,而不致被大量无用的信息困扰。 最后, 如果 SoC 团队要为能复用部分 IP 核文档的 SoC 创建文档, 提供商应该提供可编辑 IP 的源文件和引用权。 2. 接口检查器

SoC 团队必须设计逻辑,以便与不同信号和 IP 核协议进行接口。为了确定其设计是否正确, IP 提供商能够提供接口检查器模块,以验证所有接口信号和协议的正确运行。它可能与确 认不变的静态信号一样简单,也可能像验证多周期总线协议的正确运行一样复杂。 这些检查器通过自动验证给定接口处理类型是否正确运行的工作,大大简化 SoC 团队的工 作。在一个非法处理的情况下,检查器应该报告错误,使 SoC 设计师能够容易地查明有缺 陷的逻辑并排除故障。接口检查器必须在 SoC 设计环境中准确工作。它们应该能够非常容 易地整合到功能仿真中,而不是以一种实际硬件的形式出现。 3. 协议制表器

IP 提供商能够提供另一种交付成果使接口验证变得更加容易,这就是协议制表器。这是一 个监测接口处理的模块, 可观察到各种特殊状况。 协议制表器保存所有可见的处理类型并报 告没被运行的“边际”(corner case)。IP 提供商必须提供一个进行接口完全验证所需的边角情 况表。 在开发过程中,协议制表器将帮助 SoC 团队决定哪些“边际”情况需要继续验证。一旦开发 结束,它同时确保通知 SoC 团队已经执行了所有必需的“边际”情况验证。由于 IP 提供商对 内核接口具有最佳的理解,这个“边际”情况表将比 SoC 团队能够想象的任何方案更加完善。 4. RAM 检查器

如果一个 IP 核拥有 SoC 团队必须编译和整合的内部随机存储器,在处理过程中有可能引入 瑕疵。 排除由深度嵌入式 RAM 导致的故障对于 SoC 团队是一件非常困难的事情, 因为它经 常涉及通过内核模块跟踪故障的工作。RAM 检查器能够大大简化排除 RAM 模块导致的故 障的工作。(当 SoC 团队不得不通过一个 IP 核来排除故障时,这是一个非常糟的情况。他们 应该能够信赖它的正确运行。) 5. 快速仿真模型

对于 SoC 设计师来说,用一个大型 IP 核的 RTL 仿真完整的 SoC 可能非常缓慢。如果 IP 提 供商能够提供一个周期精确的内核快速功能模型, 客户将从更快速仿真、 更快速调试及更少 地使用仿真授权中获益。即使是一个非周期精确的模型,对于大多数 SoC 设计和调试已经 足够好了。只要最后运行周期精确模型,在开发过程中就可以从快速功能模型中受益。 6. EDA 工具支持

另一个内核质量指标是 EDA 工具的支持情况。由于不同设计团队可能使用不同的工具,支 持多种 EDA 工具的多种形式的可交付使用成果是目前先进内核经常能提供的。 例如,一个 IP 核使用 Verilog 设计而成,但那些使用基于 VHDL 的 EDA 工具和方法的客户 仍会要求 VHDL。如果一个内核只针对 Verilog,那么 SoC 团队在使用该内核时,将不得不 忍受一个麻烦且容易发生错误的转换过程。 此外,IP 提供商应该提供比需求格式更多的东西。不同的 EDA 工具可能有标准格式的不同 实现方法。在以上的例子中,IP 提供商不能仅为 Verilog 客户提供 Verilog RTL,它必须支持 客户使用特定的 Verilog 仿真器。否则,该客户可能要调试与 IP 提供商所用的略微不同的 Verilog 仿真器相关的设计问题。 这个概念实际上适用于所有交付成果。对于硬核,这个概念同样可在实现阶段应用。硬核必 须以一种被 SoC 团队后端工具所支持的形式提供。而且 IP 提供商必须支持客户使用的特殊 后端工具。 对硬核来说,这个概念在实现阶段同样适用。硬核必须以能被 SoC 团队后端工具支持的形 式提供,而且 IP 提供商必须支持使用特定的后端工具。 7. EDA 脚本实例

为了帮助快速展开各种设计活动,IP 提供商应该提供所支持 EDA 工具的实例脚本。这是 IP 提供商帮助 SoC 团队有效地使用 IP 核进行系统设计的另一种方法。该脚本可能如 makefiles 一样简单,可实现汇编功能仿真器。这些脚本也可能如一个全套的、针对功能回归执行的自 动化设计脚本一样复杂。在任何情况下,实例脚本对于 SoC 设计师来说总是很有用。 对于软核来说,实例综合脚本几乎是必要的。至少它们应该提供顶层约束、故障路径和多周 期路径。如果可能,应该同时提供实现若干工业标准综合方法学的脚本。当然,这些实例脚 本越简单,对于 SoC 设计师来说就越容易理解、进行修改并集成到他们的流程中。 8. 功能内核验证

虽然 SoC 设计师不会修改软 IP 核的 RTL 设计, 但是他们确实会改变作为芯片设计常规部分

的一些功能。这样的例子包括扫描链接插入、时钟缓存和 RAM BIST 集成。SoC 设计团队 需要验证这些改变不会对内核的正确运行产生影响。 验证新设计在功能上与以前设计没有改变的一种方法是采用 IP 提供商提供的测试基准和测 试套件,以全面验证内核是否正确运行。不幸的是,对于许多内核来说,完整的测试套件太 大了,以至于不能作为 IP 核的一部分来提供。因此,大多数 IP 提供商选用完整验证套件组 的子集,它同样能够验证运行。大多数情况下,对于发现那些由以上设计变化类型引起的错 误来说,这个子集已经足够了。 然而, 形式验证工具对于保证正确运行是一个更彻底的方法。 这些工具可精确地验证新设计 与老设计的相同之处。支持形式验证工具可使 SoC 团队无需运行门级回归。 9. 软件协同开发工具

为新系统开发软件的标准方式是,首先生产硬件样片,然后开发运行在上面的软件。然而, 在很多情况下这延长了产品上市时间,因此软件开发经常与硬件开发平行进行。 软件开发比硬件开发需要快得多的系统仿真。 因此 IP 提供商必须提供一个非常快的 IP 核功 能模型。这为低层固件的开发提供了足够的性能。 对于更高的仿真速度,有时会使用硬件逻辑仿真器,它可比纯仿真快一个数量级(虽然这仍 然比实际硬件慢2至3个数量级)。这些工具非常难用,而且需要特殊的综合。对于计划进行 硬件和软件协同开发的 SoC 设计团队来说,支持这些技术是对 IP 核的一个关键要求。 评估 IP 提供商 1. 是否设计成可复用?

例如,一个未对 IP 核产品做出完全承诺的 IP 提供商,它的产品可能只是将以前的设计重新 封包成 IP 核。 而一家认真致力于构建高质量内核的公司从一开始就把可复用作为设计理念。 首先,留意那些其源代码为全定制硬核的软核。由于这些原始设计不是针对可综合的,与针 对可综合而设计的产品相比,其性能较差。在创建一个硬核时,可以基于已知实现风格进行 优化。但是,对于一个软核,不应采用这种投机取巧的方法,因为它们可能导致非功能性的 或非理想的实现。 在寻找一个软核时,需要注意的另一个问题是寄存的接口信号。通过寄存 IO,内部逻辑在 时序上可独立于 SoC 设计团队的任何方案。而且,它易于实现时序的可预测性,并为 SoC 设计师提供非常好的时序约束。所有这些使得 SoC 设计师更加轻松。 一个从一开始就针对可复用性而设计的软核常常拥有更多的配置选择, 而且在执行中有更好 的灵活性。 它同时很可能考虑用于多种设计环境。 一个没有考虑可复用的设计将在功能和实

现方面缺乏灵活性。 2. 完整的产品线

好的 IP 提供商的另一个标志是拥有完整的 IP 核产品线。如果你选择软核,应该确认该公司 提供的是考虑了未来产品改进的完整软核产品线。 如果你选择硬核, 应确认它可提供所有你 将使用的工艺技术, 他们是否计划扩展其提供的软核产品?他们如何计划将硬核移植到新一 代工艺? 3. 维护与支持情况

产品维护和支持的质量不是 IP 核特有的选择因素,但是应小心那些缺乏全力支持的新兴公 司。即使是成熟的公司,维护 IP 核所必需的基础架构一定程度上也是专门的。以下是注意 事项汇总:

* 这家公司是否有一个清晰地为用户提供文档的方式,以帮助解答问题;

* 支持 SoC 队伍的费用如何(你是否存在失去支持的危险);

* 这家公司能否坦白地披露设计中的缺陷;

* 这家公司发布修复缺陷新版本的频率如何;

* IP 提供商是否发布维护版本,为 IP 核增加新的功能或其他成果(如提供更多 EDA 工具支 持);

* 一旦需要技术支持,这家公司的反馈如何?

* 如果技术支持反馈时间太慢,这个问题能改善吗?

* 第一线的技术支持人员的素质如何? 在很多情况下,技术支持的质量并不是最初决定购买 IP 内核的因素。但是在设计队伍非常 需要帮助的时候, 支持不到位可能变成一个主要问题。 最佳的技术支持是项目成功的必要因

素。


相关文章:
如何为SoC设计选择IP核
如何为SoC设计选择IP核_语文_初中教育_教育专区。如何为SoC设计选择IP核.doc 如何为 SoC 设计选择 IP 核 IP 核可以两种形式提供给客户:软核和硬核。两种方式都...
如何为SOC选择IP核
IP核应用 41页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 如何为SOC选择IP核 隐藏>> IP 核可以两种形式提供...
IP话机的选购
54页 免费 ip技术多项选择 14页 2财富值 IP通信的技术选择 4页 5财富值 08 选择 IP 路由 54页 免费 如何为SOC选择IP核 8页 免费喜欢此文档的还喜欢 ...
SoC中IP核互连的不同策略
SoC设计中的IP策略 暂无评价 3页 免费 如何为SOC选择IP核 8页 免费 IP核的...SoC 中 IP 核互连的不同策略随着集成电路设计复杂度的提高和产品上市时间压力的...
IP核是实现片上系统(SOC)的基本构件,完成结构描述的IP核模块是
IP核是实现片上系统(SOC)的基本构件,完成结构描述的IP核模块是 (25) 。 A.Soft IP CoreB.Hard IP CoreC.Firm IP CoreD.DSP Core_答案解析_2016年_一模/...
SOC复习答案
RTOS:(Real Time Operational IP核: 嵌入式处理器:在SOC中,可以集成有一个或...乘机安全小贴士 安全乘机指南 如何选择安全的航班 正确使用机上氧气面罩文档...
IP核介绍
IP 核设计【摘录】 核设计【摘录】 摘要:从 IP ...IP 模块的评估与选择等,并探讨了国内 IP 技术发展...系统芯片 SoC(System-on-a-Chip)已经成为 IC 业 ...
SoC及其IP核的设计与其在通信中的应用研究
SoC及其IP核的设计与其通信中的应用研究SoC及其IP核的设计与其通信中的应用研究隐藏>> SoC 及其 IP 核的设计与其通信中的应用研究类别:电子综合 苗长云,曹晓...
SOC技术及应用
其中IP核的设计和制造是SoC技术中最为关键的部分。...不是成本,而是知识,因为许多人不知道如何使用和维护...这样软 件的安排是按需选择,它的维护变得的简单,...
SOC8000说明书(第二版)
SOC8000说明书(第二版)_信息与通信_工程科技_专业...为 IP 网、宾馆、写 字楼、校院网、工矿企业、...? 发码方式选择 本系列数字程控用户交换机提供两种...
更多相关标签:
soc ip核 | xilinx ip核详解 pdf | ip核是什么 | ise ip核调用 | fpga ip核 | vivado ip核 | fpga芯片ip核详解 pdf | quartus ip核调用 |