0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解FPGA的基本电路结构

潘文明 来源:明德扬吴老师 作者:明德扬吴老师 2022-03-24 11:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第二章 FPGA知识大串讲02_知识串联

作者:潘文明

本文为明德扬原创文章,转载请注明出处!

在上一篇文章中,我们概括地讲述了FPGA的一些学习误区。本文我们将FPGA的关键知识串联起来,系统地介绍各个知识点所处的层次和位置,为后面几仿篇文章的详细讲解做好铺垫。

第1节 FPGA的基本电路结构

详解FPGA的基本电路结构

首先,我们来讲解一下FPGA的基本电路结构。请看上图中左边红色方框,该方框内包含了组合逻辑电路以及一个D触发器。组合逻辑里可能是加法器、减法器、选择器,甚至是什么都没有,就是连线;组合逻辑的输出将连接到D触发器的输入端;D触发器在时钟的驱动下,将组合逻辑的运算结构,输出到D触发器的输出端。

这就是一个FPGA的基本电路结构,而这个电路结构则与VERILOG中的一个ALWAYS对应,如下面的代码

详解FPGA的基本电路结构

上面代码在综合器的作用下,其综合的FPGA电路结构,也是组合逻辑+D触发器的形式。其中组合逻辑由比较器(cnt==0、cnt==1、cnt==2就是比较器)、选择器(从1、2、3或者保持不变中选择)等组成;D触发器的时钟就是代码中的clk,输入则是组合逻辑的结果,输出则是信号cnt。

有读者可能会对基本电路结构有疑问,难道所有代码都这样结构吗?例如下面代码中的add_cnt0和end_cnt0信号,它是由assign设计的,它们就没有D触发器。

详解FPGA的基本电路结构

单纯只看add_cnt0和end_cnt0的代码,貌似是没有D触发器,但仔细看第5行和第6行,这个两个信号是参与了判断(事实就是选择器),决定了D触发器的输出cnt0。即从add_cnt0到cnt0之间,就是组合逻辑+D触发器的结构。

FPGA代码是由一个又一个ALWAYS代码组成的,这说明FPGA的绝大部分电路,就是由一个又一个“组合逻辑+D触发器”的电路组合起来的,如下图

详解FPGA的基本电路结构

上面这种结构是我们设计的基本单位。这种结构还有一种隐含的意思:组合逻辑决定电路的运算及功能,D触发器就像一个节点,将运算结果保存下来,为下一级运算作准备。FPGA代码设计过程,就像是设计一个功能,保存一下,设计下一个功能,保存一下。文字难以描述,请读者认真体会体会。

还有注意的是,上面推荐的是“组合逻辑+D触发器”结构思维,不要使用“D触发器+组合逻辑”思维,这种思维是不正确的。

详解FPGA的基本电路结构

再看上图,为什么说FPGA代码里,各个ALWAYS是并行的呢?从上图就很容易理解了。图中可以看到,三个D触发器都连接时钟CLK。当时钟CLK的上升沿的时候,这三个D触发器将同时受到此信息,同时将D触发器的输入值给到输出。这些电路都是同时工作的,不存在谁先谁后的。没有所谓说这个电路在工作,另一个不在工作的情况。

这个就是FPGA 的基本电路结构,读者务必做到非常清楚这个电路结构,这是我们后面描述的一个重要基础。

第2节 FPGA的知识点

我们在FPGA基础电路结构图的基础,将FPGA的所有知识点串联起来,然后通过4篇文章,逐一进行详细的讲解。

详解FPGA的基本电路结构

1. 先讲述组合逻辑部分。组合逻辑是由加法器、减法器、比较器、选择器等电路组成的,所以一开始我们要理解组合逻辑的电路有哪些类型;然后据此掌握这些类型的VERILOG代码的写法;接下来讨论这些组合逻辑的时序,引出组合逻辑才有的竞争和冒险现象,最后提出竞争和冒险的解决方法。

详解FPGA的基本电路结构

2. 完成组合逻辑的讲述后,我们将讨论D触发器。首先会讲解D触发器的结构,进而会讲述D触发器的时序,讨论D触发器时序与组合逻辑的异同。从D触发器时序中,有一个非常重要的概念:建立时间和保持时间。如果建立时间和保持时间不满足,就会有一个叫亚稳态的情况。亚稳态有什么危害,亚稳态出现的场合有哪些。在明确了出现的场合后,就要想办法解决亚稳态问题,提出了亚稳态的解决方法。其解决方法分两种:一种是单一信号,也就是一比特信号的解决方法;还有一种是多比特信号的解决方法。

详解FPGA的基本电路结构

3. 讲完了D触发器之后,我们将把组合逻辑和D触发器联合起来。前面已经讲魔神,组合逻辑+D触发器是一个正确的的电路结构。有正确,那么就不正确,根据收集读者的反馈情况,我们列出了一些经常会犯的、不合理的结构。之后将讨论这个基本结构的时序;接下来是讲述如何用VERILOG来实现。实现的话,就有行为描述以及状态机的实现这几种方法了。

详解FPGA的基本电路结构

4. 最后一部分,我们将单独对时钟进行讲解。时钟是FPGA的一个基础,是一个很重要的概念,是FPGA设计的重点和难点。首先我们将讲述时钟的概念;然后是时钟抖动SKEW和时钟频率。经常有被问到:我这个电脑CPU能跑1G,他那个电脑CPU能跑2G,这就是使用频率。那这个频率取决于什么因素,为什么有些跑得快,有些跑得慢?这个问题将引出关键路径的概念。为了提高时钟频率,我们可以怎么做?流水线的设计!!!

