zoukankan      html  css  js  c++  java
  • 逻辑代数和卡洛图

    逻辑运算区别于算术运算的地方在于:逻辑运算每个变量都只有两种状态——0和1(特殊情况下会用到X)。由于这个特点,逻辑运算的基本规则和方法也是另有一套体系。

    当存在多个输入变量时,逻辑表达式的化简就显得尤为重要。逻辑表达式的化简需要遵循一些基本的规则(运算法则),具体的见下图:

    image

    化简的目的是为了得到一些特定形式表达式的组合,比如:最小项、最大项等。常用的是最小项,化简之后的结果也称之为积之和(SOP)。化简之后,我们可以通过门电路画出对应的逻辑图(如下图)。

    IMG_20180915_165614

    从最开始的需求(实现某某功能,比如译码器、加法器等)出发,我们能得到该功能对应的真值表。从真值表到最小项表达式需要借助卡洛图(数字电路必学)。

    下图所示的真值表,

    image

    用卡洛图表示为:

    IMG_20180915_172950

    化简的方法是把相邻(两端也算是相邻)的(偶数个)1合并,经过化简之后可以得到:

    image

    20180915173716

        有一点值得思考:FPGA中每个LUT只支持4输入或者6输入,如果真值表中输入变量有8个,这时应该怎么表示呢?一个8输入相当于两个4输入和一个2输入,从逻辑表达式上应该怎么化简?

        这个问题以后有机会再来讨论。

  • 相关阅读:
    git 创建项目
    【转载】Nginx-Lua模块的执行顺序
    【转】微信oauth授权过程
    vps
    【转载】centos安装字体
    【转载】TortoiseGit图标消失
    【转载】linux权限
    js 获取url 中的参数;
    手机下拉/上拉刷新(基于jq或者zepto)
    vscode快捷键
  • 原文地址:https://www.cnblogs.com/batianhu/p/9651592.html
Copyright © 2011-2022 走看看