数电实验-组合逻辑电路设计
- 格式:docx
- 大小:1.13 MB
- 文档页数:7
第1篇一、实验目的1. 理解组合逻辑电路的基本概念和组成原理;2. 掌握组合逻辑电路的设计方法;3. 学会使用逻辑门电路实现组合逻辑电路;4. 培养动手能力和分析问题、解决问题的能力。
二、实验原理组合逻辑电路是一种在任意时刻,其输出仅与该时刻的输入有关的逻辑电路。
其基本组成单元是逻辑门,包括与门、或门、非门、异或门等。
通过这些逻辑门可以实现各种组合逻辑功能。
三、实验器材1. 74LS00芯片(四路2输入与非门);2. 74LS20芯片(四路2输入或门);3. 74LS86芯片(四路2输入异或门);4. 74LS32芯片(四路2输入或非门);5. 逻辑电平转换器;6. 电源;7. 连接线;8. 实验板。
四、实验步骤1. 设计组合逻辑电路根据实验要求,设计一个组合逻辑电路,例如:设计一个3位奇偶校验电路。
2. 画出逻辑电路图根据设计要求,画出组合逻辑电路的逻辑图,并标注各个逻辑门的输入输出端口。
3. 搭建实验电路根据逻辑电路图,搭建实验电路。
将各个逻辑门按照电路图连接,并确保连接正确。
4. 测试电路功能使用逻辑电平转换器产生不同的输入信号,观察输出信号是否符合预期。
五、实验数据及分析1. 设计的3位奇偶校验电路逻辑图如下:```+--------+ +--------+ +--------+| | | | | || A1 |---| A2 |---| A3 || | | | | |+--------+ +--------+ +--------+| | || | || | |+-------+-------+||v+--------+| || F || |+--------+```2. 实验电路搭建及测试根据逻辑电路图,搭建实验电路,并使用逻辑电平转换器产生不同的输入信号(A1、A2、A3),观察输出信号F是否符合预期。
(1)当A1=0,A2=0,A3=0时,F=0,符合预期;(2)当A1=0,A2=0,A3=1时,F=1,符合预期;(3)当A1=0,A2=1,A3=0时,F=1,符合预期;(4)当A1=0,A2=1,A3=1时,F=0,符合预期;(5)当A1=1,A2=0,A3=0时,F=1,符合预期;(6)当A1=1,A2=0,A3=1时,F=0,符合预期;(7)当A1=1,A2=1,A3=0时,F=0,符合预期;(8)当A1=1,A2=1,A3=1时,F=1,符合预期。
实验二组合逻辑电路一、实验目的1.掌握组合逻辑电路的分析方法2.掌握组合逻辑电路的设计方法二、实验仪器数字电路实验台、数字万用表、74ls00,74ls20三、实验原理1.组合逻辑电路的分析方法组合逻辑电路时最常见的逻辑电路,可以用一些常用的门电路组合成具有其他功能的门电路。
其分析方法是根据所给的逻辑电路,写出其输入和输出之间的逻辑函数表达式或真值表,从而确定该电路的逻辑功能。
2.组合逻辑电路的设计方法组合逻辑电路是使用中、小规模集成电路来设计组合电路是最常见的逻辑电路,其分析方法是根据所给的组合逻辑电路,写出其输入与输出之间的逻辑函数表达式或者真值表,从而确定该电路的逻辑功能。
组合电路设计的一般步骤如图所示:根据设计任务的要求建立输入、输出变量,并列出真值表。
然后用逻辑代数或卡诺图化简法求出简化的逻辑表达式。
并按实际选用逻辑门的类型修改逻辑表达式。
根据简化后的逻辑表达式,画出逻辑图,用标准器件构成逻辑电路。
最后,用实验来验证设计的正确性。
2、组合逻辑电路设计举例用“与非”门设计一个表决电路。
当四个输入端中有三个或四个为“1”时,输出端才为“1”。
(1)设计步骤:根据题意列出真值表如表所示,再填入卡诺图表中。
(2)根据真值表,画卡诺图(3)由卡诺图得出逻辑表达式,并演化成“与非”的形式Z =ABC +BCD +ACD +ABD =ABC ACD BCD ABC ⋅⋅⋅根据逻辑表达式画出用“与非门”构成的逻辑电路如图所示。
多数表决电路 74LS20引脚图3.用实验验证逻辑功能在实验装置适当位置选定三个14P 插座,按照集成块定位标记插好集成块。
按图接线,输入端A 、B 、C 、D 接至逻辑开关输出插口,输出端Z 接逻辑电平显示输入插口,按真值表(自拟)要求,逐次改变输入变量,测量相应的输出值,验证逻辑功能,与其进行比较,验证所设计的逻辑电路是否符合要求。
三、实验内容1.设计两个2位二进制码比较器,试用最少的与非门实现改功能,要求A=B 时输出为1。
实验六组合逻辑电路一、实验目的1、掌握组合逻辑电路的分析、设计方法与测试方法2、了解组合电路的冒险现象及其消除方法二、实验原理1、组合电路是最常见的逻辑电路,用一些门电路可以实现具有一定功能的组合逻辑电路。
2、可以用一些常用的门电路来组合成具有其它功能的门电路。
例如,根据与门的逻辑表达式==⋅Z⋅BAAB由上式可知,可以用两个与非门组合成一个与门。
采用不同的种类、不同数量的门电路还可以组合成更复杂的逻辑关系。
3、组合电路的分析是根据所给的逻辑电路,写出其输入与输出之间的逻辑函数表达式或真值表,从而确定该电路的逻辑功能。
4、组合电路的设计是根据所要求的逻辑功能,确定输入与输出之间的逻辑关系,写出逻辑函数冲,即电路存在静态0型险象。
A,存在有静态1型险象。
同理,如6-2所示电路,Z=AA5、0-1指示器6、CC4011×3 CC4030×1 CC4071×1四、实验内容1、分析、测试用与非门CC4011 组成的半加器的逻辑功能(1)写出图6-3的逻辑表达式图6-3是由与非门组成的半加器电路图6-3由与非门组成的半加器电路(2)根据表达式列出真值表,添出表6-1中的Z1、Z2、Z3、S、C。
并画出卡诺图判断能否简化。
S= C=(3)根据6-3,在实验板上选定两个14P 插座,插好两片CC4011,并接好连线,A 、B 两输入接至逻辑开关的输出插口。
S 、C 分别接至逻辑电平显示输入插口。
按表6-2的要求进行逻辑状态的测试,并将结果填入表中,同时与上面真值表进行比较,看两者是否一致。
表6-22、分析、测试用异或门CC4030和与非门CC4011组成的半加器逻辑电路根据半加器的逻辑表达式可知,半加的和S 是A 、B 的异或,而进位C 是A 、B 的相与,故半加S i = C i =(2) 列出真值表,填入表6-3中 表(3)根据真值表画出逻辑函数S i 、C i 的卡诺图 BCSi=B iC i-1Ci=(4)按图6-5要求,选择与非门并接线,进行测试,将测试结果填入表6-4中,并与上面真值表6-3进行比较,看逻辑功能是否一致。
实验一组合逻辑电路的设计组合逻辑电路是一种电子电路,由逻辑门组成,用于执行特定的逻辑功能。
在本实验中,我们将设计一个基本的组合逻辑电路以及一些常见的组合逻辑电路,包括加法器、减法器、比较器等。
首先,我们将设计一个基本的组合逻辑电路,该电路由两个输入和一个输出组成。
输入可以是0或1,输出将依据输入的值进行逻辑运算得出。
在这个基本电路中,我们将使用两个逻辑门:与门和或门。
与门的真值表如下:输入1输入2输出000010100111与门的布尔表达式是:输出=输入1AND输入2或门的真值表如下:输入1输入2输出000011101111或门的布尔表达式是:输出=输入1OR输入2基于以上真值表和布尔表达式,我们可以通过逻辑门的连接来设计一个基本的组合逻辑电路。
具体设计步骤如下:1.首先,将两个输入引线分别连接到与门和或门的输入端。
这将确保输入的值能够传递到逻辑门中。
2.将与门和或门的输出引线连接到一个输出引线上,以便能够输出最终的逻辑结果。
3.最后,将逻辑门的电源连接到电路的电源上,以确保逻辑门能正常工作。
通过以上步骤,我们就完成了一个基本的组合逻辑电路的设计。
这个电路可以根据输入产生不同的输出,实现不同的逻辑功能。
除了基本的组合逻辑电路,我们还可以设计一些常见的组合逻辑电路,如加法器、减法器和比较器。
加法器是用来执行数字加法的组合逻辑电路。
在一个二进制加法器中,输入是两个二进制数和一个进位位,输出是一个和输出和一个进位位。
加法器的设计可以通过级联多个全加器来实现。
减法器是用来执行数字减法的组合逻辑电路。
在一个二进制减法器中,输入是两个二进制数和一个借位位,输出是一个差输出和一个借位位。
减法器的设计可以通过级联多个全减法器来实现。
比较器是用来比较两个数字的大小的组合逻辑电路。
比较器的输出取决于输入的大小关系。
如果两个输入相等,则输出为0。
如果第一个输入大于第二个输入,则输出为1、如果第一个输入小于第二个输入,则输出为-1、比较器的设计可以通过使用逻辑门和触发器来实现。
实验二组合逻辑电路的设计一、实验目的1.掌握组合逻辑电路的设计方法及功能测试方法。
2.熟悉组合电路的特点。
二、实验仪器及材料a) TDS-4数电实验箱、双踪示波器、数字万用表。
b) 参考元件:74LS86、74LS00。
三、预习要求及思考题1.预习要求:1)所用中规模集成组件的功能、外部引线排列及使用方法。
2) 组合逻辑电路的功能特点和结构特点.3) 中规模集成组件一般分析及设计方法.4)用multisim软件对实验进行仿真并分析实验是否成功。
2.思考题在进行组合逻辑电路设计时,什么是最佳设计方案?四、实验原理1.本实验所用到的集成电路的引脚功能图见附录2.用集成电路进行组合逻辑电路设计的一般步骤是:1)根据设计要求,定义输入逻辑变量和输出逻辑变量,然后列出真值表;2)利用卡络图或公式法得出最简逻辑表达式,并根据设计要求所指定的门电路或选定的门电路,将最简逻辑表达式变换为与所指定门电路相应的形式;3)画出逻辑图;4)用逻辑门或组件构成实际电路,最后测试验证其逻辑功能。
五、实验内容1.用四2输入异或门(74LS86)和四2输入与非门(74LS00)设计一个一位全加器。
1)列出真值表,如下表2-1。
其中A i、B i、C i分别为一个加数、另一个加数、低位向本位的进位;S i、C i+1分别为本位和、本位向高位的进位。
2)由表2-1全加器真值表写出函数表达式。
3)将上面两逻辑表达式转换为能用四2输入异或门(74LS86)和四2输入与非门(74LS00)实现的表达式。
4)画出逻辑电路图如图2-1,并在图中标明芯片引脚号。
按图选择需要的集成块及门电路连线,将A i、B i、C i接逻辑开关,输出Si、Ci+1接发光二极管。
改变输入信号的状态验证真值表。
2.在一个射击游戏中,每人可打三枪,一枪打鸟(A),一枪打鸡(B),一枪打兔子(C)。
规则是:打中两枪并且其中有一枪必须是打中鸟者得奖(Z)。
试用与非门设计判断得奖的电路。
实验五组合逻辑电路的设计一、试验目的1、掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、熟悉CPLD设计的过程,比较原理图输入和文本输入的优劣。
二、实验的硬件要求1、输入:按键开关(常高)4个;拨码开关4位。
2、输出:LED灯。
3、主芯片:Altera EPM7128SLC84-15。
三、实验内容1、设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1,反之为0。
2、设计四个开关控制一盏灯的逻辑电路,要求改变任意开关的状态能够引起灯亮灭状态的改变。
(即任一开关的合断改变原来灯亮灭的状态)3、设计一个优先排队电路,其框图如下:排队顺序:A=1 最高优先级B=1 次高优先级C=1 最低优先级要求输出端最多只能有一端为“1”,即只能是优先级较高的输入端所对应的输出端为“1”。
四、实验连线1、四位拨码开关连D3、D2、D1、D0信号对应的管脚。
OUT输出信号管脚接LED灯。
2、四位按键开关分别连K1、K2、K3、K4信号对应的管脚。
OUT输出信号管脚接LED灯。
3、A、B、C信号对应管脚分别连三个按键开关。
输出A_Out、B_Out、C_Out信号对应的管脚分别连三个LED灯。
(具体管脚参数由底层管脚编辑决定)五、参考原理图1、①原理图,如图5-1所示:②AHDL硬件描述语言输入:SUBDESIGN t5_1(d0,d1,d2,d3:INPUT;out: OUTPUT;)BEGINIF( (d3,d2,d1,d0) >= 5 ) THENout=VCC;ELSEout=GND;END IF;END;2、①原理图,如图5-2所示:②AHDL硬件描述语言输入:SUBDESIGN t5_2(k0,k1,k2,k3:INPUT;out: OUTPUT;)BEGINTABLE(k3,k2,k1,k0) => out;B"0000" => GND;B"0001" => VCC;B"0011" => GND;B"0010" => VCC; 图5-2图5-1B"0110" => GND;B"0111" => VCC;B"0101" => GND;B"0100" => VCC;B"1100" => GND;B"1101" => VCC;B"1111" => GND;B"1110" => VCC;B"1010" => GND;B"1011" => VCC;B"1001" => GND;B"1000" => VCC;END TABLE;END;3、①原理图,如图5-3所示:图5-3②AHDL硬件描述语言输入:SUBDESIGN t5_3(a,b,c : INPUT;a_out,b_out,c_out : OUTPUT;)BEGINIF a THENa_out=VCC; b_out=GND; c_out=GND;ELSIF b THENa_out=GND; b_out=VCC; c_out=GND;ELSIF c THENa_out=GND; b_out=GND; c_out=VCC;ELSEa_out=GND;b_out=GND;c_out=GND;END IF;END;六、实验报告要求1、对于原理图设计要求有设计过程。
实验一组合逻辑电路的设计与测试一、实验目的实验一旨在通过设计和测试一组合逻辑电路,加深对组合逻辑电路的理解和运用。
二、实验器材1.FPGA(现场可编程门阵列)开发板2. 逻辑电路设计软件(如Quartus II)3.逻辑分析仪4.DIP开关5.LED灯三、实验内容1.设计一个4位二进制加法器电路,并实现其功能。
2.使用逻辑电路设计软件进行电路设计。
4.使用逻辑分析仪对电路进行测试,验证其功能和正确性。
四、实验步骤1.根据4位二进制加法器的电路原理图,使用逻辑电路设计软件进行电路设计。
将输入的两个4位二进制数与进位输入进行逻辑运算,得到输出的4位二进制和结果和进位输出。
2.在设计过程中,需要使用逻辑门(如与门、或门、异或门等)来实现电路的功能。
3.在设计完成后,将电路编译,并生成逻辑网表文件。
5.连接DIP开关到FPGA开发板上的输入端口,通过设置DIP开关的状态来设置输入数据。
6.连接LED灯到FPGA开发板上的输出端口,通过LED灯的亮灭来观察输出结果。
7.使用逻辑分析仪对输入数据和输出结果进行测试,验证电路的功能和正确性。
五、实验结果1.在设计完成后,通过DIP开关的设置,输入不同的4位二进制数和进位,观察LED灯输出的结果,验证电路的正确性。
2.使用逻辑分析仪对输入和输出进行测试,检查电路的逻辑运算是否正确。
六、实验总结通过本实验,我们学习了组合逻辑电路的设计和测试方法。
从设计到测试的过程中,我们深入了解了组合逻辑电路的原理和运作方式。
通过观察和测试,我们可以验证电路的正确性和功能是否符合设计要求。
此外,我们还学会了使用逻辑分析仪等工具对电路进行测试和分析,从而提高了我们的实验能力和理论应用能力。
通过这次实验,我们对组合逻辑电路有了更深入的了解,为将来在数字电路设计和工程实践中打下了基础。
《数字电路》组合逻辑电路(半加器全加器及逻辑运算)实验一、实验目的1、掌握组合逻辑电路的功能测试。
2、验证半加器和全加器的逻辑功能。
3、学会二进制数的运算规律。
二、实验设备74LS00 二输入端四与非门 3片74LA86 二输入端四异或门 1片74LS54 四组输入与或非门 1片数字电子技术试验箱三、实验内容及步骤1、组合逻辑电路功能测试。
(1)用2片74LS00组成图5-1所示逻辑电路。
为便于接线和检查,在图中要注明芯片编号及各引脚对应的编号。
(2)图中A、B、C接电平开关(K1、K2、K3),Y1、Y2接发光管(L1、L2)电平显示。
(3)按表5-3要求,改变A、B、C的状态,填表并写出Y1、Y2逻辑表达式。
(4)将运算结果与理论值比较。
图5-1表5-3=A+A’BY1Y=A’B+B’C22、测试用异或门(74LS86)和与非门组成的半加器的逻辑功能。
根据半加器的逻辑表达式可知,半加器Y是A、B的异或,而进位Z是A、B 相与,故半加器可用一个集成异或门和二个与非门组成,如图5-2。
(1)在实验仪上用异或门和与非门接成以上电路。
A、B接电平开关K1、K2;Y、Z接电平显示(L1、L2)。
(2)按表5-4要求改变A、B状态,填表。
图5-2 表5-43、测试全加器的逻辑功能。
(1)写出图5-3电路的逻辑表达式。
(2)根据逻辑表达式列真值表。
(表5-5)(3)根据真值表画逻辑函数Si 、Ci的卡诺图。
图5-3(4)填写表5-5各点状态。
表5-5四、实验心得组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。
组合逻辑电路是指在任何时刻,输出状态只决定于同一时刻各输入状态的组合,而与电路以前状态无关,而与其他时间的状态无关。
分析方法:1、根据逻辑电路写出逻辑表达式。
2、逻辑表达式化简。
3、根据逻辑表达式画出真值表。
与逻辑表示只有在决定事物结果的全部条件具备时,结果才发生。
数字逻辑电路实验实验报告学号:班级:姓名:实验3:组合逻辑电路(3)——组合逻辑电路设计一实验内容利用Quartus II实现0到9的Hamming码编码和解码电路,并在芯片中下载实现。
要求:实现对从0000到1001输入的编码和解码,并可发现并纠正传输中的单错,对双错不做要求。
在芯片中下载电路并在实验板上验证。
二实验原理2.1电路需求分析Hamming码是一套可定位码字传输中单错并纠正单错的编码体系,以4位二进制为例,其编解码和纠错原理如下:将7位二进制数的各位由低到高依次编号为1B、10B、11B、100B、……、111B。
其中为2的整数次幂的位(即1B、10B、100B)位校验位,其他四位作为数据位。
编码时,三个校验位分别与编号特定位为1的位上数字做奇偶校验(即编号位1B、11B、101B、111B的校验结果为1B位的值,10B、10B、100B、110B的校验结果为10B的值,100B、101B、110B和111B的校验结果为100B的值)。
偶校验在电路实现中更直接容易。
译码时,在仅考虑无错或单错的情形下,若三个校验位的校验结果均正确,则结果是四个数据位本身;若某位或某几位校验结果有错,可据此综合定位错误的位置:若仅1位校验结果有错,则错误出于该校验位本身;若2位校验结果有错,则该2位校验位所共同参与校验且不参与另一位校验的数据位结果有错;若三维结果均有错,则必然为111B位有错。
分析可知,编码电路可根据上述原理使用异或门实现,也可根据编码真值表由与门实现;译码电路中可使用3×4次异或运算生成校验结果,再由校验结果定位错误位后对相应位取反实现。
2.2Quartus软件从管脚分配到下载验证的过程Quartus中,在设计好电路的输入输出并选择合适的芯片型号后,可使用Pin Planner工具进行管脚分配:窗口下方有当前设计电路中所有的输入和输出节点,在Location中可选择对应节点对应的管脚。
一般要根据芯片的引脚分布和外围电路设计分配,如输入管脚应分配靠近输入设备、时钟管脚应连接振荡器等等。
分配好所有管脚后应重新执行编译。
随后,在便捷工具栏中点选Programmer,连接好要下载入的设备后选择下载方式和需要载入的电路文件,点击Start下载完成后,芯片即具有设计文件中给出的功能。
2.3实验箱介绍实验箱上的扩展板搭载了一块5M160ZE64C5芯片,拥有160个功能块和64个引脚。
为方便连接,其引脚被引出到电路板上的两组母座和一组排针处。
引脚分布如图黄色框10处为一列拨动开关,其中间端被引出到上方母座,上端引脚接入高电平,下端接地,因此通过拨动即可实现对母座处电平的控制;6处为一列LED,其负极已接地,正极被从下方母座引出,在此接入高电平即可使之亮起,故可用于观察输出电平。
三实验过程、结果及分析3.1电路实现使用V erilog分别实现编码器和译码器两个模块后,实例化两个模块于同一个顶层实体,以同时实现编解码和验证。
(1)编码电路编码器需要接受4位输入和7位输出,其中第0、1、3位为校验位,为方便使用偶校验,亦即其值为编号同位为1的其余三位的异或;其他四位为数据位,与输入一直相等即可。
实现代码如下:module hamming_coder(in,out);input [3:0] in;output[6:0] out;//Data Bits--------------------assign out[2] = in[0];assign out[4] = in[1];assign out[5] = in[2];assign out[6] = in[3];//Parity Bits-------------------assign out[0] = in[0] ^ in[1] ^ in[3];assign out[1] = in[0] ^ in[2] ^ in[3];assign out[3] = in[1] ^ in[2] ^ in[3];endmodule(2)译码电路实现译码器时,需要7位输入和4位输出,并需要三位存储校验结果。
通过校验结果的分析实现纠错功能,即对输出的某位取反。
可以使校验结果一直等于相应四位输入的异或,并利用case语句块分析校验结果并执行纠错。
module hamming_decoder(in, out, error_flag, parity_flag);input [6:0] in;output reg [3:0] out;output reg error_flag;//出现可纠正的单错时给出结果。
output[2:0] parity_flag;//用于保存三组的校验结果assign parity_flag[0] = in[0] ^ in[2] ^ in[4] ^ in[6];assign parity_flag[1] = in[1] ^ in[2] ^ in[5] ^ in[6];assign parity_flag[2] = in[3] ^ in[4] ^ in[5] ^ in[6];always@(*)begincase(parity_flag)3'b000: out = {in[6], in[5], in[4], in[2]};3'b001: out = {in[6], in[5], in[4], in[2]};//仅校验位1传输出错3'b010: out = {in[6], in[5], in[4], in[2]};//仅校验位10传输出错3'b100: out = {in[6], in[5], in[4], in[2]};//仅校验位100传输出错3'b011: out = {in[6], in[5], in[4], ~in[2]};//校验位1和10同负责的位出错3'b110: out = {in[6], ~in[5], in[4], in[2]};//10和100负责出错但1未错3'b101: out = {in[6], in[5], ~in[4], in[2]};//类推3'b111: out = {~in[6], in[5], in[4], in[2]};endcaseendendmodule(3)顶层实体在顶层实体中同时实例化一个编码器和一个译码器,编写好对应的输入输出。
编码器的输入连接到实体输入,编码器和译码器的输出均连接到实体输出,同时为了方便在硬件上验证电路功能,将编码器的输出和外部码字输入共同接入一个双路选择器,添加一个输入以控制译码器的输入来自编码器、或来自外部输入:module hamming_top(select,in,mid, code, out, code_in);input select;//为译码器选择输入,低电平选通code,高电平选通code_ininput [3:0] in;output [6:0] code;output [3:0] out;input [6:0] code_in;inout [6:0] mid;//经选择器接入code或者code_inhamming_coder coding(.in(in),.out(code));hamming_decoder decoding(.in(mid),.out(out));assign mid = select?code_in:code;endmodule3.2仿真结果图及仿真结果分析(1)编码器仿真首先设置编码器模块为顶层实体,设计编码器输入激励为0-9的二进制数,仿真结果如下:与真值表符合,结果正常无误。
(2)译码器仿真激励首先设置10组正确编码,之后再设置一次单错编码和一次双错编码,结果如图:可见译码器对单错执行了有效纠正,对双错输出了错误结果。
(3)顶层实体仿真经测试,名为“select”的选通信号仿真结果为,高电平时译码器接受外部输入,低电平时接受前级编码器输入,结果正确。
3.3管脚分配顶层实体有4+7+1个输入端,4+7个输出端,为方便连线和后续操作,将输入端尽可能分配至下方引脚,输出端尽可能分配至上方引脚,最后结果为:in信号:分配至P9~P12。
code_in信号:分配至P18~P25。
select信号:分配至P30code信号:分配至P58~P64out信号:分配至P49~P52。
分配结束后重新编译通过。
3.4下载验证将芯片通过USB线接到计算机后检测到硬件,执行下载成功。
将12个输入引脚依次序连接到拨动开关,11个输出引脚依次序接入LED阳极。
(1)将select脚输入为低电平,拨动开关改变in信号的值,可观察到out信号始终等于in信号,表明对正确传输的编解码功能正常。
(2)将select脚输入高电平,此时译码器输入=code_in。
拨动开关改变code_in 至单错情形,输出结果正确,表明选通和对单错的纠错两功能正常。
四思考题1.所设计的Hamming码能否纠一位错?能否纠两位错?为何不能纠两位错?答:可以纠一位错、不能纠两位错。
Hamming码是通过增大编码长度以增加编码信息量完成对错误位的定位和纠正的。
以4位为例,增加3个校验位只能分辨8个数字的能力,即只能定位最多1个长为8位次的错误,而码字总长为7,因此当前的Hamming码只能纠正一位错误。
2.如何设计能纠两位错的校验码?答:以4位原码为例,增加8个校验位,将8个校验位分为2组分别设计两套相互独立互不影响的错误定位规则即可发现并纠正两位错。
但这样在存储和通信中都会造成麻烦,故不是很好的解决方法。