目录

  • 注意及引用
  • FPGA整体概述
  • FPGA相关术语
  • FPGA基本逻辑结构
    • 可配置逻辑单元(CLB)
      • 1.查找表
      • 2.存储元件
      • 3.分布式RAM资源
    • 输入输出单元(IOB)

注意及引用

由于本人学习FPGA尚处于初级阶段,大部分资料学习来源于 Xilinx暑期学校以及《Xilinx FPGA原理与实践》,故部分内容引用于以上两处,且一般以目前流行的 Xilinx 7 系列 FPGA 进行分析,由于个人能力问题,思考难免出现问题,恳请各位大佬进行批评指正。

FPGA整体概述

FPGAField-Programmable Gate Array,学术解释为现场可编程门阵列,用人话来说就是由多个 可以编程互连连接的可配置逻辑块 (CLB),组成矩阵,构成的一个整体半导体器件
FPGA, 其实是很多代可编程器件升级迭代的集成化产物,他经历了PAL(70年代,一次性的可编程阵列逻辑)、GAL(通用阵列逻辑)、CPLD(复杂可编程阵列逻辑)。他改变了专用集成电路(ASIC)中大部分算法“冻结”无法更改的缺陷,一旦设计制造完成后电路就固定的问题在FPGA中得以解决,并且也克服了可编程器件门电路数量有限的缺点。但不可否认的是,ASIC由于其特定性,成本低体积小是它的一个优势。

总结:FPGA是制程工艺上年的逻辑实现虚拟化层,允许芯片流片后再决定电路

FPGA相关术语

可编程(Programmable)
开发者视角,可以对FPGA进行编程

可重构(Reconfigurable)
针对器件特性的描述,器件上的电路可以被重构

可定制(Customizable)
针对应用/客户,可以为其定制硬件

软件定义(Software)
可用软件设计方式重新定义硬件功能

FPGA基本逻辑结构

FPGA因为其采用逻辑单元阵列,故分为 可配置逻辑模块(CLB)、输入输出模块(IOB)、内部连线(Interconnect)三个部分。

整体来讲,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器(具有记忆功能的,两个稳定状态“0”和“1”)的输入端,模块之间通过连线互相连接,通过触发器再去驱动其他逻辑电路。

可配置逻辑单元(CLB)

CLB是FPGA体系结构的核心。在CLB中一般情况下包含很多个Slice。Slice是一个包括查找表、进位链和寄存器的组合模块。
Slice又分为SliceM和SliceL,配合使用使芯片在保证能力和性能的同时,实现低成本和低功耗。
SliceM:能够实现补码运算、移位寄存器、储存器功能
SliceL:只能实现逻辑函数的查找表

1.查找表

基于7系列的FPGA,每个查找表LUT都有1个6输入和2个独立输出。

2.存储元件

每一个Slice具有8个存储元件,可以配置为触发器和锁存器。

3.分布式RAM资源

分布式RAM资源是同步资源,对一个Slice,所有的触发器有统一的时钟输入。

输入输出单元(IOB)

与外界电平兼容的输入输出IO接口,IOB是FPGA对外的接口。

【FPGA学习笔记】(一)什么是FPGA?和单片机ARM有什么区别?相关推荐

  1. FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程

    FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程 很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序 ...

  2. FPGA学习笔记(七): DSB调制解调的仿真

    笔记七是DSB调制解调的仿真实现. DSB调制解调的实现原理:首先使用DDS产生低频正弦波信号作为调制信号,再用DDS产生高频信号作为载波信号,然后使用乘法器将两者相乘产生DSB信号,DSB信号与载波 ...

  3. FPGA学习笔记(1)简单的时序逻辑电路——流水灯

    FPGA学习笔记(1)简单的时序逻辑电路--流水灯 编程语言为Verilog HDL 原理 (1)设计一个计数器,使开发板上的4个LED状态每500ms翻转一次.开发板上的晶振输出时钟频率为50MHz ...

  4. FPGA学习笔记(八)同步/异步信号的打拍分析处理及亚稳态分析

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  5. FPGA学习笔记_ROM核调用与调试

    FPGA学习笔记 ROM核调用与调试 1. ROM存储器IP核的使用 2. 创建.mif文件 3. In system memory content editor内存查看工具的使用 4. Signal ...

  6. FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇尾

    FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇一 FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇二 ...

  7. FPGA学习笔记(十二)IP核之FIFO的学习总结

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  8. FPGA学习笔记——分频电路设计

    FPGA学习笔记--分频电路设计 发布时间:2015-10-3023:29:52 分频就是用一个时钟信号通过一定的电路结构变成不同频率的时钟信号,这里介绍一下整数分频电路的设计方法.整数分频电路有偶数 ...

  9. 小梅哥FPGA学习笔记

    小梅哥FPGA学习笔记 一.38译码器 功能: 译码器其任一时刻的稳态输出,仅仅与该时刻的输入变量的取值有关,它是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等).38 ...

  10. FPGA学习笔记_UART串口协议_串口接收端设计

    FPGA学习笔记 1. UART串口协议以及串口接收端设计 1 原理图 2 Verilog 代码 3 Modelsim仿真 4. FPGA板级验证 1.1 串口协议接收端设计 目标:FPGA接收其他设 ...

最新文章

  1. php和python交互-python与php的比较
  2. 如何利用ide进行跟踪调试_使用调试器进行事后跟踪
  3. 5可视化数据大屏模板_可视化大屏模板分享
  4. 修改蓝牙耳机按键映射_喜欢玩游戏的不要错过了,五款高性能游戏蓝牙耳机推荐...
  5. ssm中java实现树状结构_java ssm使用递归写树形结构
  6. Nagios监控平台完全攻略 (三)
  7. 使用IAR在线调试功能显示数据变化曲线
  8. AngularJs学习笔记--directive
  9. 下载并遍历 names.txt 文件,输出长度最长的回文人名。
  10. 开放源码软件的安装(tar包安装方法)
  11. python毕业设计作品基于django框架 教室图书馆座位预约系统毕设成品(7)中期检查报告
  12. oa处理会签流程图_关于合同会签oa流程使用说明..doc
  13. Power and Modulo(思维)
  14. C++中endl的本质是什么
  15. 宁夏新八景[之一]:古峡新韵
  16. 电脑艺术设计是否属计算机专业,电脑艺术设计属于计算机专业吗
  17. android的se模式,Android中的SE 模块化LG G5 SE评测
  18. 键盘录入 写入文件 quit时 结束
  19. 回溯算法--LeetCode-46 全排列、LeetCode-47 全排列Ⅱ
  20. 一次解决IDEA所有乱码情况

热门文章

  1. A Switched View of Retinex Deep Self-Regularized Low-Light Image
  2. 计算机专业大学生新学期计划,大学生个人新学期计划
  3. Win7/Win8下双击运行jar程序的方法
  4. c语言程序设计吴国良,刘细良
  5. 怎样成为知乎大V?爬取张佳玮138w+知乎关注者:数据可视化
  6. 国内工业控制系统标准概述
  7. 10 探索其他Excel对象
  8. 导出excel,sheetName名字乱码
  9. unity导入的模型设置详谈(后面动作)
  10. 微信、QQ可以聊天,但是网页打不开,解决方法之一