华中科技大学计算机学院数字逻辑实验报告2
数字逻辑实验报告实验
一、实验目的1. 理解数字逻辑的基本概念和基本原理。
2. 掌握数字逻辑电路的基本分析方法,如真值表、逻辑表达式等。
3. 熟悉常用数字逻辑门电路的功能和应用。
4. 提高数字电路实验技能,培养动手能力和团队协作精神。
二、实验原理数字逻辑电路是现代电子技术的基础,它主要研究如何用数字逻辑门电路实现各种逻辑功能。
数字逻辑电路的基本元件包括与门、或门、非门、异或门等,这些元件可以通过组合和连接实现复杂的逻辑功能。
1. 与门:当所有输入端都为高电平时,输出端才为高电平。
2. 或门:当至少有一个输入端为高电平时,输出端为高电平。
3. 非门:将输入端的高电平变为低电平,低电平变为高电平。
4. 异或门:当输入端两个高电平或两个低电平时,输出端为低电平,否则输出端为高电平。
三、实验内容1. 实验一:基本逻辑门电路的识别与测试(1)认识实验仪器:数字电路实验箱、逻辑笔、示波器等。
(2)识别与测试与门、或门、非门、异或门。
(3)观察并记录实验现象,分析实验结果。
2. 实验二:组合逻辑电路的设计与分析(1)设计一个简单的组合逻辑电路,如加法器、减法器等。
(2)根据真值表列出输入输出关系,画出逻辑电路图。
(3)利用逻辑门电路搭建电路,进行实验验证。
(4)观察并记录实验现象,分析实验结果。
3. 实验三:时序逻辑电路的设计与分析(1)设计一个简单的时序逻辑电路,如触发器、计数器等。
(2)根据电路功能,列出状态表和状态方程。
(3)利用触发器搭建电路,进行实验验证。
(4)观察并记录实验现象,分析实验结果。
四、实验步骤1. 实验一:(1)打开实验箱,检查各电路元件是否完好。
(2)根据电路图连接实验电路,包括与门、或门、非门、异或门等。
(3)使用逻辑笔和示波器测试各逻辑门电路的输出,观察并记录实验现象。
2. 实验二:(1)根据实验要求,设计组合逻辑电路。
(2)列出真值表,画出逻辑电路图。
(3)根据逻辑电路图连接实验电路,包括所需逻辑门电路等。
数字逻辑设计实验报告
一、实验目的1. 理解和掌握数字逻辑设计的基本原理和方法。
2. 熟悉数字电路的基本门电路和组合逻辑电路。
3. 培养动手能力和实验技能,提高逻辑思维和解决问题的能力。
4. 熟悉数字电路实验设备和仪器。
二、实验原理数字逻辑设计是计算机科学与技术、电子工程等领域的基础课程。
本实验旨在通过实际操作,让学生掌握数字逻辑设计的基本原理和方法,熟悉数字电路的基本门电路和组合逻辑电路。
数字逻辑电路主要由逻辑门组成,逻辑门是数字电路的基本单元。
常见的逻辑门有与门、或门、非门、异或门等。
根据逻辑门的功能,可以将数字电路分为组合逻辑电路和时序逻辑电路。
组合逻辑电路的输出只与当前输入有关,而时序逻辑电路的输出不仅与当前输入有关,还与之前的输入有关。
三、实验内容1. 逻辑门实验(1)实验目的:熟悉逻辑门的功能和特性,掌握逻辑门的测试方法。
(2)实验步骤:① 将实验箱中的逻辑门连接到测试板上。
② 根据实验要求,将输入端分别连接高电平(+5V)和低电平(0V)。
③ 观察输出端的变化,记录实验数据。
④ 分析实验结果,验证逻辑门的功能。
2. 组合逻辑电路实验(1)实验目的:掌握组合逻辑电路的设计方法,熟悉常用组合逻辑电路。
(2)实验步骤:① 根据实验要求,设计组合逻辑电路。
② 将电路连接到实验箱中。
③ 根据输入端的不同组合,观察输出端的变化,记录实验数据。
④ 分析实验结果,验证电路的功能。
3. 时序逻辑电路实验(1)实验目的:掌握时序逻辑电路的设计方法,熟悉常用时序逻辑电路。
(2)实验步骤:① 根据实验要求,设计时序逻辑电路。
② 将电路连接到实验箱中。
③ 观察电路的输出变化,记录实验数据。
④ 分析实验结果,验证电路的功能。
四、实验结果与分析1. 逻辑门实验结果:通过实验,验证了逻辑门的功能和特性,掌握了逻辑门的测试方法。
2. 组合逻辑电路实验结果:通过实验,掌握了组合逻辑电路的设计方法,熟悉了常用组合逻辑电路。
3. 时序逻辑电路实验结果:通过实验,掌握了时序逻辑电路的设计方法,熟悉了常用时序逻辑电路。
数字逻辑实验报告
数字逻辑实验报告一、引言数字逻辑实验是电子信息类专业的一门重要实践课程。
本实验报告旨在记录和总结我在数字逻辑实验中的学习和实践经验,分享我对数字逻辑的理解和应用。
二、实验概述本次数字逻辑实验的主题是设计一个简单的加法器电路。
实验目的是通过实践操作和设计,加深对数字逻辑电路的理解,并掌握逻辑门的使用和联接方式。
三、实验步骤1. 学习并熟悉逻辑门的基本原理和真值表。
2. 根据加法器的要求,确定所需的逻辑门类型和数量。
3. 使用逻辑门芯片进行电路设计和布线。
4. 连接电路连接线,确保电路的正常工作。
5. 使用示波器验证电路的正确性。
6. 总结实验过程中的问题和解决方法。
四、实验结果经过设计和调试,成功实现了一个4位全加器电路。
通过输入不同的二进制数值,成功实现了两个四位数的相加运算,并正确输出结果。
实验结果表明,逻辑门的正确使用和连接方式能够实现复杂的算术运算。
五、实验心得数字逻辑实验是一门非常实用的实践课程。
通过本次实验,我深刻理解了数字逻辑的基本原理和应用方法。
实验中,我了解了逻辑门的分类和功能,并学会了逐级联接逻辑芯片的技巧。
同时,实验还培养了我解决问题的能力和动手操作的实践技能。
在实验过程中,我遇到了一些问题,如逻辑门连接不正确、芯片损坏等。
但通过仔细检查和重新设计,最终找到了解决问题的方法。
这使得我更加珍惜实验中出现的错误和挑战,因为它们实际上是对我们思维和创造力的锻炼和考验。
通过本次实验,我还意识到数字逻辑的应用范围非常广泛。
数字逻辑不仅仅应用于电子电路中,还可以用于计算机设计、数字通信、自动控制等领域。
数字逻辑的深入学习对我们今后的专业发展非常重要。
总之,数字逻辑实验是一门非常有意义和实践性的课程。
通过实验,我不仅加深了对数字逻辑的理解,还培养了动手操作和解决问题的能力。
我相信通过持续的实践和学习,我将进一步提高数字逻辑的应用水平,为未来的专业发展打下坚实基础。
六、结语通过本次数字逻辑实验的学习和实践,我对数字逻辑有了更深的了解和认识。
华中科技大学计算机网络实验二报告
华中科技大学计算机网络实验(二)报告————————————————————————————————作者:————————————————————————————————日期:ﻩ计算机网络课程实验报告实验2:抗干扰编码姓名李蓝鑫院系自动化学院学号U201514280实验地点科技楼十二楼机房实验时间2018年5月3日实验目的:1. 了解抗干扰编码原理。
2、掌握海明编码和CRC编码的原理,能熟练计算实验内容:内容1:海明编码1.1海明编码原理将有效信息按某种规律分成若干组,每组安排一个校验位通过异或运算进行校验,得出具体的校验码;在接收端同样通过异或运算看各组校验结果是否正确,并观察出错的校校组,或者个出错的校验组的共同校验位,得出具体的出错比特位;对错误位取反来将其纠正;假设用N表示添加了校验码位后整个传输信息的二进制位数,用K代表其中有效信息位数,r表示添加的校验码位数,它们之间的关系应满足:N=K+r≤2^r-1(是为了确保r位校验码能校验全部的数据位,因为r位校验码所能表示的最大十进制数为2^r-1,同时也确保各位码本身不被其他校验码校验)。
海明码的校验码的位置必须是在2n次方位置(n从0开始,分别代表从左边数起分别是第1、2、4、8、16……),信息码也就是在非2n次方位置第i位校验码从当前校验码位开始,每次连续校验i位后再跳过i位,然后再连续校验i位,再跳过i位,以此类推。
确定每个校验码所校验的比特位:1.2海明编码程序流程图1.3交互界面设计编码:原码序列从“输入序列”编辑框输入,点击“编码”按钮在“编码序列”编辑框内输出编码序列,对输入编码要求为二进制输入译码:编码序列从“输入序列”编辑框输入,点击“译码”按钮在“译码序列”编辑框内输出译码序列,若译码错误会有响应的报错和纠错,对输入序列有不小于三位和二进制序列的要求1.4核心代码与注释输入序列框callback%做输入检测,检测是否是“0”“1”输入,否则报错temp_str=get(handles.input,'String');num_char=unique(temp_str);%unique函数获得输入字符串中不同字符的字符串if length(num_char)==2 %如果字符串长度为2if num_char(2)=='1' %第二个字符不是“1”说明字符串中有其他字符else set(handles.input,'String','0000');errordlg('只能输入1和0','输入错误');endelseif length(num_char)==1 %如果字符串长度为1,判断“1”还是“0",否则报错if num_char(1)=='0'elseif num_char(1)=='1'elseset(handles.input,'String','0000');errordlg('只能输入1和0','输入错误');endelse %如果字符串长度不为2,直接报错set(handles.input,'String','0000');errordlg('只能输入1和0','输入错误');End编码按钮callback(编码核心)%获取输入字符串temp_str=get(handles.input,'string');%获取字符串长度len_str=length(temp_str);%转存原码字符串长度备用k=len_str;%初始化需要插入的校验码的位数r=0;%根据海明编码的2^(r)-1)<(k+r)要求,计算校验码位数while((2^(r)-1)<(k+r))r=r+1;end%把字符串数组转成0和1的数组,便于处理for i=1:1:len_strif temp_str(i)=='1'yuan(i)=1;%原码数组为yuanelseyuan(i)=0;endend%把求得相应位数的校验码,用0插入原码中得到新码j=0;m=1;for i=1:1:(k+r)if i==2^(j) %如果该位置为2的次方,则插入校验码xin(i)=0;j=j+1;elsexin(i)=yuan(m);m=m+1;endend%进行海明编码odd=0;%用于计算每位校验码负责校验的位置的和for j=1:1:r %共有r位校验码,需要计算r次n=1; %初始化循环变量i=1;while((n*2^(j-1)+i-1)<=(k+r))%当没有超过数组长度时继续循环if i>(2^(j-1)) %如果本段的编码已经加完i=1; %则调转到下一段,也就是隔一个2^(j-1)的段再进行累加n=n+2;else %累加odd=odd+xin(n*2^(j-1)+i-1);i=i+1;endendif mod(odd,2)==0 %判断是否为偶数xin(2^(j-1))=0; %若为偶数,则在对应的校验位插入0 elsexin(2^(j-1))=1; %若为奇数,则在对应的校验为插入1 endodd=0;end%编码完毕,把数组转换成字符串用于输出for i=1:1:(k+r)if xin(i)==1output_str(i)='1';elseoutput_str(i)='0';endendset(handles.out,'String',output_str);译码按钮callback(原理与编码基本相同)%获得译码序列字符串temp_str=get(handles.input,'string');len_str=length(temp_str);%判断输入序列长度是否满足要求,不满足报错返回if len_str<3errordlg('译码最低输入位数为3位','输入出错');elsek=len_str;%编码中信息码的个数r=len_str;%编码中校验码的个数while((2^(r)-1)>=len_str)r=r-1;endr=r+1;%找到校验码的个数k=len_str-r;for i=1:1:len_str%得到所有编码数组if temp_str(i)=='1'xin(i)=1;elsexin(i)=0;endend%提取出信息编码数组m=1;j=0;for i=1:1:(k+r)if i==2^(j)j=j+1;elseyuan(m)=xin(i);m=m+1;endend%重新偶校验,原理同编码odd=0;for j=1:1:rn=1;i=1;while((n*2^(j-1)+i-1)<=(k+r))if i>(2^(j-1))i=1;n=n+2;elseodd=odd+xin(n*2^(j-1)+i-1);i=i+1;endendif mod(odd,2)==0check(j)=0; %校验结果存在check数组中elsecheck(j)=1;endodd=0;end%把check数组也就是校验结果转成十进制数num_wrong=0;for j=1:1:rnum_wrong=num_wrong*2;if check(r-j+1)==1num_wrong=num_wrong+1;endend%判断校验是否正确,为0则正确if num_wrong==0for m=1:1:kif yuan(m)==1output_str(m)='1';elseoutput_str(m)='0';endendset(handles.ym_out,'String',output_str);else%否则校验错误,对应位置取反后再输出if xin(num_wrong)==0xin(num_wrong)=1;elsexin(num_wrong)=0;endm=1;j=0;for i=1:1:(k+r)if i==2^(j)j=j+1;elseyuan(m)=xin(i);m=m+1;endendfor m=1:1:kif yuan(m)==1output_str(m)='1';elseoutput_str(m)='0';endendset(handles.ym_out,'String',output_str);errordlg(['校验码第',num2str(num_wrong),' 位出错,对应位置取反后得到正确解码为',output_str],'校验出错');endend1.5程序执行测试1.5.1 编码测试①正常编码1.5.2 译码测试①输入报错②正常解码③解码错误与纠正内容2:CRC编码2.1 CRC编码原理在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。
华中科技大学数字逻辑实验
1.输入 A=0B,B=1011B, Co=0B,理论输出 =0B,S=1011B,实际输出如图 1-7 所示,与理论结果一致
图 1-7 测试样例 1 2. 输入 A=1111B,B=1111B, Co =1B,理论输出 =1B,S=1111B,实际输出如 图 1-8 所示,与理论结果一致
图 1-1“私有”的先行进位的四位二进制并行加法器
5、实验方案设计
(1)一位二进制半加器的设计方案
设 A、B 为半加器的输入,C、S 为半加器的输出,其中 S 为本位和,C 为进 位,通过分析可知,当 A=B=0 时,C=S=0;当 A、B 中有一个为 1 时,C=0,S=1; 当 A=B=1 时,C=1,S=0.据此写出逻辑表达式:
图 1-8 测试样例 2 3. 输入 A=1100B,B=0011B, Co =1B,理论输出 =1B,S=0000B,实际输出如 图 1-9 所示,与理论结果一致
表 1-1 全加器真值表
A
B
Ci
S
Co
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
利用卡诺图化简并进行异或变换得到最简输出函数表达式为
使用 logism 做出一位二进制全加器的电路图,结果如图 1-3 所示。
图 1-3 一位二进制全加器
华中科技大学数字逻辑实验报告
华中科技大学计算机科学与技术双学位数字逻辑实验报告实验一组合逻辑电路的设计(第2-5页)实验二同步时许逻辑电路设计(第6-10页)实验三控制电路的设计(第10-12页)总结(第13页)学校:华中农业大学姓名:尹传林学号:2009301200906班级:植物科学技术学院植物保护专业0905班指导老师:熊自立完成时间:2011年4月4号到2011年4月23号实验一组合逻辑电路的设计一、实验目的1掌握组合逻辑电路的功能测试.2验证半加器和全加器的逻辑功能。
3学会二进制的运算规律。
二、实验器材74LS00 二输入四与非门 74LS04 六门反向器74LS08 二输入四与门 74LS10 三输入三与非门74LS86 二输入四异或门三、实验内容内容A 一位全加全减器的实现。
电路做加法还是做减法由S控制。
当s=0时做加法运算,s=1时做减法运算,当作为全加器输入信号A、B和Cin分别作为加数、被加数和低位来的进位,F1和F2为合数和向上位的进位。
当作为全减器输入信号A、B和Cin分别作为减数、被减数和低位来的借位,F1和F2为差数和向上位的借位。
内容B 舍入与检测电路的设计。
用所给定的集成电路组件设计一个多输出逻辑电路,输入为8421码.F1为四舍五入输入信号,F2为奇偶检测输出信号。
当输入的信号大于或等于(5)10时,电路输出F1=1,其他情况为0;当输入代码中含1的个数为奇数是,输出F2=1,其他情况为0.框图如图所示:四、实验步骤内容A 一位全加全减器的实现。
由要求可得如下真值表:F1的卡诺图为: F2的卡诺图为:化简得F1=A○+B○+C, F2=.由F1和F2表达式画出电路图如下:根据电路图,连接电路。
接线后拨动开关,结果如图:输入输出ABC 加法S=1 减法S=0F1 F2 F1 F20 0 0 0 0 0 00 0 1 1 0 1 10 1 0 1 0 1 10 1 1 0 1 0 11 0 0 1 0 1 01 0 1 0 1 0 01 1 0 0 1 0 01 1 1 1 1 1 1内容B 舍入与检测电路的设计。
数字逻辑实验报告
数字逻辑实验报告数字逻辑实验报告引言数字逻辑是计算机科学中的重要基础知识,通过对数字信号的处理和转换,实现了计算机的高效运算和各种复杂功能。
本实验旨在通过实际操作,加深对数字逻辑电路的理解和应用。
实验一:二进制加法器设计与实现在这个实验中,我们需要设计一个二进制加法器,实现两个二进制数的加法运算。
通过对二进制数的逐位相加,我们可以得到正确的结果。
首先,我们需要将两个二进制数输入到加法器中,然后通过逻辑门的组合,实现逐位相加的操作。
最后,将得到的结果输出。
实验二:数字比较器的应用在这个实验中,我们将学习数字比较器的应用。
数字比较器可以比较两个数字的大小,并输出比较结果。
通过使用数字比较器,我们可以实现各种判断和选择的功能。
比如,在一个电子秤中,通过将待测物品的重量与设定的标准重量进行比较,可以判断物品是否符合要求。
实验三:多路选择器的设计与实现在这个实验中,我们需要设计一个多路选择器,实现多个输入信号中的一路信号的选择输出。
通过使用多路选择器,我们可以实现多种条件下的信号选择,从而实现复杂的逻辑控制。
比如,在一个多功能遥控器中,通过选择不同的按钮,可以控制不同的家电设备。
实验四:时序电路的设计与实现在这个实验中,我们将学习时序电路的设计与实现。
时序电路是数字逻辑电路中的一种重要类型,通过控制时钟信号的输入和输出,实现对数据的存储和处理。
比如,在计数器中,通过时序电路的设计,可以实现对数字的逐位计数和显示。
实验五:状态机的设计与实现在这个实验中,我们将学习状态机的设计与实现。
状态机是一种特殊的时序电路,通过对输入信号和当前状态的判断,实现对输出信号和下一个状态的控制。
状态机广泛应用于各种自动控制系统中,比如电梯控制系统、交通信号灯控制系统等。
实验六:逻辑门电路的优化与设计在这个实验中,我们将学习逻辑门电路的优化与设计。
通过对逻辑门电路的布局和连接方式进行优化,可以减少电路的复杂性和功耗,提高电路的性能和可靠性。
数字逻辑实验报告2-模板
数字逻辑实验报告(2)数字逻辑实验2多功能电子钟系统设计成绩评语:(包含:预习报告内容、实验过程、实验结果及分析)教师签名姓名:学号:班级:物联网1701指导教师:徐有青计算机科学与技术学院20 年月日数字逻辑实验报告多功能电子钟系统设计实验报告多功能电子钟系统设计1、实验名称多功能电子钟系统设计。
2、实验目的要求同学采用传统电路的设计方法,对一个“设计场景”进行逻辑电路的设计,并利用工具软件,例如,“logisim”软件的虚拟仿真来验证电子钟电路系统的设计是否达到要求。
通过以上实验的设计、仿真、验证3个训练过程使同学们掌握小型电路系统的设计、仿真、调试方法以及电路模块封装的方法。
3、实验所用设备软件一套。
4、实验内容设计场景:多功能数字钟是一种用数字显示秒、分、时的计时装置,当前从小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数显电子钟无处不在。
多功能数字钟的基本功能如下:(1)显示时、分、秒;(2)可以采用24小时制或12小时制(上午和下午);(3)整点报时,整点前10秒开始,整点时结束;(4)单独对“时、分”计时校准,对分钟值校准时最大分钟值不向小时值进位;(5)闹钟10秒提醒。
使用logisim软件对你设计电子钟电路进行虚拟仿真验证,具体要求如下。
(采用logisim软件提供的“时钟频率”为8hz的信号源)(1)具有校准计数值功能的六十进制计数器电路采用“四位二进制可逆计数器”这个“私有”元件和相应元器件,设计一个具有对计数值进行校准的六十进制计数器,并封装,该计数器逻辑符号参见图2-1所示。
图2-1 校准计数值的60进制计数器六十进制计数器的输入输出引脚定义如下:(a)一个清零端Clr;(b)一个累加计数脉冲输入端CP U;(c)一个累减计数脉冲输入端CP D;(d)八个计数器状态输出值Q1D Q1C Q1B Q1A Q0D Q0C Q0B Q0A,采用8421码分别表示计数器状态的十位和个位;(e)一个计数值校准输入控制信号Adj,当Adj为“1”时通过CP U对计数值进行加计数或校准,Adj为“0”时通过CP D对计数值进行减计数校准(由于受“四位二进制可逆计数器”约束),CP D可以对计数值的十位或个位进行递减校准(递减的时候不需要循环,回到0即可);(f)每当计数累计满60产生一个进位输出信号Qcc。
数字逻辑综合实验报告
一、实验目的本次实验旨在通过实际操作,加深对数字逻辑基本原理和设计方法的理解,提高学生在数字电路设计、仿真和调试方面的实践能力。
通过完成以下实验任务,使学生掌握以下技能:1. 理解数字逻辑电路的基本概念和原理。
2. 掌握数字逻辑电路的设计方法和步骤。
3. 学会使用仿真软件进行电路设计和仿真测试。
4. 掌握数字逻辑电路的调试和优化方法。
二、实验内容本次实验主要包含以下三个部分:1. 组合逻辑电路设计:设计一个四位加法器,并使用Logisim软件进行仿真测试。
2. 时序逻辑电路设计:设计一个简单的计数器,并使用Verilog语言进行描述和仿真。
3. 数字逻辑电路综合应用:设计一个简单的数字信号处理器,实现基本的算术运算。
三、实验步骤1. 组合逻辑电路设计(1)分析题目要求,确定设计目标和输入输出关系。
(2)根据输入输出关系,设计四位加法器的逻辑电路。
(3)使用Logisim软件搭建电路,并设置输入信号。
(4)观察仿真结果,验证电路功能是否正确。
2. 时序逻辑电路设计(1)分析题目要求,确定设计目标和状态转移图。
(2)使用Verilog语言描述计数器电路,包括模块定义、输入输出定义、状态定义和状态转移逻辑。
(3)使用仿真软件进行测试,观察电路在不同状态下的输出波形。
3. 数字逻辑电路综合应用(1)分析题目要求,确定设计目标和功能模块。
(2)设计数字信号处理器电路,包括算术运算单元、控制单元和存储单元等。
(3)使用仿真软件进行测试,验证电路能否实现基本算术运算。
四、实验结果与分析1. 组合逻辑电路设计实验结果:通过仿真测试,四位加法器电路功能正常,能够实现两个四位二进制数的加法运算。
分析:在设计过程中,遵循了组合逻辑电路设计的基本原则,确保了电路的正确性。
2. 时序逻辑电路设计实验结果:通过仿真测试,计数器电路功能正常,能够实现从0到9的计数功能。
分析:在设计过程中,正确描述了状态转移图,并使用Verilog语言实现了电路的功能。
数字逻辑实验报告
数字逻辑实验报告肇庆学院计算机学院软件学院数字逻辑实验报告专业班级学号学生姓名指导教师连晋平完成时间目录实验一基本门电路实验 (1)1.1预习内容 (1)1.2目的要求 (1)1.3实验仪器及材料 (1)1.4实验内容 (1)1.5实验体会及问题解答 (3)实验二组合逻辑电路实验 (3)2.1预习内容 (3)2.2目的要求 (4)2.3实验仪器及材料 (4)2.4实验内容 (4)2.5实验体会及问题解答 (5)实验三基本RS触发器和D触发器 (5) 3.1预习内容 (5)3.2目的要求 (5)3.3实验仪器及材料 (5)3.4实验内容 (6)3.5实验体会及问题解答 (6)实验四计数器及其应用 (7)4.1预习内容 (7)4.2目的要求 (7)4.3实验仪器及材料 (7)4.4实验内容 (7)4.5实验体会及问题解答 (9)实验一基本门电路实验1.1预习内容1.复习门电路工作原理及相应逻辑表达式2.熟悉所用集成电路的引线位置及各引线用途1.2目的要求1.熟悉门电路逻辑功能2.熟悉数字电路教学实验系统板1.3实验仪器及材料1.数字电路教学实验系统板2.器件74LS00 二输入端四与非门 1 片74LS32 二输入端四或门 1 片74LS86 二输入端四异或门 1 片3.导线若干1.4实验内容实验前按数字电路教学实验系统板使用说明先检查实验系统板电源是否正常。
然后选择实验用的集成电路,按自己设计的实验接线图接好连线,特别注意Vcc及地线不能接错。
线接好后经实验指导教师检查无误方可通电实验。
1.测试或门电路的逻辑功能(1).选用二输入端四或门74LS32一只,插入面包板,按图1.1接线,输入端接D1、D2(电平开关输入插口),输出端接电平显示发光二极管L1。
(2).将电平开关按表1.1置位,分别测出电压及逻辑状态。
(3).将表中结果和“或门”的真值表对比,判断是否实现了“或”逻辑功能。
2.异或门逻辑功能测试(1).选二输入四异或门电路74LS86一只,插入面包板,按图1.2接线,输入端接D1、D2(电平开关输入插口),输出端接电平显示发光二极管L1。
数字逻辑实验报告2
数字逻辑实验报告同步时序逻辑电路设计实验(计数器)【实验目的】掌握一般同步时序逻辑集成电路的使用【实验任务】用常用同步时序逻辑集成电路实现逻辑功能:九进制计数器【实验设备】EP3c80 SOPC实验系统【器件及功能说明】4位集成二进制同步加法计数器74LS161/163①CR = 0时异步清零。
②CR = 1、LD = 0时同步置数。
③CR= LD=1且CPT=CPP=1时,按4位自然二进制码进行同步计数。
④CR= LD=1且CPT·CPP=0时,计数器状态保持不变。
⑤161的引脚排列和163相同,不同之处是163采用同步清零方式。
74LS161是4位二进制同步加法计数器,除了有二进制加法计数功能外,还具有异步清零、同步并行置数、保持等功能。
CR是异步清零端,LD是预置数控制端,D0 ,D1,D2,D3是预置数据输人端,P和T是计数使能端,C是进位输出端,它的设置为多片集成计数器的级联提供了方便。
74LS161的功能表如表1所示。
由图可知,74LSl61从0000状态开始计数,当输人第9个CP脉冲(上升沿)时,输出Q3Q2Q1Q0=1001,此时CR=Q3Q0=0,反馈给CR端一个清零信号,立即使Q3Q2Q1Q0返回0000状态,接着CR端的清零信号也随之消失,74LS161重新从0000状态开始新的计数周期。
需要说明的是,此电路一进人1001状态后,立即叉被置成0000状态,即1001状态仅在极短的瞬间出现,因此,在主循环状态图中用虚线表示。
这样就跳过了1001 ~1111共7个状态,获得了九进制计数器。
【实验电路图】【实验步骤】(CR是异步清零端,LD是预置数控制端,D0 ,D1,D2,D3是预置数据输人端,P和T是计数使能端,C是进位输出端)1.将Vcc接5v,T,P接高电平(即1),LD~也接高电平1,2.CP接脉冲信号3.Q3,Q2,Q1,Q0分别接灯来显示数据4.用74LS00作为与非门,Q0与Q3相与后输出到CR~进行异步清零,使1001->0000;5.其余悬空6.观察现象。
华中科技大学数字逻辑实验
数字逻辑实验报告(1)数字逻辑实验1一、系列二进制加法器设计50% 二、小型实验室门禁系统设计50% 总成绩姓 名: 学 号: 班 级: 指 导 教 师:计算机科学与技术学院 20 年 月 日评语:(包含:预习报告内容、实验过程、实验结果及分析)教师签名数字逻辑实验报告系列二进制加法器设计预习报告一、系列二进制加法器设计1、实验名称系列二进制加法器设计。
2、实验目的要求同学采用传统电路的设计方法,对5种二进制加法器进行设计,并利用工具软件,例如,“logisim”软件的虚拟仿真功能来检查电路设计是否达到要求。
通过以上实验的设计、仿真、验证3个训练过程使同学们掌握传统逻辑电路的设计、仿真、调试的方法。
3、实验所用设备软件一套。
4、实验内容对已设计的5种二进制加法器,使用logisim软件对它们进行虚拟实验仿真,除逻辑门、触发器外,不能直接使用logisim软件提供的逻辑库元件,具体内容如下。
(1)一位二进制半加器设计一个一位二进制半加器,电路有两个输入A、B,两个输出S和C。
输入A、B分别为被加数、加数,输出S、C为本位和、向高位进位。
(2)一位二进制全加器设计一个一位二进制全加器,电路有三个输入A、B和Ci,两个输出S和Co。
输入A、B和Ci分别为被加数、加数和来自低位的进位,输出S和Co为本位和和向高位的进位。
(3)串行进位的四位二进制并行加法器用四个一位二进制全加器串联设计一个串行进位的四位二进制并行加法器,电路有九个输入A3、A2、A1、A0、B3、B2、B1、B0和C0,五个输出S3、S2、S1、S0和C4。
输入A= A3A2A1A0、B= B3B2B1B0和C0分别为被加数、加数和来自低位的进位,输出S= S3S2S1S0和Co为本位和和向高位的进位。
(4)先行进位的四位二进制并行加法器利用超前进位的思想设计一个先行进位的四位二进制并行加法器,电路有九个输入A3、A2、A1、A、B3、B2、B1、B和C,五个输出S3、S2、S1、S和C4。
华中科技大学计算机学院数字逻辑第一次实验报告
数字逻辑实验报告姓名:专业班级:学号:指导老师:完成时间:实验一:组合逻辑电路的设计一、实验目的:1. 掌握组合逻辑电路的功能测试。
2. 验证半加器和全加器的逻辑功能 3. 学会二进制的运算规律。
二、实验器材:二输入四与门74LS08,二输入四与非门74LS00,二输入四异或门74LS86,六门反向器74LS04芯片,三输入三与非门74L10,电线若干。
三、实验A 内容:内容A :全加全减器 实验要求:一位全加/全减法器,如图所示:四、实验A 步骤:按照所给定的实验要求填写出F1,F2理论上的真值表。
1.给出该实验的真值表:SCo2.根据真值表给出F1和F2的卡诺图:3. 根据逻辑表达式作出电路的平面图:4.记录实验结果如以下表格五、实验B内容:内容B:舍入与检测电路的设计:实验要求:用所给定的集合电路组件设计一个多输出逻辑电路,该电路的输入为8421码,F1为“四舍五入”输出信号,F2为奇偶检测输出信号。
当电路检测到输入的代码大宇或等于(5)10时,电路的输出F1=1;其他情况F1=0。
当输入代码中含1的个数为奇数时,电路的输出F2=1,其他情况F2=0。
该电路的框图如下所示:(1)按照所设计的电路图接线,注意将电路的输入端接试验台的开关,通过拨动开关输入8421代码,电路输入按至试验台显示灯。
(2)每输入一个代码后观察显示灯,并将结果记录在输入/输出观察表中。
六、实验B步骤:1.按照所给定的逻辑电路画出真值表2.根据真值表给出F1和F2的卡诺图。
3.根据逻辑表达式画出电路的平面图:1.检查导线和芯片是否完好无损坏,根据电路图和逻辑表达式连接电路。
2.波动开关输入8421代码,观察显示灯的状况并填写出实际的F1,F2取值表,并与理论值相对比,确定电路连接是否正确。
4.记录实验结果如以下表格七、回答思考题:1.化简包含无关条件的逻辑函数时应注意什么?答:当采用最小项之和表达式描述一个包含无关条件的逻辑问题时,函数表达式中的无关项是令其值为1还是为0,并不影响函数的实际逻辑功能。
数字逻辑实验报告
数字逻辑实验报告实验介绍数字逻辑是计算机科学不可或缺的基础课程,本次实验我们将学习数字逻辑的基本概念,使用Verilog语言实现逻辑电路,并在数字仿真软件中模拟电路的运行过程。
实验目的•理解数字逻辑电路的基本概念和原理;•掌握Verilog语言的基本语法和编程技巧;•学会使用数字仿真软件模拟数字逻辑电路的运行过程。
实验过程实验一:组合逻辑电路的实现本实验中我们将使用Verilog语言实现一个简单的组合逻辑电路。
组合逻辑电路是由一些基本逻辑门连接而成的电路,这些逻辑门输出状态仅受输入状态影响,不受电路的历史状态影响,因此称为组合逻辑电路。
在本实验中,我们将使用Verilog语言实现一个简单的组合逻辑电路,具体如下:module combinational_logic(input a, b, c, output d, e);assign d = ~(a & b);assign e = ~(c | d);endmodule以上Verilog代码实现了一个简单的组合逻辑电路,在电路中有三个输入端口(a、b、c)和两个输出端口(d、e)。
其中d输出端口为(a & b)的反相值,e输出端口为(c | d)的反相值。
实验二:时序逻辑电路的实现时序逻辑电路是一种与历史状态相关的电路,因此称为时序逻辑电路。
与组合逻辑电路的不同之处,在于时序逻辑电路有一种状态元件,在时钟信号的驱动下更改其状态。
在本实验中,我们将使用Verilog语言实现一个简单的时序逻辑电路,具体如下:module sequential_logic(input clock, reset, input data, output reg q);always @(posedge clock or negedge reset) beginif(!reset) beginq <= 1'b0;endelse beginq <= data;endendendmodule以上Verilog代码实现了一个简单的时序逻辑电路,在电路中有两个输入端口(clock、reset)和一个输出端口(q)。
数字逻辑实验报告完整版
华中科技大学计算机学院数字逻辑实验报告实验一组合逻辑电路的设计实验二同步时许逻辑电路设计实验三:异步时序逻辑电路设计姓名:学号:班级:指导老师:完成时间:实验一组合逻辑电路的设计一、实验目的1掌握组合逻辑电路的功能测试.2验证半加器和全加器的逻辑功能。
3学会二进制的运算规律。
二、实验器材74LS00 二输入四与非门、74LS04 六门反向器、74LS10 三输入三与非门、74LS86 二输入四异或门、74LS73 负沿触发JK触发器、74LS74 双D触发器。
三、实验内容内容A 一位全加全减器的实现。
电路做加法还是做减法由S控制。
当s=0时做加法运算,s=1时做减法运算,当作为全加器输入信号A、B和Cin分别作为加数、被加数和低位来的进位,F1和F2为合数和向上位的进位。
当作为全减器输入信号A、B和Cin分别作为减数、被减数和低位来的借位,F1和F2为差数和向上位的借位。
内容B 舍入与检测电路的设计。
用所给定的集成电路组件设计一个多输出逻辑电路,输入为8421码.F1为四舍五入输入信号,F2为奇偶检测输出信号。
当输入的信号大于或等于(5)10时,电路输出F1=1,其他情况为0;当输入代码中含1的个数为奇数是,输出F2=1,其他情况为0.框图如图所示:四、实验步骤内容A 一位全加全减器的实现。
由要求可得如下真值表:F1的卡诺图为: F2的卡诺图为:化简得F1=A○+B○+C, F2=.由F1和F2表达式画出电路图如下:根据电路图,连接电路。
接线后拨动开关,结果如图:内容B 舍入与检测电路的设计。
由题意,列出真值表如图:化简卡诺图得F1=, F2=A ○+B ○+C ○+D.由此画出电路图如下:按照所示的电路图连接电路,将电路的输出端接实验台的开关,通过拨动开关输入8421代码,电路输出接实验台显示灯。
每输出一个代码后观察显示灯,并记录结果如下表:接开关接灯五、试验体会1、化简包含无关变量的逻辑函数时,,由于是否包含无关项以及对无关项是令其值为1为0并不影响函数的实际逻辑功能,因此在化简时,利用这种任意性可以使逻辑函数得到更好的化简,从而使设计的电路得到更简2、多输出函数的组合逻辑电路,因为各函数之间往往存在相互联系,具有某些共同部分,因此应当将它们当做一个整体来考虑,而不应该将其截然分开。
华中科技大学数字逻辑实验
标准文档数字逻辑实验报告(1)姓名:学号:班级:指导教师:计算机科学与技术学院20 年月日《数字电路与逻辑设计》实验报告数字逻辑实验报告系列二进制加法器设计预习报告《数字电路与逻辑设计》实验报告一、系列二进制加法器设计1、实验名称系列二进制加法器设计。
2、实验目的要求同学采用传统电路的设计方法,对5种二进制加法器进行设计,并利用工具软件,例如,“logisim”软件的虚拟仿真功能来检查电路设计是否达到要求。
通过以上实验的设计、仿真、验证3个训练过程使同学们掌握传统逻辑电路的设计、仿真、调试的方法。
3、实验所用设备Logisim2.7.1软件一套。
4、实验内容对已设计的5种二进制加法器,使用logisim软件对它们进行虚拟实验仿真,除逻辑门、触发器外,不能直接使用logisim软件提供的逻辑库元件,具体内容如下。
(1)一位二进制半加器设计一个一位二进制半加器,电路有两个输入A、B,两个输出S和C。
输入A、B分别为被加数、加数,输出S、C为本位和、向高位进位。
(2)一位二进制全加器设计一个一位二进制全加器,电路有三个输入A、B和Ci,两个输出S和Co。
输入A、B和Ci分别为被加数、加数和来自低位的进位,输出S和Co为本位和和向高位的进位。
(3)串行进位的四位二进制并行加法器用四个一位二进制全加器串联设计一个串行进位的四位二进制并行加法器,电路有九个输入A3、A2、A1、A0、B3、B2、B1、B0和C0,五个输出S3、S2、S1、S0和C4。
输入A= A3A2A1A0、B= B3B2B1B0和C0分别为被加数、加数和来自低位的进位,输出S= S3S2S1S0和Co为本位和和向高位的进位。
(4)先行进位的四位二进制并行加法器《数字电路与逻辑设计》实验报告利用超前进位的思想设计一个先行进位的四位二进制并行加法器,电路有九个输入A3、A2、A1、A、B3、B2、B1、B和C,五个输出S3、S2、S1、S和C4。
数字逻辑实验报告书2
资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载数字逻辑实验报告书2地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容班级:计科1111学号:姓名:指导老师:数字逻辑.......实验报告书目录绪论 (1)1.1 数字逻辑的概述 (1)HYPERLINK \l "数字电路特点" 1.2 数字电路的特点 (1)HYPERLINK \l "基本逻辑电路" 1.3 基本逻辑电路 (1)1.4 逻辑函数的表达方法 (2)第二章 EWB 5.0概述... .. (2)HYPERLINK \l "EWB软件简介" 2.1 EWB软件简介 (2)HYPERLINK \l "EWB软件特点" 2.2 EWB软件特点 (2)HYPERLINK \l "EWB软件的优点" 2.3 EWB软件的优点 (2)实际电路设计 (3)3.1 0~8的倒计时表 (3)3.2 8~0的倒计时表 (4)3.3 霓虹灯的设计 (6)3.4 打铃系统 (7)3.5 寝室熄灯管理系统 (11)第四章实验过程中遇到的问题 (12)第五章总结 (13)第一章绪论1.1 数字逻辑概述数字逻辑是 HYPERLINK "/ShowTitle.e?sp=S数字电路" 数字电路 HYPERLINK"/v5968060.htm?ch=ch.bk.innerlink" 逻辑设计的简称,其内容是应用数字电路进行数字系统逻辑设计。
电子数字计算机是由具有各种逻辑功能的逻辑部件组成的,这些逻辑部件按其结构可分为 HYPERLINK "/v399786.htm?ch=ch.bk.innerlink" 组合逻辑电路和 HYPERLINK "/v399794.htm?ch=ch.bk.innerlink" 时序逻辑电路。
数字逻辑实习报告
一、实习背景与目的随着科技的飞速发展,数字逻辑作为电子工程、计算机科学等领域的基础学科,其重要性日益凸显。
为了深入了解数字逻辑的理论与实践,提高自己的专业技能,我于2023年在某知名企业进行了为期一个月的数字逻辑实习。
本次实习旨在通过实际操作,加深对数字逻辑原理的理解,提升电路设计能力,并为将来的职业生涯打下坚实基础。
二、实习单位及实习内容实习单位为我国一家专注于集成电路设计的知名企业,主要从事数字信号处理、嵌入式系统等领域的研究与开发。
在实习期间,我主要参与了以下工作:1. 数字逻辑基础理论学习:通过阅读相关书籍、资料,复习数字逻辑的基本概念、原理和设计方法,为后续实践操作打下理论基础。
2. 数字电路设计与仿真:在导师的指导下,参与设计数字电路,包括组合逻辑电路、时序逻辑电路等,并利用仿真软件进行功能验证。
3. FPGA开发与调试:学习FPGA开发工具,完成数字电路的硬件描述语言(HDL)编程,并在FPGA上实现电路功能。
4. 项目参与:参与企业内部项目,协助工程师完成电路设计、调试和测试等工作。
三、实习过程与收获1. 理论学习与实践相结合:在实习过程中,我深刻体会到理论学习与实践操作的重要性。
通过实际操作,我对数字逻辑原理有了更深入的理解,同时发现自己在理论方面的不足,为今后的学习指明了方向。
2. 电路设计能力提升:通过参与电路设计,我学会了如何根据需求选择合适的电路结构,并进行电路优化。
同时,熟练掌握了仿真软件的使用,提高了电路设计效率。
3. FPGA编程能力提高:在FPGA开发过程中,我学习了VHDL和Verilog等硬件描述语言,掌握了FPGA编程的基本方法。
通过实际操作,我能够独立完成数字电路的FPGA实现。
4. 团队协作与沟通能力增强:在实习过程中,我与团队成员共同完成项目,学会了如何与不同背景的人进行有效沟通,提高了团队协作能力。
四、实习总结与展望通过本次数字逻辑实习,我收获颇丰。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字逻辑实验报告(2)数字逻辑实验2一、无符号数的乘法器设计50% 二、无符号数的除法器设计50% 总成绩姓 名: 学 号: 班 级: 指 导 教 师:计算机科学与技术学院 20 年 月 日评语:(包含:预习报告内容、实验过程、实验结果及分析)教师签名数字逻辑实验报告(2)无符号数的乘法器设计一、无符号数的乘法器设计1、实验名称无符号数的乘法器的设计。
2、实验目的要求使用合适的逻辑电路的设计方法,通过工具软件logisim进行无符号数的乘法器的设计和验证,记录实验结果,验证设计是否达到要求。
通过无符号数的乘法器的设计、仿真、验证3个训练过程,使同学们掌握数字逻辑电路的设计、仿真、调试的方法。
3、实验所用设备软件一套。
4、实验内容(1)四位乘法器设计四位乘法器Mul44实现两个无符号的4位二进制数的乘法运算,其结构框图如图3-1所示。
设被乘数为b(3:0),乘数为a(3:0),乘积需要8位二进制数表示,乘积为p(7:0)。
图3-1 四位乘法器结构框图四位乘法器运算可以用4个相同的模块串接而成,其内部结构如图3-2所示。
每个模块均包含一个加法器、一个2选1多路选择器和一个移位器shl。
图3-2中数据通路上的数据位宽都为8,确保两个4位二进制数的乘积不会发生溢出。
shl是左移一位的操作,在这里可以不用逻辑器件来实现,而仅通过数据连线的改变(两个分线器错位相连接)就可实现。
a(0)a(1)a(2)a(3)图3-2 四位乘法器内部结构(2)324乘法器设计324乘法器Mul324实现一个无符号的32位二进制数和一个无符号的4位二进制数的乘法运算,其结构框图如图3-3所示。
设被乘数为b(31:0),乘数为a(3:0),乘积也用32位二进制数表示,乘积为p(31:0)。
这里,要求乘积p能用32位二进制数表示,且不会发生溢出。
图3-3 324乘法器结构框图在四位乘法器Mul44上进行改进,将数据通路上的数据位宽都改为32位,即可实现Mul324。
(3)3232乘法器设计3232乘法器Mul3232实现两个无符号的32位二进制数的乘法运算,其结构框图如图3-4所示。
设被乘数为b(31:0),乘数为a(31:0),乘积也用32位二进制数表示,乘积为p(31:0)。
这里,要求乘积p能用32位二进制数表示,且不会发生溢出。
图3-4 3232乘法器结构框图用324乘法器Mul324作为基本部件,实现3232乘法器Mul3232。
设被乘数为b(31:0)=(b31b30b29b28···b15b14b13b12···b4b3b2b1b0)2乘数为a(31:0)=(a31a30a29a28···a15a14a13a12···a3a2a1a0)2=(a31a30a29a28)2228+···+ ( a15a14a13a12)2212+···+ (a3a2a1a0)220所以,p(31:0)= b(31:0) a(31:0)= b(31:0) ((a31a30a29a28)2228+···+ ( a15a14a13a12)2212+···+ (a3a2a1a0)220)= b(31:0) (a31a30a29a28)2228 +···+ b(31:0) ( a15a14a13a12)2212 +···+ b(31:0) (a3a2a1a0)220从上述推导可知,Mul3232可以用8个Mul324分组相乘,然后通过4的倍数位的左移(相当于乘2i),再将左移结果两两相加得到。
5、实验设计方案(1)四位乘法器设计1)mul4*4的乘法公式为图3-5 4x4的乘法公式所以其设计思路为:假设b为被乘数,a为乘数,则通过a作为数据选择端,若a为0,则取之前一位的运算结果作为本位的值;如果a为1,b左移1位(并将移位后的b作为下一位运算的b值),将前一位的运算结果加上b左移1位后的结果的和作为本位的值。
2)其电路图如图3-6所示:图3-6 4x4乘法器电路(2)324乘法器设计其基本算法与4*4的乘法器基本相当,只是此时被乘数b变为32位,因而需要将数据位宽变为32位,同样采用移位并且使用数据选择器。
其电路图如图3-7所示:图3-7 32x4乘法器(3)3232乘法器设计mul32*32乘法器的设计思路为:使用之前封装的32*4的乘法器,将乘数a分为8个4位二进制数,分设为p1,p2,p3,p4,p5,p6,p7,p8。
然后分别将pi左移4*(i-1)位,(该结果可以通过移位器分线出来4位)得到的数再分别两两相加,再两两相加,最后加在一起,得到的结果即为两数相乘的结果p。
图3-8 32x32乘法器6、实验结果记录根据实验方案设计要求,对于相应的乘法器和除法器,在给定的输入条件下,填写表3-1。
电路输入1(16进制)输入2(16进制)输出(16进制)Mul44b=0A a=0A p=064Mul44b=0E a=09p=07EMul324b=0003ABEF1a=0A p=024B756A Mul324b=0019ABEF1a=07p=0 B3B3897 Mul3232b=00002BEF1a=000004EF1p=0D8C32EE1 Mul3232b=000003EF1a=00003BEF1p=0EBC51EE1图3-9图3-10图3-11图3-12图3-13图3-14数字逻辑实验报告(3)无符号数的除法器设计二、无符号数的除法器设计1、实验名称无符号数的除法器的设计。
2、实验目的要求使用合适的逻辑电路的设计方法,通过工具软件logisim进行无符号数的除法器的设计和验证,记录实验结果,验证设计是否达到要求。
通过无符号数的除法器的设计、仿真、验证3个训练过程,使同学们掌握数字逻辑电路的设计、仿真、调试的方法。
3、实验所用设备软件一套。
4、实验内容(1)四位除法器设计四位除法器实现两个无符号的4位二进制数的除法运算,其结构框图如图2-1所示。
设被除数为n2(3:0),除数为d(3:0),商为quot(3:0),余数为rem(3:0)。
2-1 四位除法器结构框图四位除法器Div4算法步骤如下:(1)设n1="0000",将被除数以n1:n2 的形式拼接,除数为d;(2)重复4次:将n1:n2左移1位;if (n 1>d) begin n 1= n 1-d; n 2 (0)=1 end(3) 商和余数的结果为:quot= n 2 ;rem= n 1 。
四位除法器也可以用4个相同的模块串接而成。
每个模块均包含一个减法器、两个2选1多路选择器、一个比较器和一个移位器shl 。
请参照四位乘法器的设计思路,实现两个无符号的4位二进制数的除法器。
(2)32位除法器设计32位除法器Div32实现两个无符号的32位二进制数的除法运算,其结构框图如图2-2所示。
设被除数为n(31:0),除数为d(31:0),商为quot(31:0),余数为rem(31:0)。
2-2 32位除法器结构框图对四位除法器Div4中4个相同的模块之一进行改进,将数据通路上的数据位宽都扩展为32位,得到一个Div1。
将32个Div1拼接起来即可实现Div32。
5、实验设计方案(1)四位除法器设计(1)除法器Div4的内部逻辑结构框图如图3-1所示图3-1 除法器div4的内部逻辑结构框图(2)其电路图如图3-2所示Div32n(31:0)d(31:0)quot(31:0)rem(31:0)图3-2 除法器div4的电路图(2)32位除法器Div32设计(1)首先,先连接一个一次32div32的除法器,即已知当前的余数和当前的商,推算出下一位的余数和下一位的商。
将该子电路命名为32div_1 32div_1子电路的设计思路如下:1. 32div_1有d、cur_quot、cur_rem三个输入端,有next_quot,next_rem两个输出端。
2. 将当前余数左移一位,余数的最低为补商的最高位3. 商左移一位,最低位补0还是1根据以下步骤判断:将移位后的余数与除数d比较,d>rem时,商的最低位应该补0;否则,商的最低位应该补1。
将商输出,即为next_quot。
4. d>rem时,余数仍为移位后的余数;否则,余数rem = rem-d。
将rem输出,即为next_rem。
将该操作重复32次,即将32个已经封装好的32div_1相连,则产生的即为32div32除法器。
(2)其电路图分别如下所示:图3-3为32div_1的除法器的内部图:图3-3 32div_1除法器的内部原理图图3-4为32div32的除法器图:图3-4 32div32除法器内部原理图6、实验结果记录根据实验方案设计要求,对于相应的乘法器和除法器,在给定的输入条件下,填写表2-1。
表2-1 无符号数的乘法器实验结果记录表电路输入1(16进制)输入2(16进制)输出(16进制)Div4n2=0E d=09quot=0F rem=07Div4n2=0E d=00quot=0E rem=0EDiv32n=0019ABEF1d=000004EF1quot=0534rem=0 fdDiv32n=0A0504EF1d=0019ABEF1quot=063rem=017877be图3-5图3-6图3-7图3-87、实验中遇到的问题及解决方法(1)故障1问题描述:在设计4位除法器时比较器出现了问题,当被除数位1110,除数为1100时出现了错误的输出。
后来发现原来是因为比较器的数据类型是关于2的补码,在一些情况下会输出错误的结果。
问题分析:比较器的数据类型是关于2的补码,所以在比较的时候不会按照无符号数来进行比较。
解决方法:将比较器的数字类型改为无符号数。
(2)故障2问题描述:在设计32位除法器时电路显示出现明显振荡,所以会输出错误的结果。
问题分析:由于32位除法器电路不稳定所以会引起振荡。
解决方法:在电路的输入和输出处添加一个探测器。
8、思考题(1)乘法器/除法器中的延时主要取决于加法器/减法器的延时,其它组件延时可忽略不计。
假设每个加法器/减法器的延时都为Δt,你所设计的乘法器Mul44、Mul324、Mul3232、除法器Div4、Div32的延时各是多少它们是组合逻辑电路、同步时序逻辑电路还是异步时序逻辑电路乘法器Mul44的延时为4Δt;Mul324的延时为4Δt;Mul3232的延时为39Δt;除法器Div4的延时为4Δt;Div32的延时为32Δt。