读书笔记《FPGA之道》第三章

这篇具有很好参考价值的文章主要介绍了读书笔记《FPGA之道》第三章。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

        接触FPGA有一段时间了,期间也做了一些实践实验,虽然最终也是能做出来,可是接触的越多越觉得自己对于这个方向的基础知识的了解还不够系统,很多地方似懂非懂,看网上的教程也都是为了当前实验服务,这让我心里很是没底。对比我的导师们,我认为那个年代的人学东西都是很系统很详细的,简单来说就是功夫足够扎实。如今因为各种博客、B站视频教程等等,都为我们的学习带来了便利,但与此同时,我们很难再沉下心来认认真真读一本书了,与舍友的沟通也得出了不能光做项目,要多抓底层理论知识的结果。所以,我认为既然选择入行FPGA就应该扎扎实实的去啃基础知识。无意间读到了《FPGA之道》这本书,虽然超级厚,但是作者的笔风幽默,结构清晰,很适合我这种刚入行的读者,在此也向大家推荐此书。

        书中前两章讲的基本上就是FPGA的前世今生,和一些数电的基础知识,从第三章开始讲FPGA的结构,所以我的读书笔记也从第三章开始,当然我只是记录一些我认为比较重要的知识点,以便我自己日后回顾,并不能作为书本的代替

3.1.7        FPGA的原理架构

        FPGA基本架构由IOB、CLB和各种连线资源组成。

        FPGA的基本逻辑单元是CLB模块(名称不一定唯一(ALM))重点是CLB是什么?

        CLB(可编程逻辑功能块)一般包含若干查找表、寄存器、多路选择器,因此FPGA的逻辑表达不是基于SOP表达式而是基于LUT的,这是FPGA和其他可编程器件最大的区别。

        CLB之间会有CB(连线盒:将CLB的输入输出接到连线资源中)和SB(开关盒:对水平和竖直连线资源进行切换)来连接,其中,开关盒连接的每一条线都是一个传输管,而这些传输管的导通和关闭都是由编程信息来控制的,又因为编程信息往往在SRAM内,所以FPGA一般就是基于SRAM的,掉电会丢失。下面我们详细看看CLB的构成。

3.3        FPGA内部资源介绍

3.3.1        CLB包含的基本元素

        LUT(查找表)

        LUT可以有多个输入引脚,但只能有一个输出引脚,LUT的每个存储单位都可以对应逻辑表达式的一个最小项,所以它可以描述任何组合逻辑,有时也可以模仿寄存器行为,但是需要用反馈结构,这在组合逻辑中很危险。

加法器

        二进制加法中最重要的是异或操作,虽然LUT可以模拟此功能,但是数据位数一但较大,级联会消耗掉太多资源,也更慢,所以Xilinx采用了专门的异或门,altera采用了专门的全加器。不过LUT可以配合异或门实现超前进位加法器来提升性能。

寄存器

        FPGA里全是寄存器,其输出一般会连到附近一个寄存器输入MUX中,通过配置MUX,可以将多个寄存器串联起来实现移位寄存器。

MUX(多路选择器)

        两种用法所以分成两类:1、配置MUX,它的选通是在配置FPGA的时候确定,所以它决定了逻辑资源块的功能,2、逻辑MUX,其选通是由此时的内部逻辑决定。简单说,通过用MUX我们可以让逻辑资源块实现各种功能,比如只使用寄存器,只使用组合逻辑,或者都使用。

3.3.2        时钟网络资源

有全局、区域、IP时钟网络资源(一般是一些高速通信接口)

3.3.3        时钟处理单元

PLL(模拟电路原理)和DCM(全数字)

3.3.4        BKOCK RAM

        如果有数据要缓存,FPGA里的寄存器资源完全可以,但是太浪费,而且如果数据量不大,再外面搞一个独立的存储芯片又太亏,所以厂商在FPGA芯片中引入了硬件的存储核BLOCK RAM,其应用范围非常广,可以把其配置成同步、异步、单端口、双端口、的RAM\FIFO\ROM,同时还能处理普通LUT难以处理的大容量表格。

3.3.5        DSP

        FPGA对复杂的运算不擅长,如乘法,如果硬用消耗资源太大而且速度慢,虽然可以用流水线的方法,但是还是用面积换速度,而DSP的核心就是高性能的乘法器,这样FPGA就可以在信号处理方面大展拳脚了。

        除此之外还有布线资源、接口资源等等,不过多阐述了。

3.5        FPGA芯片的配置方法