以上就是我们FPGA 的所有知识点,将其展示到一张图,方便读者使用。

详解FPGA的基本电路结构

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22519

    浏览量

    639758
  • 电路
    +关注

    关注

    173

    文章

    6090

    浏览量

    178980
  • 结构
    +关注

    关注

    1

    文章

    119

    浏览量

    22436
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ATX电源电路分析详解开关电源的原理

    ATX电源电路分析详解开关电源的原理,WORD版,图文并茂,详细说明各个元件在电路中的作用。适合初学者
    发表于 03-29 16:47 3次下载

    热插拔电路设计利器——MAX15091详解

    热插拔电路设计利器——MAX15091/MAX15091A详解 在电子设备的实际应用中,热插拔功能的重要性日益凸显。它允许在系统带电运行的情况下安全地插入或移除电路板,这不仅提高了系统的可维护性,还
    的头像 发表于 02-09 10:40 218次阅读

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    的基础概念和实践方法。一、FPGA与MCU/MPU的区别MCU/MPU:顺序执行程序,CPU负责所有逻辑FPGA:可编程逻辑阵列,逻辑电路可按需求重新配置,实现并
    的头像 发表于 01-19 09:05 762次阅读
    <b class='flag-5'>FPGA</b> 入门必看:Verilog 与 VHDL 编程基础解析!

    MarketsandMarkets FPGA行业报告,2026~2030 FPGA市场洞察

    ,Field-Programmable Gate Array)是一种高度灵活、可重构的集成电路。与传统 ASIC 不同,FPGA 制造完成后仍可以在终端重新编程,在 高性能并行计算、实时信号处理、通信加速 等领域具有独特优势。   根据 Mark
    的头像 发表于 11-20 13:20 824次阅读
    MarketsandMarkets <b class='flag-5'>FPGA</b>行业报告,2026~2030 <b class='flag-5'>FPGA</b>市场洞察

    嵌入式与FPGA的区别

    器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解.决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
    发表于 11-20 07:12

    嵌入式和FPGA的区别

    ,芯片内部的门电路连接在出厂时就已固定,无法更改,它们的功能是通过软件编程也就是嵌入式软件来实现的。 FPGA(现场可编程门阵列) 则是一种可编程逻辑器件,其硬件结构可以通过编程来配置,实现各种数字
    发表于 11-19 06:55

    基于瑞芯微 RK3588 的 ARM 与 FPGA 交互通信实战指南

    本文围绕创龙科技研发的 TL3588-EVM 评估板,详解瑞芯微 RK3588 与 FPGA 基于 PCIe 总线的通信案例,包括 DMA 与非 DMA 两种方式。涵盖案例功能、测试流程、编译步骤
    的头像 发表于 11-04 16:09 816次阅读
    基于瑞芯微 RK3588 的 ARM 与 <b class='flag-5'>FPGA</b> 交互通信实战指南

    PC系列连接器的结构特点与安装方式详解

    作为工业连接系统的关键组件,PC系列小型圆形电连接器的结构设计直接决定其安装适配性与运行可靠性。从工程师视角来看,深入理解其结构特点与安装规范,是确保连接系统稳定运行的前提。电蜂优选基于大量现场应用数据,对该系列的结构特性及安装
    的头像 发表于 10-09 15:07 1970次阅读
    PC系列连接器的<b class='flag-5'>结构</b>特点与安装方式<b class='flag-5'>详解</b>

    3842充电器电路图资料

    3842充电器电路详解
    发表于 09-12 16:50 15次下载

    利用英特尔Agilex FPGA应对PQC与CRA挑战

    当下,半导体行业的安全需求正经历深刻演变,后量子密码学(PQC)与 《网络弹性法案》(CRA)成为绕不开的重要议题。跟随本文一起,深入剖析这两大趋势带来的挑战,并详解 Altera Agilex 3、Agilex 5 FPGA 及 SoC 的全新功能,如何为行业构建面向未
    的头像 发表于 08-08 17:11 4520次阅读
    利用英特尔Agilex <b class='flag-5'>FPGA</b>应对PQC与CRA挑战

    电流探头核心结构与功能详解

    断开电路,广泛应用于开关电源、电机驱动、新能源设备等场景的电流特性测试。以下从技术原理到结构细节展开详细说明: 一、工作原理与技术基础 电流探头的核心工作机制可分解为三个阶段: 磁场感应 :被测电流在导线周围产生
    的头像 发表于 06-25 14:15 1101次阅读

    大电流(电机)电流采样电路分享与详解

    一、电路分享二、电路详解电路中电流采样主要通过电阻R1和芯片LTC6102进行1、LTC6102简介LTC6102/LTC6102HV是多功能、高压、高边电流检测放大器。高电源电压额定
    的头像 发表于 06-09 19:35 1850次阅读
    大电流(电机)电流采样<b class='flag-5'>电路</b>分享与<b class='flag-5'>详解</b>

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 2220次阅读

    FPGA的定义和基本结构

    专用集成电路( ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 简而言之, FPGA
    的头像 发表于 05-15 16:39 3023次阅读
    <b class='flag-5'>FPGA</b>的定义和基本<b class='flag-5'>结构</b>

    FPGA芯片的概念和结构

    FPGA(Field Programmable Gate Array,现场可编程门阵列),是一种可在出厂后由用户根据实际需求进行编程配置的集成电路。与专用集成电路(如ASIC)不同,FPGA
    的头像 发表于 05-12 09:30 3266次阅读