只需一个芯片
就可以立即使用新设计以任何想要的方式重新连接所有这些芯片
是谁那么厉害?那就是号称“万能芯片”的FPGA
FPGA,即现场可编程门阵列,它是一种硬件可重构的体系结构。FPGA的开发相对于传统PC、单片机的开发有很大不同。
FPGA以并行运算为主,以硬件描述语言来实现。
FPGA在人工智能、航天航空、自动驾驶、5G通信以及医疗设备领域
可以解决哪些问题?
数字逻辑实现
FPGA 允许在单个芯片中实现大量数字逻辑,其运行速度相对较高,并且只需很少或不需要在 CPU 内核上运行的传统顺序程序即可完成其工作。
FPGA 擅长同时执行多项任务,可以将该功能实现为单独的数字逻辑,从最简单的组合逻辑一直到复杂的 CPU 处理器。所以,FPGA除了逻辑元件的数量和它们之间的互连之外,几乎没有什么限制。
时间精确控制
FPGA的另一个重要用途:在需要“保证”响应的情况下,或者需要确定地满足“硬”时序约束。实时控制系统的挑战之一是保证实际上能够满足这些时间限制。
在大多数通过微处理器/微控制器上的顺序编程实现的非平凡的控制系统中,有时主要“应用程序”会被中断,要么是切换到其他辅助任务,要么是处理 I/O 中断,尤其是需要大量计算资源且自身具有时序限制的现代通信协议。
FPGA 是专用电路、状态机以及控制和数据流“编程”的绝佳解决方案,精度低至纳秒级,几乎没有系统“错过”事件或不符合设计时序约束的风险。
数据中心
在过去的几年里,微软、亚马逊和谷歌在云服务器基础设施中使用FPGA引起了很多关注。
其中每个服务器都有一个FPGA,允许一些传统上通过线性编程完成的计算任务,在专用的定制FPGA数字逻辑中完成。
FPGA验证
数字芯片设计的仿真几乎可以发现绝大部分潜在的设计问题。
但是由于NRE费用太高,芯片设计不接受“几乎”这个词。
为了提升仿真验证的覆盖率和完备性,在真正流片前,我们可以把代码转移到FPGA中,这时FPGA就类似于我们流片生产出来的样品。
基于这个“样品”搭建出芯片的应用环境所做的各种测试和验证就是FPGA验证。
FPGA验证涉及到代码移植、FPGA设计、硬件PCB设计、功能调试等等很多环节。
FPGA芯片厉害吧!FPGA工程师厉害吧!