这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 演示ASIC IP性能与质量需要有FPGA中立的设计流程

共1条 1/1 1 跳转至

演示ASIC IP性能与质量需要有FPGA中立的设计流程

助工
2015-03-04 11:55:51     打赏
设计新系统级芯片(SoC)产品的公司都面临成本和效率压力,以及实现更高投资回报的持续市场压力,从而导致了工程团队缩编、设计工具预算降低以及新产品上市时间规划缩短。这使得设计复杂SoC的公司愈发倾向于为其设计中的大多数模块购买IP核授权,而不是构建自己的内部定制版本。选择合适的IP核是这种开发范式的基本挑战;同时,评估和展示这些内核的方法对购买者和开发人员同样重要。


事实上,市面上的IP核都具有多样化的功能和可选产品。并且,即便用户已经查阅了有关潜在供应商和产品的目录,但在IP质量上也仍然有很大的差别。将真正可靠且胜任的IP与有缺陷、未经过充分测试且缺乏真实性能的IP区分开来的诀窍,是参照活跃的成功用户经验。


嵌入式视觉是一个使用案例仍在开发的、且许多团队在设计项目还未得到充分推进之前都不知道其真实需求的领域。当开始进行视觉处理时,CogniVue公司关注的不仅是有最高质量的IP可提供,而且还包括是否能够确保满足当前和未来对最广泛应用的需求。这些应用包括能够对周边世界进行观察并做出反应的小型智能摄像头、能够观测并避免发生事故的汽车、装在电视上能够进行脸部和手势识别的摄像头,以及能够对周围世界进行观察并给出增强视野的智能手机。要使这种嵌入式视觉技术的新天地成为可能,就需要有一种选择和集成IP的新方法。


为了有效地实现嵌入式图像的流水线处理和视觉处理算法,CogniVue设计了如图1所示APEX图像识别处理内核。图像识别处理器(ICP)已经在量产之中,并且能够用于包括汽车摄像头(例如Zorg Industries公司为AudioVox公司提供的摄像头)以及一些新型可穿戴式消费类产品(例如NeoLAB Convergence公司的Neo. 1智能签字笔,如图2所示)在内的许多应用。使用专为图像处理所设计的处理器所带来的优势,是推动这些IP不断地集成到这些消费类应用中的动力。例如,一个APEC这样的内核与传统的处理器架构相比,能够在单位面积、单位功耗内为视觉处理提供好100倍的性能。对于NEO.1产品,它能够在维持非常低功耗的同时,提供120fps速率的处理能力,使得这款电池供电的设备能够在一次充电后持续工作数天。



要实现这种性能,需要了解有关图像处理需求的基本知识,并采用一种面向客户产业领域需求的详尽的测试和演示方法。任何内核在交付之前,都需要进行广泛的认证,尤其是在诸如汽车等需要符合行业安全标准(如ISO 26262 "Road vehicles – Functional safety")的市场中。


评估IP


虽然这些需求要求进行测试,但对于IP公司还有附加的动力来提供验证和评估平台——这些平台不仅能够显示出功能性和符合性,还能够在不同的等级上执行,以能够凸显其对潜在客户的真实价值。


作为这种动力的一个案例,如果为目前已知的有限且特定的应用创建能够很好执行的视觉IP并不那么困难,这是事实。而我们是要从头开始构建视觉有效性和灵活性的技术,重点是怎样才能确保IP能在多种应用中都以最高的水平执行。并且我们知道多说无用,如果没有真实世界“可观测(eyes-on)”的演示来证明IP的质量和性能,IP的质量及应用适应性可能并不那么显而易见。


对于那些希望对其合作伙伴或客户实现授权的无晶圆厂IP供应商,其挑战是演示在真实世界中运行的真实的IP应用。庆幸的是,FPGA平台与技术世界的其它部分携手实现了不断的飞跃发展,为这种演示活动提供了一种工具。换言之,FPGA能够提供必要的容量和性能来演示:如果IP在下一代定制ASIC中被选用,将会实现何种可能。尽管如此,我们似乎总是处在最前沿,推动着FPGA的容量和性能极限不断前进,并且总是期望达到更多。


