FPGA与数字IC求职知识准备 - 数字电路知识总结

news2025/1/19 23:16:08

前言

本文整理了数字电路课程中的相关基本的知识点和较为重要的知识点,用于求职的数电部分的知识准备,差缺补漏。

二进制数的算术运算

无符号二进制数的算术运算

加法:同十进制加法,逢二进一,无符号二进制数的加法运算是基础。

减法:同十进制减法,不够减借位。

乘法:乘法运算是由左移被乘数与加法运算组成的。

除法:乘法运算是由右移除数与减法运算组成的。

带符号二进制数的算术运算

为了简化带二进制数进行减法运算,数字电路中负数通常是用补码进行表示,因此,引入了二进制数的补码的概念。

带符号二进制数的补码、反码计算方法如下:

  • 补码与反码的最高位为符号位,正数为0,负数为1。
  • 当二进制数为正数时,补码、反码与原码相同。
  • 当二进制数为负数时,原码的数值位(不包含符号位),逐位取反即得到反码;然后将反码加一得到带符号二进制负数的补码。

数据溢出问题

数据在进行加减法时可能会造成数据的溢出,两个符号相同的数相加会造成溢出,两个符号相反的数相加不会造成溢出,解决方法是进行位拓展。

数制问题

二-十进制编码

二-十进制编码就是用4位二进制数来表示1位十进制数中的0-9的十个数码,即二进制编码的十进制码(BCD码)。

常见的BCD码分为有权码和无权码。

有权码:8421码,2421码,5421码等。

无权码:余三码,余三循环码(将格雷码首尾三种状态去掉的编码)。

十进制与N进制转换

N进制数转换为十进制数:按其位权展开,然后相加,得到相应的十进制数。
十进制数转化为N进制数:整数部分,除R取余法,除到商为0为止。小数部分,乘R取整法,乘到积为0为止。

格雷码与二进制转换

格雷码也是一种常见的无权码。

二进制与格雷码转换:

  1. 格雷码的最高位(最左边)与二进制码的最高位相同。
  2. 从左到右,逐一将二进制码相邻两位相加(舍去进位),作为格雷码的下一位。

下图例子将二进制码1011转换为格雷码1110。

image-20230102011626582

格雷码与二进制转换:

  1. 二进制的最高位(最左边)与二进制码的最高位相同。
  2. 将产生的每一位二进制码,与下一位相邻的格雷码相加(舍去进位),作为二进制码的下一位。

下图例子将格雷码1101转换为二进制码1001。

image-20230102011647743

十六进制与八进制转换

二进制数与十六进制数互相转换:以小数点为基准,整数部分四位一组,不足四位的高位补零,小数部分四位一组,不足四位的低位补零。反之亦成立。

二进制数与八进制数互相转换:以小数点为基准,整数部分三位一组,不足三位的高位补零,小数部分三位一组,不足三位的低位补零。反之亦成立。

逻辑函数

描述逻辑输入变量和逻辑输出变量之间的因果关系称为逻辑函数

表示方法

几种常见的逻辑函数表示方式:

  1. 真值表
  2. 逻辑函数表达式
  3. 逻辑图
  4. 波形图
  5. 卡诺图
  6. HDL

真值表与逻辑图转换

通常从给定的真值表不能直接得到逻辑图。首先根据真值表写出逻辑表达式,依照逻辑表达式画出逻辑图,转换步骤如下:

  1. 根据真值表写出逻辑表达式。
  2. 用公式法或卡诺图法化简得到简化的逻辑表达式。
  3. 根据逻辑表达式画出逻辑图。

逻辑图到真值表的转换

从逻辑图不能直接得到真值表,转换步骤如下:

  1. 从逻辑图的输人端到输出端,逐级写出每个逻辑符号输出端的表达式,直到写出最后输出变量的逻辑表达式。
  2. 化简变换,求简化的逻辑表达式。
  3. 将输人变量可能的取值逐个代入表达式进行计算,并将结果列表,即得真值表。

逻辑代数

