FPGA:逻辑函数的代数法化简

news2024/11/19 7:23:51

文章目录

    • 逻辑函数的最简形式
    • 逻辑函数的代数化简法
        • 并项法
        • 吸收法
        • 消去法
        • 配项法
        • 示例1
        • 示例2

逻辑函数的最简形式

1.化简逻辑函数的意义

L = A B + A ˉ B + A ˉ B ˉ = ( A + A ˉ ) B + A ˉ B ˉ = 1 ⋅ B + A ˉ B ˉ = B + A ˉ \begin{aligned} L & =A B+\bar{A} B+\bar{A} \bar{B} \\ & =(A+\bar{A}) B+\bar{A} \bar{B} \\ & =1 \cdot B+\bar{A} \bar{B} \\ & =B+\bar{A} \end{aligned} L=AB+AˉB+AˉBˉ=(A+Aˉ)B+AˉBˉ=1B+AˉBˉ=B+Aˉ

image-20230112105112065

两个电路的逻辑功能完全相同。但简化电路使用的逻辑门较少,体积小且成本低。

化简的意义:根据化简后的表达式构成的逻辑电路简单,可节省器件,降低成本,提高工作的可靠性。

2.逻辑函数的常见表达形式

L = A C + C ˉ D A C ‾ ‾ ⋅ C ˉ ‾ D  “与-或" 表达式   “与非-与非" 表达式  = ( A + C ˉ ) ( C + D )  “或-与" 表达式  = ( A + C ˉ ) ‾ + ( C + D ) ‾ ‾  “或非-或非" 表达式  = A ˉ C + C ˉ D ˉ ‾  “与-或-非" 表达式  \begin{array}{rlrl} L & =\frac{A C+\bar{C} D}{\overline{\overline{A C}} \cdot \overline{\bar{C}} D} & & \text { “与-或" 表达式 } \\ & & \text { “与非-与非" 表达式 } \\ & =(A+\bar{C})(C+D) & & \text { “或-与" 表达式 } \\ & =\overline{\overline{(A+\bar{C})}+\overline{(C+D)}} & & \text { “或非-或非" 表达式 } \\ & =\overline{\bar{A} C+\bar{C} \bar{D}} & & \text { “与-或-非" 表达式 } \end{array} L=ACCˉDAC+CˉD=(A+Cˉ)(C+D)=(A+Cˉ)+(C+D)=AˉC+CˉDˉ “与非-与非表达式  “-表达式  “-表达式  “或非-或非表达式  “--表达式 

“与-或”表达式:也称为 “积之和 (Sum of Products,SOP)”表达式;

“或-与”表达式:也称为 “和之积(Products of Sum, POS)”表达式。

简化标准(最简的与-或表达式)

乘积项的个数最少(与门的个数少);
每个乘积项中包含的变量数最少(与门的输入端个数少)。

化简的主要方法:

1.公式法(代数法)
运用逻辑代数的基本定律和恒等式进行化简的方法。
2.图解法(卡诺图法)
逻辑变量的个数受限。

逻辑函数的代数化简法

方法:

并项法

A + A ˉ = 1 A+\bar{A}=1 A+Aˉ=1

  • L = A ˉ B ˉ C + A ˉ B ˉ C ˉ = A ˉ B ˉ ( C + C ˉ ) = A ˉ B ˉ L=\bar{A} \bar{B} C+\bar{A} \bar{B} \bar{C}=\bar{A} \bar{B}(C+\bar{C})=\bar{A} \bar{B} L=AˉBˉC+AˉBˉCˉ=AˉBˉ(C+Cˉ)=AˉBˉ

吸收法

A + A B = A A+A B=A A+AB=A

  • L = A ˉ B + A ˉ B C D ( E + F ) = A ˉ B L=\bar{A} B+\bar{A} B C D(E+F)=\bar{A} B L=AˉB+AˉBCD(E+F)=AˉB

消去法

$A+\bar{A} B=A+B $

  • L = A B + A ˉ C ‾ + B ˉ C ‾ = A B + ( A ˉ + B ˉ ) C = A B + A B C ‾ = A B + C \begin{aligned} L & =A B+\underline{\bar{A} C}+\underline{\bar{B} C}=A B+(\bar{A}+\bar{B}) C \\ & =A B+\overline{A B C}=A B+C \end{aligned} L=AB+AˉC+BˉC=AB+(Aˉ+Bˉ)C=AB+ABC=AB+C

