上海大学计算机学院数字逻辑实验报告
作者:William-Liwei
如需转载,请告知我,并注明原作者。
仅供学弟学妹参考学习,请勿抄袭!
《数字逻辑实验》报告 1
一. 与非门逻辑功能测试实验
1. 实验目的
熟悉TTL中,小规模集成电路的外形、管脚和使用方法。
了解和掌握基本逻辑门电路的输入与输出之间的逻辑关系。
测试与非门74LS00芯片的逻辑功能。
根据测试结果完成74LS00的真值表。
2. 原理
实现基本逻辑运算和常用逻辑运算的单元电路通称为逻辑门电路。实现“与非”运算的电子电路称为与非门。根据制造工艺不同,逻辑门电路有两类,一类是以晶体三极管为主要元件的双极型逻辑门电路,另一类是MOS场效应管为主要元件的MOSx型逻辑门电路。根据门电路输出端结构不同,又分为基本输出门电路、开路输出门电路、三台门电路。门电路用高电平表示逻辑值“1”,低电平表示逻辑值“0”。只有相同类型的门电路,其电平才相匹配。
参照74LS00芯片的引脚,将引脚1、2(A、B)分别连接到任意一个小开关插孔上,引脚3(F)连接到任意一个发光二极管电平指示灯插孔,引脚7连接接地插孔,引脚14连接+5V电源插孔,这样就构成了一个与非门电路。
拨动开关(开关拨向下方为0,拨向上方为1)组合A、B的值,观察F(上方的发光二极管指示0,下方的发光二极管指示1)的结果。
3. 实验步骤
- 将74LS00的输入引脚连接到任一开关,输出连接到任一对发光二极管。
引脚7连接“接地插孔”;引脚14连接+5V电源插孔。
- 拨动开关,观察二极管的变化,填表1-4。
4. 实验数据
表1-4 与非门的逻辑功能
A | B | Y |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
5. 实验现象
在与非门中,当A和B的输入都为1时,输出为0。由于上方的灯亮说明输出为0,下方的灯亮说明是1,所以在A和B的输入都为1时,上方的灯才会亮,其余时候都是下方的灯亮。
6. 体会
通过学习、操作这次测试实验,我初步学习了数字逻辑电路的基本连接和测试方法,了解并测试了与非门的逻辑功能,且此元件正常工作。此外我在实验中线路连接出现了麻烦,不知道哪些是输入,哪些是输出,经同学与老师的指点后了解到了不同功能线路尽量用不同颜色的技巧,便于检查错误,而且在拔出导线时,应顺时针旋转,避免扯坏导线。
二. 复合门和基本门的关系实验
1. 实验目的
1)、用与非门分别构成与门、或门、非门等基本门并测试其功能。
2)、用与非门构成异或门并测试其功能。
2. 原理
从理论上讲,由与、或、非三种简单逻辑门电路可以实现各种逻辑功能。最常用的复合逻辑门电路如与非门、或非门、与或非门、异或门等都是由简单逻辑门组合而成的电路。
3. 实验步骤
1)、写出与非门构成基本门和异或门的表达式或者电路图。
2)、按照表达式或者电路图连接74LS00的引脚。
3)、使用开关和发光二极管进行测试。
4)、画出接线电路图,记录结果。
4. 实验数据
或门逻辑表达式:
输入 | 输出 | |
---|---|---|
A | B | Y |
L | L | L |
L | H | H |
H | L | H |
H | H | H |
异或门逻辑表达式:
异或门的逻辑功能
输入 | 输出 | |
---|---|---|
A | B | Y |
L | L | L |
L | H | H |
H | L | H |
H | H | L |
5. 实验现象
在或门中,只要一个输入为H,输出值就为高电平H,下方的灯亮;当两个输入均为L时,则输出值为低电平L,上方的灯亮。
在异或门中,当两个输入变量的取值不同时,输出值为高电平H,此时,下方的灯亮;当两个输入变量的取值相同时,输出值为低电平L,此时,上方的灯亮。
6. 体会
通过学习以与非门为基本电路原件,实现或门和异或门的逻辑功能的实验,我对门与门之间的联系有了更加深刻的了解,在实现逻辑功能时有了更多的选择,也更加灵活。在实验过程中,我遇到了困难,如线与线之间的连接问题等,也明白了怎样用与非构成与门、或门、非门,要充分理解他们之间的关系,才能在连接时做到少出差错。
三. Quartus II操作初步 实验
1.实验目的
熟悉Quartus II的操作步骤和环境,用模拟软件工具进行模拟。
2.原理
利用软件中提供的逻辑电路元件(门,输入引脚,输出引脚……)实现与门。
3. 实验步骤
1、仿照老师的演示,用Quartus II软件独立创建图形文件。
2、设计只用与非门实现或门作用的电路。利用软件中的元件,构成电路图。
3、将电路图引脚与实验相对应器件引脚对应,编译。
4、下载到试验箱。
5、按自己设计的实验接线图接线并测试。
4.实验数据
*A* | *B* | *F* |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
**5.**实验现象
当A、B都输入低电平时,发光二极管不发光,当A、B都输入高电平或者A、B至少有一个输入高电平时,发光二极管发光。
6.体会
Quartus II是数字逻辑实验中所新了解的一个软件。在这个软件的操纵中可以达到在计算机上进行门电路设计而将资料导入实际的门电路进行试验,可以减少连线,达到老师所布置的要求。尽管在使用过程中仍显得十分生疏,但是在自己的实践操作中仍能顺利完成实验,我相信只要多加使用,一定能在今后的学习中进一步熟练掌握这款软件。
《数字逻辑实验》报告二
实验名称: 组合电路(一)
一、实验目的
1.掌握组合逻辑电路的功能测试。
2.学会二进制数的运算规律。
3.掌握构造半加器和全加器的逻辑功能。
4.学习使用可编程逻辑器件的开发工具Quartus II设计电路。
二、实验原理
半加器是对两个一位二进制数进行相加,产生“和”与“进位”。根据半加器的逻辑表达式可知,半加器的“和”Y是A、B的异或,而“进位”Z是A、B相与。故半加器可用一个集成异或门和二个与非门组成。
全加器将两个一位二进制数及来自低位的进位Ci-1进行相加,产生“和”与“进位Ci”。构成全加器的方法有多种:可用异或门和与非门等门电路组成(见教材)、可用若干与门组成也可用半加器和或门组成。
加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
三、实验内容
1****.实验任务一:异或门逻辑功能测试实验
(1) 实验步骤
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
任选一枚异或门74LS86芯片,将引脚1、引脚2分别用黄色线连接到两个开关上,作为输入,引脚3用蓝色线连接到一个数码管,用以输出结果;
将74LS86的引脚7用黑色线连接“接地插孔”,引脚16用红色线连接+5V电源插孔(注意,在本芯片中,引脚8,9为无效引脚);
打开电源,分别拨动两枚开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
(2) 实验现象
在异或门中,当A和B的输入为10或01时,输出为1,反之为0。由于使用数码管显示输出结果,只有当A和B为01或10时,数码管才会显示为1,其余时候均显示为0。
(3) 数据记录、分析与处理
表1.3.1异或门的逻辑功能
A | B | Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
显而易见,该实验输出结果符合异或门的理论真值表,证明实验操作基本正确。
(4) 实验结论
相较于使用基本的74LS00芯片的与非门,使用74LS86芯片可以更加轻松地实现与非门逻辑。其中,需要注意提前对需要用到的线路和芯片进行检查,对断路的线路进行更换;在连线的时候注意使用不同颜色的线路区分输入、输出、接地、电源线;在拔出导线的时候不可硬拽,而要旋转后再轻轻拔出。
2****.实验任务二:分立元件构成半加器和全加器
(1) 实验步骤
写出半加器与全加器的卡诺图,并由此化简得到如下数字逻辑表达式:
实验之前,需要使用与非门和异或门来表达上述逻辑电路函数,便于后续的连线操作:
在本实验任务中,我们只实现半加器,全加器留待使用QuartusII进行实现。
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
选取适当的74LS00芯片与74LS86芯片,按如下顺序连接开关、输入引脚、输出引脚,并将最后结果输出到一枚数码管:
开关1、2分别连接至74LS86芯片的引脚1、2,其输出端口引脚3连接至一枚数码管作为S输出。
开关1、2再次分别连接至74LS00芯片的引脚1、2,其输出引脚3继续通过连接引脚4与5的方式,取反,从引脚6输出到另外一枚数码管作为进位输出。
将所使用到的74LS00芯片的引脚7用黑色线连接“接地插孔”,引脚14用红色线连接+5V电源插孔、74LS86芯片的引脚7用黑色线连接“接地插孔”,引脚16用红色线连接+5V电源插孔(注意,74LS86芯片的8、9引脚为无效引脚,连接时需要小心);
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
(2) 实验现象
输出的结果实际上为两个输入的和,也即当且仅当输入为11时,C为1;当且仅当输入为10或01时,S为1。
(3) 数据记录、分析与处理
表2.3.1半加器的逻辑功能
A | B | S | C |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
由表可得,使用一枚异或门可以实现半加器对S的输出,使用两枚与非门可以实现半加器对进位C的输出。
(4) 实验结论
使用74LS00与74LS86芯片可以实现半加器、全加器的逻辑。实际运用中,使用一枚异或门可以实现半加器对S的输出,使用两枚与非门可以实现半加器对进位C的输出。至于全加器的实现,则留待实验任务三进一步完成。
3****.实验任务三:二位全加器设计
(1) 实验步骤
由实验任务二已知全加器的功能逻辑函数表达式,直接写出使用与非门、异或门表示的二位全加器数字逻辑表达式:
打开QuartusII软件,新建项目,新建图形文件并进行电路图绘制:
首先,放置四个input,分别命名为,并放置三个输出分别为
.接着,把
通过一个异或门,输出连接到
;把
通过两个与非门(即得到
),输出同经过一个异或门的
连接到又一个异或门,最终输出到
;将经过一个异或门的
同上述的
经过与非门,将
再经过一次与非门,此二者最后再经过与非门,输出得到C。
完成后选择机器型号(10号机位为EP1K10),然后点击pin planner选择合适的引脚。本实验中选取了118、119、120、121、131、132、133这七个引脚,查表可知对应机器上的引脚编号分别为81、80、83、82、3、6、5。
完成后编译保存,并烧录进芯片。
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
将开关1、2、3、4分别连接到所对应的机器引脚编号(81、80、83、82)上;将
所对应的引脚(3、5、6)连接到三个数码管,作为输出便于查验。
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
(2) 实验现象
实验一开始出现了一次无反应:为烧录后电源有过重启所导致。排除干扰项后,实验顺利完成。
实验中发现,相较于半加器,二位全加器可以处理四个输入,三个输出,并且能够不断串联从而加长处理数据。
(3) 数据记录、分析与处理
表3.3.1二位全加器
C | ||||||
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 0 | 1 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 | 1 | 1 |
0 | 1 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 |
显而易见,该实验输出结果符合二位全加器的理论真值表,证明实验操作基本正确。
图3.3.1QuartusII设计二位全加器实现电路图
![]() |
(4) 实验结论
使用至多三枚异或门、五枚与非门即可实现二位全加器的逻辑电路。此外,QuartusII在面对大型复杂电路的时候具有强大便捷的助力,尤其是类似二位全加器这一类逻辑门较多、线路繁复的电路。
四、建议和体会
经过本次实验,体会到了组合电路的复杂与困难。尤其是在面对第一次烧录之后拨动开关没反应的时候,额上更是冷汗直流,生怕是哪里的线路又发生了断裂导致断路。经过复盘,这才终于搞清楚,应该是因为不小心下意识地关闭了电源,导致烧录失效。于是排除万难,实验最终顺利完成。
不过,实验虽然有些繁复,只要把逻辑函数表达式写出来,经过一系列的化简,最终都能完成电路的设计任务。唯一较为困难的,当属如何减少逻辑门电路的使用数量。实验完成后,我又在网络上查找相关资源,发现使用三枚异或门和五枚与非门这一方案是不少博客上的常客,有部分人认为该方案已经是接近最简的设计了。然而,是否存在逻辑门数量更少的电路也能完成二位全加器的逻辑设计,仍然有待探索。
五、思考题
8421码、余3码和gray码之间的转化。其实本质上还是要通过绘制卡诺图,然后化简逻辑函数表达式,然后再根据需要用与非门等基础的电路元件来表达。剩余的操作,则与本次实验类似。
《数字逻辑实验》报告三
实验名称: 组合电路(二)
一、实验目的
1.掌握设计8421码转换为余三码、2421码转换为gray码电路的方法。
2.学会利用真值表化简并设计实际电路。
3.学习使用可编程逻辑器件的开发工具Quartus II设计8421码转换为余三码、2421码转换为gray码的转换电路。
二、实验原理
BCD码(binary -code-decimal)是二-十进制编码,BCD码可分为有权码和无权码两种,有权码编码的每一位都有固定的权值,可以用算术表达式来表示编码关系,无权码则相反。8421码、2421码都是有权码,余三码和格雷码是无权码。
8421码,由4位二进制数0000-1111的前10中组合0000-1001构成,b3b2b1b0,b3位的权为2^3=8,b2位的权为2^2=4……。
2421码b3、b2、b1、b0对应的权为2、4、2、1。具有自补性,把一个十进制数对应的二进制代码每位取反,得到的代码正好这个数9的补码。例如2对应的二进制代码是0010,每位取反得到1101(2×1+4×1+2×0+1×1=7)正好是9-2=7。换句话说就是,两个十进制数之和是9,那么他们2421码之和也是9的补码(1111)。
余三码是一种无权码,具有自补性,两个十进制数之和是10,则他们的余三码二进制数之和是16。
格雷码是一种无权码,两个相邻代码之间只有一位取值不同,且0和最大数(2^n-1)之间也只有一位不同,是一种循环码。格雷码的这种特点可以避免错误代码出现,因此常用在数据传输中。
三、实验内容
1****.实验任务一:设计8421码到余3码的转换电路
(1) 实验步骤
由已知的8421码到余3码的转换真值表,使用卡诺图化简并直接写出使用与非门、异或门等基本门电路表示的数字逻辑表达式:
打开QuartusII软件,新建项目,新建图形文件并进行电路图绘制:
首先,放置四个input,分别命名为A、B、C、D,并放置四个输出分别为.
首先,放置四枚非门,用于生成、
、
。然后根据逻辑函数表达式,对于W、X、Y、Z分别放置3个、4个、3个、0个与非门,按照上述表达式连接好各接口,并避免错位。
然后,将输出接到W、X、Y、Z上,并检查线路是否有断路或者连错。
完成后选择机器型号(10号机位为EP1K10),然后点击pin planner选择合适的引脚。本实验中选取了118、119、120、121、130、131、132、133这八个引脚,查表可知对应机器上的引脚编号分别为81、80、83、82、2、3、6、5。
完成后编译保存,并烧录进芯片。
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
将开关1、2、3、4分别连接到A、B、C、D所对应的机器引脚编号(81、80、83、82)上;将所对应的引脚(2、3、5、6)连接到四个数码管,作为输出便于查验。
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
图1.1.1 Quartus II中8421码转余3码电路设计图
![]() |
图1.1.2 Quartus II中8421码转余3码电路pin planner界面
(2) 实验现象
当数据输入为实际合法的8421码的时候,在数码管上会显示出相对应的余三码;而当输入不合法的数据的时候,显示的内容并不是我们所关心的。
(3) 数据记录、分析与处理
表1.3.1 8421码转余3码的转换真值表
A | B | C | D | W | X | Y | Z |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | d | d | d | d |
1 | 0 | 1 | 1 | d | d | d | d |
1 | 1 | 0 | 0 | d | d | d | d |
1 | 1 | 0 | 1 | d | d | d | d |
1 | 1 | 1 | 0 | d | d | d | d |
1 | 1 | 1 | 1 | d | d | d | d |
根据实验结果,该转换电路实现了从0000到1001的十个8421码转换成余三码的功能。
(4) 实验结论
通过Quartus II设计的该转换电路,可以在EP1K10芯片上实现8421码到余三码之间的转换。
实验中发现,虽然1001以上的输入是无效的,但是系统依然会输出一些数据,而这些数据并不能立刻就被我们检测出来是无效的。因此,在未来,或许可以尝试提前指定输出的无效数据为某个特定的四位二进制数据,以便于后续的异常检测。
2****.实验任务二:设计2421码到gray码的转换电路
(1) 实验步骤
由已知的2421码到gray码的转换真值表,使用卡诺图化简并直接写出使用与非门、异或门等基本门电路表示的数字逻辑表达式:
注意:此处和书上的输入端略有不同。由于我在本任务的连线实际上是基于实验任务一的基础上进行更改的,没有特地更换接口,所以在连线中A、B、C、D实际上进行了高低位的颠倒,即书本上的A、B、C、D在本实验任务二中实际上为D、C、B、A。
打开QuartusII软件,新建项目,新建图形文件并进行电路图绘制:
首先,放置四个input,分别命名为A、B、C、D,并放置四个输出分别为.
首先,放置一枚非门,用于生成。然后根据逻辑函数表达式,对于W、X、Y、Z分别放置一个与门、一个或门、一个与门和一个异或门和一个或门、两个异或门,按照上述表达式连接好各接口,并避免错位。
然后,将输出接到W、X、Y、Z上,并检查线路是否有断路或者连错。
完成后选择机器型号(10号机位为EP1K10),然后点击pin planner选择合适的引脚。本实验中选取了118、119、120、121、130、131、132、133这八个引脚,查表可知对应机器上的引脚编号分别为81、80、83、82、2、3、6、5。
完成后编译保存,并烧录进芯片。
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
将开关1、2、3、4分别连接到A、B、C、D所对应的机器引脚编号(81、80、83、82)上;将所对应的引脚(2、3、5、6)连接到四个数码管,作为输出便于查验。
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
图2.1.1 Quartus II中2421码转gray码电路设计图
图2.1.2 Quartus II中22421码转gray码电路pin planner界面
(2) 实验现象
当数据输入为实际合法的2421码的时候,在数码管上会显示出相对应的gray码;而当输入不合法的数据的时候,显示的内容并不是我们所关心的。
(3) 数据记录、分析与处理
表2.3.1 2421码转gray码的转换真值表
D | C | B | A | W | X | Y | Z |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
根据实验结果,该转换电路实现了从十个2421码转换成gray码的功能。
(4) 实验结论
通过Quartus II设计的该转换电路,可以在EP1K10芯片上实现2421码到gray码之间的转换。
和实验任务一差不多的是,本实验任务也没有进行异常检测,容易导致后期出现问题。
此外,在连线过程中,为了节约时间和逻辑推导,此任务也没有使用完全的与非门来实现,这对于一些芯片来说或许并不能直接移植。因此,使用与非门重新实现逻辑电路可能会增强该程序的可直接移植的程度。
四、建议和体会
本次实验,我深刻体会到了转换电路的设计过程不易,需要花费一定的时间用于推导逻辑表达式。当然了,只要得到了逻辑函数表达式,之后的连线环节是很轻松愉快的,只不过在机房电脑上操作的时候,不知为何,很容易连歪,或许跟鼠标不太灵敏有一定的关系。
另外,比较有感触的还是在实现8421码转换余三码的过程中:我一开始没注意数据输入的有效与否,输入了“1111”,结果数码管依然给我显示了一个并不合法的输出数据,让我心头一跳——难道是线路连接错误了?过了好几秒我这才反应过来,原来是输入的数据不合法。这或许也是很多转换电路设计异常处理的初衷:让使用者不会担心输入的合法性,增强整个系统的健壮性。
在数字逻辑课堂上,老师也深入探讨过一些“自启动”的问题,我想只有精益求精,才能避免出现这些输入不合法所导致的输出不合法问题。
五、思考题
多路选择器、译码器等都是组合逻辑电路中的常客。使用多路选择器、译码器,只要知晓了真值表,实际上可以实现几乎一切逻辑函数表达式。因此,只要能够化简获得逻辑函数,实现功能其实不算特别困难。
《数字逻辑实验》报告四
实验名称: 组合电路(三)
一、实验目的
1.掌握采用译码器和数据选择器实现逻辑电路的方法。
2.验证译码器和数据选择器可以实现逻辑函数功能。
3.学习使用可编程逻辑器件的开发工具Quartus II设计采用译码器和数据选择器实现特定逻辑函数的电路。
![]() |
二、实验原理
三、实验内容
1****.实验任务一:用多路选择器实现逻辑函数
(1) 实验步骤
用74LS151实现下列函数,并下载到FPGA中测试:
打开QuartusII软件,新建项目,新建图形文件并进行电路图绘制:
首先,放置三个input,分别命名为A、B、C,并放置一个输出为.
接着,选择74LS151部件,其A、B、C接口分别与输入端A、B、C相连接。由于我们要实现的函数是最小项0、2、3、4、5、7的和,即D0、D2、D3……D7均接入vcc(即设为高电平状态),其余端口接地(即设为低电平状态)。使能端GN接地,保证芯片运行。
然后,将输出接到Y上,并检查线路是否有断路或者连错。
完成后选择机器型号(10号机位为EP1K10),然后点击pin planner选择合适的引脚。本实验中选取了118、119、120、121这四个引脚,查表可知对应机器上的引脚编号分别为81、80、83、82。
完成后编译保存,并烧录进芯片。
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
将开关1、2、3分别连接到A、B、C所对应的机器引脚编号(81、80、83)上;将所对应的引脚(82)连接到数码管,作为输出便于查验。
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
![]() |
图1.1.1 Quartus II多路选择器实现逻辑函数设计图
图1.1.2 Quartus II多路选择器实现逻辑函数电路pin planner界面
(2) 实验现象
当数据输入A、B、C时,输出符合逻辑函数功能。
(3) 数据记录、分析与处理
表1.3.1 多路选择器实现逻辑函数电路真值表
A | B | C | Y |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
根据实验结果,该电路实现了下列逻辑函数的功能。
(4) 实验结论
通过Quartus II设计的该转换电路,可以在EP1K10芯片上实现任何可以用最小项描述出来的逻辑函数。
2****.实验任务二:用译码器实现逻辑函数
(1) 实验步骤
用译码器实现下列函数,并下载到FPGA中测试:
Y(A,B,C,D)=∑m(2,4,6,8,10,12,14)
本实验任务也是在实验任务一的连线基础上进行拓展的,所以新增加的输入端D,在本任务中直接分配到了端口117,其顺序和其余输入端并不一样,因此需要特别注意。
打开QuartusII软件,新建项目,新建图形文件并进行电路图绘制:
首先,放置四个input,分别命名为A、B、C、D,并放置输出为.
首先,放置两枚74138芯片。将两枚芯片的A、B、C端口连接到相对应的输入端口,并将第一个芯片的G1连接到vcc,G2AN连接到D、G2BN接地;第二个芯片的G1连接到D、G2AN和G2BN接地。
将第一个芯片的Y2N、Y4N、Y6N,第二个芯片的Y0N、Y2N、Y4N、Y6N连接到一个与非门上,其输出连接到Y,并检查线路是否有断路或者连错。
完成后选择机器型号(10号机位为EP1K10),然后点击pin planner选择合适的引脚。本实验中选取了117、118、119、120、121这五个引脚,查表可知对应机器上的引脚编号分别为78、81、80、83、82。
完成后编译保存,并烧录进芯片。
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
将开关1、2、3、4分别连接到A、B、C、D所对应的机器引脚编号(81、80、83、78)上;将所对应的引脚(82)连接到数码管,作为输出便于查验。
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
![]() |
图2.1.1 Quartus II译码器实现逻辑函数电路设计图
图2.1.2 Quartus II译码器实现逻辑函数电路pin planner界面
(2) 实验现象
当数据输入A、B、C时,输出符合下述逻辑函数功能。
(3) 数据记录、分析与处理
表2.3.1 译码器实现逻辑函数电路真值表
A | B | C | D | Y |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 |
根据实验结果,该电路实现了下列逻辑函数的功能。
(4) 实验结论
通过Quartus II设计的该转换电路,可以在EP1K10芯片上实现任何可以用最小项描述出来的逻辑函数。
四、建议和体会
本次实验,我深刻体会到集成芯片的功能之强大。如果说用原本那种与或非门电路来设计的话,想实现同样的规模的电路,那可能需要用非常多的时间来推导相关的逻辑函数。然而,使用74138或者类似的电路就会变得非常简单,只需要根据最小项选择即可,几乎不需要进行深入的推导和思考。
另外,我也感受到学校机房亟需升级,尤其是关于QuartusII软件。每次打开,都会产生不下三次的闪退,如此之后才能稍微正常地运行数十分钟。这也导致我不得不在越快越好的情况下,尽我所能地尽快完成电路设计,否则谁也不知道下一秒会不会闪退,而我是否恰好没有保存文件。
当然了,我也深刻明白了设计电路的艰难与险阻。学校之所以保留这一陈旧的硬件、系统与软件,或许其目的之一就是希望我们能够切身感受先人“暴霜露,斩荆棘”的筚路蓝缕吧。
五、思考题
JK触发器、T触发器、D触发器等是时序逻辑电路常见的触发器,在许多电路中都有应用。将之转换实际上可以根据每种触发器的激励函数来推导,例如使用JK触发器,只需要将JK输入统一,就成为了T触发器。其余触发器也类似。
《数字逻辑实验》报告五
实验名称: 记忆元件测试
一、实验目的
1. 熟悉基本RS、同步RS触发器的电路结构。
2. 掌握基本RS、同步RS触发器的逻辑功能。
3. 学习触发器逻辑功能的测试方法。
4. 掌握集成J-K触发器的逻辑功能。
5. 掌握J-K触发器转换成D触发器的方法及D触发器的逻辑功能。
二、实验原理
在数字逻辑系统中,为了实现更复杂的功能,往往需要将输出结果存储下来,作为下一步逻辑运算的需要。实现这一功能的基本器件就是触发器。它在输出与输入之间具有反馈延迟通路,产生的新输出的逻辑值不仅取决于该时刻的输入,还取决于电路以前的状态。触发器是构成数字逻辑系统时序电路的基本逻辑单元。具有以下特征:
第一、 具有两个能自行保持的稳定状态,这两个稳定状态可以用二进制数0或1来表示。在没有外来触发信号时,将维持一个稳定状态永久不变。
第二、 根据不同需要,触发器可以预置成0,也可以预置成1。
触发器是具有记忆功能的二进制存储器件,是时序电路的基本器件。
1. 触发器的触发方式及使用中注意的问题
触发器有两个稳定的状态,可用来表示数字0和1。按结构的不同可分为,没有时钟控制的基本触发器和有时钟控制的门控触发器。
在数字系统中,为了协调一致地工作,常常要求触发器有一个控制端,在此控制信号的作用下,各触发器的输出状态有序地变化。具有该控制信号的触发器称为门控触发器。门控触发器按触发方式可分为电位触发、主从触发和边沿触发三类;按逻辑功能可分为RS触发器、D触发器、JK触发器、T触发器等四种类型。触发器的重点是它的逻辑功能和触发方式。
所谓触发器的触发方式是指触发器在控制脉冲的什么阶段(上升沿、下降沿和高或低电平期间)接收输入信号改变状态。
门控触发器是在门控脉冲的高电平期间接收输入信号改变状态,故为电平触发方式。门控触发器存在的问题是“空翻”,所谓空翻就是在一个控制信号期间触发器发生多于一次的翻转,比如,门控T触发器在控制信号为高电平期间不停的翻转。这种触发器是不能构成计数器的。
主从触发器是在门控脉冲的一个电平期间主触发器接收信号;另一个电平期间从触发器改变状态,故为主从触发方式。这种触发器存在的问题是主触发器接收信号期间,如果输入信号发生改变,将使触发器状态的确定复杂化,故在使用主从触发器时,尽可能别让输入信号发生改变。
边沿触发器是在门控脉冲的上升沿或下降沿接收输入信号改变状态,故为边沿触发方式。这种触发器的触发沿到来之前,输入信号要稳定地建立起来,触发沿到来之后仍需保持一定时间,也就是要注意这种触发器的建立时间和保持时间。
另外,要注意同一功能的触发器触发方式不同,即使输入相同输出也不相同。
2. 基本RS触发器
基本RS触发器是最基本的触发器,它由两个与非门交叉耦合而成。如图7-1所示:
图7-1
▪ 基本RS触发器的逻辑符号。如图7-2所示:
▪ 表7-1为RS基本触发器真值表。
图7-2
▪ 基本RS触发器的特性方程。
3. 同步RS触发器
同步RS触发器,在外加的R、S信号加到R端及S端及S端后,并不引起触发器的翻转,只有在时钟脉冲配合下,才能使触发器由原状态翻转到新的状态。这样使状态的转换在时钟信号CP的控制下,有条不絮地顺序进行。
▪ 同步RS触发器逻辑符号,如图7-3所示:
▪ 表7-2为同步RS触发器真值表
▪ 同步RS触发器特性方程
4. J-K****触发器
J-K触发器的逻辑功能是:当时钟信号未到来时,无论触发器的J、K输入端怎样变换,触发器状态保持不变。当时钟信号到来时,若输入J=0、K=0,触发器状态保持原来状态不变;若输入J=0、K=1,无论触发器的现态如何,其次态总为0;若输入J=1、K=0,无论触发器的现态如何,其次态总为1;;若输入J=1、K=1,触发器必将发生状态发生变化。
图8-1是J-K触发器的逻辑符号,其中J、K是控制输入端,S、R分别是异步置“1”和异步置“0”端。表8-1为J-K触发器的特性表。
图8-2是双下降沿J-K触发器(有预置、清除端)74LS112。
图8-2
如图:74LS112包含两个下降沿J-K触发器,在控制端CP的下降沿输出后发生变化。其中非同步输入端叫做预置端,和
叫做清除端。能将J-K触发器预置为“1”或清除为“0”,而与CP及输入的J-K无关。
J-K触发器的特性方程为:
5. D****触发器
D触发器的逻辑功能是:当时钟信号未到来时,无论触发器的输入端D是0还是1,触发器状态保持不变。当时钟信号到来时,若输入D=0,则触发器输出Q=0,即触发器置0;若输入D=1,则触发器输出Q=1,即触发器置1。
图8-3为D触发器的逻辑符号,表8-2为真值表。
D触发器的特性方程为:
Qn+1=D
6. T****触发器
T触发器的逻辑功能是:当时钟信号未到来时,无论输入端怎样变换,触发器状态保持不变。当时钟信号到来时,若输入T=1,触发器状态发生变化;若输入T=0,触发器状态保持不变。
可以看出当T输入端为1时,没来一个时钟信号,输出就翻转一次,这相当于一个二进制计数器。所以T触发器又称为计数触发器,此时T端起到了一个控制端的作用,当T输入端为0时,停止计数。 因此T触发器特别适合于构成计数器和分频器。
图8-4为T触发器的逻辑符号,表8-3为真值表。
表8-3
![]() |
Qn | Qn+1 | 功能描述 |
---|---|---|---|
0 | 0 | 0 | 保持 |
1 | 1 | ||
1 | 0 | 1 | 翻转 |
1 | 0 |
图8-4
T触发器的特性方程为:
Qn+1= T Qn + T Qn
三、实验内容
1****.实验任务一:用74LS00芯片构成钟控RS触发器
(1) 实验步骤
用74LS00芯片实现钟控RS触发器,可以参考如下线路图。
由图可知,首先我们需要总计四个与非门,故选取一片74LS00芯片即可;将该芯片的14引脚接通+5v,7引脚接地,即可开始连接与非门电路:
选取两个开关作为输入端的R、S,选取左上方的“1H”作为CP信号,分别将R、CP和S、CP连接到芯片的引脚1、2和4、5,所获得的输出分别为引脚3、6;
将获得的输出(即引脚3、6)分别连接到引脚13、10,然后连接这两个与非门的输出与输入,也即将引脚12与8、引脚11与9相连接。
完成之后,选择引脚8作为Q输出,连接到一枚数码管用以观察最终输出的结果是什么。
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
实验结束,关闭电源,拔出导线;
(2) 实验现象
当数据输入R、S时,根据CP信号,输出符合RS触发器的逻辑功能。
(3) 数据记录、分析与处理
表1.3.1 钟控RS触发器输入输出状态记录表(时钟信号到来时)
现态Qn | 次态Qn+1 | |||
---|---|---|---|---|
RS=00 | RS=01 | RS=11 | RS=10 | |
0 | 0 | 1 | d | 0 |
1 | 1 | 1 | d | 0 |
当CP没有到来时,电路将会保持原态不变。
根据实验结果,该电路实现了钟控RS触发器的功能。
(4) 实验结论
通过74LS00,成功实现了钟控RS触发器的功能,即Qn+1=JQn+
K Qn。
2****.实验任务二:在Quartus II****上用D触发器实现JK触发器
(1) 实验步骤
在Quartus II上用D触发器实现JK触发器。
打开QuartusII软件,新建项目,新建图形文件并进行电路图绘制:
首先,放置四个input,分别命名为Clear、CP、J、K,并放置输出为.
放置一枚D触发器(DFF),将其CP端口连接到CP输入,D按照如下逻辑函数连接:
即:首先,放置一些非门以得到;然后,放置两枚与门,输入分别连接J、
和
,然后把两个与门的输出再连接到一个或门,或门的输出作为D输入到D触发器。
D触发器的输出Q连接到最终的输出Y上。
完成后选择机器型号(10号机位为EP1K10),然后点击pin planner选择合适的引脚。本实验中选取了117、118、119、120、121这五个引脚,查表可知对应机器上的引脚编号分别为78、81、80、83、82。
完成后编译保存,并点击programmer-start,保存进芯片。
对需要使用的每根线、芯片进行检查,避免发生断路等意外;
将开关1、“1H”时钟信号、2、3分别连接到Clear、CP、J、K所对应的机器引脚编号(81、80、83、78)上;将所对应的引脚(82)连接到数码管,作为输出便于查验。
打开电源,分别拨动开关,观察各情况下数码管的输出结果,并记录数据;
![]() |
实验结束,关闭电源,拔出导线;
图2.1.1 Quartus II用D触发器实现JK触发器电路设计图
图2.1.2 Quartus II用D触发器实现JK触发器电路pin planner界面
(2) 实验现象
当数据输入Clear、CP、J、K时,输出符合JK触发器的相关逻辑功能。不过在实验中,由于编译器似乎没有成功进行编译,导致卡在编译环节许久也没能成功,最后还是需要重新启动Quartus才成功地编译。
(3) 数据记录、分析与处理
表2.3.1 用D触发器实现JK触发器输入输出状态记录表(当Clear不触发且时钟信号来临时)
现态Qn | 次态Qn+1 | |||
---|---|---|---|---|
JK=00 | JK =01 | JK =11 | JK =10 | |
0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 1 |
当Clear触发清零时,触发器将会自动清零。而如果CP信号没有到来,那么触发器将会保持现态不变。
根据实验结果,该电路实现了JK触发器的功能。
(4) 实验结论
通过QuartusII的D触发器,成功实现了钟控JK触发器的功能。
四、建议和体会
本次实验成功实现了两大内容,一个是将基础的RS钟控触发器通过最基本的与非门电路实现了,另一个是把D触发器经过一系列的门电路改造成为了JK触发器。
然而,在第二个实验任务之中,我遭遇了许多困难:首先就是Clear输入的问题。一开始,我选择使用一枚开关控制Clear端口,然而或许是不小心放到了清零端口,在实验的过程中,最终的输出一直都是0;好不容易发现问题所在,将清零端口放到不清零的位置之后,又发生了编译的问题——编译器似乎并没有把我最新更改得到的电路保存下来,而是一直使用最开始的电路在编译。关掉重新启动Quartus之后,才得以成功编译,保存进芯片之后成功实现了电路设计。
五、思考题
\1. 用D触发器实现RS触发器的功能
![]() |
![]() |
2.用D触发器实现T触发器的功能
![]() |
3.用JK触发器实现D触发器的功能
![]() |
4.用JK触发器实现RS触发器的功能
5.用JK触发器实现T触发器的功能
![]() |
《数字逻辑实验》报告 6
一、右移位寄存器
1. 实验目的
\1. 使用2片双D触发器74LS74构成单向移位寄存器。
按《数字逻辑实验指导书》p.实验74中图12-3、 p.实验75中图12-4连接器件原理图,并用Quartus II软件进行模拟。
2. 原理
3. 实验步骤
1.按图连线。CLK接单脉冲插孔,/R、DI端接相应电平。
2.下载至FPGA
3.测试
4. 实验现象
当时钟信号给出信号时,“1”开始向右移动,当给予出发信号时,此时出现几个“1”都会向右逐步移动直到消失。
5. 体会
通过这次实验,我了解了双D触发器可以实现寄存效果,对触发器的认识更深了一步,本次操作比较简单,没有需要特别留心的地方,唯一需要注意的是CLK部分也需要接入一个输入,不然编译可能会不过。
二、环形计数器
1.实验目的
按《数字逻辑实验指导书》p.实验76 图12-6、图12-7分别进行设计,用软件模拟所完成的设计,通过软件模拟后,下载所构成计数器到FPGA,进行硬件测试。
2.原理
3.实验步骤
1.用quartus建立移位寄存器的功能原理图。
2.电路设计
3.电路下载到FPGA进行测试
4.测试数据进行记录。
4.实验现象
当出现任意个数“1”时,在开关打开时会不断向一方向进行循环。
5.体会
这个实验也比较的简单,只需要对双D触发器进行适当的改装,将输出的部分分出给刚开始输入的地方即可完成,需要留心的是看准引脚对照,不要接错线。
- 本文作者: 黎玮
- 本文链接: https://lwow.xyz/2025/04/14/上海大学数字逻辑实验报告/
- 版权声明: © William-Liwei. All rights reserved.