FPGA学习笔记【基础概念】

本文详细介绍了Xilinx FPGA的不同产品系列,如Spartan、Artix、Kintex和Virtex,以及它们的特性。深入解析了Vivado开发工具的使用,从设计流程到资源介绍,涵盖了工程模式、非工程模式、IP集成、约束设置和比特流烧录等内容。

基础概念

Xilinx系FPGA使用vivado全家桶进行开发

性价比/低功耗:Spartan系列,常见Spartan-6、Spartan-7

中端/性价比:Artix系列,常见Artix-6、Artix-7

中高端:Kintex系列,常见Kintex-7

旗舰:Virtex系列,常见Virtex-7

命名规则:以Spartan-7 xc7s15ftgb196-1为例

用途级别 哪一代产品 逻辑单元数 封装类型 RoHS 封装元件号 引脚数 速度等级
xc 7 15 ft g b 196 -1
商业级 第7代 15k个逻辑单元(单位为k) 1mm 6/6 共196引脚 慢速

速度等级如下

-1 -L1 -L2 -2 -3
慢速 慢速低功耗 中等速度低功耗 中等速度 高速

FPGA内部资源简介

常用可编程逻辑器件:

  • CPLD:复杂可编程逻辑器件。基于乘积项的与或逻辑阵列,基于FLASH运行,逻辑写入后会一直保存,掉电不丢失
  • FPGA:现场可编程门阵列。基于查找表的CLB阵列,基于SRAM运行,采用CMOS工艺制造,逻辑写入后需要上电才能保存,掉电丢失

这两种器件都只能编程数字电路,无法在其上建立模拟电路

FPGA的编程数据实际上存储在其中的SRAM里,运行时将数据读出配置好片上硬件资源运行;很多FPGA会配有单独的PROM,在运行时先将PROM读入片内RAM,配置完成后,FPGA开始工作;掉电后FPGA内部逻辑关系清空

FPGA可以反复使用,一块Artix传祖孙三代天天用都不成问题;如果使用外接PROM的方法,FPGA的编程不需要专用的FPGA编程器,只要用通用的PROM编程器编程即可

FPGA内部一般有以下硬件资源:

  • 可编程逻辑单元(Xilinx制造的FPGA中将其称为CLB可编程逻辑块,由多个基本的LUT查找表、REG寄存器、MUX多路选择器组成)
  • 可编程IO单元(用于可编程逻辑与外部引脚的连接)
  • 底层嵌入功能单元(包括但不限于PLL、ADC等数字/模拟电路器件)
  • 嵌入式块RAM(用于存储内部数据和可编程的硬件逻辑)
  • 布线资源(将各个功能模块之间连接起来)
  • 硬核(只有一部分FPGA才会嵌入,一般功能比较专用)

其中CLB是组成FPGA的基本逻辑单元LUT则是FPGA中逻辑表达式的基础

常用电路结构

FPGA不擅长顺序结构,更擅长并行结构,如果要使用FPGA处理顺序结构的算法,比较常用有限状态机模型(FSM)

有限状态机FSM(Finite State Machine)

有限状态机:在有限个状态之间按一定规律转换的时序电路

在FPGA中经常使用mealy状态机,它由当前输入和当前状态共同决定其输出

状态机内部使用状态寄存器来存储当前状态:状态寄存器由一组触发器组成,用于记忆状态机当前所处的状态,这个状态的改变一般只发生在时钟信号跳变沿

状态是否改变、如何改变都取决于当前输入和当前状态的组合逻辑F(F是当前状态和输入信号的函数

状态机的输出则由当前输入和当前状态的输出组合逻辑G决定(G也是当前状态和输入信号的函数

组合逻辑F是状态寄存器的激励,当时钟信号跳变时,组合逻辑被读入状态寄存器,同时当前状态被输出到组合逻辑G

输出只取决于当

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值