白话微机:8.解释FPGA以及一些考研面试问题

 一. 前言(更新世界观)

        在“微机世界”,普通的城市(单片机)里,又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器”;地上有路,这些叫做“数据总线”,交通系统则统称为总线;这里也有行政部门,比如公安局之类的,又有个名字叫“寄存器”;有中央政府,政府又叫做“中央处理器(CPU)”,这里也会发生的一些自然灾害(内部中断)和人为活动(外部中断), I/O接口是城市(单片机)的城门和检查站,串行接口是连接城市与乡村的小路

        随着科学技术的进步,诞生了一种现代化城市诞生:RTOS(实时多任务操作系统),它有一个高效的城市管理系统:一整套完善的任务管理、调度和资源管理机制,能够同时处理多个任务,并根据任务的优先级和需求进行合理的调度和分配资源。除此以外,还诞生了一种专门的高科技工业园区——DSP数字信号处理器),这个园区专注于处理和改造一种特殊的资源——“信号”。这个工业园区配置有高效的专用机械,能够快速、精确地处理来自各地(输入设备)的原始信号材料,这些原始信号就是未经加工的天然资源,比如矿石或原油,它们需经过这个园区内的精炼和加工,才能转化为有用的材料或产品。

        而本篇文章介绍的是在科技更加发达的时代,诞生的一座可变式城市——FPGA(现场可编程门阵列),在这座城市里,所有设施都是由许多可变换形态的机器人组成的,在同一块土地上这些“变形金刚”能够接受特定的设计蓝图(配置文件),然后自己重组内部结构(逻辑门和布线),从而组成住宅区、商业区、工业区等不同功能的区域,并且随意更改。有一点抽象,三种城市概念图对比如下所示。

 二. FPGA(可变式城市)

        [1]FPGA/CPLD有什么特点?各包含几个基本组成部分?二者在存储逻辑信息方面有什么区别?在实际使用中什么时候选用FPGA?什么时候选用CPLD?

        (1)结构上:

        FPGA(现场可编程门阵列)是一座灵活且功能强大的可变式城市,用于大规模、复杂的逻辑设计,因为其内部有大量的可编程逻辑单元和连线,能够实现复杂的功能和高性能由三个基本组成部分构成:

  1. 可编程逻辑单元(PLU):这些相当于小型、灵活的“变形金刚”式住宅,(组成单元小,可以组成更复杂的建筑,类似于搭积木中的每一块积木很小)可以根据居民(数据和逻辑功能)的需求进行重建和配置。
  2. 可编程输入/输出单元(I/O):即城门(同普通的单片机),是城市与外界交流的门户,可以根据外部的路径和需求进行调整。
  3. 可编程连线:这些是城市内部的道路,可以根据交通流量的变化进行重新布线,以确保数据流动的高效和灵活。

        CPLD(复杂可编程逻辑设备)则是相对简单的城市区域,也有三个基本组成部分,通常用于简单或中等复杂度的逻辑设计,生产量不大的项目。因为其结构较为简单,编程较为方便,通常拥有较快的固定传输延迟(搭积木搭得快):

  1. 可编程逻辑单元(PLM):是预置的大型“变形金刚”,(组成单元大,可操作性较小,类似于搭积木中的每一块积木很小),可以进行一定程度的自定义和编程。
  2. 可编程输入/输出单元(I/O):同上。
  3. 可编程连线:同上

        (2)存储信息上:

  • FPGA城市的机器人数量多、体积小、密度大(有更高的密度和更多的逻辑单元),所以可以搭建的房屋数量也多(可以存储更多的逻辑信息),掉电后会丢失配置信息,因此需要在上电时从外部存储器(如ROM)重新加载配置。
  • CPLD城市的机器人数量小、体积大、密度小,所以可以搭建的房屋数量也少且结构简单,但搭得快(存储的逻辑信息较少,但其结构简单,通常掉电后依然保留配置信息,这使得它们在上电时启动更快)。

        (3)实际使用中:

  • 选择FPGA通常是因为需要高度灵活性和处理复杂逻辑功能的能力,或者项目的设计经常更改。
  • 选择CPLD更适合于较小规模、逻辑简单、启动速度要求快、生产批量不大的应用场景。

    [2]ASIC与FPGA在概念上有什么区别?

       (1)ASIC城市可以理解为早期发展的FPGA城市,城市里也有许多可变化的“变形金刚”式的住房,但是这里的机器人只听一次命令,即城市在建造之初规划的住房功能和结构,一旦建成,道路、建筑和设施就固定下来,无法更改

       (2)FPGA城市里的机器人(可编程逻辑单元)可以按照特定需求配置和编程随时更改

    [3]在FPGA和CPLD的应用开发中应该考虑哪些因素?

  1. 器件的逻辑资源量的选择: 即选择一个城市建设用地的面积,你需要确保城市(器件)有足够的土地(逻辑资源)来建造所有必要的建筑(实现所需的逻辑功能)。如果逻辑复杂,你就需要更多的土地(FPGA),而对于简单的功能,一个小型的地块(CPLD)就足够了。

  2. 芯片速度的选择: 即规划城市的交通系统。一个现代化的大都市(高速FPGA)需要快速的公路和交通网络来保证数据流动和处理速度,而小城镇(低速CPLD)的道路就不需要那么发达,因为交通(数据流)不那么繁忙。

  3. 器件功耗的选择: 在确定一个城市的电力需求时,一个大都市(高功耗FPGA)会需要一个大型的电站,而小城镇(低功耗CPLD)则可能只需要一个小型发电机。功耗直接影响着运营成本和能源效率,这在电子产品设计中尤为关键。

  4. FPGA/CPLD的选择看开发项目本身的需要): 根据项目需求,就像规划城市一样,如果需要快速建设和灵活性(FPGA),或者是预算有限并且对性能要求相对较低(CPLD),选择合适的器件就如同选择建设一个大都市或小镇。

  5. FPGA和CPLD封装的选择: 即建筑设计中选择正确的建筑材料和风格,封装决定了器件在物理空间中的占用和与其他器件的互连方式。其中包括封装的大小、引脚数以及热管理等因素。

  6. 其它因素的选择(各家公司产品各不相同): 即选择建筑承包商,不同的产品供应商可能会提供不同的服务和产品特性。这包括技术支持、成本、交付时间、器件的性能和易用性等。你会选择最适合你的城市(项目)需求的合作者。

    [4]现代EDA技术的特点有哪些?

        现代EDA(电子设计自动化)技术是一种高效的城市规划和管理工具,它帮助城市(电子系统)规划者和管理者(设计工程师)创建、测试、优化并实现复杂的城市结构(电路设计)。主要有以下四个特点:

  1. 采用硬件描述语言(HDL) 进行设计: 即城市规划师使用特定的蓝图语言来详细描绘建筑设计,硬件描述语言(HDL)允许工程师以文本形式描述电子系统的硬件功能和结构,从而指导“变形金刚”(FPGA等可编程硬件)如何根据这些描述改变它们的结构。HDL使得设计可以在高层次进行抽象,而不是仅仅在物理层面上操作。

  2. 逻辑综合与优化: 即将城市蓝图转化为实际的建筑物,并进行优化以确保效率和成本效益,逻辑综合工具将HDL描述转化为可以在实体硬件上实现的逻辑网表。这包括选择最适合的逻辑元件、布局和连接方式,以确保电路在速度、资源使用和功耗方面是优化的。

  3. 开放性和标准化: 建筑标准和城市规划准则确保不同建筑师设计的结构能够和谐共存,EDA工具的开放性和标准化确保了不同设计师和团队可以共享、理解和重用彼此的设计。标准化的设计和模块化方法促进了更广泛的协作和兼容性,同时也加速了创新。

  4. 更完备的库(Library): 一个城市拥有各种公共设施和服务库,以便居民和建筑师可以利用,EDA工具提供了一个丰富的组件库。这些库包含了许多预先设计和优化的模块,如标准的逻辑门、寄存器、存储器元素等,设计师可以调用这些模块来快速构建复杂的系统,而不需要从头开始设计每个部分。

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

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

