FPGA学习笔记(一)--------初识FPGA

一、FPGA的自我介绍

FPGA(Field-Programmable Gate Array),全称叫现场可编程门阵列。能够通过编程来配置其硬件结构,实现特定功能的数字电路。

FPGA拥有强大的可编程性,其主要由大量的可编程逻辑单元以及丰富的I/O资源组成,能够通过硬件描述语言(VHDL/Verilog)定义其电路功能,通过用户编程配置后实现不同的硬件逻辑。

FPGA属于是硬件结构电路,拥有一定的并行处理能力。在一些高频高速信号处理、实时控制等场景下,性能远超CPU/GPU的串行架构。并行处理能力,直接通过硬件来实现,使其链路延时非常小,响应速度能够达到纳秒级别。

部分FPGA支持运行时动态重配置,可进行不同功能模块的切换,实现更为灵活的应用。

二、FPGA的基本结构

FPGA的基本原理结构图如下图所示:

FPGA中的基本逻辑单元为CLB模块。每一个CLB模块中一般都会包含若干个查找表(LUT,Look-Up Table)、触发器(FF,Flip-Flop)以及多路选择器(MUX)。一个FPGA芯片中包含着成千上万个基本逻辑单元模块,在这些基本逻辑单元组成的结构中间穿插着丰富的连线资源,使得基本逻辑单元之间能够通信。在每个基本逻辑单元模块中间,还有CB和SB两个模块。其中CB模块的作用是将基本逻辑单元的输入输出连接到顶层IO模块上,而SB模块的作用是对水平和竖直的连线资源进行切换。所有结构的外层,都是功能强大的IOB模块,能够提供内部模块与外部模块的数据通信。

随着技术的不断发展,FPGA相关的架构也会变得越来越复杂,并且会有越来越多的资源种类出现,但是不论如何变化,最基本的架构还是有IOB、CLB和连线资源组成的。

三、FPGA的开发环境

1.厂商专用的开发工具

(1)Xilinx(AMD)
  • Vivado Design Suite:综合、布局布线、仿真、调试、比特流生成;支持VHDL/Verilog,集成IP核库
  • Vitis:面向高层次综合(HLS)和AI加速开发
(2)Intel(Altera)
  • Quartus Prime:类似Vivado,支持Cyclone/Arria系列FPGA;集成Nios II软核处理器开发环境
  • ModelSim Intel Edition:仿真工具(与Quartus无缝集成)
(3)国产FPGA厂商
  • 紫光同创:Pango Design Suite(类似Vivado)
  • 安路科技:TD(Tang Dynasty)工具链

2.仿真与验证工具

  • ModelSim/QuestaSim:行业标准仿真工具,支持功能仿真与时序仿真。
  • Verilator:开源仿真器,适合快速验证逻辑设计。
  • GTKWave:开源波形查看工具,配合仿真使用。

3.辅助开发工具

HLS(高层次综合)工具:

  • Xilinx Vitis HLS:将C/C++代码转换为RTL(如加速图像处理算法)
  • Intel HLS Compiler:类似功能,支持OpenCL

四、FPGA的开发流程

1.设计输入
  • 硬件描述语言:Verilog/VHDL编写逻辑代码
  • IP核集成:调用自带模块(如FIFO、Block ram核)
2.逻辑仿真
  • 功能仿真:验证逻辑正确性
  • 时序仿真:加入实际延迟,验证时序约束
3.综合(Synthesis)
  • 将HDL代码转换为门级网表
  • 优化逻辑资源占用
4.布局布线(Place&Route)
  • 将逻辑映射到FPGA物理位置,规划信号路径
  • 关键指标:时序裕量、布线拥塞程度
5.生成比特流(Bitstream)
  • 生成 bit 文件,通过JTAG下载到FPGA
6.验证与迭代
  • 在板卡上验证功能,通过ChipScope(Xilinx)或者SignalTap(Intel)抓取实时信号
  • 根据测试结果修改迭代程序代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值