前言
由于近期项目的原因,一直没有机会能够好好学习一下fpga,再就是项目结尾阶段大量的软件编写大量的逻辑调用实在是让人感到头疼,终于还是放弃了软件。
学习FPGA首先要学懂数电,参考《数字电子电路基础阎石第五版》教材,基本上的从零开始。打好基础才是重中之重,反反复复,扎扎实实,学无止境。
基础学习的编写大多可能只是作为总结,多为自用
一、数制与码制
首先了解几种常用数制,二进制(B)、八进制(O)、十进制(D)、十六进制(H),其中最为常用的是二进制、十进制和十六进制,掌握各种进制间的相互转化,D转其他整数除、小数乘;B转O,三位一转,高位不够进0;B转H,四位一转,高位不够进0
了解原码、反码、补码的关系,通常在二进制数前加一位符号位,0为正,1为负。正数的原码、反码、补码均相同;负数有所差异,对于一个有效数字(不包括符号位)为n的二进制数N,其补码可表示为
=
-N,其反码就是补码减1即可

了解几种常用的编码方式,如8421码、余3码、格雷码和ASCII码即可
二、逻辑代数基础
在二制逻辑的世界里只存在0和1,但是我们可以通过多变量的不同状态组合来表示事物的多种逻辑状态
逻辑代数的基本运算有与、或、非三种,分别表示为Y=AB、Y=A+B、Y=A’,其符号表示如下

常用公式有A+AB=A、A+A'B=A+B、AB+AB'=A、A(A+B)=A、AB+AC'+BC'=AB+AC'(消去的因子可以包含多变量)
1、代入定理(德摩根定理):(A+B)'=A'B' (AB)'=A'+B'
2、反演定理:对于一个逻辑式Y,将其中所有的与或互换、01互换、原变量变反变量,则得到Y'
反演定理需遵守原则:①遵守括号-乘-加的顺序原则
②不属于单变量上的非保持不变
Y=A(B+C)+CD Y'=(A'+B'C')(C'+D')
3、对偶定理:对于一个逻辑式Y,将其中所有的与或互换、01互换,则得到
对偶定理仍需遵守上述条件
Y=AB+(C+D)'
=(A+B)(CD)'
逻辑函数的表示方式有真值表、逻辑函数式、与或非门组成的逻辑图、波形图
逻辑函数存在两种标准形式
最小项
在n变量逻辑函数中,若m为包含n个因子的乘积项且这n个变量均以原变量或反变量的形式在m中出现过一次,称m为该组变量的最小项
例A、B两个变量的最小项有AB、A'B、AB'、A'B'四项。n变量最小项应有
个。对于最小项ABC为m7
性质

2、最大项
在n变量逻辑函数中,若M为包含n个因子之和项且这n个变量均以原变量或反变量的形式在M中出现过一次,称M为该组变量的最大项
例A、B两个变量的最大项有A+B、A'+B、A+B'、A'+B' 四项。n变量最大项应有
个。对于最大项(A+B+C)为M0
性质

逻辑函数的最小项之和形式,可以通过公式A+A'=1将每一项缺少的变量补齐,例如给定函数Y=ABC'+BC可化为Y=ABC'+BC(A+A')=ABC'+ABC+A'BC=
或可写为Σm(3,6,7)
逻辑函数的最大项之积形式,可以利用公式A+BC=(A+B)(A+C)化简为与或形式从而完成补项,例如给定函数Y=A'B+AC=(A'B+A)(A'B+C)=(A+B)(A'+C)(B+C)再在每一项中顺序加入CC'、BB'、AA得到Y=(A+B+CC')(A'+BB+C)(AA'+B+C)再化简得到Y=(A+B+C)(A+B+C')(A'+B+C)(A+B'+C)或可写为
M(0,1,4,6)
变换逻辑函数为与或非形式的方法:先化简函数为最小项之和形式Y,将所得函数中不包含的最小项相加得Y',再对Y'求反,可得与或非形式
例如给定函数式Y=AC+BC'展开为最小项形式Y=ABC+AB'C+ABC'+A'BC'或写为Σm(2,5,6,7)将不包含的所有最小项相加得Y'=Σm(0,1,3,4)再取反可得Y=(
)'=(B'C'+A'C)'
函数的化简
利用并项法、吸收法、消项法、消因子法配项法等公式对函数进行化简
卡诺图化简法
将n变量的最小项各用一个小方块表示,并使具有逻辑相邻性的最小项在几何上也相邻的排列起来,所得图像为n变量最小项的卡诺图
卡诺图化简步骤:


具有无关项的逻辑函数及其化简
拿红绿灯再次作为例子,红灯,黄灯,绿灯分别可以用变量A,B,C进行描述表示.
0代表灭 ,1代表亮.
因此我们知道在实际情况中,有一些情况是不可能出现的.比方说AB是不可能出现的,红灯和黄灯不可能同时亮.
在实际的逻辑关系中,一些变量的某些取值组合是不会发生的,需要给变量加上一定的约束,而这些不会发生的组合所对应的最小项被称为约束项
有时也会遇到当输入无论0还是1皆可,对电路无功能影响。在这些变量取值下,其值等于1的那些最小项称为任意项
约束项和任意项统称为逻辑函数的无关项
化简具有无关项的函数,若能够合理运用无关项,一般能够得到更为简单的结果
将无关项在卡诺图中打×,此时无关项可以看做0也可以看做1,如何判决,取决于相邻最小项矩形组合最大、且矩形组合数目最小为原则

文章介绍了学习FPGA前的基础知识,包括数制转换、原码反码补码的关系以及逻辑代数中的基本运算和定律。重点讲述了逻辑函数的最小项、最大项概念,以及如何通过卡诺图进行逻辑函数的化简。此外,还提及了无关项在逻辑函数化简中的应用。
&spm=1001.2101.3001.5002&articleId=129311330&d=1&t=3&u=0e5e0fd8def54c4bb1fae151634724cb)
252

被折叠的 条评论
为什么被折叠?



