FPGA和单片机什么区别

这篇具有很好参考价值的文章主要介绍了FPGA和单片机什么区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA和单片机什么区别?

写给初学者的小blog(描述不对的,请评论区指出谢谢):
  单片机应该是大家最开始接触的小soc,通过编写c/汇编,可以实现简单的逻辑控制功能;
fpga,通过编写verilog 描述相关的逻辑,或者利用软件中自带的库,搭建简单的逻辑电路,实现简单的控制;

Verilog 简单介绍

  在这里简单介绍下verilog,硬件描述语言,其实就是写 数字电路,通过综合工具映射成网表,之后经过工具软件转化,烧录到fpga单板上;fpga是硬件电路,有并行,速度快等特点,是可配置,可编程的可重构的硬件
首先一个简单的verilog语句块:

wire a, b, c; 
reg d;             
always@(posedge clk)
if(a==1'b1)
    d<= b+c;
else
    d<= c;

  定义了3个1bit的线,1bit的register,在上升沿触发,其实综合后是一个触发器,在a是高电平1时候,把加法器(b+c)的结果,延时1个clk ,给d;其他情况,即a 不是高电平时候,把c信号线,延时一拍给d;简单的架构图如下;
  在数字芯片领域,如果这么写,最后在实现时候,就是加法器,触发器,寄存器等结构,其他语句就是分支选择器,选通器,锁存器等;
FPGA和单片机什么区别,fpga开发,单片机,嵌入式硬件

fpga:

  fpga呢?由 可编程逻辑单元(PLU)、可编程互连资源(PIR)、(存储器、时钟管理单元、高速收发器)等外围电路组成;
主要是 查找表结构+可编程的互连单元

两个具体例子:

查找表是类似 ram 结构可读 写 内容的存储单元,
  比如 verilog描述 c = a&b ;asic电路上是一个与门
  fpga查找表中,不同地址4个条目依次存储 0,0,0,1;如果a和b 有一个是0 则查找出0,两个都为1,则查找出1;fpga中不一定是一个与门
  即查找表存储结果ab对应地址,00,01,01对应数据0存储条目,11对应1数据存储条目;
  可配置的LUT如下:

ab输入作为查找表的地址 c作为查询结果 可以任意配置
00 0
01 0
10 0
11 1

又如:c= a^b ,电路上一个异或门;
地址依次升高,查找表可以配置(0,1,1,0);
对应 a b查找地址依次为(00,01,10,11);

   此时,可以看出,通过一个深度4,宽度1的查找表,即可实现 2输入的,与,异或,同或,或等任意逻辑。此表可以配置,通过配置查找表的不同条目存储的数据内容,对外呈现出不同的数字逻辑基本单元;
  这便是fpga可编程的原因;fpga工具软件会对verilog描述的电路完成复杂的映射,时序优化,布局布线。
  也可以看出,fpga可编程性是牺牲了基本的逻辑单元的面积的,本来一个与门实现的功能,要用一个查找表;所以一个专用数字芯片的功能,映射到fpga上需要的资源会变大很多;

单片机:

  单片机就比较简单了,在固定的电路上,通过c/Assembly 语言,映射成二进制文件,配置到写好的电路的寄存器,ram中;cpu自动取指令,解码,译码,执行指令,结合外围电路等,实现对外器件的控制;
  当然,如果了解cpu结构,接口技术,常用的协议等,用一个复杂点的fpga单板,配合良好的编码风格,可以给fpga编码,让fpga像单片机那样工作,
也就是说fpga通过使用硬件描述语言设计可以作为单片机使用文章来源地址https://www.toymoban.com/news/detail-793127.html

到了这里,关于FPGA和单片机什么区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 嵌入式单片机 TTL电平、232电平、485电平的区别和联系

    TTL、232和485是常见的串口通信标准,它们在电平和通信方式上有所不同, ①一般情况下TTL电平应用于单片机外设,属于MCU/CPU等片外外设; ②232/485电平应用于产品整体对外的接口,一般是片外TTL串口转232/485,232/485进行数据通信传输; 1、TTL电平 (1)TTL(Transistor-Transistor Log

    2024年04月15日
    浏览(38)
  • 嵌入式开发:单片机嵌入式Linux学习路径

    SOC(System on a Chip)的本质区别在于架构和功能。低端SOC如基于Cortex-M架构的芯片,如STM32和NXP LPC1xxx系列,不具备MMU(Memory Management Unit),适用于轻量级实时操作系统如uCOS和FreeRTOS。高端SOC如基于Cortex-A架构的芯片,如三星、高通、飞卡、全志和瑞芯微等,具备MMU,支持虚拟内

    2024年02月15日
    浏览(37)
  • 单片机读/写端口或引脚区别及具体1个用例(一种基于STC8G1K08A最小8脚嵌入式单片机LED安全夜灯方案)

    51单片机读引脚和读端口测试总结_单片机怎么读取引脚电平_爱嘟嘟的小屁孩的博客-CSDN博客 近期看了几篇有关单片机读/写端口或引脚的区别的文章,其中上面引用本CSDN的这篇文章,总结的2点感觉还不错,先引用一下: 1. 51单片机里对某一个I/O口进行读--改--写(例如上面的

    2024年02月08日
    浏览(39)
  • 51单片机和32单片机有什么区别?该从哪个开始入门学习?

    单片机 (microcontroller)是一种能够完成特定功能的微型电脑。它包含了中央处理器(CPU)、存储器(ROM、RAM)以及输入/输出接口(I/O)。单片机被广泛应用于各种电子设备中,如电子手表、电子计算器、家用电器、汽车电子、机器人等等。 目前市面上最常见的单片机有 51单

    2024年02月08日
    浏览(35)
  • 001_区分单片机、arm、DSP、FPGA(零基础也能区分)

    单片机是指一个集成在一个芯片上的完整计算机系统,最早的单片机由微处理器核心、存储器、输入输出端口和计时电路等基本部分组成。例如,Intel公司推出的第一款单片机是Intel 8048,它于1976年发布,包括一个8位的中央处理器、ROM、RAM、输入输出端口和计时电路等基本模

    2024年02月08日
    浏览(33)
  • 探索嵌入式开发领域:单片机、ARM、Android底层的紧密联系

    作为一个曾编写ARM教程和参与Android产品开发的专家,我发现单片机、ARM、嵌入式开发和Android底层开发之间存在紧密的联系。对于那些希望在嵌入式开发领域发展的人来说,了解这些领域的知识至关重要。为了帮助你更好地学习这些内容,我总结了一些嵌入式资料,你可以在

    2024年02月11日
    浏览(36)
  • 【嵌入式开发学习】__扒一扒单片机串口IAP原理

    目录 一、什么是IAP? 二、串口IAP实验 1. 实验说明 2. 工程说明 IAP工程: LED工程: 3. IAP源码说明  (1)主函数: (2)主菜单函数Main_Menu (3)下载程序功能函数SerialDownload  4、下载验证 (1)下载IAP程序  (2)通过IAP程序引导下载LED程序 (* ̄︶ ̄)创作不易!期待你们的 点

    2024年02月20日
    浏览(36)
  • 嵌入式物联网单片机项目开发实例-4G DTU边缘数据采集网关开发

    链接:https://pan.baidu.com/s/163D-kElFqXov629YaSrWDw?pwd=1688 提取码:1688 [1.EC200S_STM32F103_4G CAT1网络TCP和UDP的透传字符串] [2.EC200S_STM32F103_4G CAT1网络TCP和UDP的透传十六进制包含0x00] [3.EC200S_STM32F103_4G CAT1通过外置MQTT协议发送定位和固定数据到ONENET] [4.EC200S_STM32F103_4G CAT1通过外置MQTT协议发送

    2024年01月16日
    浏览(37)
  • STM32和51单片机有什么区别

    在项目开发过程中,我们经常会遇到单片机选型的需要,所以我们往往会根据项目的功能需求选择合适的品牌和型号。常见的51单片机和STM32单片机也将是我们主要考虑的机型。 STM32和51单片机参数区别 核心不一样。STM32系列有很多内核版本,包括cortex-m1/M4/M7内核。常用的单片

    2024年02月03日
    浏览(37)
  • 单片机 嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE)

    单片机 嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE) KEI官网:www.keil.com         Keil与MDK(Microcontroller Development Kit)是同一个软件开发工具套件的不同名称。         Keil是一家德国公司,而MDK是他们开发的一款集成开发环境(IDE),通常称为Keil

    2024年02月06日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包