0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

存储控制器系统级硬件仿真与原型验证性能

Cadence楷登 来源:Cadence楷登 作者:Cadence楷登 2021-03-19 09:37 次阅读

近期,来自 Kioxia 公司的 Ravi Tangirala 做了一个主题为存储控制器系统级硬件仿真与原型验证性能的演讲。他是 Kioxia America 公司(前东芝存储,之后作为独立公司被拆分)的验证总监。

存储控制器作为一种很“常见”的 SoC,是所有 NAND 闪存的接口。尽管近些年出现了 3D NAND,但从存储控制器的角度而言其实没带来什么实质变化。

验证过程的核心是综合利用 Cadence Palladium Z1 企业级仿真平台和 Cadence Protium X1 企业级原型验证平台来实现硬件仿真和原型验证。

上方图表展示了该团队的工作过程。图中红色线条逐渐上升及下降,反映的是 Palladium 在项目周期中的使用量变化。开始时 Palladium 的使用并不多,因为 RTL 尚未完成。随着设计的逐步完成,Palladium 使用量也随之上升。

蓝色阴影区代表了固件开发,开始时会使用 Palladium,当设计足够稳定后就会转用 Protium。Protium 的优势是具有比 Palladium 更快的软件运行速度;不足则是由于 FPGA 布局布线耗时较多,需要相对多些时间来准备版本。

所以在 RTL 稳定前,Protium 并非固件团队的软件开发人员的最佳选择;可一旦 RTL 趋于稳定,软件人员就会更倾向于用 Protium 做软件测试。

样片回片后,软件开发逐渐结束,Palladium 还会被用来分析样片测试出的遗留问题。

Palladium 仿真

上图展示了以 Palladium 为核心的完整验证环境案例,SoC 运行在位于中心仿真器内,左侧为实际主机(访问闪存)和调试主机(访问调试端口)。右侧连接 DIMMS 上的实际闪存,其容量巨大,同时对仿真速度有要求,因而不适合直接放在仿真器里实现。

Host PC 机通过 SpeedBridge 硬件接口与 Palladium 连接,另一台调试 PC 机与调试端口相连,而 DIMMS 上的 NAND 会直接与 Palladium 相连。

实际上,这个过程用到了 Palladium 的两个操作模式:

TBA(Test Bench Acceleration)模式:应用各种虚拟接口,比较适用于 RTL 早期验证过程。

ICE(In Circuit Emulation)模式:利用上图中的真实物理接口,能够达到最快的仿真速度,但不适用于对接口的直接验证。

Kioxia 总共部署了 6 台服务器集群用于 Palladium 编译。单次编译可以在 3 小时内完成,利用相关选项,12 小时内可以完成 30 次迭代。当然,这种方法在 RTL 稳定后才可真正发挥作用。

如上方图示,经过时钟优化,核心功能时钟可达到 373% 的性能提升。需要注意的是,这是仿真性能提升,而非指 SoC 自身时钟频率。

以 Palladium 为核心搭建起来的硬件仿真环境,可以实现端到端测试(在 PC 主机上运行的应用软件可以访问到实际的 NAND 存储器)。

有了这样的仿真平台,我们可以运行测量 I/O 吞吐率的硬盘应用,以及测试硬盘在最差情况的运行等等。因为测试时间需要足够长才能生成精确的度量数据,所以仿真平台的整体性能就变得非常关键。上述以 Palladium 为核心的仿真平台可以将 I/O 访问速率提升 9 倍,并将启动时间和 NAND 擦除时间缩短 5.5 倍。

Protium 原型验证

固件开发可以实现从 Palladium 至 Protium 的无缝切换,因为两者在前端使用同样的编译器。上图可以看出,Protium 和 Palladium 两个平台几乎完全一样,都使用同样的 Speedbridge 和 I/O 卡。

动态配对组合

利用 Palladium 和 Protium 联合使用流程,RTL 可以按照上图所示同时编译给两大平台,使得客户可以用 Palladium 实现高性能的硬件仿真,同时用 Protium 实现更高性能的固件开发。由于 Protium 的编译和布局布线需要 15-24 小时,在设计足够稳定后,软件开发者利用双平台的流程会更加高效。比如完成操作系统启动,保证软件开发人员能够调试各自的代码。

小结

Palladium 应用在项目初期,在性能加快 373% 同时,充分利用其强大的调试能力。

Protium 主要针对固件开发,仿真性能可以达到Palladium 的 4.6 倍。

可以利用 QTDB 实现 Palladium 与 Protium 的快速无缝迁移。

原文标题:【成功案例】如何利用 Palladium 和 Protium 进行早期固件开发

文章出处:【微信公众号:Cadence楷登】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15214

    浏览量

    171141
  • soc
    soc
    +关注

    关注

    38

    文章

    3743

    浏览量

    215659

原文标题:【成功案例】如何利用 Palladium 和 Protium 进行早期固件开发

