现场可编程门阵列 ( FPGA )是一种集成电路,设计用于在制造后由客户或设计人员配置 - 因此称为“ 现场可编程 ”。 FPGA配置通常使用硬件描述语言 (HDL)来指定,类似于用于专用集成电路 (ASIC)的语言。
FPGA包含一系列可编程 逻辑块 ,以及允许块“连接在一起”的“可重新配置互连”层次结构,就像许多可以在不同配置中相互连接的逻辑门一样。 逻辑块可以配置为执行复杂的组合功能 ,或仅仅是简单的逻辑门,如AND和XOR 。 在大多数FPGA中,逻辑块还包括存储器元件 ,其可以是简单的触发器或更完整的存储器块。 [1]许多FPGA可以重新编程以实现不同的逻辑功能 ,允许在计算机软件中执行灵活的可重新配置计算 。
当代现场可编程门阵列(FPGA)具有大量逻辑门和RAM块资源,以实现复杂的数字计算。 由于FPGA设计采用非常快的I / O速率和双向数据总线 ,因此在设置时间和保持时间内验证有效数据的正确时序成为一项挑战。
平面规划使FPGA内的资源分配能够满足这些时间限制。 FPGA可用于实现ASIC可执行的任何逻辑功能。 在运输之后更新功能, 部分重新配置设计的能力以及相对于ASIC设计的低非经常性工程成本(尽管通常具有更高的单位成本),为许多应用提供了优势。
除数字功能外,一些FPGA还具有模拟功能。 最常见的模拟功能是每个输出引脚上的可编程压摆率 ,允许工程师在轻负载引脚上设置低速率,否则会使环路或耦合不可接受,并在高速通道上设置较高负载引脚上的速率。否则运行太慢。同样常见的是石英晶体振荡器 ,片上电阻 - 电容振荡器,以及带有嵌入式压控振荡器 的锁相环 ,用于时钟生成和管理以及高速串行器 - 解串器(SERDES)传输时钟和接收器时钟恢复。 输入引脚上的差分比较器非常常见,设计用于连接差分信号通道。 一些“ 混合信号 FPGA”集成了外围模数转换器 (ADC)和数模转换器 (DAC)以及模拟信号调理模块,使其能够作为片上系统 (SoC)工作。此类器件模糊了FPGA(在其内部可编程互连结构上承载数字1和0)和现场可编程模拟阵列 (FPAA)之间的界限,FPA在其内部可编程互连结构上承载模拟值。
https://en.wikipedia.org/wiki/Field-programmable_gate_array
https://www.youtube.com/watch?v=kSQ-z_EJsGY