逻辑代数有一系列的定理、定律、规则,用数学表达式进行处理,完成对逻辑电路的化简、变化、分析与总结。

简单的代数定律不在赘述,同数学代数中的交换律、结合律、分配律、吸收律。

反演律,又叫摩根定律,可实现与非式转换非或式,或非式转换非与式的互换。

与非式转换非或式:
A ⋅ B ‾ = A ˉ + B ˉ \overline {A·B}= \bar A +\bar B AB=Aˉ+Bˉ
或非式转换非与式:
A + B ‾ = A ˉ ⋅ B ˉ \overline {A+B}= \bar A ·\bar B A+B=AˉBˉ
其他常见恒等式:
A   + A ˉ ⋅ B = A + B A ⋅ B   + A ˉ ⋅ C + B ⋅ C = A ⋅ B   + A ˉ ⋅ C A\ + \bar A ·B = A + B\\ A · B\ + \bar A · C + B·C = A · B\ + \bar A · C A +AˉB=A+BAB +AˉC+BC=AB +AˉC

逻辑函数表达式基本形式

与或式:值若干项进行的逻辑运算构成的表达式,简称与或式,或者称为积之和式(SOP)。

或与式:值若干项进行的逻辑运算构成的表达式,简称或与式,或者称为积之和式(POS)。

最小项与最小项表达式

最小项:对于n个变量的逻辑函数,若有一个乘积项包含了全部的n个变量,每个变量都以他的原变量或者非变量的形式出现在乘积项中,且仅出现一次,则该乘积项为最小项。例如变量A、B,最小项有AB,AB非,A非B,A非B非,而A,B这些项不是最小项。

最小项性质

  • 输入任意一个最小项,只有一组取值使得结果为1,其余各组取值均为0。
  • 任意两个不同最小项积为0
  • 所有最小项的和为1

最小项表达式:由若干最小项进行或操作构成的逻辑表达式,也称为标准与或式。任意一个逻辑函数都能变换成唯一的最小项表达式。

最大项与最大项表达式

最大项:对于n个变量的逻辑函数,若有一个或项包含了全部的n个变量,每个变量都以他的原变量或者非变量的形式出现在或项中,且仅出现一次,则该或项为最大项。

最大项性质

  • 输入任意一个最大项,只有一组取值使得结果为0,其余各组取值均为1。
  • 任意两个不同最大项和为1
  • 所有最小项的积为0

卡诺图化简

卡诺图化简步骤:

  1. 将逻辑函数写成最小项表达式。
  2. 将最小项表达式填入卡诺图中。
  3. 找出为1的相邻最小项,画包围圈,写出每个包围圈的乘积项。
  4. 将所有包围圈对应的乘积项相加。

画包围圈的原则:

  1. 包围圈内的方格数必须是2的n次方个。
  2. 相邻方格包括上下底相邻,左右边相邻,四角两两相邻。
  3. 同一个方格可被多个不同的包围圈重复包围,但新增的包围圈中一定要有新的方格。
  4. 包围圈的方格数要尽量多,包围圈数目要尽可能少。

逻辑门电路抗干扰措施

利用逻辑门电路(CMOS或者TTL)设计电路时需要注意干扰的处理,需要注意以下方面。

  1. 多余输入端的处理措施:一般不让多余的输入端悬空,以防引入干扰信号。门或者或非门的多余的输入端可以接地;门或者与非门的多余输入端通过上拉电阻接电源,对于CMOS电路可直接接电源。
  2. 电路适当放置去耦合滤波电容:可滤除干扰信号。
  3. 接地处理:通常在电路设计中会将电源地和信号地分开,将信号地汇集一点,然后将二者用最短的导线连在一起。

组合逻辑电路

定义、特点、分析方法

组合逻辑电路定义:对于一个逻辑电路,其输出状态在任何时刻只取决于同一时刻的输入状态,而与电路原来的状态无关,这种电路被定义为组合逻辑电路

组合逻辑电路特点

  1. 输入、输出之间没有反馈延时通路。
  2. 电路中不含有记忆功能的元件。