文章出处:【微信号:gh_fca7f1c2678a,微信公众号:Cadence楷登】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    fpga原型验证平台与硬件仿真器的区别

    FPGA原型验证平台与硬件仿真器在芯片设计和验证过程中各自发挥着独特的作用,它们之间存在明显的区别。
    的头像 发表于 03-15 15:07 288次阅读

    开放式高实时高性能PLC控制器解决方案-基于米尔电子STM32MP135

    通用GPIO实现本地高速IO子系统,开发板图片如下: ​结论借助于STM32优秀的MPU产品与丰富的RTOS软件生态以及板硬件伙伴米尔电子的工业模组,翌控科技实现开放式高实时高
    发表于 03-07 20:06

    快速控制原型RCP与硬件在环仿真HIL该如何区分呢?

    控制器软件开发的V流程中,有两个需要通过实时仿真完成的重要环节,即快速控制原型(RCP)与硬件在环仿真
    的头像 发表于 02-23 10:32 431次阅读
    快速<b class='flag-5'>控制</b><b class='flag-5'>原型</b>RCP与<b class='flag-5'>硬件</b>在环<b class='flag-5'>仿真</b>HIL该如何区分呢?

    汤谷智能发布全栈RISC-V硬件仿真加速系统方案

    面向高性能计算、IoT、无线接入、音频、多媒体、消费类电子、边缘计算等迅速扩展的RISC-V使用场景,汤谷智能发布了基于自研Logic Giant原型验证硬件平台的全栈RISC-V
    的头像 发表于 01-25 10:29 390次阅读
    汤谷智能发布全栈RISC-V<b class='flag-5'>硬件</b><b class='flag-5'>仿真</b>加速<b class='flag-5'>系统</b>方案

    详解快速控制原型RCP与硬件在环仿真HIL

    控制器软件开发的V流程中,有两个需要通过实时仿真完成的重要环节,即快速控制原型(RCP)与硬件在环仿真
    的头像 发表于 01-19 13:41 362次阅读
    详解快速<b class='flag-5'>控制</b><b class='flag-5'>原型</b>RCP与<b class='flag-5'>硬件</b>在环<b class='flag-5'>仿真</b>HIL

    解决方案丨三相全桥PRCP开发套件实验系统方案

    。快速原型控制器可灵活的将算法模型程序部署到CPU或者FPGA硬件平台上运行,通过图形化软件配置,可实时软件监控仿真结果。其中算法模型程序,可以简易地通过搭积木的方式使用Simulin
    发表于 11-16 16:26

    硬件仿真开课啦!国产EDA技术公开课等你来

    面对复杂的设计代码,确保其准确性至关重要,功能验证就是非常重要的一环。通常使用的验证方法包括软件仿真硬件仿真
    的头像 发表于 09-13 08:28 424次阅读
    <b class='flag-5'>硬件</b><b class='flag-5'>仿真</b>开课啦!国产EDA技术公开课等你来

    Easygo实时仿真:FPGA实时仿真器硬件在环((HIL)测试设备及快速控制原型(RCP)系统开发

    针脚,支持IO灵活配置,可根据用户需求来灵活配置不同的模块满足需求,助力完成不同规模电力电子系统仿真测试。■ 多功能实时仿真 既可以做快速原型
    发表于 08-16 17:29

    基于OmniArk芯神鼎硬件仿真系统和QEMU的混合验证平台

    软件仿真(Simulation),原型验证(Prototyping),以及硬件仿真(Emulation),是当前主要的三种有效的
    的头像 发表于 07-31 23:16 450次阅读
    基于OmniArk芯神鼎<b class='flag-5'>硬件</b><b class='flag-5'>仿真</b><b class='flag-5'>系统</b>和QEMU的混合<b class='flag-5'>验证</b>平台

    软件仿真硬件仿真原型验证是如何工作的?

    无法修正的硬件bug,降低后期的问题风险。随着芯片规模和功能的复杂度增加,验证的难度也随之上升,而如何在降低验证复杂度的同时保证其正确性和效率,正是验证的核心问题
    的头像 发表于 07-31 17:14 419次阅读
    软件<b class='flag-5'>仿真</b>、<b class='flag-5'>硬件</b><b class='flag-5'>仿真</b>、<b class='flag-5'>原型</b><b class='flag-5'>验证</b>是如何工作的?

    EasyGo 实时仿真丨大功率电机控制器硬件在环系统仿真测试

    仿真器搭建仿真测试系统,进行了产品试验。 如图所示,本次实验使用了EasyGo仿真平台 NetBox ,搭载上位机软件DeskSim。NetBox利用FPGA进行ns
    发表于 07-28 11:39

    基于OmniArk芯神鼎硬件仿真系统和QEMU的混合验证平台

    软件仿真(Simulation),原型验证(Prototyping),以及硬件仿真 (Emulation),是当前主要的三种有效的
    的头像 发表于 07-27 09:57 373次阅读
    基于OmniArk芯神鼎<b class='flag-5'>硬件</b><b class='flag-5'>仿真</b><b class='flag-5'>系统</b>和QEMU的混合<b class='flag-5'>验证</b>平台

    软件仿真硬件仿真原型验证是如何工作的?

    面对复杂的设计代码,我们如何确保其准确性?功能验证就是这场战斗的关键过程。工程师们通常使用的验证方法包括软件仿真硬件仿真
    的头像 发表于 06-11 14:24 532次阅读
    软件<b class='flag-5'>仿真</b>、<b class='flag-5'>硬件</b><b class='flag-5'>仿真</b>、<b class='flag-5'>原型</b><b class='flag-5'>验证</b>是如何工作的?

    从SoC仿真验证到FPGA原型验证的时机

    我们当然希望在项目中尽快准备好基于FPGA原型验证的代码,以便最大限度地为软件团队和RTL验证人员带来更客观的收益。
    发表于 05-30 11:10 804次阅读
    从SoC<b class='flag-5'>仿真</b><b class='flag-5'>验证</b>到FPGA<b class='flag-5'>原型</b><b class='flag-5'>验证</b>的时机

    多片FPGA原型验证系统互连拓扑分析

    多片FPGA的原型验证系统性能和容量通常受到FPGA间连接的限制。FPGA中有大量的资源,但IO引脚的数量受封装技术的限制,通常只有1000个左右的用户IO引脚。
    发表于 05-23 17:12 1238次阅读
    多片FPGA<b class='flag-5'>原型</b><b class='flag-5'>验证</b><b class='flag-5'>系统</b>互连拓扑分析