三种方法:主动配置模式、被动配置模式、JTAG配置模式。

        1、主动配置模式:简单说就是把数据保存在片外存储器,FPGA掉电差点后从这个存储器中读取配置信息。(保密性差,配置文件大小收到FPGA各型号的存储器限制,用FLASH或EPROM格式还不同,比较麻烦)

        2、被动配置模式:简单说就是被其他设备配置,保密性较好。

        3、JTAG配置模式:起源于大集成度芯片无法用探针测试,进而发明的方法。其有两大功能:电路的边界扫描测试和可编程芯片的在线编程。通过连接PC的串口、并口、USB等和FPGA的JTAG接口相连接去配置和调试。

一般情况下三种方法组合使用,比如JTAG更是用于调试期。

=========================================================================文章来源地址https://www.toymoban.com/news/detail-819762.html

持续更新中

=========================================================================

到了这里,关于读书笔记《FPGA之道》第三章的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 最优化学习笔记——第三章

    非线性规划比线性规划更困难,没有统一的数学模型,有自己特定的适用范围,目前还没有通用于所有问题的非线性规划问题的算法 满足以上条件的解释可行解,所有解为可行域,如果可行域=R n ,则为无约束问题,否则为有约束问题 如果所有的约束与目标函数都是凸函数,

    2024年02月03日
    浏览(78)
  • 信息论基础第三章阅读笔记

    在信息论中,与大数定律类似的是渐进均分性(AEP),它是弱大数定律的直接结果。 大数定理针对独立同分布(i.i.d.)随机变量 ……………… 因此,当n很大时,一个观察序列出现的概率 p ( X 1 , X 2 , . . . , X n ) p(X_1,X_2,...,X_n) p ( X 1 ​ , X 2 ​ , ... , X n ​ ) 近似等于 2 − n H 2^{-nH}

    2024年02月07日
    浏览(52)
  • 操作系统-笔记-第三章-内存管理

    一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】​编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理 ​​​​​

    2024年02月11日
    浏览(63)
  • 计算机视觉笔记 第三章:目标检测

      计算机视觉笔记:第一章 图像分类-CSDN博客 计算机视觉笔记 第二章 图像语义分割-CSDN博客 计算机视觉笔记 第三章:目标检测-CSDN博客 计算机视觉 第四章:图像识别、目标跟踪-CSDN博客 计算机视觉 第五章 多目视觉(立体视觉)-CSDN博客 标定图像中目标的位置,并给出目标

    2024年04月17日
    浏览(44)
  • 计算机网络-笔记-第三章-数据链路层

    一、第一章——计算机网络概述 二、第二章——物理层 三、第三章——数据链路层 四、第四章——网络层 五、第五章——运输层 六、第六章——应用层 目录 三、第三章——数据链路层 1、数据链路层概述(帧) (1)封装成帧、差错检测、可靠传输(简单介绍) (2)CS

    2024年02月10日
    浏览(53)
  • Flutter实战·第二版-第三章 基础组件笔记

    第三章:基础组件 3.1文本及样式 3.1.1 Text 3.1.2 TextStyle 3.1.3 TextSpan 3.1.4 DefaultTextStyle 3.1.5字体 先将文字资源打包到应用,然后再pubspec.yaml中指定位置 根目录/assets(fonts) 使用字体 Package中的字体 lib/fonts/Raleway-Medium.ttf 3.2按钮 3.2.1 ElevatedButton 3.2.2 TextButton 3.2.3 OutlinedButton 3.2.4 IconB

    2024年02月12日
    浏览(54)
  • 《Opencv3编程入门》学习笔记—第三章

    记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 一、图像的载入、显示和输出到文件 (一)OpenCV的命名空间 简单的OpenCV程序标配: (二)Mat类简析 表示从指定路径下把名为dota.jpg的图像载入到Mat类型的srcImage 变量中。 (三)图像的载入与显示概述

    2024年02月08日
    浏览(53)
  • Django学习笔记:第三章Django的路由

    URL是网站Web服务的入口。用户在浏览器输入URL发出请求后,django会根据路由系统,运行对应的视图函数,然后返回信息到浏览器中。 创建项目时,会自动生成urls.文件,文件中定义了项目的路由信息,成为项目的路由解析入口。在自建的应用中可以手动配置独立的urls.py文件。

    2024年02月16日
    浏览(76)
  • 计算机网络(王道考研)笔记个人整理——第三章

    数据链路层:结点,链路 结点:主机、路由器 链路:网络中俩结点之间的 物理通道 ,链路的传输介质有双绞线、光纤和微波,分为有线链路、无线链路。 数据链路:俩个结点之间的 逻辑通道 ,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。 帧:是链

    2024年04月17日
    浏览(59)
  • 《Flink学习笔记》——第三章 Flink的部署模式

    不同的应用场景,有时候对集群资源的分配和占用有不同的需求。所以Flink为各种场景提供了不同的部署模式。 3.1 部署模式(作业角度/通用分类) 根据集群的 生命周期 、 资源的分配方式 、 main方法到底在哪里执行 ——客户端还是Client还是JobManager、 资源管理 将Flink的部署

    2024年02月10日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包