基于Xlinx Artix7 xc7a35t 的数字电子设计实战课程(一)

基于xlinx Artix7 xc7a35t 的FPGA开发日记(一)
本人是来自哈尔滨工业大学(威海)的一名电磁场与无线技术专业在读学生。本着分享交流的目的面向非EE类专业和初学者做了这个教程。如果有错误,欢迎在评论区赐教!
最近发现有很多没有打好基础就在进行仿真设计的同学,私以为没有系统学习过基础知识的开发根本毫无意义,所以这系列文章将从数字电路设计的基础知识讲起,直到FPGA的应用,深入浅出地为大家提供一个硬件开发思路。这里为大家推荐的是清华大学的数字电子技术基础教材。
基于Xlinx Artix7 xc7a35t 的数字电子设计实战课程(一)_第1张图片

数字电路设计的概念:
数字电路设计可以分为组合逻辑电路设计和时序电路设计。今天先讲组合逻辑电路设计。
基于Xlinx Artix7 xc7a35t 的数字电子设计实战课程(一)_第2张图片

组合电路就是输入决定输出,没有存储、记忆功能,与时间无关的数字电路。我们常见的多数表决电路就是典型的组合逻辑电路。
以3人表决电路为例,假设我们令两票及以上为通过,那么现在我们开始设计。一共有以下几个步骤:
一:确定输入输出量,确定电路类型。这里我们很明显知道输入的三个投票是输入量,假设为a,b,c。然后最后结果是输出量,假设为f。从这个电路特点来看,输入决定输出,不需要储存记忆功能,所以是组合逻辑电路。
二:列出真值表。其中abc的1代表同意,0代表不同意。f为1代表通过,为0代表不通过。
基于Xlinx Artix7 xc7a35t 的数字电子设计实战课程(一)_第3张图片

三、画卡诺图化简得到最简表达式。
基于Xlinx Artix7 xc7a35t 的数字电子设计实战课程(一)_第4张图片

注意卡诺图要按照 00 01 11 10 把ab这两项的四种组合表达出来,11放在第三位,是为了保证位置相邻的每组之间只有一位不同,这样才能够化简。画卡诺图的方框的条件是1.只能包含2的n次方个1 2.一次包含尽可能多的1 。 需要说明的是,卡诺图是一个连通的图形,也就是说,上下边界、四角的位置是连通的,应该合理利用,使得满足第二个条件。具体细节请参考推荐的教材。
卡诺图中圈住部分,无论a,b,c,他的值如果在这部分中同时出现了0和1,那么这个量就可以约去,剩下的量采用与计算和其他方框或起来。注意没有约去的量,要根据1或0 来确定是原态还是非态。
最后我们得到这个:
在这里插入图片描述

至此我们就得到了逻辑函数表达式,可以用基础门电路或者可编程逻辑器件来实现这个电路了。下面是用门电路实现的

基于Xlinx Artix7 xc7a35t 的数字电子设计实战课程(一)_第5张图片

在本系列之后的教程中会用FPGA来给大家再现这个函数。

感谢阅读,我是工大底层技术人员。

接下来会尽快更新下一节,请需要学习FPGA的小伙伴不要着急,基础才是开发最重要,最能决定上限的。

【1】图片来自哈尔滨工业大学(威海)信息学院的王永玲老师,侵删。

你可能感兴趣的:(数字电子技术,FPGA入门,fpga)