组合逻辑电路的分析方法

  1. 根据逻辑电路,写出各级的逻辑表达式,整理得到输出信号和输入信号的逻辑表达式。
  2. 将逻辑表达式化简、变换,得到最简单的表达式。
  3. 根据化简后的逻辑表达式写出真值表。
  4. 根据真值表和化简后的表达式分析逻辑电路,确定其功能。

竞争-冒险现象

由于实际电路中的信号传输都存在延时,在电平变化时,可能存在和瞬态下的逻辑功能不一致,产生错误输出,这种现象就是竞争-冒险。

竞争:一个逻辑门两个输入端的信号同时向相反方向变化,而变化的时间有差异的现象,称为竞争

冒险:由竞争而可能产生输出干扰脉冲的现象称为冒险

竞争-冒险现象解决办法

  1. 发现并消去互补相乘项
  2. 增加乘积项以避免互补项相加
  3. 输出端并联电容器

锁存器

双稳态存储电路(双稳态电路):具有0、1两种逻辑状态,一旦进入其中一种状态,就能长期保持不变的单元电路叫做双稳态存储电路,简称双稳态电路。下图是使用非门构成的最基本的双稳态电路。

最基本的双稳态电路

基本SR锁存器

**锁存器(Latch)**是一种脉冲电平敏感的双稳态电路,具备0和1两个稳定状态,一旦状态被确定,就可自行保持,直到外部特定输入脉冲电平作用在电路的一定位置时,才有可能改变状态。

将上述的最简单的双稳态电路中的非门换成或非门或者与非门,构成下图所示的电路是基本SR锁存器

或非门构成的SR锁存器

或非门构成的电路

或非门构成的SR锁存器功能表

SRQ!Q功能
00不变不变保持
0101置0
1010置1
1100非定义状态

与非门构成的SR锁存器

与非门构成的电路

与非门构成的SR锁存器功能表

!S!RQ!Q功能
11不变不变保持
1001置0
0110置1
0000非定义状态

门控SR锁存器

门控SR锁存器的电路

D锁存器

与SR锁存器不同,D锁存器在工作中不存在非定义状态。

D锁存器的功能表

EDQ!Q功能
0X不变不变保持
1001置0
1110置1

传输门控D锁存器

传输门控D锁存器是最基本的双稳态电路的基础上增加两个传输门。

传输门控D锁存器

逻辑门控D锁存器

逻辑门控D锁存器

触发器

对时钟脉冲边沿敏感的状态更新称为触发。具备触发工作特性的存储单元称为触发器

D触发器

D触发器的特征表如下,

DQ^(n)Q^(n+1)
000
010
101
111

特性方程:
Q n + 1 = D Q^{n+1}=D Qn+1=D

JK触发器

JK触发器的特征表如下,

JKQ^(n)Q^(n+1)
0000
0011
0100
0110
1001
1011
1101
1110

特性方程:
Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1}=J\overline{Q^{n}}+\overline{K}{Q^{n}} Qn+1=JQn+KQn
JK触发器特点:

  1. JK均置位为0时,状态保持。
  2. JK均置位为1时,状态翻转。
  3. J置位为1,K置位为0,次态置位为1。
  4. J置位为0,K置位为1,次态置位为0。

T触发器

T触发器的特征表如下,

TQ^(n)Q^(n+1)
000
011
101
110

特性方程:
Q n + 1 = T ⊕ Q n Q^{n+1}=T⊕{Q^{n}} Qn+1=TQn

JK触发器特点:当控制信号T=1时,每来一个脉冲,状态翻转一次,当T=0时,输出状态保持不变。

T’触发器

当T触发器的T固定接入高电平时,即T=1,特征方程变为。
Q n + 1 = Q n ‾ Q^{n+1}=\overline{Q^{n}} Qn+1=Qn

SR触发器

SR触发器的特征表如下,

SRQ^(n)Q^(n+1)
0000
0011
0100
0110
1001
1011
110不确定
111不确定

类似,SR锁存器的功能。

