由于这些器件的运行方式截然不同,我们不能使用传统编程语言来编写FPGA程序(尽管很多人尝试过)。取而代之的是,我们使用硬件描述语言,例如VHDL或Verilog,而这些语言很少由软件团队负责编写。
第一个常见的误解是:HDL是硬件。事实并非如此。HDL是软件,应该像管理软件一样管理它。
不幸的是,VHDL 和 Verilog 都是过时的语言。它们都起源于 20 世纪 80 年代,并且是仿照 20 世纪 60 年代和 70 年代的编程语言设计的。这两种语言都很糟糕,但工程师们仍然继续使用它们,因为工具链是封闭的,供应商缺乏动力,而且没有人有足够的影响力来迫使它们改变。
为什么没人开发出更好的编程语言?因为工具链封闭,半导体公司内部缺乏支持,也没有外部因素迫使他们做出改变。此外,由于软件工程师无法容忍在与现代软件开发完全脱节的系统中,使用平庸的专有集成开发环境(IDE)编译的糟糕语言,公司发现将开发工作交给硬件团队更容易。
结果是:工程师们被迫使用过时的语言,而这些语言又被困在如同来自上个世纪的时光胶囊般的专有集成开发环境(IDE)中。开发变得异常痛苦,企业只有在万不得已的情况下才会转向FPGA,通常是在处理极其复杂的任务时。因此,FPGA公司开发的产品往往预设了极其复杂的任务。反过来,这又强化了人们对FPGA工作总是缓慢、复杂且昂贵的印象。这形成了一个自我强化的恶性循环。
这种看法是错误的。硬件描述语言(HDL)可能比较繁琐,但对于简单的设计来说,它通常比传统编码更快。例如,用HDL编写SPI接口比在微控制器上针对SPI外设编写代码要简单得多。
我曾希望赛灵思推出Zynq系列产品后情况会有所改善,该产品将处理器与FPGA架构相结合。然而,配套工具却极其难用,反而使情况变得更糟,让开发者更加望而却步。
在实际应用中,FPGA几乎总是与某种类型的处理器配合使用。有时是像Zynq这样的处理器,有时是小型MCU。FPGA是弥合处理器与物理世界之间鸿沟的绝佳方式。然而,我们并没有将软件和HDL视为一个整体应用,而是将其拆分给不同的团队。这种做法效率极低。
2015年,英特尔收购了Altera;几年后,AMD收购了赛灵思。它们的战略押注点是数据中心:将FPGA与CPU结合使用,以加速加密等特定工作负载。这在理论上很有道理,但在实践中却从未获得成功。
十年后的今天,FPGA在数据中心已不再重要。人工智能的出现使得GPU成为首选硬件,英特尔和AMD都已调整了发展方向。FPGA硬件价格不断攀升,而创新却停滞不前。英特尔正在剥离其Altera业务,而AMD则正引导Xilinx转向人工智能相关芯片。
专有工具链几十年来一直阻碍着FPGA的发展。开放这些工具链将使社区能够进行创新,构建更好的语言,并创造软件工程师在2025年及以后所期望的用户体验。
追逐人工智能或数据中心的发展方向对这项技术来说行不通。相反,关键在于实现FPGA最初的愿景:灵活高效、人人都能编程的硬件。这项技术已经成熟,唯一欠缺的是一个能够真正释放其潜力的生态系统。
参考链接
(来 源 : 编译自 allaboutcircuits )
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
END
今天是《半导体行业观察》为您分享的第4253期内容,欢迎关注。
★
★
★
★
★
加星标第一时间看推送,小号防走丢