FPGA供应商正变得非常擅长软件工具开发,但这些工具将IP的使用和个别FPGA公司紧密联系在一起。现今基于某家FPGA供应商平台上的演示,应该要准备好能够迁移到日后完全不同的FPGA供应商平台上,并能很好地工作。这能够通过内部团队或终端客户推动,并且可能是因为收到包括偏好/熟悉度、传统的基础设施(硬软件组件),以及有时能够提供更快、更少成本、更佳尺寸的新平台等各种因素的组合的推动。此外,公共的RTL代码库必须同时工作在最终的ASIC设计流程和FPGA “IP演示”设计流程中。



该工作模型的一个绝佳实例是,CogniVue为实现复杂的IP开发与演示,充分利用Synopsys Synplify工具以及相伴的Synopsys DesignWare IP。Synplify为我们用于交付IP的硅器件提供了卓越的映射能力和逻辑性能。对于初入行的FPGA开发人员来说,这有些违反直觉:确实,供应商应当知道如何最好地将逻辑功能映射到其产品之中。供应商工具正变得非常擅长于为基本开发人员提供他们可能需要的任何东西。在许多案例中,他们如果能够提供最优结果,并不会让我们感到吃惊;但实际上,在一片FPGA中实现一款RTL设计的最初阶段是包括时序和面积优化的逻辑综合。在我们的案例中,我们已经找到Synopsys来帮助解决硬件实现的基本综合问题,它独立于最终的技术映射(无论是FPGA还是ASIC芯片)。


结果证明


对我们来说,与他们在克服这个挑战中所采用方法的价值相关的证明可以在一个事实中找到,即我们常规地致力于代码库,它们总是在推展着可以提供的FPGA器件的极限,而这在仅使用FPGA供应商的工具时并不适合。在这些案例中,在综合之后甚至无需进行布局布线尝试。利用Synplify,通常凭借在目标FPGA器件中减少所需的综合后占位面积和相应的空间,使这些处在边界线的设计得以实现。表1揭示了在一项近期设计中获得的资源利用率数据,它将使用供应商提供的综合和布局布线工具进行的设计,与在相同设计上使用Synplify进行综合、并接着采用供应商工具进行布局布线所获得的资源利用率结果进行了对比。


基于供应商工具综合的设计的利用率为116.91%,不适合该平台上可提供的FPGA器件。这是我们的IP和我们需要持续将设计映射到FPGA上的一个真实案例。从系统和软件开发的角度来看,我们能够重新利用这些FPGA平台是至关重要。


我们也可以为设计创建一个FPGA变体来减少功能并实现契合,但这将与理想情况相距甚远,因为在FPGA中所验证的RTL设计与为集成到ASIC SoC项目中而交付的RTL设计两者之间存在差异。

许多老练的FPGA用户可能会评论说,即便在使用Synplify综合后,在利用率为94.92%的情况下也非常危险,因为在FPGA设计中即便是有较小改动(例如增加几个逻辑门),也可能对总体面积和可实现的时钟速率产生很大影响。然而,我们的经验显示出这个结果已经能够很可靠地予以实现了,并且实现的时钟速率处在我们期望值范围的上端。这当然是提升供应商实现工具质量的一项有力证明。


然后将它们放在一起,该工作模型的结果将为自己来代言。从Synplify到供应商布局布线的流程也工作良好,它不仅提供了更好的结果,还以更少的总运行时间实现了这些结果。由于FPGA供应商的工具在综合阶段有时比Synplify实现相同阶段要快,所以这个优势并不总是立竿见影。然而我们不断看到,在仅采用供应商工具进行综合之后的实现阶段,比用经Synplify优化的网表来完成实现所花的时间要长得多。


由于在仅有供应商工具的环境中上述案例不可能实现,因而该案例不具有代表性。相反,让我们来看另一个常见(大得多的)的案例,CogniVue用这个案例来演示其IP的能力和可扩展性,这个CogniVue IP相当于约2.6M个NAND2 ASIC门。采用Synplify流程来构建该配置及其相关的系统组件(处理器、存储器和互连等),花费了大约4小时20分钟;而仅用供应商工具来实现相同的架构,据我们观察需要大约5个小时45分钟。在时间上长了33%,而得到的结果优化较差。

重定时序和流水线处理


Synplify综合的时间开销会更多的部分原因是,为提升性能,它在后台能提供强大的QOR能力。我们通常用Synplify的两个功能来是显示我们的FPGA平台获得最佳的性能,这两个功能是re-timing和pipelining.