时序逻辑电路

时序逻辑电路

由组合电路和存储电路组成,时序电路的状态和时间因素相关,即时序电路的任一时刻的状态变量不仅是输入信号的函数,而且还是电路以前状态变量的函数,并且当前输入变量和状态决定电路的下一状态。时序电路的输出信号由输入信号和电路状态共同决定。

异步时序电路

电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这些触发器的状态变化与时钟脉冲同步,而有些触发器的状态变化不与时钟脉冲同步。存储电路的状态转换因为存在时间差异而可能造成短时间输出状态的不确定,而且这种不确定的状态有时是不容易判断的。

同步时序电路

存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。

状态机

状态机就是能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定动作的控制中心。状态机简写为 FSM (Finite State Machine)。

Moore型状态机时序电路:输出只和当前状态有关而与输入无关。

Mealy型状态机时序电路:输出不仅和当前状态有关而且和输入有关。

时序逻辑电路功能的表达

逻辑方程组、转换表、状态表、状态图、时序图。

同步时钟的时钟偏移的原因

  1. 各触发器时钟传输路径上的长度不同;
  2. 各触发器时钟传输路径上的经过的缓冲器的数量不同;
  3. 各触发器时钟传输路径上的负载不平衡。

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

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

相关文章

Redis源码篇(8)——集群模式