配项法

A + A ˉ = 1 A+\bar{A}=1 A+Aˉ=1

  • L = A B + A ˉ C ˉ + B C ˉ ‾ = A B + A ˉ C ˉ + ( A + A ˉ ) B C ˉ = A B ‾ + A ˉ C ˉ ‾ + A B C ˉ ‾ + A ˉ B C ˉ ‾ = ( A B + A B C ˉ ) + ( A ˉ C ˉ + A ˉ C ˉ B ) = A B + A ˉ C ˉ \begin{aligned} L & =A B+\bar{A} \bar{C}+\underline{B \bar{C}}=A B+\bar{A} \bar{C}+(A+\bar{A}) B \bar{C} \\ & =\underline{A B}+\underline{\bar{A} \bar{C}}+\underline{A B \bar{C}}+\underline{\bar{A} B \bar{C}} \\ & =(A B+A B \bar{C})+(\bar{A} \bar{C}+\bar{A} \bar{C} B) \\ & =A B+\bar{A} \bar{C} \end{aligned} L=AB+AˉCˉ+BCˉ=AB+AˉCˉ+(A+Aˉ)BCˉ=AB+AˉCˉ+ABCˉ+AˉBCˉ=(AB+ABCˉ)+(AˉCˉ+AˉCˉB)=AB+AˉCˉ

示例1

已知逻辑函数表达式为 L = A ˉ B D ˉ + A B ˉ D ˉ + A ˉ B D + A B ˉ C ˉ D + A B ˉ C D L=\bar{A} B \bar{D}+A \bar{B} \bar{D}+\bar{A} B D+A \bar{B} \bar{C} D+A \bar{B} C D L=AˉBDˉ+ABˉDˉ+AˉBD+ABˉCˉD+ABˉCD

要求:(1)最简的与-或逻辑函数表达式,并画出逻辑图;
(2)仅用与非门画出最简表达式的逻辑图。

image-20230112110057584