Retiming是对时序元件(例如FLOPS)进行重分配,以更好地平衡逻辑电平和/或它们之间布线距离的过程。在这种方法中,它能够通过缩短可能会降低可实现性能的长路径、并延长会有未使用额外裕量的较短路径,从而改善总体时序。所有这些都没有任何RTL改变,并且从设计的主要输入输出来观测,设计的行为没有任何改变;时序原件的延迟总数维持在相同水平,并且功能操作没有改变。


Pipelining是一个相关过程,它把复杂功能(例如乘法)分解成若干阶段,以至于输入级能够在每个周期都接受新的输入,同时输出级和中间级持续处理之前的输入。通过这种分级,时钟速率和吞吐率能够在不对延迟产生任何重要影响的情况下得以增加。按照Synplify应用到乘法等计算上的综合功能,这意味着FLOPS布置在乘法操作之前和/或之后,能被识别和标记为流水线候选,因此能通过工具自动地转移到乘法器中。这与上面描述的retiming功能实现了类似种类的时序平衡,并能够得到更高的时钟速率和复杂RTL功能的优化效率。


当你考虑选用这些QoR功能来自动分析和改善给定设计时,你可以看到它们能够帮助工程师真正实现更快、更好的设计工作。同样,高级语言如Verilog和VHDL(废除集成电路设计的原理图捕获)的逻辑实现,已经基本依赖综合工具,综合工具的这种功能,至少根据我们的涉及到Synopsys的案例的情况,它们可以可靠的从复杂的时序元件和组合逻辑汪洋大海中寻找到最优的时序配置。这意味着,使用诸如Synplify等工具的工程师能够以一种自然、明晰的方式捕获他们的设计,然后依赖软件工具进行优化,否则就会搞乱和混淆他们的代码。


这些优化确实能够帮助我们改善测试平台可实现的时钟速率,并且在这个案例中,它们获得了进一步的帮助,Synplify极大地降低了我们的逻辑占位面积(如表1所示)。使用较少的逻辑(较少的FPGA资源)意味着相应较短的路径,这通常能使可实现的时钟速率变高并使时序收敛所花费的时间/努力变小。单看这几点,这种方法由于其能够使我们针对自己的演示平台实现最佳的映射和性能而成为最佳之选。我们能够针对多家供应商采用相同的综合操作来实现,从而直接锁定了生意。


系统环境


独立于供应商的综合只是等式的一部分。CogniVue IP追求的是在系统环境(或者SoC)中对最多样化的应用提供最佳的视觉处理性能。并且这意味着,我们需要有附加的IP(例如主处理器接口、DDR RAM控制器和互连等)来构建一个有用的演示平台。FPGA供应商在该领域也有很多IP可以提供,同时为了获得最优实现也必须用到他们的一些组件。例如,由于存在着诸如I/O速度和内部布线的物理接口考虑因素,高速DDR RAM控制器最好是从那些供应商已经匹配到其器件的IP中进行挑选。


在我们的案例中,我们选择使用了Synopsys的DesignWare IP——不仅是基于面积和时钟速率的考虑,还考虑到了接口效率以及灵活性等其他至关重要的条件。在选择IP时,将所有这些标准牢记于心非常重要。


如图4中的案例所示,现今最常见的一个SoC互连IP是ARM公司提供的AMBA AXI。FPGA供应商意识到此点,并通常为提供可能需要的所有AXI组件以拼接在一起成为IP阵列。但是为AMBA选择Synopsys DesignWare IP解决方案的决定,是基于我们以一种供应商独立、且不仅能应用到FPGA还能应用到可能最终实现的ASIC中的方式,来寻找业界领先的灵活性、效率、面积和速率。因为基于不仅限于功耗和面积的、而是更广泛的标准来选择IP,我们寻求的是超越我们自己的领域来演示可交互性,并为客户加大我们能提供的指导。


总而言之,无论你的IP产品质量有多好,如果围绕它、驱动它和支持它的逻辑未能理想地搭配,那么质量也会缺失。你能为构建一个最优的、高性能演示平台提供什么,就意味着将凸显其什么价值,并说服客户不断向你寻求更多。我们在视觉处理领域有着悠久的历史,并且我们一路走来所学到的知识形成了产品的坚实基础,其不仅是能在单位面积、单位功耗内提供一流的性能,而且能在本质上满足现今和将来对灵活性和可应用性的需求。同时拥有能使用任何供应商的FPGA且面向ASIC能自动提供IP核的综合工具和IP,以及能实现最佳的QoR和运行时间,是我们设计获得成功的重要因素。





关键词: 演示     性能     质量     要有     中立     设计     流程    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]