1、集群模式的启动和初始化 当开启了cluster-enabled,在初始化服务initServer方法中会调用clusterInit方法将redis带入cluster模式。 clusterInit void clusterInit(void) {int saveconf 0;//初始化clusterState结构 server.cluster zmalloc(sizeof(clusterSta…

LaTeX代码宏包listings的使用

LaTeX代码宏包listings的使用 文章目录LaTeX代码宏包listings的使用1 需求2 verbatim环境简介3 listings设置代码高亮4 代码样式和颜色5 为listings添加题注6 listings支持的语言格式7 附录 listings样式的自定义参数1 需求 LaTeX\LaTeXLATE​X适合用来进行结构化文档的编辑。如…

[5]. 最长回文子串

[5]. 最长回文子串题目算法设计:双指针算法设计:Manacher 算法题目 传送门:https://leetcode.cn/problems/longest-palindromic-substring/ 算法设计:双指针 检查回文串的通用解决方案是,双指针。 寻找回文串的思…

什么是地理围栏

一、地理围栏算法简介 地理围栏(Geo-fencing)是LBS的一种典型应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。地理围栏更侧重于对区域边界的界定,不再是以某点为圆心向外等距离画圆,而是准确勾勒出小区、写字楼等特…

wpf实现FFmpeg获取摄像头实时画面

gitee地址如下源码地址如何获取摄像头验证码和ip首先获取摄像头底部的验证码及ip(测试使用的是萤石摄像头,需要PC下载萤石客户端查看ip)未连接之前可以通过VLC进行测试在左上角(媒体)--》(流)--》(网络&…

openGauss中Schema赋权小试

目录 概述 1.关于public的权限要点: 2.关于用户同名的schema的权限要点: 3.关于普通schema的权限要点: 概述 下面是openGauss官网对Schema的介绍: Schema又称作模式。通过管理Schema,允许多个用户使用同一数据库而…

MATLAB-二维线性插值运算

二维插值在图像处理和数据可视化方面得到了大量的应用,二维插值的基本原理与一维插值一样,但二维插值是对两个变量进行函数的插值。在MATLAB中,主要使用interp2()函数进行二维插值的实现,其调用格式如下,zi interp2(z,…

Nodejs也能做文本数据处理了,快来看看吧!

随着汉语言的广泛应用,中文信息处理成了一个重要的研究课题,常见于搜索引擎:信息检索、中外文自动翻译、数据挖掘技术、自然语言处理等领域。在处理的过程中,中文分词是最基础的一环。 nodejieba 简介 nodeJieba 是结巴中文分词…

安装thinkphp

[TOC]目录 1. 安装composer 方法:https://www.kancloud.cn/manual/thinkphp6_0/1037481 官网教程中安装composer 2. 配置文件 在命令行中 阿里云: composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 华为云&#x…

axios基础学习——通过 Vue + axios 获取接口数据的小demo

文章目录 📋前言 🎯关于axios概要 ❓什么是axios 🧩axios特性 🧩axios浏览器支持情况 🎯axios安装与使用 🧩axios请求方法 🧩axios的使用方法(以get为例子) &am…

[C语言]进一步的来了解指针(多多多图详解)

本文章进一步的来讲解指针,如果是第一次接触指针的可以先看一下对于指针的初步理解 : [C语言]初步的来了解一下指针(多图详解)_HY_PIGIE的博客-CSDN博客 目录 1.字符指针 2.指针数组 2.1指针数组:char*类型举例说明 2…

Thawte旗下通配符SSL证书都有什么区别

Thawte由南非Mark Shuttleworth创立,Thawte SSL证书产品占据了全球SSL数字证书市场的40%,是全球第三大数字证书颁发机构(CA)。随后VeriSign于2000年2月1日以5.75亿美元对Thawte换股完成收购,互相合作&#…

GDI对象泄漏导致程序UI界面绘制异常的问题排查

目录 1、问题说明 2、初步分析 3、查看任务管理器,并使用GDIView工具分析 5、采用历史版本比对法,确定初次出现问题的时间点,并查看前一天的代码修改记录 6、将修改的代码与测试现象结合起来,最终定位问题 7、事后的思考 8…

Simulating Content Consistent Vehicle Datasets with Attribute Descent(略读)

提出了一个大型的3D合成数据集VehicleX。其中各个3D模型都有现实世界的车型对应。整个数据集有1362个id,其中包括11种主流车型。 论文:https://arxiv.org/pdf/1912.08855.pdf 摘要 本文使用图形引擎来模拟带有免费注释的大量训练数据。 在合成数据和真…

回归预测 | MATLAB实现RF随机森林多输入单输出回归预测(含回归树,误差柱状图,多指标)

回归预测 | MATLAB实现RF随机森林多输入单输出回归预测(含回归树,误差柱状图,多指标) 目录 回归预测 | MATLAB实现RF随机森林多输入单输出回归预测(含回归树,误差柱状图,多指标)效果分析基本介绍输出结果程序设计学习总结参考资料效果分析

Mars3D Studio平台发布

近日我们基于提供丰富及智能化功能,助力团队做出精美的交互场景的理念,研发了Mars3D Studio平台,于2023年1月10日正式发布上线!欢迎大家访问http://studio.mars3d.cn/ 网站进行体验。一、资源广场团队公开的丰富资源数据&#xff…

LeetCode题目笔记——1658. 将 x 减到 0 的最小操作数

文章目录题目描述题目难度——中等方法一:反向思考,双指针求最长子数组代码/Python代码/C方法二:滑动窗口代码总结我把这篇也归到面试题那一栏,因为觉得这题的思路和思考方式还挺好的,或许能用到其他题上 题目描述 给…

基于Node.js Vue清新严选助农电商平台/电商平台/购物平台

摘 要网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块,对于清新严选助农电商将是又一个传统管理到智能化信息管理的改革,设计清新严选助农电商平台的目的就是借助计算机让复杂的购买商品操作变简单&#x…

gcc和gdb的使用——Linux

Linux学习全部合集点击即可订阅 “人生得意须尽欢” 这里是目录标题gcc的基本操作gcc处理代码的步骤预处理编译汇编链接头文件和库静态库动态库gdb调试makefile什么是makefile?进度条的实现缓冲区回车和换行git的使用.gitigonregcc的基本操作 编写代码的最基本操作…

【工具Share】用VBA获取批量文件中的同一个单元格内容

最近鼓捣了个工具,可以批量从固定文件夹的excel中获取同一个单元格中的具体内容(当然,你也可以根据自己的需要,进行多个单元格内容的取得) 可能这么说比较抽象,举例来说比如你在多个相同模板的excel中定义了…