数字逻辑个性课实验报告
- 格式:doc
- 大小:1.77 MB
- 文档页数:42
一、实验目的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位全加器电路。
通过输入不同的二进制数值,成功实现了两个四位数的相加运算,并正确输出结果。
实验结果表明,逻辑门的正确使用和连接方式能够实现复杂的算术运算。
五、实验心得数字逻辑实验是一门非常实用的实践课程。
通过本次实验,我深刻理解了数字逻辑的基本原理和应用方法。
实验中,我了解了逻辑门的分类和功能,并学会了逐级联接逻辑芯片的技巧。
同时,实验还培养了我解决问题的能力和动手操作的实践技能。
在实验过程中,我遇到了一些问题,如逻辑门连接不正确、芯片损坏等。
但通过仔细检查和重新设计,最终找到了解决问题的方法。
这使得我更加珍惜实验中出现的错误和挑战,因为它们实际上是对我们思维和创造力的锻炼和考验。
通过本次实验,我还意识到数字逻辑的应用范围非常广泛。
数字逻辑不仅仅应用于电子电路中,还可以用于计算机设计、数字通信、自动控制等领域。
数字逻辑的深入学习对我们今后的专业发展非常重要。
总之,数字逻辑实验是一门非常有意义和实践性的课程。
通过实验,我不仅加深了对数字逻辑的理解,还培养了动手操作和解决问题的能力。
我相信通过持续的实践和学习,我将进一步提高数字逻辑的应用水平,为未来的专业发展打下坚实基础。
六、结语通过本次数字逻辑实验的学习和实践,我对数字逻辑有了更深的了解和认识。
数字逻辑实验报告(1)姓名:学号:班级:CS指导教师:计算机科学与技术学院2018年5 月22 日数字逻辑实验报告系列二进制加法器设计预习报告一、系列二进制加法器设计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、A、B3、B2、B1、B和C,五个输出S3、S2、S1、S和C 4。
输入A= A3A2A1A、B= B3B2B1B和C分别为被加数、加数和来自低位的进位,输出S= S3S2S1S和Co为本位和和向高位的进位。
(4)先行进位的四位二进制并行加法器利用超前进位的思想设计一个先行进位的四位二进制并行加法器,电路有九个输入A3、A2、A1、A、B3、B2、B1、B和C,五个输出S3、S2、S1、S和C4。
输入A= A3A2A1A、B= B3B2B1B和C分别为被加数、加数和来自低位的进位,输出S= S3S2S1S和Co为本位和和向高位的进位。
数字逻辑实验报告数字逻辑实验报告引言数字逻辑是计算机科学中的重要基础知识,通过对数字信号的处理和转换,实现了计算机的高效运算和各种复杂功能。
本实验旨在通过实际操作,加深对数字逻辑电路的理解和应用。
实验一:二进制加法器设计与实现在这个实验中,我们需要设计一个二进制加法器,实现两个二进制数的加法运算。
通过对二进制数的逐位相加,我们可以得到正确的结果。
首先,我们需要将两个二进制数输入到加法器中,然后通过逻辑门的组合,实现逐位相加的操作。
最后,将得到的结果输出。
实验二:数字比较器的应用在这个实验中,我们将学习数字比较器的应用。
数字比较器可以比较两个数字的大小,并输出比较结果。
通过使用数字比较器,我们可以实现各种判断和选择的功能。
比如,在一个电子秤中,通过将待测物品的重量与设定的标准重量进行比较,可以判断物品是否符合要求。
实验三:多路选择器的设计与实现在这个实验中,我们需要设计一个多路选择器,实现多个输入信号中的一路信号的选择输出。
通过使用多路选择器,我们可以实现多种条件下的信号选择,从而实现复杂的逻辑控制。
比如,在一个多功能遥控器中,通过选择不同的按钮,可以控制不同的家电设备。
实验四:时序电路的设计与实现在这个实验中,我们将学习时序电路的设计与实现。
时序电路是数字逻辑电路中的一种重要类型,通过控制时钟信号的输入和输出,实现对数据的存储和处理。
比如,在计数器中,通过时序电路的设计,可以实现对数字的逐位计数和显示。
实验五:状态机的设计与实现在这个实验中,我们将学习状态机的设计与实现。
状态机是一种特殊的时序电路,通过对输入信号和当前状态的判断,实现对输出信号和下一个状态的控制。
状态机广泛应用于各种自动控制系统中,比如电梯控制系统、交通信号灯控制系统等。
实验六:逻辑门电路的优化与设计在这个实验中,我们将学习逻辑门电路的优化与设计。
通过对逻辑门电路的布局和连接方式进行优化,可以减少电路的复杂性和功耗,提高电路的性能和可靠性。
数字逻辑实验报告数字逻辑是一门关于数字电路与计算机硬件的专业学科,数学与电子学是数字逻辑的主要支撑学科。
数字逻辑实验则是数字逻辑课程中重要的一环,通过数字逻辑实验,学生们可以更加直观地了解数字电路的原理与构造,掌握数字逻辑设计和模拟的基本方法和技能。
在这次数字逻辑实验中,我们使用了FPGA平台和Verilog HDL编程语言进行数字电路的设计和模拟。
在实验中,我们以设计一个给定数码在七段显示器上输出的电路为例,具体实现方法如下。
首先,我们需要了解七段显示器的原理。
七段显示器是一种基于数码管工作原理的显示设备,它由七个LED元件(排列成了基本的数字“8”形状)和数码控制器组成。
每个LED元件可以显示数字“0”到“9”以及一些字母和特殊符号。
某个数字或字母在七段数码管上的显示是由对应的七段LED元件亮灭状态的组合来实现的。
接着,我们需要确定给定数字在七段显示器上显示的亮灭状态的对应表。
例如,数字“0”的亮灭状态可以表示为1111110,其中1表示亮,0表示灭。
通过查找资料或自行设计,我们可以获得数字0到9的显示亮灭状态的对应表。
然后,我们需要根据数字的输入和输出设计电路。
电路的输入是一个N位二进制数码,输出是控制七段数码管显示的亮灭状态。
我们可以使用Verilog HDL语言描述电路的模块,如下所示:```module seven_segment_display(input [N-1:0] num, output [6:0] seg);assign seg = {~num[3], num[2], num[1], ~(num[0] & num[2]), num[0] & num[1], ~(num[0] | num[1]), num[0] ^ num[1] ^ num[2]};endmodule```在这个Verilog HDL模块中,我们使用assign关键字将七段数码管的亮灭状态seg与输入num进行绑定。
姓名 xxx 学号 xxxxxxxx 教师 xxx时间 xxx 地点xxx楼xxx机房机位一.与非门逻辑功能测试实验1.实验目的1)熟悉TTL中、小规模集成电路的外形、管脚和使用方法。
2)了解和掌握基本逻辑门电路的输入与输出之间的逻辑关系及使用规则。
3)测试与非门74LS00芯片的逻辑功能。
4)根据测试结果完成74LS00的真值表1-4。
2.原理实现基本逻辑运算和常用逻辑运算的单元电路通称为逻辑门电路。
实现“与非”运算的电子电路称为与非门。
根据制造工艺不同,逻辑门电路有两大类,一类是以晶体三极管为主要元件的双极型逻辑门电路,另一类是MOS场效应管为主要元件的MOSx型逻辑门电路。
根据门电路输出端结构不同,又分为基本输出门电路、开路输出门电路、三台门电路。
门电路用高电平表示逻辑值“1”,低电平表示逻辑值“0”。
只有相同类型的门电路,其电平才相匹配。
参照74LS00芯片的引脚,将引脚1、2(A、B)分别连接到任意一个小开关插孔上,引脚3(F)连接到任意一个发光二极管电平指示灯插孔,引脚7连接接地插孔,引脚14连接+5V电源插孔,这样就构成了一个与非门电路。
拨动开关(开关拨向下方为0,拨向上方为1)组合A、B的值,观察F(上方的发光二极管指示0,下方的发光二极管指示1)的结果。
3.实验步骤1)将74LS00的输入引脚连接到任一开关,输出连接到任一对发光二极管。
引脚7连接“接地插孔”;引脚14连接+5V电源插孔。
2)拨动开关,观察二极管的变化,填表1-4。
4.实验数据5.实验现象在与非门中,只有当A和B的输入都为1时,输出才为0。
由于上方的灯亮说明输出为0,下方的灯亮说明是1,所以只有在A和B的输入都为1时(即开关打在上方时),上方的等才会亮,其余时候都是下方的灯亮。
6.体会通过学习、操作与非门逻辑功能测试实验,我初步体会到了数字逻辑电路的基本连接和测试方法,对测试了与非门的逻辑功能,且此元件工作正常。
文华学院数字逻辑课程设计实验报告标题:文华学院数字逻辑课程设计实验报告摘要:本实验报告旨在介绍文华学院数字逻辑课程设计实验的过程和结果。
实验旨在帮助学生理解数字逻辑的基本概念和应用,并培养他们的实践能力。
在实验中,我们使用了适当的实验设备和软件工具来完成实验任务。
通过实验,我们深入了解了数字逻辑的原理和实际应用。
本报告将重点介绍实验的目的、实验步骤、实验结果和结论。
1.实验目的本实验的目的是使学生掌握数字逻辑的基本概念和原理,培养学生的实践能力,提高他们的问题解决能力。
通过实验,学生将学会使用数字逻辑电路设计和验证的基本方法和技巧。
2.实验步骤本实验包括以下步骤:(1)理解实验要求和设计要求;(2)根据设计要求,设计数字逻辑电路;(3)使用适当的实验设备和软件工具,搭建数字逻辑电路;(4)验证电路的功能和正确性;(5)记录实验过程和结果。
3.实验结果在本实验中,我们成功设计并实现了一个简单的数字逻辑电路。
通过验证,我们证明了电路的功能和正确性。
实验结果表明,我们的设计满足了实验要求,并且电路运行稳定可靠。
4.结论通过本次实验,我们深入了解了数字逻辑的基本概念和原理,并学会了使用数字逻辑电路设计和验证的方法。
实验结果表明,我们的设计满足了实验要求,并且电路运行良好。
通过实验,我们不仅提高了实践能力,还增强了问题解决能力和团队合作意识。
总结:本实验报告介绍了文华学院数字逻辑课程设计实验的过程和结果。
通过实验,我们学会了数字逻辑电路设计和验证的方法,并提高了实践能力和问题解决能力。
实验结果表明,我们的设计满足了实验要求,并且电路运行稳定可靠。
这次实验对于我们进一步理解数字逻辑的原理和应用具有重要意义。
学生学号32实验成绩学生实验报告书实验课程名称逻辑与计算机设计基础开课学院计算机科学与技术学院指导教师肖敏学生姓名付天纯学生专业班级物联网14032015 -- 2016 学年第一学期译码器的设计与实现【实验要求】:(1)理解译码器的工作原理,设计并实现n-2n译码器,要求能够正确地根据输入信号译码成输出信号。
(2)要现2-4译码器、3-8译码器、4-16译码器、8-28译码器、16-216译码器、32-232译码器。
【实验目的】(1)掌握译码器的工作原理;(2)掌握n-2n译码器的实现。
【实验环境】◆Basys3 FPGA开发板,69套。
◆Vivado2014 集成开发环境。
◆Verilog编程语言。
【实验步骤】一·功能描述输入由五个拨码开关控制,利用led灯输出32种显示二·真值表三·电路图和表达式四·源代码module decoder_5(input [4:0] a,output [15:0] d0);reg [15:0] d0;reg [15:0] d1;always (a)begincase(a)5'b00000 :{d1,d0}=32'b1000_0000_0000_0000_0000_0000_0000_0000;5'b00001 :{d1,d0}=32'b0100_0000_0000_0000_0000_0000_0000_0000;5'b00010 :{d1,d0}=32'b0010_0000_0000_0000_0000_0000_0000_0000;5'b00011 :{d1,d0}=32'b0001_0000_0000_0000_0000_0000_0000_0000;5'b00100 :{d1,d0}=32'b0000_1000_0000_0000_0000_0000_0000_0000;5'b00101 :{d1,d0}=32'b0000_0100_0000_0000_0000_0000_0000_0000;5'b00110 :{d1,d0}=32'b0000_0010_0000_0000_0000_0000_0000_0000;5'b00111 :{d1,d0}=32'b0000_0001_0000_0000_0000_0000_0000_0000;5'b01000 :{d1,d0}=32'b0000_0000_1000_0000_0000_0000_0000_0000;5'b01001 :{d1,d0}=32'b0000_0000_0100_0000_0000_0000_0000_0000;5'b01010 :{d1,d0}=32'b0000_0000_0010_0000_0000_0000_0000_0000;5'b01011 :{d1,d0}=32'b0000_0000_0001_0000_0000_0000_0000_0000;5'b01100 :{d1,d0}=32'b0000_0000_0000_1000_0000_0000_0000_0000;5'b01101 :{d1,d0}=32'b0000_0000_0000_0100_0000_0000_0000_0000;5'b01110 :{d1,d0}=32'b0000_0000_0000_0010_0000_0000_0000_0000;5'b01111 :{d1,d0}=32'b0000_0000_0000_0001_0000_0000_0000_0000;5'b10000 :{d1,d0}=32'b0000_0000_0000_0000_1000_0000_0000_0000;5'b10001 :{d1,d0}=32'b0000_0000_0000_0000_0100_0000_0000_0000;5'b10010 :{d1,d0}=32'b0000_0000_0000_0000_0010_0000_0000_0000;5'b10011 :{d1,d0}=32'b0000_0000_0000_0000_0001_0000_0000_0000;5'b10100 :{d1,d0}=32'b0000_0000_0000_0000_0000_1000_0000_0000;5'b10101 :{d1,d0}=32'b0000_0000_0000_0000_0000_0100_0000_0000;5'b10110 :{d1,d0}=32'b0000_0000_0000_0000_0000_0010_0000_0000;5'b10111 :{d1,d0}=32'b0000_0000_0000_0000_0000_0001_0000_0000;5'b11000 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_1000_0000;5'b11001 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0100_0000;5'b11010 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0010_0000;5'b11011 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0001_0000;5'b11100 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_1000;5'b11101 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_0100;5'b11110 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_0010;5'b11111 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_0001;default {d1,d0}=32'bxxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx;endcaseendendmodule五·测试用例映射:d0[0]:U16... ...d0[15]:LD15从左向右映射低位数段输入:1111输出:v16亮学生学号32实验成绩学生实验报告书实验课程名称逻辑与计算机设计基础开课学院计算机科学与技术学院指导教师肖敏学生姓名付天纯学生专业班级物联网14032015 -- 2016 学年第一学期数据选择器的设计与实现【实验要求】:(1)理解数据选择器的工作原理,设计并实现2n选1的数据选择器,要求能够正确地根据输入的控制信号选择合适的输出。
数字逻辑实验报告肇庆学院计算机学院软件学院数字逻辑实验报告专业班级学号学生姓名指导教师连晋平完成时间目录实验一基本门电路实验 (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。
学生学号0121410870432实验成绩学生实验报告书实验课程名称逻辑与计算机设计基础开课学院计算机科学与技术学院指导教师姓名肖敏学生姓名付天纯学生专业班级物联网14032015--2016学年第一学期译码器的设计与实现【实验要求】:(1)理解译码器的工作原理,设计并实现n-2n译码器,要求能够正确地根据输入信号译码成输出信号。
(2)要求实现2-4译码器、3-8译码器、4-16译码器、8-28译码器、16-216译码器、32-232译码器。
【实验目的】(1)掌握译码器的工作原理;(2)掌握n-2n译码器的实现。
【实验环境】◆Basys3 FPGA开发板,69套。
◆Vivado2014 集成开发环境。
◆Verilog编程语言。
【实验步骤】一·功能描述输入由五个拨码开关控制,利用led灯输出32种显示二·真值表三·电路图和表达式四·源代码module decoder_5(input [4:0] a,output [15:0] d0);reg [15:0] d0;reg [15:0] d1;always @(a)begincase(a)5'b00000 :{d1,d0}=32'b1000_0000_0000_0000_0000_0000_0000_0000;5'b00001 :{d1,d0}=32'b0100_0000_0000_0000_0000_0000_0000_0000;5'b00010 :{d1,d0}=32'b0010_0000_0000_0000_0000_0000_0000_0000;5'b00011 :{d1,d0}=32'b0001_0000_0000_0000_0000_0000_0000_0000;5'b00100 :{d1,d0}=32'b0000_1000_0000_0000_0000_0000_0000_0000;5'b00101 :{d1,d0}=32'b0000_0100_0000_0000_0000_0000_0000_0000;5'b00110 :{d1,d0}=32'b0000_0010_0000_0000_0000_0000_0000_0000;5'b00111 :{d1,d0}=32'b0000_0001_0000_0000_0000_0000_0000_0000;5'b01000 :{d1,d0}=32'b0000_0000_1000_0000_0000_0000_0000_0000;5'b01001 :{d1,d0}=32'b0000_0000_0100_0000_0000_0000_0000_0000;5'b01010 :{d1,d0}=32'b0000_0000_0010_0000_0000_0000_0000_0000;5'b01011 :{d1,d0}=32'b0000_0000_0001_0000_0000_0000_0000_0000;5'b01100 :{d1,d0}=32'b0000_0000_0000_1000_0000_0000_0000_0000;5'b01101 :{d1,d0}=32'b0000_0000_0000_0100_0000_0000_0000_0000;5'b01110 :{d1,d0}=32'b0000_0000_0000_0010_0000_0000_0000_0000;5'b01111 :{d1,d0}=32'b0000_0000_0000_0001_0000_0000_0000_0000;5'b10000 :{d1,d0}=32'b0000_0000_0000_0000_1000_0000_0000_0000;5'b10001 :{d1,d0}=32'b0000_0000_0000_0000_0100_0000_0000_0000;5'b10010 :{d1,d0}=32'b0000_0000_0000_0000_0010_0000_0000_0000;5'b10011 :{d1,d0}=32'b0000_0000_0000_0000_0001_0000_0000_0000;5'b10100 :{d1,d0}=32'b0000_0000_0000_0000_0000_1000_0000_0000;5'b10101 :{d1,d0}=32'b0000_0000_0000_0000_0000_0100_0000_0000;5'b10110 :{d1,d0}=32'b0000_0000_0000_0000_0000_0010_0000_0000;5'b10111 :{d1,d0}=32'b0000_0000_0000_0000_0000_0001_0000_0000;5'b11000 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_1000_0000;5'b11001 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0100_0000;5'b11010 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0010_0000;5'b11011 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0001_0000;5'b11100 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_1000;5'b11101 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_0100;5'b11110 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_0010;5'b11111 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0000_0001;default {d1,d0}=32'bxxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx;endcaseendendmodule五·测试用例映射:d0[0]:U16... ...d0[15]:LD15从左向右映射低位数段输入:1111输出:v16亮学生学号0121410870432实验成绩学生实验报告书实验课程名称逻辑与计算机设计基础开课学院计算机科学与技术学院指导教师姓名肖敏学生姓名付天纯学生专业班级物联网14032015--2016学年第一学期数据选择器的设计与实现【实验要求】:(1)理解数据选择器的工作原理,设计并实现2n选1的数据选择器,要求能够正确地根据输入的控制信号选择合适的输出。
(2)要求实现21选1的数据选择器、22选1 的数据选择器、24选1的数据选择器、25选1的数据选择器,2n选1的数据选择器。
【实验目的】(1)掌握数据选择器的工作原理;(2)掌握2n选1的数据选择器的实现。
【实验环境】◆Basys3 FPGA开发板,69套。
◆Vivado2014 集成开发环境。
◆Verilog编程语言。
【实验步骤】一.功能描述由五个拨码开关控制选择,十一个拨码开关控制输入内部定义二十一位数,输出由一个led灯显示。
二·真值表表达式_sgn _sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[0]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[1]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[2]_sgn[4]out add add add add add in add add add add add in add add add add add in add ad =+++_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[3]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[4]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[5]_sgn[4]_sgn[3]_sgn[2]d add add add in add add add add add in add add add add add in add add add ad +++_sgn[1]_sgn[0]_sgn[6]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[7]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[8]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]d add in add add add add add in add add add add add in add add add add add in +++_sgn[9]_sgn[4]_sgn[3]_sgn[2]_sgn[1]_sgn[0]_sgn[10]add add add add add in ++三.函数module select_32_1( input [10:0] in_sgn, input [4:0] add_sgn, output out_sgn );wire [20:0]in_in_sgn; wire for_out_sgn; wire back_out_sgn;assign in_in_sgn=21'b0000_0000_0000_0000_00000; select_16_1sel16_1(.in_sgn({in_in_sgn[3:0],in_sgn[10:0]}),.add_sgn(add_sgn[3:0]),.out_sgn(for_out_sgn)); select_16_1 sel16_2(.in_sgn(in_in_sgn[20:4]),.add_sgn(add_sgn[3:0]),.out_sgn(back_out_sgn)); select_2_1sel2_1(.in_sgn1(for_out_sgn),.in_sgn2(back_out_sgn),.add_sgn(add_sgn[4]),.out_sgn(out_sgn)); endmodulemodule select_16_1( input [11:0] in_sgn, input [3:0] add_sgn, output out_sgn );wire [3:0]in_in_sgn; wire for_out_sgn; wire back_out_sgn;assign in_in_sgn=4'b0000;select_8_1 sel8_1(.in_sgn(in_sgn[7:0]),.add_sgn(add_sgn[2:0]),.out_sgn(for_out_sgn)); select_8_1sel8_2(.in_sgn({in_in_sgn[3:0],in_sgn[11:8]}),.add_sgn(add_sgn[2:0]),.out_sgn(back_out_sgn));select_2_1sel2_1(.in_sgn1(for_out_sgn),.in_sgn2(back_out_sgn),.add_sgn(add_sgn[3]),.out_sgn(out_sgn));endmodulemodule select_8_1(input [7:0] in_sgn,input [2:0] add_sgn,output out_sgn);wire for_out_sgn;wire back_out_sgn;select_4_1 sel4_1(.in_sgn(in_sgn[3:0]),.add_sgn(add_sgn[1:0]),.out_sgn(for_out_sgn));select_4_1 sel4_2(.in_sgn(in_sgn[7:4]),.add_sgn(add_sgn[1:0]),.out_sgn(back_out_sgn));select_2_1sel2_1(.in_sgn1(for_out_sgn),.in_sgn2(back_out_sgn),.add_sgn(add_sgn[2]),.out_sgn(out_sgn)); endmodulemodule select_4_1(input [3:0] in_sgn,input [1:0] add_sgn,output out_sgn);wire for_out_sgn;wire back_out_sgn;select_2_1sel2_1(.in_sgn1(in_sgn[0]),.in_sgn2(in_sgn[1]),.add_sgn(add_sgn[0]),.out_sgn(for_out_sgn));select_2_1sel2_2(.in_sgn1(in_sgn[3]),.in_sgn2(in_sgn[2]),.add_sgn(add_sgn[0]),.out_sgn(back_out_sgn));select_2_1sel2_3(.in_sgn1(for_out_sgn),.in_sgn2(back_out_sgn),.add_sgn(add_sgn[1]),.out_sgn(out_sgn)); endmodulemodule select_2_1(input in_sgn1,input in_sgn2,input add_sgn,output out_sgn);reg out_sgn;always@(*)beginif(add_sgn==0) out_sgn=in_sgn1;else out_sgn=in_sgn2;endendmodule电路图out四.结果检验选择线从大到小对应从左到右的左边五个拨码开关,输入从大到小对应剩下从左到右十一个拨码开关。