【笔记】【FPGA】 简单组合逻辑

简单组合逻辑

组合逻辑

​ 组合逻辑电路的特点是输出信号只是当前时刻输入信号的函数,与其他时刻的输入状态无关,无存储电路,无反馈电路。

多路选择器

​ 多路选择器就是数据选择器。在多路数据传送过程中,能够根据需要将其中任意一路选择出来。

  • 模块IO图

在这里插入图片描述

  • 真值表

在这里插入图片描述

  • 波形图

在这里插入图片描述

译码器

​ 译码是编码的逆过程,译码器可以将输入的二进制数转化为表示其原来含义的输出信号。是一类多输入多输出的组合逻辑器件,可以分为变量译码和显示译码两类。

  • 模块IO图

  • 在这里插入图片描述

  • 真值表

  • 在这里插入图片描述

  • 波形图

  • 在这里插入图片描述

半加器

​ 加法器是数字电路中的一种基本器件,主要用于两个数或者多个数的加和,加法器包括半加器全加器。半加器是指两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。全加器的输入除了两位加数,还包括上一级传来的进位信号。

  • 模块IO图

在这里插入图片描述
)]

  • 真值表
    在这里插入图片描述

  • 波形图
    在这里插入图片描述

层次化设计

​ 数字电路中根据模块层次不同有两种基本的结构设计方法:自底向上自顶向下。、

自底向上:从基本单元出发,由基本单元构建高层单元,依次向上直至构建系统。

自顶向下:从系统级开始,把系统分为基本单元,然后再把每个单元划分为下一层次的基本单元,直到可以用EDA元件库中的原件实现为止。

​ 混合使用:自顶向下设计结构,自底向上设计基本模块,直至中间融合。

全加器

​ 利用两个半加器实现一个全加器模块。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

避免Latch的产生

​ Latch就是锁存器,是一种在异步电路系统中,对输入信号电平敏感的单元,用来存储信息。

​ 锁存器在数据未锁存时,输出端随输入信号的变化而变化,相当于缓冲器。一旦数据被锁存,输入信号不起作用。

  • 异步电路与同步电路

    • 异步电路:主要是组合逻辑电路,用于生成FIFO或RAM的读写控制信号脉冲。但它同时也用在时序电路中,此时没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只有在电路稳定的时候才发生变化。
    • 同步电路:同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,所有操作都是在严格的始终控制下完成的。这些时序电路共享一个CLK信号,所有的状态变化都是在时钟的边沿完成的。
  • 避免Latch的产生

    • Latch只有在组合逻辑中才能产生,并且在异步电路中十分重要,替代寄存器实现数据的存储,但是在同步电路中要尽量避免Latch的产生
    • Latch的危害
      • 对毛刺敏感
      • 不能异步复位(上电不定态)
      • 复杂的静态时序分析
      • 占用更多的逻辑资源
      • 额外的延时
    • 几种产生Latch的情况
      • 组合逻辑中if-else语句缺少else
      • 组合逻辑中case语句条件未列举完全,且缺少default语句
      • 组合逻辑中输出变量赋值给自己
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
作为一名FPGA工程师,你可以通过以下方法来进行学习和实践: 1. 首先,熟悉FPGA的基础语法和概念。这包括了理解数字电路和信号处理的基础知识,以及了解FPGA代码的规范写法。你可以参考引用中提到的方法,先学习基础语法,再扎实相关知识。 2. 掌握不同的FPGA设计方式。除了使用原理图设计方式,你还可以尝试使用描述语言(如Verilog)进行设计。Verilog已经在FPGA开发和IC设计领域占据了领导地位,可以更好地满足实际项目的需求。你可以参考引用中的内容,了解Verilog的基础知识和逻辑电路的表示方式。 3. 在实践中提高设计能力。通过实际的项目设计和实现,你可以进一步提高自己的FPGA工程能力。尝试使用不同的开发工具,熟悉开发流程和操作。在实践中,你可以学习解决实际问题的方法和技巧,提高自己的设计能力。 4. 注意资源的合理使用。在FPGA设计中,要慎用%和/运算符,因为它们可能会消耗大量的资源。如果你的FPGA有内嵌的硬件乘法器或者除法器,可以使用它们来代替%,/运算符。而对于乘或除2的倍数次的操作,可以使用位移运算符来代替,这样可以减少资源的消耗。参考引用中的内容了解更多关于资源消耗的注意事项。 总结起来,作为一名FPGA工程师,你需要熟悉FPGA的基础语法和概念,掌握不同的设计方式,通过实践不断提升自己的设计能力,并注意资源的合理使用。这样,你将能够更好地进行FPGA工程师的学习和实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值