初识FPGA(搬运)

原文链接1原文链接2

fpga简介

FPGA(Field-Programmable Gate Array), 即现场可编程门阵列,它是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑器件)、CPL(复杂可编程逻辑器件)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

 

注:什么是现场可编程门阵列?顾名思义,有人推断它是可编程的逻辑门结构。这种解释很接近,但又不太准确,因为内部逻辑阵列实际并不是利用门来实现的。相反,我们将阵列中的这些块称为逻辑单元。这些逻辑单元通常由查找表 (LUT)(用于实现任意逻辑功能)以及一些辅助电路(例如多路复用器、加法器和触发器)构成。人们将这种逻辑单元阵列称为“FPGA 结构”。
http://file.elecfans.com/web1/M00/69/43/o4YBAFvWxtSAGyJiAABdw_26Q6A818.jpg
简言之,将 FPGA 比作一个盒子,里面装有各种没有商标、用于构建数字电路的彩色构件。我可以通过适合我的应用的任何方式,将这些构件连接到一起。如果能描述数字电路如何工作,就能用足够的逻辑单元在 FPGA 内构建该电路。需要 25 个 PWM 输出?没问题。需要特殊通信协议?对某些硬件进行编程来处理该协议。

 

  fpga工作原理

  FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括 可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

  fpga特点

  1) 采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。

  2) FPGA可做其它全定制或半定制ASIC电路的中试样片。

  3) FPGA内部有丰富的触发器和I/O引脚。

  4) FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

  5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

 

  一文看懂fpga和单片机的区别

 

  单片机简介

  单片机,全称为单片微型计算机(Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器。

  单片机工作原理

  单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。

  为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。

  程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。

  单片机特点

  (1)体积小、结构简单、可靠性高

  (2)控制能力强

  (3)低电压、低功耗

  (4)优异的性能/价格比

 

  一文看懂fpga和单片机的区别

 

  fpga和单片机的区别

  1、结构上的区别

  单片机是一种微处理器,类似于电脑CPU的,它一般采用的是哈佛总线结构,或者冯诺依曼结构,对单片机的编程很大程度上要考虑到它的结构和各个寄存器的作用,单片机用途比较广,一般用在控制流水线上,还有日常你看得到的东西上!

  FPGA 它的结构是查找表结构,其程序不用去太考虑芯片的结构,要注意的是时序上问题,它的结构比较复杂,功能也很强大,一般应用在通信领域等比较高端的场合,目前在国内FPGA还算是一个新兴的行业,当然它的价格也要比单片机贵得多!

  单片机是一个微控制器,通过加载模块软件来实现某种功能,单片机是成型的芯片;FPGA是用来设计芯片的芯片。

  2、速度上的区别

  FPGA由于是硬件电路,运行速度直接取决于晶振速度,系统稳定,特别适合高速接口电路。单片机由于是单线程,哪怕是常用的M3系列流水线也是单线程执行,程序语句需要等待单片机周期才能执行。

  3、本质区别

  FPGA和单片机的区别,本质上是软件和硬件的区别,FPGA更偏向于硬件电路,而单片机更偏于软件。

  单片机设计属软件范畴;它的硬件(单片机芯片)是固定的,通过软件编程语言描述软件指令在硬件芯片上的执行;

  FPGA设计属硬件范畴,它的硬件(FPGA)是可编程的,是一个通过硬件描述语言在FPGA芯片上自定义集成电路的过程;

  4、应用上的区别

  应用上,差别更大。MCU最终所有的指令在一个MCU中都是顺序执行的,而FPGA由于是逻辑单元,很容易做到并行执行。

       5、入门难易程度

单片机比FPGA简单些,价格也低一些。要做PID算法控制的用单片机可以,STM32F4系列已经到300M+跑PID完全足够,如果是跑嵌入式的话可以上ARM芯片。涉及通信、图像等高速部分可以采用单FPGA模块。

 

 

注:为什么我会需要 FPGA?
FPGA 可用于实现数字系统,但简单的微控制器通常也能够达到同样的效果。微控制器价格低廉,而且易于放置在印刷电路板上。虽然 FPGA 是一种功能强大的工具,但未必适合所有情况。它们有更多的功耗、布局和外部电路要求,甚至可能非常苛刻。使用成本高昂且具有诸多特殊要求的 FPGA 似乎有些不合时宜。
但您也许已经猜到了需要 FPGA 的原因:灵活性。您拥有可配置的逻辑块,就意味着不再受到硬件的制约。您不会再遇到定时器或 UART 不够用的情况,只要您拥有逻辑单元便可创建更多定时器或 UART。它能够随着技术和要求的变化,在今后进行重新配置,从而延长产品的生命周期。
第二个原因是速度。微控制器只能按顺序一次执行一条指令。由于硬件特性,FPGA 结构本身是并行的。因此它能同时执行多个指令,这对于 FFT 或图形处理等操作非常有用,因为在按顺序执行的处理器上,这些操作可能产生很高的成本。与 LVDS 等典型微控制器相比,FPGA 还提供了更多高速 I/O 选项,收发器能够以 10+ Gbps 的速度处理 HDMI 等协议。
如何为 FPGA 编程?
FPGA 采用一种名为 HDL(即硬件描述语言)的特殊语言。它主要包含两种语言:Verilog 和 VHDL。几乎所有开发套件(例如 Quartus 或 Vivado)都支持这两种语言,所以选择哪种语言只是偏好问题。然后对这两种语言进行“合成”,这类似于微控制器的编译。合成工具告诉 FPGA 如何连接其逻辑单元,以产生代码所描述的效果。请记住,代码被转换为硬件指令而非 CPU 指令,在您开始使用时,务必牢记这一点。
为了简化开发,FPGA 供应商提供了常用代码块目录,供您轻松置入到设计中。其中包括倍频器、RAM 和通信块等。您可对它们进行配置并添加到设计中,而无需查看涉及的 HDL 代码,从而加快开发速度。
http://file.elecfans.com/web1/M00/69/5D/pIYBAFvWxv-AeTxMAACNsoI7lYQ827.jpg图 2:显示来自 xilinx 目录和 HLS 的 IP 块的部分框图。(图片来源:eewiki.net
有些供应商还提供高级别合成 (HLS) 工具,能够将使用 C 或 C++ 语言编写的功能转换为 HDL 代码块。使用这些工具,可以通过抽除一些低级别细节,显著减少具有软件背景的开发人员的入门障碍。

它能够使用软处理器。软处理器是从 FPGA 的逻辑单元构建的完整处理器。利用软处理器,您能够为处理器构建定制的辅助硬件,并使用 C 语言编写应用程序。可在几分钟内完成简单的软处理器系统设置和编程。如果仍需要传统处理器,可考虑在单一封装中包含 FPGA 和硬 ARM 处理器的 SoC。
     总之,与典型的微控制器相比,FPGA 的成本更高,使用难度更大,但它们能够提供更强的性能和灵活性。随着技术的改进,集成度的提高,FPGA 的成本变得更低,它们甚至能够取代传统的微控制器。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤教育】广东开放大学 会展营销 形成性考核 (56)

选择题 题目:以下哪一个选项不属于市场定位的内容? 答案:看左侧 题目:以下哪一个选项不是会展营销调研的程序? 答案:看左侧 题目:以下哪一个选项不是市场定位的原则? 答案&#xff1…

【渝粤教育】广东开放大学 劳动人事争议处理法 形成性考核 (51)

选择题 题目: 下列哪一选项属于劳动人事争议?( ) 选择一项: 答案:看左侧 题目: 仲裁委员会的主任由( )担任。 选择一项: 答案:看左侧 题目…

【渝粤教育】广东开放大学 土地力学与地基基础 形成性考核 (32)

选择题 题目:7,地下科能(流入)与排泄(浦出)条件以及土中水的渗透速度都与土的有关 题目:8在非均质土层中,土的坚向自重应力沿深度的分布规律是( )。 题目:10某粘性土的I,≤0,该土的物理状态为( )。 题目:1地震时产生的…

蓝桥杯小白系列之汇编点亮led灯

蓝桥杯小白系列之汇编点亮led灯 1、源代码 2、逐条分析 (1)ORG 0000H (2)START: 伪指令,编译器可识别,单片机不可识别,可以随便起。 (3)蜂鸣器设置 蓝桥板插电以后蜂鸣器常会自动响起,故在程序前提前加上如下代码,让蜂鸣器不响: mov P2,#0A0H mov P0,#000H 参照…

带有Oracle Digital Assistant和Fn Project的会话式UI。 第二部分

在上一篇文章中,我使用Oracle Digital Assistant为FlexDeploy实现了一个对话式UI。 今天,我将用Fn Flow丰富它,以便聊天机器人接受发行名称而不是ID来创建快照。 完成后,对话听起来会更加自然: … “您可以建立快照吗…

小白系列之51单片机的入门速成法

51单片机的入门速成法 01-经典51内核资源全览浓缩图 02-重要外设特殊功能寄存器概览 03-程序开发流程与设计要点 04-三大外设的开发与可重用代码 05-应用程序设计入门一例通 01-经典51内核资源全览浓缩图 <1> 四组8位并行I/O端口&#xff1a; P0端口&#xff1a;PC门&a…

【渝粤教育】广东开放大学 工程经济 形成性考核

选择题 题目&#xff1a; 单选 下列是年金现值系数表示符号的是&#xff08;&#xff09; 答案&#xff1a;看左侧 题目&#xff1a; 单选 某施工企业现在对外投资200万元&#xff0c;5年后一次性收回本金和利息&#xff0c;若年基准收益率为8%&#xff0c;则总计可以收回资…

Hibernate事实:集成测试策略

我喜欢集成测试&#xff0c;这是检查Hibernate生成哪些幕后花絮SQL查询的好方法。 但是集成测试需要运行的数据库服务器&#xff0c;这是您必须要做的第一选择。 1.使用类似生产的本地数据库服务器进行集成测试 对于生产环境&#xff0c;我始终喜欢使用增量DDL脚本&#xff0c…

【渝粤教育】广东开放大学 插画与漫画 形成性考核 (27)

选择题 题目&#xff1a;先从整体开始绘制的一般顺序是 题目&#xff1a;正常头身比角色转化为Q版角色&#xff0c;基本可以用几个词说完&#xff0c;那就是 题目&#xff1a;影响衣服皱褶的的因素有 题目&#xff1a;关于女性漫画人物正面面部特征&#xff0c;以下说法正确的是…

蓝桥杯基础模块1:LED跑马灯

一、模块题目 二、原理简述 1、74HC138:三八译码器(3个输入,8个输出) 2、74HC573:锁存器(20个引脚,D1D8是数据输入端,Q1Q8是数据输出端&#

【渝粤教育】广东开放大学 文学概论 形成性考核 (31)

选择题 题目&#xff1a;对创作个性与文学风格这两个概念的关系理解正确的是&#xff08; &#xff09; 题目&#xff1a;审美意象总是以表达哲理和观念作为存在的目的和最高审美理想&#xff08; &#xff09; 题目&#xff1a;西方典型论发展的三个阶段是&#xff08; &#…

如何使用Hibernate将PostgreSQL枚举映射到JPA实体属性

介绍 开源的hibernate-types项目允许您映射JSON&#xff0c;ARRAY&#xff0c; YearMonth &#xff0c; Month或数据库特定的列&#xff08;例如INET地址&#xff09;。 在本文中&#xff0c;我们将看到使用JPA和Hibernate时如何将PostgreSQL Enum类型映射到Java数组。 Maven…

【渝粤教育】广东开放大学 物权法 形成性考核 (43)

选择题 题目&#xff1a;下列哪一选项不是民法上的物?&#xff08;&#xff09; 题目&#xff1a;甲有一套别墅&#xff0c;甲的下列何种行为不能体现物权的性质&#xff08;&#xff09; 题目&#xff1a;根据物权是否具有独立性不同&#xff0c;物权可以分为&#xff08;&am…

蓝桥杯基础模块2:蜂鸣器继电器

一、模块题目 二、原理简述 1、74HC138(参见模块1) 2、74HC02(参见模块1) 3、74HC573(参见模块1)

【渝粤教育】广东开放大学 管理会计 形成性考核 (33)

选择题 题目&#xff1a;固定成本和变动成本是根据成本按其( )分类的 答案&#xff1a;看左侧 题目&#xff1a;下列成本项目中&#xff0c; 属于变动成本的是 答案&#xff1a;看左侧 题目&#xff1a;企业某产品本月消耗各项费用如下:直接材料50000元&#xff0c;直接人工200…

蓝桥杯基础模块3_1:数码管静态显示

一、模块题目 二、原理简述 1、数码管 CT107D单片机综合实训平台上使用的数码管是F3461BH(倒数第二个字母是A则共阴,是B则共阳)。 F3461BH是一个4位8段的数码管,其中a、b、c、d、e、f、g、dp引脚分别对应8个段码,该8个引脚通过74HC573锁存器与单片机的P0端口相连。另外有…

【渝粤教育】广东开放大学 计算机导论 形成性考核 (51)

选择题 题目&#xff1a;Excel 2003所属的套装软件是______。 题目&#xff1a;下面说法正确的是&#xff08; &#xff09; 选择一项&#xff1a; a. 数据是加工之前的信息 b. 信息是数据加工的结果 c. 数据就是数字 d. 数据就是信息 题目&#xff1a;用流程图描述算法形象、直…

【渝粤教育】广东开放大学财务会计2 形成性考核 (34)

选择题 题目&#xff1a; 下列属于其他业务收入的是&#xff08;  &#xff09;。 选择一项&#xff1a; 答案&#xff1a;看左侧 题目&#xff1a; 下列各项中&#xff0c;应计入管理费用的是&#xff08;  &#xff09;。 选择一项&#xff1a; 答案&#xff1a;看左侧…

jersey客户端_项目学生:带有Jersey的Web服务客户端

jersey客户端这是Project Student的一部分。 其他职位包括带有Jersey的Webservice Client&#xff0c; 带有Spring Data的 业务层和持久性 。 RESTful Web应用程序洋葱的第一层是Web服务客户端。 它可以用于模仿包含AJAX内容的网页&#xff0c;也可以被webapp的编程用户用来模…

蓝桥杯基础模块3_2:数码管动态显示

一、模块题目 二、原理简述 动态显示的基本原理与实现思路(转载) 动态显示实质上就是轮流点亮单个数码管实现多位数码管整体显示的效果。在轮流显示过程中,每位数码管点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但…