八选一数据选择器(verilog实验报告)
- 格式:doc
- 大小:100.00 KB
- 文档页数:5
8选1数据选择器74LS151简介74LS151是一种典型的集成电路数据选择器,为互补输出的8选1数据选择器,它有3个地址输入端CBA,可选择D0~D7 8个数据源,具有两个互补输出端,同相输出端Y和反相输出端W。
74LS151引脚图选择控制端(地址端)为C~A,按二进制译码,从8个输入数据D0~D7中,选择一个需要的数据送到输出端Y,G为使能端,低电平有效。
(1)使能端G=1时,不论C~A状态如何,均无输出(Y=0,W=1),多路开关被禁止。
(2)使能端G=0时,多路开关正常工作,根据地址码C、B、A的状态选择D0~D7中某一个通道的数据输送到输出端Y。
如:CBA=000,则选择D0数据到输出端,即Y=D0。
如:CBA=001,则选择D1数据到输出端,即Y=D1,其余类推。
74LS151功能表数据选择器的应用数据选择器除实现有选择的传送数据外,还有其他用途,下面介绍几种典型应用。
(1)逻辑函数产生器从74LS151的逻辑图可以看出,当使能端G=0时,Y是C、B、A和输入数据D0~D7的与或函数。
式中mi是C、B、A构成的最小项。
显然。
当Di=1时,其对应的最小项mi在与或表达式中出现,当Di=0时,对应的最小项就不出现。
利用这一点,不难实现组合逻辑函数。
已知逻辑函数,利用数据选择器构成函数产生器的过程是,将函数变换成最小项表达式,根据最小项表达式确定各数据输入端的二元常量。
将数据选择器的地址信号C、B、A作为函数的输入变量,数据输入D0~D7,作为控制信号,控制各最小项在输出逻辑函数中是否出现,使能端G始终保持低电平,这样8选1数据选择器就成为一个3变量的函数产生器。
例1 试用8选1数据选择器74LS151产生逻辑函数解:把式变换成最小项表达式:显然D3、D5、D6、D7,都应该等于1,而式中没有出现的最小项m0,m1,m2,m4的控制变量D0、D1、D2、D4都应该等于0,由此可画出该逻辑函数产生器的逻辑图:、例2 试用与上例相同的8选1数据选择器产生从表中可以看出,凡使L值为1的那些最小项,其控制变量应该等于1,即D1、D2、D4、D7等于1(对应XYZ:001、010、100、111),其他控制变量均等于0。
《串行数据检测器》实验报告* All right reserved*/module mux_8(addr, in1, in2, in3, in4, in5,in6,in7,in8,mout,ncs); input [2:0] addr; //输入的地址端,3位选择开关input [3:0] in1,in2,in3,in4,in5,in6,in7,in8; //8路数据端输入input ncs; //使能信号output [3:0] mout; //一路输出reg [3:0] mout; //输出声明为寄存器类型always @(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or ncs) //8路输入或者选择开关或者使能信号发生变化则条件触发beginif(!ncs) //低电平使能case(addr)3'b000: mout = in1; //选择开关的3位对应000时,输出等于in1输入;3'b001: mout = in2; //选择开关的3位对应001时,输出等于in1输入;3'b010: mout = in3; //选择开关的3位对应010时,输出等于in1输入;3'b011: mout = in4; //选择开关的3位对应011时,输出等于in1输入;3'b100: mout = in5; //选择开关的3位对应100时,输出等于in1输入;3'b101: mout = in6; //选择开关的3位对应101时,输出等于in1输入;3'b110: mout = in7; //选择开关的3位对应110时,输出等于in1输入;3'b111: mout = in8; //选择开关的3位对应111时,输出等于in1输入;endcaseelsemout = 0; //使能信号高电平时输出一直为0;endendmodule2.编写测试模块test_mux_8.v如下/*** @File test_mux_8.v* @Synopsis 这是8路数据选择器mux_8的测试模块* @Author 陈昊, @* @Version 1* @Date 2010-11-05*//* Copyright(0) 2010-* By* All right reserved*/`timescale 1ns/1nsmodule test_mux_8;wire[3:0] mout; //声明输出为线网型,4位reg [3:0] in1,in2,in3,in4,in5,in6,in7,in8; //声明8路输入信号reg [2:0] addr; //3位的选择开关,寄存型类型reg ncs; //1位的寄存器型使能信号//-------------------------------------------------------------产生测试信号------------------------------------------------------ initialbeginncs=0; //在初始化模块里将使能信号置为0,让选择器正常工作in8={$random}%16; //使用系统任务$random产生一个0至15之间的数in1={$random}%16; //并赋予输入in2={$random}%16;in3={$random}%16;in4={$random}%16;in5={$random}%16;in6={$random}%16;in7={$random}%16;addr=3'b000; //让选择开关的3位初始对应为000.repeat(5) //重复下面的语句块5次,赋5次值 begin#10 in8={$random}%16;in1={$random}%16;in2={$random}%16;in3={$random}%16;in4={$random}%16;in5={$random}%16;in6={$random}%16;in7={$random}%16;addr=addr+1; //每执行一次后改变一次选择开关的值,加1end#10 $stop;end//-------------------------------------------------------------------2.选择Altera STRATIX器件库利用Synplify Pro综合产生的RTL级电路如下五、分析与讨论。
数据选择器及其应用实验报告一、实验目的本次实验旨在深入了解数据选择器的工作原理、功能特点以及其在数字电路中的广泛应用。
通过实际操作和测试,掌握数据选择器的逻辑功能和使用方法,培养实际动手能力和逻辑思维能力。
二、实验原理数据选择器(Data Selector)又称多路选择器(Multiplexer),是一种能从多个输入数据中选择一个输出的组合逻辑电路。
常见的数据选择器有 2 选 1、4 选 1、8 选 1 等。
以 4 选 1 数据选择器为例,它有 4 个数据输入端(D0、D1、D2、D3)、2 个地址输入端(A1、A0)和 1 个输出端(Y)。
地址输入端的不同组合决定了从哪个数据输入端选择数据输出。
数据选择器的逻辑表达式为:Y = D0(A1'A0')+ D1(A1'A0) +D2(A1A0')+ D3(A1A0)三、实验器材1、数字电路实验箱2、 74LS153 双 4 选 1 数据选择器芯片3、逻辑电平指示器4、导线若干四、实验内容与步骤1、测试 74LS153 数据选择器的逻辑功能将 74LS153 芯片插入实验箱的插座中。
按照芯片引脚图,将地址输入端 A1、A0 分别连接到逻辑电平开关,数据输入端 D0 D3 分别连接到高电平(1)或低电平(0)。
观察逻辑电平指示器,记录不同地址输入组合下的输出结果,并与理论值进行比较。
2、用 74LS153 实现逻辑函数给定一个逻辑函数,例如 F = A'B + AB'将逻辑函数转化为与数据选择器输入输出关系相匹配的形式。
根据转换后的表达式,连接电路,验证输出结果是否与预期相符。
3、数据选择器的级联使用两个74LS153 芯片进行级联,实现8 选1 数据选择器的功能。
连接电路,测试级联后的逻辑功能。
五、实验数据及结果分析1、逻辑功能测试结果| A1 | A0 | D0 | D1 | D2 | D3 | Y |||||||||| 0 | 0 | 0 | 1 | 0 | 1 | 0 || 0 | 1 | 1 | 0 | 1 | 0 | 1 || 1 | 0 | 0 | 1 | 1 | 0 | 1 || 1 | 1 | 1 | 0 | 0 | 1 | 1 |实验结果与理论值相符,验证了 74LS153 数据选择器的逻辑功能的正确性。
学生实验报告实验课名称:VHDL硬件描述语言实验项目名称:八选一数据选择器专业名称:电子科学与技术班级:32050801学号:05********教师姓名:程鸿亮2010年11月06日组别第三组同组同学钞田田实验日期2010年11月06日实验室名称______________成绩_____ 一.实验名称八选一数据选择器二.实验目的与要求目的:设计一个8选1的数据选择器,初步掌握QuartusII软件的使用方法以及硬件编程下载的基本技能。
要求:通过VHDL编程,实现一个数据选择器,要求有8位数据输入端,1位数据输出端,通过3位地址输入信号寻址,并具有输出使能功能。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
三.实验内容1、打开QuartusII软件,建立一个新的工程:1)单击菜单File\New Project Wizard…2)输入工程的路径、工程名以及顶层实体名。
3)单击Next>按钮,进入下一个界面。
由于我们建立的是一个空的项目,所以没有包含已有文件,单击Next>继续。
4) 设置我们的器件信息:设置为cyclone∏,选择FBGA,484,8,在available devices中选择EP2C35F484C8 33216 483840 70 4, 然后单击Next>,指定第三方工具。
这里我们不指定第三方EDA工具,单击Next>后结束工程建立。
2、建立VHDL文件:1) 单击File\New菜单项,选择弹出窗口中的VHDL File项,单击OK按钮以建立打开空的VHDL文件,注意此文件并没有在硬盘中保存。
2) 在编辑窗口中输入VHDL源文件并保存,注意实体名、文件名必须和建立工程时所设定的顶层实体名相同。
3) 编译工程单击Processing\Start Compilation开始编译,编译过程中可能会显示若干出错消息,参考提示原因对程序进行修改直到编译完全成功为止。
8选1选择器设计实验报告csdn一、设计思路:1.定义选择器语法:在CSS中,选择器以字符","开头,后面跟着具体的属性名和属性值,用于选择具有指定属性值的元素。
2.解析选择器:通过正则表达式提取出属性名和属性值,用于后续的元素选择。
3.选择元素:遍历文档中的所有元素,对每个元素检查其属性是否满足选择器定义的条件。
如果满足条件,则将该元素添加到结果中。
4.应用选择器样式:将选择器定义的样式应用到满足条件的元素上,改变其外观效果。
二、设计实现:1.定义选择器:```css属性名=属性值```2.解析选择器:```javascriptfunction parseSelector(selector)var rege某 = /^\,(\w+)=([\w-]+)/;var match = selector.match(rege某);if (match)returnattr: match[1],value: match[2]};}return null;```3.选择元素:```javascriptfunction selectElements(selector)var elements = document.getElementsByTagName("某");var result = [];var parsedSelector = parseSelector(selector);if (parsedSelector)for (var i = 0; i < elements.length; i++)if (elements[i].getAttribute(parsedSelector.attr) === parsedSelector.value)result.push(elements[i]);}}}return result;```4.应用选择器样式:```javascriptfunction applyStyles(elements, styles)for (var i = 0; i < elements.length; i++)for (var property in styles)elements[i].style[property] = styles[property];}}```三、实验结果:通过将8选1选择器应用到实际开发中的案例中,得出以下测试结果:1.在一个包含多个元素的页面中,选择器能够正确选择具有指定属性值的元素,并将样式应用到这些元素上。
精心整理2019年9月FPGA 实验报告姓名 朱聪聪 学号 39 姓名 武帅 学号 课题名称 8选1数据选择器设计实验目的1、理解数据选择器功能。
2、掌握VHDL 并行语句中条件信号赋值的格式和用法。
设计要求设计一个8选1数据选择器使其满足如下真值表:8选1数据选择器真值表地址码(选择信号)输出Q A0 A1 A20 0 0D0 0 0 1D1 0 1 0D2 0 1 1D3 1 0 0D4 1 0 1D5 1 1 0D6 1 1 1D7 表一1.利用条件信号赋值语句实现8选1数据选择器器功能。
2.完成设计的仿真,并记录、分析仿真波形。
设计思路 条件信号赋值语句也是一种并行信号赋值语句。
条件信号赋值语句可以根据不同的条件将不同的表达式赋值给目标信号,格式如下:信号<=表达式1WHEN 赋值条件1ELSE表达式2WHEN 赋值条件2ELSE ……表达式n ;精心整理2019年9月设计原理图及源程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX8 ISPORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);A:IN STD_LOGIC_VECTOR(2 DOWNTO 0);Q:OUT STD_LOGIC);END ENTITY MUX8;ARCHITECTURE one OF MUX8 IS BEGIN Q<=D(0) WHEN A="000" ELSE D(1) WHEN A="001" ELSE D(2) WHEN A="010" ELSED(3) WHEN A="011" ELSED(4) WHEN A="100" ELSED(5) WHEN A="101" ELSED(6) WHEN A="110" ELSED(7) WHEN A="111" ELSE'Z';END one;.. 仿真波形图实验总结及个人心得体会通过本次实验,复习了之前学习的条件信号赋值语句。
数字电⼦技术基础实验-8选1数据选择器74LS1518选1数据选择器74LS151简介74LS151是⼀种典型的集成电路数据选择器,为互补输出的8选1数据选择器,它有3个地址输⼊端CBA,可选择D0~D7 8个数据源,具有两个互补输出端,同相输出端Y和反相输出端W。
74LS151引脚图选择控制端(地址端)为C~A,按⼆进制译码,从8个输⼊数据D0~D7中,选择⼀个需要的数据送到输出端Y,G为使能端,低电平有效。
(1)使能端G=1时,不论C~A状态如何,均⽆输出(Y=0,W=1),多路开关被禁⽌。
(2)使能端G=0时,多路开关正常⼯作,根据地址码C、B、A的状态选择D0~D7中某⼀个通道的数据输送到输出端Y。
如:CBA=000,则选择D0数据到输出端,即Y=D0。
如:CBA=001,则选择D1数据到输出端,即Y=D1,其余类推。
74LS151功能表数据选择器的应⽤数据选择器除实现有选择的传送数据外,还有其他⽤途,下⾯介绍⼏种典型应⽤。
(1)逻辑函数产⽣器从74LS151的逻辑图可以看出,当使能端G=0时,Y是C、B、A和输⼊数据D0~D7的与或函数。
式中mi是C、B、A构成的最⼩项。
显然。
当Di=1时,其对应的最⼩项mi在与或表达式中出现,当Di=0时,对应的最⼩项就不出现。
利⽤这⼀点,不难实现组合逻辑函数。
已知逻辑函数,利⽤数据选择器构成函数产⽣器的过程是,将函数变换成最⼩项表达式,根据最⼩项表达式确定各数据输⼊端的⼆元常量。
将数据选择器的地址信号C、B、A作为函数的输⼊变量,数据输⼊D0~D7,作为控制信号,控制各最⼩项在输出逻辑函数中是否出现,使能端G始终保持低电平,这样8选1数据选择器就成为⼀个3变量的函数产⽣器。
例1 试⽤8选1数据选择器74LS151产⽣逻辑函数解:把式变换成最⼩项表达式:显然D3、D5、D6、D7,都应该等于1,⽽式中没有出现的最⼩项m0,m1,m2,m4的控制变量D0、D1、D2、D4都应该等于0,由此可画出该逻辑函数产⽣器的逻辑图:、例2 试⽤与上例相同的8选1数据选择器产⽣从表中可以看出,凡使L值为1的那些最⼩项,其控制变量应该等于1,即D1、D2、D4、D7等于1(对应XYZ:001、010、100、111),其他控制变量均等于0。
《集成电路设计实践》报告题目:8选1数据选择器院系:自动化学院电子工程系专业班级:微电学生学号:学生姓名:指导教师姓名:职称:讲师起止时间:2015-12-21——2016-1-9 成绩:一、设计任务1) 依据8选1数据选择器的真值表,给出八选一MUX电路图,完成由电路图到晶体管级的转化(需提出至少2种方案);2) 绘制原理图(Sedit),完成电路特性模拟(Tspice,瞬态特性),给出电路最大延时时间;3) 遵循设计规则完成晶体管级电路图的版图,流程如下:版图布局规划-基本单元绘制-功能块的绘制-布线规划-总体版图);4) 版图检查与验证(DRC检查);5) 针对自己画的版图,给出实现该电路的工艺流程图。
二、电路设计方案的确定数据选择器是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去,实现数据选择功能的逻辑电路称为数据选择器。
它的作用相当于多个输入的单刀多掷开关,其示意图如下所示数据选择器除了可以实现一些组合逻辑功能以外,还可以做分时多路传输电路,函数发生器及数码比较器等,常见的数据比较器有2选1,4选1,8选1,16选1电路。
示意图在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器。
数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。
本次设计的是8选1数据选择器。
选择控制端(地址端)为K2,K1,K0,按二进制译码,从8个输入数据D0-D7中,选择一个需要的数据送到输出端Y。
根据多路开关的开关状态(地址码)K2,K1,K0的状态选择D0-D7中某一个通道的数据输送到输出端Y。
如:K2K1K0=000,则选择D0数据到输出端,即Y=D0。
如:K2K1K0=001,则选择D1数据到输出端,即Y=D1,其余类推。
8选1 MUX功能表如下:K2 K1 K0 Y0 0 0 D00 0 1 D10 1 0 D20 1 1 D31 0 0 D41 0 1 D51 1 0 D61 1 1 D7电路图设计如下:1:此电路为组合逻辑门电路,电路为CMOS实现功能,电路规模较大,工作量大,版图布局规模较大,相比之下,选择传输门电路实现8选1数据选择器功能。
实验七 4选1和8选1数据选择器的设计一、实验目的3. 掌握电路设计和仿真测试的方法。
二、实验原理数据选择器是一种数字电路,用于从多个输入信号中选择一个输出信号。
数据选择器根据控制信号的不同,可以实现4选1或8选1的选择功能。
4选1数据选择器的原理如下:输入端有4个数据输入,一个选择输入S(S=0时选择输入1,S=1时选择输入2,S=2时选择输入3,S=3时选择输入4),根据S的不同,输出端输出选择的输入信号。
8选1数据选择器的原理与4选1相似,只是输入端有8个数据输入,选择输入S的取值范围为0~7。
三、实验器材1. 计算机和仿真软件Multisim;2. 数字电路实验箱、数字电路元器件。
四、实验步骤2. 在Multisim中建立相应的电路,并进行仿真测试。
3. 分析仿真结果,验证电路是否符合设计要求,如果出现问题,及时查找原因并修改电路图。
4. 根据实验结果,总结设计和仿真方法,掌握数据选择器电路的设计和仿真测试技巧。
五、实验注意事项1. 在进行电路设计和仿真测试时,应仔细分析原理,并尽可能避免出现矛盾和异常。
2. 电路元器件的选用要合适,尤其是输入和输出端的电阻值和工作电压要一致。
3. 在进行仿真测试时,要保证仿真参数的准确性,特别是信号幅度和频率要符合预期。
4. 电路测试完成后,应及时记录实验结果,包括电路图、仿真参数、测试数据等信息。
六、实验结果分析经过设计和仿真测试,我们成功实现了4选1和8选1数据选择器电路的设计,并获得了合适的仿真结果。
在实验过程中,我们掌握了数据选择器电路的设计和仿真测试技巧,积累了一定的电路设计和测试经验。
综上所述,本次实验达到了预期目标,并为我们今后的电路设计和测试工作提供了一定的指导和参考。
实验三、八选一数据选择器一、实验目的:1.熟悉Quartus II6.0软件的使用和FPGA设计流程2.用VHDL语言进行八选一数据选择器的设计二、实验步骤:一.建立文件夹:在D盘“xingming”的文件夹下建立一个名为“choice8”的文件夹。
二.建立新工程1.双击桌面上Quartus II6.0 的图标,启动该软件。
2.通过File => New Project Wizard… 菜单命令启动新项目向导。
在随后弹出的对话框上点击Next按钮,在 What is the working directory for this project 栏目中设定新项目所使用的路径:D:\xingming\choice8;在What is the name of this project 栏目中输入新项目的名字:choice8,点击 Next 按钮。
在下一个出现的对话框中继续点击Next,跳过这步。
3.为本项目指定目标器件:选择器件系列为ACEX1K ,选择具体器件为EP1K30TC144-3 1728 24576 ,再点击Next。
在弹出的下一对话框中继续点击Next ,最后确认相关设置,点击Finish按钮,完成新项目创建。
三.设计输入1.建立一个VHDL文件。
通过 File => New 菜单命令,在随后弹出的对话框中选择 VHDL File选项,点击 OK 按钮。
通过 File => Save As 命令,将其保存,并加入到项目中。
2.在VHDL界面输入8选1数据选择器程序,然后通过File => Save As 命令保存。
四.综合适配1.选择Processing =>Start Compilation命令,检查发现无程序语法错误。
2.执行Tools =>Netlist Viewer =>RTL Viewe, 生成RTL图。
五.模拟仿真1.在 File 菜单下,点击 New 命令。
Verilog HDV 数字设计与综合实验报告
微电子0901班
**:*** _
学号:_********
一、实验课题:
1.八选一数据选择器
2.四位数据比较器
二、八选一数据选择器Verilog程序:
2.1主程序
module option(a,b,c,d,e,f,g,h,s0,s1,s2,out);
input [2:0] a,b,c,d,e,f,g,h;
input s0,s1,s2;
output [2:0] out;
reg [2:0] out;
always@(a or b or c or d or e or f or g or h or s0 or s1 or s2) begin
case({s0,s1,s2})
3'd0 : out=a;
3'd1 : out=b;
3'd2 : out=c;
3'd3 : out=d;
3'd4 : out=e;
3'd5 : out=f;
3'd6 : out=g;
3'd7 : out=h;
endcase
end
endmodule
2.2激励程序
module sti;
reg [2:0] A,B,C,D,E,F,G,H;
reg S0,S1,S2;
wire [2:0] OUT;
option dtg(A,B,C,D,E,F,G,H,S0,S1,S2,OUT);
initial
begin
A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=0;
#100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=0;S2=1; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=0;S1=1;S2=1; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=0;S2=1; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=1;S2=0; #100 A=3'd0;B=3'd1;C=3'd2;D=3'd3;E=3'd4;F=3'd5;G=3'd6;H=3'd7;S0=1;S1=1;S2=1;
end
endmodule
三、四位数据比较器
3.1主程序
module fourcompare(a,b,c);
input[3:0] a,b;
output [1:0] c;
reg[1:0] c;
always@(a or b)
begin
if(a>b)
c=2'd2;
else if(a<b)
c=2'd1;
else
c=2'd0;
end
endmodule
3.2激励程序
module sti;
reg [3:0] A,B;
wire [1:0]C;
fourcompare fte(A,B,C);
initial
begin
A=2'd0;B=2'd1;
#100 A=2'd2;B=2'd1;
#100 A=2'd1;B=2'd1;
end
endmodule
四、实验波形图截图:
4.1八选一数据选择器
4.2四位数据比较器
四、波形分析及实验心得:
4.1.波形分析
1.八选一数据选择器
输入数据为A=000,B=001,C=010,D=011,E=100,F=101,g=110,h=111;S0,S1,S2,为选择控制端,它们组成一个三位数,记为enable,控制数据的输出,其中S0为最高位,S1次之,S2为最低位。
当enable=000,输出A; enable= 001,输出B;enable= 010,输出C;enable= 011,输出D;enable= 100,输出E;enable= 101,输出F;enable= 110,输出G;enable= 111,输出H
观察波形当enable=000时,输出为000即A;当enable=001时,输出为001,即B;当enable=010时,输出为010即C;当enable=011时,输出为011即D;当enable=100时,输出为100即E;当enable=101时,输出为101,即F;当enable=110时,输出为110即G;当enable=111时,输出为111即G,其结果与理论结果相吻合故验证该设计是正确的。
2.四位数据选择器
该设计要求比较两个四位数的大小A、B,输出结果为A>B(10)、A=B(00)或A<B(01);
观察波形当输入数据当A=0000,B=0001,输出结果为01
当A=0010,B=0001,输出结果为10
当A=0001,B=0001,输出结果为00
经分析其仿真结果与理论相符合,说明了其设计的正确性。
4.2 实验心得
这次实验与上次相比有明显的进步,通过这次实验我对modelsim的应用更加得心应手,深切的体会到了verilog是一种描述性语言,这次实验总的来说是比较顺利的,但在实验过程中还是遇到了一些问题,比如端口的匹配问题,在写程序的时候误将位宽写在了变量名的后面,虽然程序能够运行但有警告,仿真波形是错误的,可见在写程序时警告有时也是致命的,这要求我们在学习的过程中思想一定要严谨!其次在做实验时一定要多想,例如在学习这门课时,书上说在模块外部输入可以是wire型或reg型,但在写程序时激励模块往往要初始化数据,所以编程时其类型往往声明为reg型,通过这个例子我明白了书上所说的有时往往是一个比较笼统的,而更多的需要我们自己去实践、探索、勤思考,只有这样我们才能把书本上的知识转化为属于我们自己的知识,才能在学习的道路上走的更远!。