FPGA时序分析和约束学习笔记(1、FPGA基本原理)

时间:2024-10-05 09:48:47

FPGA时序分析和约束学习笔记-(1、FPGA基本原理)

Field现场Programmable可编程Gate门Array阵列

1、FPGA基本资源组成

  • 可编程逻辑功能块(logic elements ,缩写LE)

  • 片内互联线(interconnect,缩写IC)

  • 输入输出块(IO)

1.1、可编程逻辑功能块

组成

  • 查找表(look up table,缩写LUT)

  • D触发器(缩写DFF,D输入,Q输出)

逻辑实现

  • 只用LUT时实现组合逻辑

  • 只用DFF时,实现单纯打一拍

  • LUT和DFF都用,实现时序逻辑

1.2、输入输出块

组成

  • 输出寄存器

    • 离引脚最近的寄存器,延迟短
  • 输入寄存器

    • 离引脚最近的寄存器,延迟短
  • 输出使能寄存器

    • 控制输入还是输入
  • 输入延迟链

  • 输出延迟链

  • 上拉电阻

    • IIC会用到

1.3、内部互联资源

包括连线线段和可编程开关,将可编程逻辑功能块、输入输出块连接起来,从而构成特定功能电路

  • Altera FPGA采用行、列、局部快速通道

  • 局部快速通道的速度最快;布局布线时,尽量将关键信号放在一个阵列块中,通过局部通道交互

2、FPGA可扩展资源

  • 存储器资源(块RAM、分布RAM)

  • 数字时钟管理单元(分频、倍频、数字延迟、时钟锁定)

  • 算数运算单元(高速硬件乘法器,乘加器)

  • 告诉串行IO接口

  • 特殊功能模块(PCIE、DDR等硬IP核)

  • 微处理器(Cortex-M3、Cortex-A9、Cortex-A53、PowerPC)

3、FPGA可编程原理

3.1、FPGA和CPLD的区别

FPGA基于LUT,可以实现复杂的逻辑功能

3.2、FPGA编程方式

  • SRAM-查找表类型(Intel Xilinx)

  • 反熔丝的多路开关类型FPGA(Actel)

  • 基于Flash的FPGA(Lattice)