相关文章

吴恩达机器学习全课程笔记第三篇

目录 前言 P42-P48 神经元和大脑 神经网络中的层 更复杂的神经网络 前向传播(做出预测) P49-P53 代码中的推理 构建一个神经网络 P54-P60 矩阵乘法 TensorFlow框架实现神经网络 前言 这是吴恩达机器学习笔记的第三篇,第二篇笔记…

解决elementUI固定列后,下方多了一条横线的问题

最近遇到一个bug,如下图,el-table的操作列使用fixed属性固定后,下方多了一条横线: 我们将样式设置高优先,以覆盖内联样式,如下是less里使用穿透样式解决的办法: <style lang="less" scoped> /deep/ .el-table__fixed-right {height: 100

uni-app 开发调试自动打开手机屏幕大小界面(Aidex移动端开发项目)

上效果&#xff1a; 下载Aidex的移动端项目并打开&#xff1a; 若依-ruoyi-AiDex-Uniapp: 若依-Ruoyi APP 移动解决方案&#xff0c;基于uniappuView封装的一套基础模版&#xff0c;开箱即用&#xff0c;免费开源&#xff0c;一份代码多终端适配&#xff0c;支持H5、支付宝小程…

阿里云香港轻量应用服务器网络线路cn2?

阿里云香港轻量应用服务器是什么线路&#xff1f;不是cn2。 阿里云香港轻量服务器是cn2吗&#xff1f;香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器&#xff0c;通过mtr traceroute测试了一下&#xff0c;最后一跳是202.97开头的ip&#xff0c;1…

UE蓝图 入口(FunctionEntry)节点和源码

系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 UE蓝图 入口(FunctionEntry)节点和源码 文章目录 系列文章目录一、FunctionEntry节点功能二、入口节点用法1. 创建函数2. 命名函数3. 定义参数4. 编写函数逻辑5…

喜讯 | 重庆炼石入选重庆市科技局科技型企业

近日&#xff0c;重庆炼石网络技术有限公司&#xff08;以下简称“重庆炼石”&#xff09;经过严格审查&#xff0c;获得由重庆市科学技术局备案、重庆生产力促进中心&#xff08;重庆市科技型企业系统受托管理单位&#xff09;发证的《重庆市科技型企业备案证书》&#xff0c;…

国产洗地机品牌哪个好?热门品牌洗地机推荐

随着人们生活节奏的加快和生活压力的增加&#xff0c;“懒人好物”逐渐成为消费热点。在家庭清洁方面&#xff0c;吸尘器是最早被广泛接受的工具&#xff0c;但随着人们对便捷性和效率的需求增加&#xff0c;家用洗地机和扫地机器人等新型清洁工具开始受到欢迎。这些工具的出现…

入门OpenCV:图像阈值处理

图像阈值是一种简单、高效的图像分割方法&#xff0c;目的是将图像转换成二值图像。这个过程涉及比较像素值和阈值&#xff0c;根据比较结果来确定每个像素点的状态&#xff08;前景或背景&#xff09;。图像阈值在处理二维码、文本识别、物体跟踪等领域中非常有用。本博客旨在…

【图片公式识别】图片公式转Word与LaTeX文档:智能识别与转换

前言 嘿&#xff0c;大家好呀&#xff01;&#x1f44b; 谁都知道&#xff0c;写 Word 文档里的公式可不是一件简单的事情&#xff01;你辛辛苦苦在键盘上敲出的数学公式&#xff0c;结果随着 Word 版本的更新&#xff0c;竟然变成了一张图片&#xff01;&#x1f624; 这简直就…

微信小程序video 点击自动全屏播放

//因为这个地址可能是图片也可能是视频 点击 图片可以预览&#xff0c;点击视频可放大全屏自动播放。 代码如下 <view v-else :class{contentImg: x.picture.length0} style"margin-top: 10px;"v-for"(x1, y1) in x.picture" :key"y"><…

k8s(3)

目录 一.K8S的三种网络 flannel的三种模式: 在 node01 节点上操作&#xff1a; calico的 三种模式&#xff1a; flannel 与 calico 的区别&#xff1f; 二.CoreDNS 在所有 node 节点上操作&#xff1a; 在 master01 节点上操作&#xff1a; ​编辑 DNS 解析测试&#…

二叉树基础知识总结

目录 二叉树基础知识 概念 : 根节点的五个形态 : 特殊的二叉树 满二叉树 : 完全二叉树 : 二叉搜索树 : 平衡二叉搜索树 : 二叉树的性质 : 二叉树的存储结构 二叉树的顺序存储结构 二叉树的链式存储结构 二叉树的遍历方式 : 基础概念 前中后遍历 层序遍历 :…

新年新策略:2024数字化转型宝典,锁定趋势预测与关键部署策略

官.网地址&#xff1a;合合TextIn - 合合信息旗下OCR云服务产品 2024年是实现“十四五”规划目标任务的关键一年&#xff0c;以数字化驱动生产方式、生活方式和治理方式全面变革依旧是重中之重而作为数字化转型的助推器&#xff0c;信创同样是实现相关规划目标的一大抓手&…

OpenAI Sora引领AI跳舞视频新浪潮:字节跳动发布创新舞蹈视频生成框架

OpenAI的Sora已经引起广泛关注&#xff0c;预计今年AI跳舞视频将在抖音平台上大放异彩。下面将为您详细介绍一款字节跳动发布的AI视频动画框架。 技术定位&#xff1a;这款框架采用先进的diffusion技术&#xff0c;专注于生成人类舞蹈视频。它不仅能够实现人体动作和表情的迁移…

从零开始学习Netty - 学习笔记 - NIO基础 - 网络编程: Selector

4.网络编程 4.1.非阻塞 VS 阻塞 在网络编程中&#xff0c;**阻塞&#xff08;Blocking&#xff09;和非阻塞&#xff08;Non-blocking&#xff09;**是两种不同的编程模型&#xff0c;描述了程序在进行网络通信时的行为方式。 阻塞&#xff08;Blocking&#xff09;&#xff1…

电商平台商家结算

本文主要分析了目前电商清结算的流程以及自己对电商清结算的看法。 基本概念 先说下电商平台清结算的概念。简单说就是收的用户&#xff08;C端&#xff09;的付款&#xff0c;经过清分&#xff0c;再结算给对应商家。当然&#xff0c;这里排除那种资金不通过第三方&#xff0c…

django自定义后端过滤

​ DRF自带的过滤 第一个 DjangoFilterBackend 是需要安装三方库见[搜索&#xff1a;多字段筛选]两外两个是安装注册了rest_framework就有。 如上图&#xff0c;只要配置了三个箭头所指的方向&#xff0c;就能使用。 第一个单字段过滤 用户视图集中加上filterset_fields …

linux 系统的目录结构

为什么某些执行程序位于/bin、/sbin、/usr/bin或/usr/sbin目录下&#xff1f;例如&#xff0c;less命令位于/usr/bin目录下。为什么不是/bin、/sbin或/usr/sbin&#xff1f;这些目录之间有什么区别呢&#xff1f; 在这篇文章中&#xff0c;让我们主要讲述一下Linux文件系统结构…

IP协议及相关技术协议

一、IP基本认识 1. IP的作用 IP在TCP/IP模型中处于网络层&#xff0c;网络层的主要作用是实现主机与主机之间的通信&#xff0c;而IP的作用是在复杂的网络环境中将数据包发送给最终目的主机。 2. IP与MAC的关系 简单而言&#xff0c;MAC的作用是实现“直连”的两个设备之通信…

【深入理解设计模式】 工厂设计模式

工厂设计模式 工厂设计模式是一种创建型设计模式&#xff0c;它提供了一种在不指定具体类的情况下创建对象的接口。在工厂设计模式中&#xff0c;我们定义一个创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂设计模式的目…