L = A ˉ B ( D ˉ + D ) + A B ˉ D ˉ + A B ˉ ( C ˉ + C ) D = A ˉ B + A B ˉ D ˉ + A B ˉ D = A ˉ B + A B ˉ ( D + D ˉ ) = A ˉ B + A B ˉ  (与-或表达式)  = A ˉ ‾ B + A B ˉ ‾ = A ˉ ‾ B ⋅ A B ˉ ‾ ‾  (与非-与非表达式)  \begin{aligned} L & =\bar{A} B(\bar{D}+D)+A \bar{B} \bar{D}+A \bar{B}(\bar{C}+C) D \\ & =\bar{A} B+A \bar{B} \bar{D}+A \bar{B} D \\ & =\bar{A} B+A \bar{B}(D+\bar{D}) \\ & =\bar{A} B+A \bar{B} \text { (与-或表达式) } \\ & =\overline{\overline{\bar{A}} B+A \bar{B}} \\ & =\overline{\overline{\bar{A}} B \cdot \overline{A \bar{B}}} \text { (与非-与非表达式) } \end{aligned} L=AˉB(Dˉ+D)+ABˉDˉ+ABˉ(Cˉ+C)D=AˉB+ABˉDˉ+ABˉD=AˉB+ABˉ(D+Dˉ)=AˉB+ABˉ (-或表达式=AˉB+ABˉ=AˉBABˉ (与非-与非表达式

示例2

试对逻辑函数表达式 L = A ˉ B ˉ C + A B ˉ C ˉ L=\bar{A} \bar{B} C+A \bar{B} \bar{C} L=AˉBˉC+ABˉCˉ 进行变换,仅用或非门画出该表达式的逻辑图。

image-20230112110249383

L = A ˉ B ˉ C + A B ˉ C ˉ = A ˉ B ˉ C ‾ ‾ + A B ˉ C ˉ ‾ ‾ = A + B + C ˉ + A ˉ + B + C ‾ ‾ = A + B + C ˉ ‾ + A ˉ + B + C ‾ ‾ ‾ \begin{aligned} L & =\bar{A} \bar{B} C+A \bar{B} \bar{C}=\overline{\overline{\bar{A} \bar{B} C}}+\overline{\overline{A \bar{B} \bar{C}}} \\ & =\overline{A+B+\bar{C}+\overline{\bar{A}+B+C}} \\ & =\overline{\overline{\overline{A+B+\bar{C}}+\overline{\bar{A}+B+C}}} \end{aligned} L=AˉBˉC+ABˉCˉ=AˉBˉC+ABˉCˉ=A+B+Cˉ+Aˉ+B+C=A+B+Cˉ+Aˉ+B+C

参考文献:

  1. Verilog HDL与FPGA数字系统设计,罗杰,机械工业出版社,2015年04月
  2. Verilog HDL与CPLD/FPGA项目开发教程(第2版), 聂章龙, 机械工业出版社, 2015年12月
  3. Verilog HDL数字设计与综合(第2版), Samir Palnitkar著,夏宇闻等译, 电子工业出版社, 2015年08月
  4. Verilog HDL入门(第3版), J. BHASKER 著 夏宇闻甘伟 译, 北京航空航天大学出版社, 2019年03月

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PELT——Per Entity Load Tracking

0. 前言: 今天写第一篇Linux内核调度子系统的文章,首先整理PELT负载追踪方法,之前的基础知识在后续的文章中share出来。文章的写成基本上是在几位内核大佬的文章基础之上完成的,有些地方的文字是直接引用的,但本文只用…

SpringBoot上传文件到Minio服务器

前言 本文主要介绍如何使用SpringBoot上传到minio服务器。 没什么可多说的&#xff0c;公司用什么咱们开发研究什么就完事了。直接分享核心代码。 核心代码 minio依赖 <!-- minio依赖 --><dependency><groupId>io.minio</groupId><artifactI…

ArcGIS基础实验操作100例--实验91栅格欧式分配

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 空间分析篇--实验91 栅格欧式分配 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

第01讲:什么是kubernetes

一、什么是k8s&#xff1f; kubernetes&#xff0c;简称 K8s&#xff0c;是用 8 代替 8 个字符“ubernete”而成的缩写。是一个开源 的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes 的目标是让部署容器化的 应用简单并且高效(powerful),Kubern…

马蹄集 时刻求和

时刻求和 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 输入正整数N和M,空格分隔。把他们看作在12小时制的时刻&#xff08;小时&#xff09;求 和并输出&#xff0c;输出最小列宽为3列。 #include<bits/stdc.h> using namespace std; int…

linux篇【14】:网络http协议

目录 一.HTTP协议 1.认识URL &#xff08;1&#xff09;域名->必须被转化成为IP &#xff08;2&#xff09;URL中可以省略的部分 ①端口号可缺省 ②登录信息可以省略 ③当我们访问自己的服务器时&#xff0c;https可省略&#xff0c;端口号不可省 &#xff08;3&#x…

6.2、客户/服务器方式(C/S)对等方式(P2P方式)

网络应用程序运行在处于网络边缘的不同的端系统上&#xff0c;通过彼此间的通信来共同完成某项任务。 开发一种新的网络应用首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。\color{red}网络应用程序在各种端系统上的组织方式和它们之间的关系。网…

设计模式_创建型模式 -《建造者模式》

设计模式_创建型模式 -《建造者模式》 笔记整理自 黑马程序员Java设计模式详解&#xff0c; 23种Java设计模式&#xff08;图解框架源码分析实战&#xff09; 概述 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 分离了部件的构造&#…

Golang.org/x库初探2——text库

Golang有一个很有意思的官方库&#xff0c;叫golang.org/x&#xff0c;x可能是extends&#xff0c;experimental&#xff0c;总之是一些在官方库中没有&#xff0c;但是又很有用的库。最近花点时间把这里有用的介绍一下。 Golang.org/x库初探1——image库Golang.org/x库初探2—…

原创,探店,混剪,带货,获客,发布,更新,呆头鹅批量剪辑软件

一天轻松剪辑2000条&#xff0c;视频批量生成工具&#xff0c;短视频带货&#xff0c;电商卖家&#xff0c;媒体运营多场景应用视频剪辑分镜音频合成&#xff0c;一次解决&#xff01; 对于广大自媒体玩家最关心的话题&#xff0c;用了这个AI全自动呆头鹅批量视频剪辑软件做出来…

骑电动车不戴头盔识别抓拍系统 yolov7

骑电动车不戴头盔识别抓拍系统通过Python基于YOLOv7网络深度学习技术&#xff0c;对现场画面中骑电动车不戴头盔识别抓拍包括骑乘人员和带乘人员。YOLOv7 在 5 FPS 到 160 FPS 范围内&#xff0c;速度和精度都超过了所有已知的目标检测器&#xff0c;并在V100 上&#xff0c;30…

如何设置等高线坐标系并输出

如何设置等高线坐标系并输出发布时间&#xff1a;2018-01-17 版权&#xff1a;投影设置及数据导出矢量等高线生成完成后&#xff08;详细生成过程参加上一章节&#xff1a;矢量等高线生成&#xff09;,我们就能够设置投影和导出等高线数据。投影设置我们生成等高线默认的坐标是…

Rust之错误处理(一):无法恢复的错误panic!

开发环境 Windows 10Rust 1.66.1VS Code 1.74.3项目工程 这里继续沿用上次工程rust-demo 错误处理 错误是软件生活中的一个事实&#xff0c;所以Rust有一些处理出错情况的功能。在许多情况下&#xff0c;Rust要求你承认错误的可能性&#xff0c;并在你的代码编译前采取一些…

Google结构化数据

为什么要向网页添加结构化数据&#xff1f; 添加结构化数据可让您获得对用户更有吸引力的搜索结果&#xff0c;并可能会鼓励用户与您的网站进行更多互动&#xff0c;这就是富媒体搜索结果。 以下是一些为网站实现了结构化数据的案例研究&#xff1a; Rotten Tomatoes 为 10 万…

【学习笔记之Linux】工具之gdb

背景知识&#xff1a; 首先我们要知道&#xff0c;程序的发布一共有两种模式&#xff0c;一种是debug模式&#xff0c;是我们程序员自己编写代码的模式&#xff0c;可以进行调试&#xff0c;这个模式下编译出来的程序是包含调试信息的&#xff1b;一种是release模式&#xff0c…

AntV G6 组织图使用(后端渲染数据)

一、业务场景&#xff1a; 点击按钮&#xff0c;跳转页面并显示该数据的组织架构图&#xff08;类似于粒子效果&#xff09; 二、问题描述&#xff1a; 初始写死的数据能显示&#xff0c;但是从接口请求到的数据赋上值 渲染不了 三、具体实现步骤&#xff1a; &#xff08;1&…

python GUI And Tkinter 01

目录 一、基础介绍 二、创建窗口 1、创建完窗口后还需要知道窗口的相关属性 2、widget相关控件 3、原本tkinter有的Widget。 4、widget的共同属性 1. Configuration 2. Event Processing 3. Event callbacks 4. Alarm handlersafter(time,callback)&#xff1a;间隔指定时间后调…

Python logging 库的『完整教程』

前言 本文的标题是『完整』。所谓『完整』&#xff0c;大意是想表达&#xff1a;提炼出一组最小的经验组合&#xff0c;并且能够快速应用于工程中&#xff0c;能 work&#xff0c;甚至能完美地 work。这篇文章就是想要做到『如何能完美地work』。 初衷 最原始的初衷就是&…

nmap 扫描数据分析

本案22端口为开放端口&#xff0c;110为未开放端口 Wireshark上使用下面的表达式 ip.addr192.168.104.127 and ip.addr192.168.104.61 and tcp.port22 ip.addr192.168.104.127 and ip.addr192.168.104.61 and tcp.port110 命令一、 nmap -sS SYN-->SYN ACK-->RST …

电脑技巧:Windows这些自带应用尽量不要删,否则影响系统运行

目录 第一种&#xff1a;带有“microsoft”字样的软件尽量不卸载。 第二种&#xff1a;带有“Intel”或者“英特尔”的程序名称不要卸载。 第三种&#xff1a;windows驱动程序包尽量不要卸载 第四种&#xff1a;Adobe flash player不建议卸载 当电脑太卡&#xff0c;运行变…