FPGA学习笔记(1)——初识FPGA


前言

本专栏记录博主跟随野火教程学习FPGA的过程,内容为教学内容的笔记与自己的学习总结。教程连接如下:野火FPGA教程


一、FPGA原理与结构

这一部分内容主要参考书籍《数字电子电路基础第六版》——阎石中附录一对FPGA的介绍
FPGA:Field Programmable Gate Array,现场可编程逻辑门阵列。
FPGA由许多的“可组态逻辑模块”(CLB:Configurable Logic Block)、输入/输出单元(IOB:I/O Block)和分布式的可编程互联矩阵(PIM:Programmable Interconnection Matrix)组成。
FPGA中的可编程的连接元件是一个MOS管,它的开关状态由静态随机存储器SRAM中的一位存储单元的数据控制。
在这里插入图片描述
FPGA结构的示意型框图:
在这里插入图片描述
每个CLB可以通过PIM连接其他CLB,CLB由查表逻辑辅助逻辑组成。
在这里插入图片描述

1.查表逻辑电路

查表逻辑电路实际上是译码器和线或连接形成的。以三变量为例:
在这里插入图片描述
译码器输出全部最小项,SRAM控制的存储单元若为1则打开对应通道进行线或,否则关闭通道,最终得到积之和,即SOP:Sum of Products

2.辅助逻辑电路

辅助逻辑电路一般与下图结构类似,一般由数个数据选择器和一个或两个触发器构成。
在这里插入图片描述


FPGA的I/O口可以被编程为双向传输缓冲器。
**FPGA 可编程是指三个方面的可编程:可编程逻辑块、可编程 I/O、可编程布线资源。**结构图如下:
在这里插入图片描述
另外存储变成数据的SRAM因为是易失性的,因此常常配置一个E2PROM或者闪存存储编程数据,启动或者复位后重新写入SRAM。
在这里插入图片描述

二、FPGA优势以及应用场景

FPGA相较于单片机,应用场景少,而且又贵,有什么独特的地方呢?总结起来是以下几点:灵活高效、高吞吐量、低批量延时、快速并行运算、可重构、可重复编程、可实现定制性能和定制功耗的情况,这些工作只能 FPGA 胜任

1.优势

  1. 灵活性:通过对 FPGA 编程,FPGA 能够执行 ASIC 能够执行的任何逻辑功能。
  2. 上市时间:由于 FPGA 买来编程后既可直接使用,FPGA 方案无需等待三个月至一年
    的芯片流片周期,为企业争取了产品上市时间。
  3. 成本:FPGA 与 ASIC 主要区别在 ASIC 方案有固定成本而 FPGA 方案几乎没有,超过某一使用量后,ASIC 方案由于大量流片产生了规模经济,在成本上更有优势。
    在这里插入图片描述

2.应用场景

视频图像处理:用 FPGA 做 图像处理最关键的一点优势就是:FPGA 能进行实时流水线运算,能达到最高的实时性。因此在一些对实时性要求非常高的应用领域,做图像处理基本只能用 FPGA。
高速接口数字信号处理编码/解码IC原型验证······

FPGA和数字芯片IC的区别

  1. FPGA项目时间较短。
  2. 时钟网络:FPGA的网络较简单,芯片复杂。
  3. FPGA EDA提供了复杂功能的IP核。
  4. FPGA:formality不用检查,布局布线EDA完成,语法约束更简单。
  5. FPGA不需要专门的验证。
  6. FPGA项目用处:显卡的核心,示波器,和IC验证一同对芯片验证。
FPGA自学笔记——设计与验证JMB FPGA(可编程逻辑门阵列)是一种可编程的硬件平台,可以实现各种数字电路的设计与验证。本文将简要介绍使用FPGA自学设计与验证JMB(低功耗、高效能、集成度高的多媒体芯片)的过程。 首先,我们需要了解JMB的功能和特性。JMB是一种面向多媒体应用的芯片,具备低功耗、高效能和高集成度的优势。我们需要详细研究JMB的硬件架构和内部模块,包括处理器核、存储器模块、图像和音频处理模块等。 接下来,我们可以使用FPGA开发板来设计和验证JMB。首先,我们需要熟悉FPGA设计工具,例如Vivado或Quartus等。这些工具提供了图形化界面和硬件描述语言(HDL)等设计方法。我们可以使用HDL编写JMB的功能模块,并将其综合为FPGA可执行的位流文件。 在设计完成后,我们需要验证JMB的功能和性能。我们可以使用仿真工具(例如ModelSim或ISE Simulator)来模拟JMB在不同情况下的行为。通过设计测试程序并运行仿真,我们可以验证JMB的各个模块是否正确地工作,是否满足设计要求。 在验证完成后,我们可以将位流文件下载到FPGA开发板中进行智能芯片的物理实现和测试。通过与外部设备的连接以及相关测试程序的运行,我们可以验证JMB在实际硬件中的功能和性能。 总结起来,学习FPGA设计与验证JMB,我们需要熟悉JMB的硬件架构和内部模块,并使用FPGA开发工具进行设计与验证。通过仿真和物理实现测试,我们可以验证JMB的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值