FPGA学习笔记整理(一)

FPGA的定义

FPGA(Field Programmable Giate Array):现场可编程逻辑门阵列是专用集成电路(ASIC)领域的一种半定制电路

主要特点:可以实现硬件灵活定制,门电路多

用途:功能验证、算法加速、数据处理。

与单片机的对比

单片机(MCU)                                     FPGA

结构: 哈佛结构/冯诺伊曼结构               查找表

代码执行: 串行                                        并行

侧重: 软件设计(软件代码)               硬件设计

编程语言: C/C++/汇编                     Verilog HDL/ VHDL

FPGA的优点

1.高密度集成以创建复杂的逻辑功能

2.高性能、低成本

3.有许多可用的I/O标准和功能

4.包含大量IP核,方便开发

5.设计灵活、可重复编程

主要制造商

1.Intel(Altera)

2.Xilinx(赛灵思)

3.Lattice(莱迪思)

4.Microsemi(美高森美)

应用领域和前景

      凭借其灵活性高、开发周期短、并行计算效率高等特点,广泛应用于5G无线、自动驾驶、人工智能、云计算等前沿科技领域。

FPGA内部结构

1.可编程逻辑单元

LAB(s)逻辑阵列块/或自适应逻辑模块(inter的说法)

  • 逻辑单元(LE(s))
  • 自适应逻辑模块(ALM(s))(功能比LE要复杂但与LE同级,c5的芯片)
  • 查找表(LUT)
  • 进位逻辑(辅助逻辑)
  • 输出寄存器逻辑(辅助逻辑)

(核心内容是查找表和寄存器)

2.可编程连线

LAB排成阵列,行和列通过可编程互连线互连

3.可编程I/O

IOB输入/输出模块

  • 输入/输出/双向
  • 多个IO标准
  • 差分信号输出
  • 电流驱动强度/速率调节
  • 片上终端/上拉电阻
  • 开漏/三态

4.时钟资源(FPGA本身不产生时钟,只对外部时钟资源进行管理)

  • 专用输入时钟引脚
  • 锁相环(PLL)
  • 时钟控制模块

1.选择时钟以提供时钟布线网

2.可启用/禁用时钟以节能

  • 时钟布线网络

1.全局时钟网络驱动整个设备

2.局部时钟网络驱动特定设备

5.嵌入式功能单元

DSP模块

  • 高性能乘法/加法/累加运算
  • 可代替LE逻辑提高设计中的数据运算性能

6.存储器资源

  • 单/双口RAM
  • 只读存储器ROM
  • 位移寄存器或FIFO缓冲器

FPGA开发流程

1,确定功能需求 分析功能

2.设计模块框架

3.确定子模块功能与模块间信号

(设计前准备)

经典开发流程(自顶向下)

1.设计输入:VerilogHDL/VHDL

2.RTL功能仿真:验证逻辑功能&数据流,Modelsim工具

3.分析综合:将设计映射为器件模型,生成网表文件(此时器件未映射)

4.布局布线:功能映射、指定布线资源

5.门级仿真:根据估计的布局布线延时进行时序仿真(一般不做)

6.时序分析:验证设计是否满足时序和性能要求——Timing Analyzer 工具

7.板级验证:板级调试—Signal Tap嵌入式逻辑分析工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值