可编程逻辑
FPGA变得比之前更加流行了。现在的FPGA不再只是查找表(LUT)和寄存器的简单组合了,它已经成为系统探索的架构,以及验证未来ASIC设计架构的桥梁。
从基本的可编程逻辑器件到复杂的SoC器件,当今的FPGA家族阵营极其庞大。在包括汽车和其它应用的AI、企业网络、航空航天、国防和工业自动化等各种应用领域,FPGA使得芯片制造商可以在必要时以更新的方式部署实施系统。在这种标准、协议和最佳实现仍然在探索中,而且要求具备成本竞争力的新兴市场中,FPGA的灵活性至关重要。
这就是赛灵思决定在其ZynqFPGA中添加ARM内核以创建FPGASoC的原因所在,Aldec市场总监LouiedeLuna表示。“最重要的是,供应商已经改进了工具流程吗,这使得人们对Zynq产生了很大的兴趣。他们的SDSoC开发环境看起来很像C语言,对开发人员很友好,因为应用程序通常是用C语言编写的。他们将软件功能放到开发环境中,允许用户将这些功能分配到具体的硬件上。”
“他们可能包含多个嵌入式处理器、专用计算引擎、复杂接口以及大容量存储器等,”OneSpinSolutions综合验证产品专家MuhammadKhan说。“系统架构师规划并使用FPGA的可用资源,就像他们在ASIC上所做的那样。设计团队使用综合工具将他们的SystemVerilog、VHDL或SystemCRTL代码映射到基础逻辑元素中。对于大部分设计过程来说,专门针对FPGA或ASIC或全定制芯片的设计差异正在减少。”
ArterisIP首席技术官TyGaribay非常熟悉这一演变。“赛灵思2010年开始在Zynq上实践这种路线,他们定义了一款产品,把ARMSoC的硬宏纳入到了当时现有的FPGA中,”他说。“然后,Altera招募了我做基本上同样的事情。它的价值主张在于许多客户都想要SoC子系统,但是SoC的特性尤其是处理器那部分并不适合综合到FPGA中。将这种级别的功能嵌入到实际的可编程逻辑中令人望而却步,因为它几乎用尽了整个FPGA的资源。但是它可以作为整个FPGA芯片的一小部分或一小部分,作为一个硬性的功能而存在。虽然你没有为SoC提供真正可重构逻辑的能力,但是它们可以通过软件编程,以这种方式改变功能。”
“这意味着,这种结构可以同时具备软件可编程功能、硬宏和硬件可编程功能,他们可以一起工作,”他说。“这类期间有一些相当理想的目标市场,尤其是在低成本的汽车控制领域,在这种系统中一般都会以中等性能的微控制器搭配FPGA,现在客户会说,‘我现在可以将整个功能放到FPGA芯片的硬宏上,以减少电路板空间,减少BOM并降低功耗。’”
这也符合过去30年FPGA的发展趋势。最初的FPGA只是可编程结构和一组I/O。随着时间的推移,内存控制器、SerDes、RAM、DSP和HBM控制器都慢慢地被硬化了。
Garibay说:“FPGA供应商一直在继续增加芯片面积,同时也在继续增加越来越多的硬逻辑,这些逻辑被相当大比例的客户群普遍使用。现在,这些硬逻辑转变成软件可编程器件。在ARMSoC之前添加的大多数东西都是不同形式的硬件,主要与I/O有关,但也包括DSP,DSP有足够的应用计划,因此,通过将DSP硬化,可以节省可编程逻辑门。”
“如果你往回看,FPGA只是一堆LUT和寄存器,而不是门,”NetSpeedSystems市场和业务开发副总裁AnushMohandass说。“这里有一个典型问题。如果您将任何通用器件和专用器件进行比较就会发现,通用计算可以提供更大的灵活性,而专用计算可以提供性能或效率优势。赛灵思和Altera一直试图越来越多地融合通用计算和专用计算,他们注意到,几乎每个FPGA客户都拥有DSP和某种形式的计算。所以他们在FPGA里面加入了ARM内核、DSP内核,还加入了所有不同的PHY和常用模块,他们把这些东西硬化了,使得效率更高,并且性能曲线变得更好。”
这些新功能为FPGA在各种新兴市场和现有市场中发挥重要作用打开了大门。
“从市场角度来看,您可以看到FPGA肯定会进入SoC市场,”Synopsys的高级营销总监PiyushSancheti表示。“是做一个FPGA还是做一款成熟的ASIC牵扯到经济问题。它们的界限开始变得模糊不清,我们看到越来越多的公司-特别是在某些市场上-正在在量产阶段使用成本更低的FPGA。”
NetSpeed的Mohandass表示:”他们想要打造自己的芯片,对其中很多人来说,做ASIC可能有点吓人。他们也可能不想花费3000万美元的晶圆成本来获得芯片。对他们来说,FPGA是一个有效的切入点,他们拥有独特的算法、自己的神经网络,他们想要工程化,看看它是否能够提供他们所期望的性能。”
西门子子公司Mentor的CatapultHLS综合与验证高级产品营销经理StuartClubb表示,目前AI应用面临的挑战是量化。“需要什么样的网络?我如何建立这个网络?什么样的内存架构?即便你只有几层神经网络,当你获得很多采用若干系数的数据之后,很快就会转化成为数百万个系数,存储带宽也会变得非常恐怖。没有人真正知道正确的架构是什么。如果你不知道答案,你肯定不会直接上来就设计一个ASIC。”
在企业网络领域,最常见的问题是密码标准似乎一直在变化。Mohandass表示:“与其尝试构建一颗ASIC,不如将密码引擎放在FPGA中设计。“或者,如果您在全球网络中进行任何类型的数据包处理,FPGA仍然能够为您提供更多的灵活性和更多的可编程性。这就是灵活性的用武之地,他们也已经利用了这种灵活性。你可以称之为异构计算,它看起来仍然像一个SoC。”
全部0条评论
快来发表一下你的评论吧 !