二选一多路选择器实验报告
实验报告——多路选择器设计
姓名:黄娟学号:32214125班级:自动141成绩:实验名称:多路选择器的设计一、实验目的1. 掌握EDA工具Quartus Ⅱ的使用;2. 掌握Verilog编程技术。
3. 掌握Quartus Ⅱ的文本输入设计流程。
4. 掌握二选一多路选择器和四选一多路选择器的Verilog表述。
二、四选一多路选择器的Verilog表述(case)(1)case语句表述方式module CNT10(a,b,c,d,s1,s0,y);input a,b,c,d;input s1,s0;output y;reg y;always @(a or b or c or d or s1 or s0)begin : CNT10case ({s1,s0})2'b00:y<=a;2'b01:y<=b;2'b10:y<=c;2'b11:y<=d;default :y<=a;endcaseendEndmodule(2)波形仿真(3)RTL图三、四选一多路选择器的Verilog表述(if)(1)if语句表达方式module CNT10(A,B,C,D,S1,S0,Y);input A,B,C,D,S1,S0;output Y;reg [1:0] SEL;reg Y;always @(A,B,C,D,SEL) beginSEL = {S1,S0};if(SEL==0)Y=A;else if(SEL==1)Y=B;else if(SEL==2)Y=C;else Y=D;endendmodule(2)波形仿真(3)RTL图三、注意事项文件名必须和模块名保持一致,文件路径中不要有汉字,一开始没有注意,存在了桌面上,并且文件名用了汉字而调试好长时间,最后经过老师指点才完成!实验前熟悉了数据选择器的工作原理,实验过程中结合理论进行了分析,并且初步掌握了Quartus Ⅱ环境下4选1数据选择器的Verilog HDL语言设计以及原理图的设计。
双二选一多路选择器课程设计
双二选一多路选择器课程设计1.实验目的2.电路设计过程2.1设计二选一多路选择器2.2设计双二选一多路选择器3.仿真结果3.1创建工程准备工作3.2创建新工程3.3编译前置3.4全程编译3.5时序仿真4.总结一、实验目的1、学会利用Quartus Ⅱ软件的原理图输入方法设计简单的逻辑电路;2、熟悉Quartus Ⅱ软件的VHDL文本设计流程全过程;3、学习简单组合电路的设计,层次化的设计方法4、熟悉利用Quartus Ⅱ软件对设计电路进行仿真的方法;二、电路设计过程1、设计2选1多路选择器a. 使用Quartus建立工程准备项目①新建一个文件夹。
在d盘中,路径为D:\wangchen。
②打开Quartus软件③从[File]>>[New]>>[VHDL] 新建文本编译窗口,出现新建项目框。
④输入源程序,编写2选1多路选择程序2选1多路源程序如下:ENTITY mux21a ISPORT (a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)BEGINIF s='0' THEN y<=a; ELSE y<=b;END IF;END PROCESS;END ARCHITECTURE one;⑤文件存盘选择File→Save As命令,找到已建立的文件夹D:\wangchen,存盘文件名应与实体的名字一致,即mux21a,其界面窗口如下图所示。
b创建工程①打开建立新工程管理窗,选择File→New Preject Wizard工具选项创建设计工程命令,即弹出“工程设置〞对话框如下图所示,单击对话框最上第一栏右侧的“…〞按钮,找到文件夹D:\wangchen,选种已存盘的文件mux21a,再单击打开按钮,既出现如图所示的设置情况. 使用New Project Wizard可以为工程指定工作目录、分配工程名称以与指定最高层设计实体的名称,还可以指定要在工程中使用的设计文件、其他源文件、用户库和EDA工具,以与目标器件系列和具体器件等。
2选1多路选择器EDA实验报告
2选1多路选择器EDA实验报告EDA实验报告学⽣姓名:asfmla;m 学号:eafvpa[cv专业班级:电⼦3班组合电路设计⼀、实验⽬的熟悉quartusⅡ的VHDL⽂本设计全过程,学习简单组合电路的设计、多层次电路设计、仿真。
⼆、实验内容实验内容:⾸先利⽤quartusⅡ完成2选1多路选择器(例4-3)的⽂本编译输⼊(mux21a.vhd)和仿真测试等步骤,最后在实验系统上硬件测试,验证此设计的功能。
将此多路选择器看成⼀个元件mux21a,利⽤元件例化语句描述成三选⼀,然后进⾏编译、综合、仿真。
引脚锁定以及硬件下载测试。
建议选实验电路模式5,⽤键1(PIO0)控制s0;⽤键2(PIO1)控制s1;a3、a2和a1分别接clock5、clock0和clock2;输出信号outy仍接扬声器spker。
通过短路帽选择clock0接256HZ信号,clock5接1024HZ信号,clock2接8HZ信号。
最后选⾏编译、下载和硬件测试实验。
三、实验器材Quartus II软件。
四、设计思路/原理图五、实验程序实验内容1:⼆选⼀:library ieee;use ieee.std_logic_1164.all;entity mux21a isport(a,b: in std_logic;s: in std_logic;y: out std_logic);end entity;architecture dataflow of mux21a isbeginy<=a when s='0' else b;end architecture;实验内容2:三选⼀library ieee;use ieee.std_logic_1164.all;entity mux31a isport(a1,a2,a3: in std_logic;s0,s1: in std_logic;outy: out std_logic);end entity mux31a;architecture m31a of mux31a iscomponent mux21aport( a,b: in std_logic;s: in std_logic;y: out std_logic);end component;signal tmp: std_logic;beginu1: mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);u2: mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);end architecture;六、实验步骤在E盘新建⼀个⽂件夹,⽤于存放⼯程。
数字逻辑实验报告
数字逻辑实验报告数字逻辑实验报告引言:数字逻辑是计算机科学中的基础知识,它研究的是数字信号的处理与传输。
在现代科技发展的背景下,数字逻辑的应用越来越广泛,涉及到计算机硬件、通信、电子设备等众多领域。
本实验旨在通过设计和实现数字逻辑电路,加深对数字逻辑的理解,并掌握数字逻辑实验的基本方法和技巧。
实验一:逻辑门电路设计与实现逻辑门是数字电路的基本组成单元,由与门、或门、非门等构成。
在本实验中,我们设计了一个4位全加器电路。
通过逻辑门的组合,实现了对两个4位二进制数的加法运算。
实验过程中,我们了解到逻辑门的工作原理,掌握了逻辑门的真值表和逻辑方程的编写方法。
实验二:多路选择器的设计与实现多路选择器是一种常用的数字逻辑电路,它可以根据控制信号的不同,从多个输入信号中选择一个输出信号。
在本实验中,我们设计了一个4位2选1多路选择器电路。
通过对多路选择器的输入信号和控制信号的设置,实现了对不同输入信号的选择。
实验过程中,我们了解到多路选择器的工作原理,学会了多路选择器的真值表和逻辑方程的编写方法。
实验三:时序逻辑电路的设计与实现时序逻辑电路是一种能够存储和处理时序信息的数字逻辑电路。
在本实验中,我们设计了一个简单的时序逻辑电路——D触发器。
通过对D触发器的输入信号和时钟信号的设置,实现了对输入信号的存储和传输。
实验过程中,我们了解到D触发器的工作原理,掌握了D触发器的真值表和逻辑方程的编写方法。
实验四:计数器电路的设计与实现计数器是一种能够实现计数功能的数字逻辑电路。
在本实验中,我们设计了一个4位二进制计数器电路。
通过对计数器的时钟信号和复位信号的设置,实现了对计数器的控制。
实验过程中,我们了解到计数器的工作原理,学会了计数器的真值表和逻辑方程的编写方法。
结论:通过本次实验,我们深入了解了数字逻辑的基本原理和应用方法。
通过设计和实现逻辑门电路、多路选择器、时序逻辑电路和计数器电路,我们掌握了数字逻辑实验的基本技巧,并加深了对数字逻辑的理解。
EDA实验报告(12份).pdf
实验一组合电路的设计1. 实验目的:熟悉MAX + plus II 的VHDL 文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
2. 实验内容:设计一个2选1多路选择器,并进行仿真测试,给出仿真波形。
3. 实验程序如下:library ieee;use ieee.std_logic_1164.all; entity mux21a isport(a,b,s:in std_logic;y:out std_logic); end entity mux21a; architecture one of mux21a is beginy<=a when s='0' else b ; end architecture one ;4. 仿真波形(如图1-1所示)图1-1 2选1多路选择器仿真波形5. 试验总结:从仿真波形可以看出此2选1多路选择器是当s为低电平时,y输出为b, 当s为高电平时,y输出为a(y<=a when s='0' else b ;),完成2路选择输出。
实验二时序电路的设计1. 实验目的:熟悉MAX + plus II VHDL文本设计过程,学习简单的时序电路设计、仿真和测试。
2. 实验验内容:设计一个锁存器,并进行仿真测试,给出仿真波形。
3. 实验程序如下:library ieee;use ieee.std_logic_1164.all;entity suocun7 isport(clk: in std_logic;en: in std_logic;D: in std_logic_vector(7 downto 0);B:out std_logic_vector(7 downto 0)); end suocun7;architecture one of suocun7 issignal K: std_logic_vector(7 downto 0); beginprocess(clk,en,D)beginif clk'event and clk='1' thenif en ='0'thenK<=D;end if;end if;end process;B<=K;end one;4.仿真波形(如图2-1所示)图2-1 8位锁存器仿真波形此程序完成的是一个8位锁存器,当时钟上升沿到来(clk'event and clk='1')、使能端为低电平(en ='0')时,输出为时钟上升沿时的前一个数,从仿真波形看,实现了此功能。
EDA实验1lxm二选一数据选择器
实验一二选一数据选择器VHDL设计Quartus II 6.0开发环境与EDA实验箱使用一实验目的1.熟悉在Quartus II 6.0环境下原理图输入方法。
2.熟悉Quartus II 6.0环境下编辑、编译综合、仿真的操作方法。
3、掌握利用EDA软件进行电路设计的详细流程;4、熟悉EDA实验箱的基本使用方法。
学会对实验板上的FPGA/CPLD进行编程下载,硬件验证自己的设计项目。
二实验仪器PC机、Quartus II 6.0软件三实验内容1.详细解读教材117页。
2.在QuartusⅡ上输入该设计的原理图,并进行编辑、编译、综合、适配、仿真。
3.给出其所有信号的时序仿真波形。
四实验原理及步骤1.启动Quartus II 6.0软件在桌面上双击Quartus II 6.0图标或者在开始—>所有程序—>Altera—> Quartus II 6.0,如下图2.建立工作库文件夹及工程任何一次设计都是一项工程(Project),所有此工程相关的所有设计文件都需要放在同一个文件夹里。
不同的设计放在不同的文件夹中。
在E盘下建立一个存放本次设计的工程文件夹,比如“shiyan1”。
注意不要使用中文文件夹,文件夹的存放路径也不要包含中文。
注意本实验室计算机C盘和D盘是重启后复原,不要将任何文件和文件夹放置在桌面或者C、D盘下。
初次打开Quartus II 6.0,会有如图提示:选择是的情况下,首先是新工程向导:介绍下一步下一步下一步,选择目标芯片,首先在Family栏选择ACEX1K系列,然后选择此系列的具体芯片:EP1K30TC144-3。
注意不要选成了EP1K30TC144-3。
下一步就点完成。
3.建立文本程序文件选择File菜单下的New或者直接点击工具栏中的新建图标,选择新建文件类型为VHDL File。
接下来另存文件:保存时需更改文件名与项目名称一样,注意保存在同一个工程文件夹下面。
1实验一 2选1多路选择器
东莞理工学院实验报告专业班级:电子信息工程技术1班姓名:陈瀚瑜学号:200831307124指导教师: 卢贵主地点:8B 日期: xxxxx实验一2选1多路选择器1、实验目的:熟悉了解软件Quartus II的界面及其操作,以一个简单的程序初步地跑一遍Quartus II的程序设计流程。
通过这个典型的组合电路模块,给出相关的语法规则的说明由此进入对VHDL的深入了解的历程。
要让自己能掌握在Quartus环境下新建程序文件、新建工程并编写程序、进行综合以及时序仿真功能。
2、实验设备:一台装有Quartus II 9.0软件的计算机一台。
3、设计原理:此实验是一个2选1的多路选择器,既然是两个选一个,当然有两个输入端a,b数据通道,然后有一个输入通道是选择控制信号s,一个输出通道y。
当s的取值分别为0或1时,输出端y就分别输出来自输入口a或b。
4、实验内容:1、打开Quartus II 9.0软件,新建VHDL FILE,保存跟实体一样的名称mux21a。
2、在FILE下按New Project Wizard,找到…\mux21a选中将加入工程,然后选择目标芯片ACEX1K、分装为TQFP、管口144、速度级别3,然后选择下面的EP1130TC144。
3、根据原理设计代码,如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21a isPORT(a,s,b:IN STD_LOGIC;y:OUT STD_LOGIC);END ENTITY mux21a;ARCHITECTURE BHV OF mux21a ISSIGNAL d:STD_LOGIC;SIGNAL e:STD_LOGIC;BEGINd<=a AND (NOT s);e<=b AND s;y<=d OR e;END ARCHITECTURE BHV;4、编译processing-start compilation.5、时序仿真:选择file-new下的V ector Waveform File,输入仿真时间区域选择Edit-End Time设置50us。
用文本输入法设计2选1多路选择器 EDA实验报告
用文本输入法设计2选1多路选择器1.实验目的和要求本实验为综合性实验,综合了简单组合电路逻辑、QuartusII的使用方法、多层次电路设计、仿真和硬件测试等内容。
其目的是熟悉QuartusII的VHDL文本设计流程全过程。
2.实验原理2选1多路选择器真值表s a b yL L ×LL H ×HH ×L LH ×H H3.主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.操作方法与实验步骤首先利用QuartusII完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,然后进行仿真。
最后在实验系统上进行硬件测试,实际验证本项实验的功能。
将设计好的2选1多路多路选择器看成是一个元件mux21a,利用元件例化语句描述下图,并将此文件放在同一目录E:\muxfile中。
5.实验内容及实验数据记录(1)程序设计ENTITY mux21a ISPORT ( a, b, s: IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS (a,b,s)BEGINIF s = '0' THEN y <= a ; ELSE y <= b ;END IF;END PROCESS;END ARCHITECTURE one ;(2)软件编译(3)仿真波形图(4)硬件测试结果将程序下载到实验板,按下K1键可以得到不同的鸣叫效果。
改变频率的选择,可以改变蜂鸣器的鸣叫效果。
6.实验数据处理与分析(1)程序分析1、一般的,可综合的,即能将VHDL程序编译成可实现的电路端口模式有如下四种:IN(输入端口),OUT(输出端口),INOUT(双向端口),BUFFER(缓冲端口),本二选一实验的实体中定义三个输入引脚分别为:a、b、s和一个输出引脚y,四个引脚的数据类型均为bit.2、使用VHDL描述语句实现功能当s=0时候选择输入a,当s=1时候选择输入b,即实现二选一的功能。
实验3 多路选择器的设计
实验3 多路选择器的设计
一、实验目的
1.熟练掌握多路选择器的设计方法
2.熟悉门级描述的编程方法;
二、实验内容
1.编写程序实现2选1的多路选择器
2.编写程序实现8选1的数据选择器
三、实验要求
1.根据参考内容,用Verilog HDL语言设计多路选择器。
2.用Quartus II或Modelsim 对其进行功能或时序进行波形仿真验证;
3.下载到FPGA开发板验证;
四、实验环境
Quartus Ⅱ
五、实验原理
数据选择是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去。
实现数据选择功能的逻辑电路称为数据选择器,它的作用相当于多个输入的单刀多掷开关。
二选一数据选择器的原理框图如图1,真值表见图2。
六、 实验步骤
(1)打开Quartus II 新建工程,并进行相关配置; (2)添加Verilog HDL 文件,编辑代码; (3)编译、代码综合与波形仿真; (4)下载程序至FPGA 开发板。
图2 选1数据选择器真值表
图1 2选1数据选择器原理图
图3 8选1数据选择器原理图
七、实验程序(或者电路图)
八、实验结果
2选1数据选择器RTL
8选1数据选择器RTL
2选1数据选择器波形图仿真
8选1数据选择器波形图仿真
九、实验结果讨论
(结合实验过程、实验结果或老师的提出问题自行讨论)。
组合电路综合实验报告
一、实验目的1. 掌握组合逻辑电路的基本原理和设计方法。
2. 学会使用常用逻辑门电路(如与门、或门、非门、异或门等)设计简单的组合逻辑电路。
3. 提高实验操作技能,加深对数字电路理论知识的理解。
二、实验原理组合逻辑电路是由逻辑门电路组成的,其输出仅与当前输入有关,而与电路历史状态无关。
常见的组合逻辑电路有半加器、全加器、编码器、译码器、多路选择器等。
三、实验器材1. 74LS00、74LS20、74LS138、74LS151等逻辑门电路芯片2. 电阻、电容、导线等实验器材3. 数字逻辑实验箱四、实验内容1. 半加器电路设计(1)设计要求:使用与非门实现半加器电路。
(2)设计步骤:a. 根据半加器的逻辑功能,列出真值表。
b. 由真值表写出逻辑表达式。
c. 根据逻辑表达式,设计电路图。
d. 搭建电路,并进行测试。
2. 全加器电路设计(1)设计要求:使用与非门实现全加器电路。
(2)设计步骤:a. 根据全加器的逻辑功能,列出真值表。
b. 由真值表写出逻辑表达式。
c. 根据逻辑表达式,设计电路图。
d. 搭建电路,并进行测试。
3. 编码器电路设计(1)设计要求:使用与非门实现4-2编码器电路。
(2)设计步骤:a. 根据编码器的逻辑功能,列出真值表。
b. 由真值表写出逻辑表达式。
c. 根据逻辑表达式,设计电路图。
d. 搭建电路,并进行测试。
4. 译码器电路设计(1)设计要求:使用与非门实现2-4译码器电路。
(2)设计步骤:a. 根据译码器的逻辑功能,列出真值表。
b. 由真值表写出逻辑表达式。
c. 根据逻辑表达式,设计电路图。
d. 搭建电路,并进行测试。
5. 多路选择器电路设计(1)设计要求:使用与非门实现2-1多路选择器电路。
(2)设计步骤:a. 根据多路选择器的逻辑功能,列出真值表。
b. 由真值表写出逻辑表达式。
c. 根据逻辑表达式,设计电路图。
d. 搭建电路,并进行测试。
五、实验结果与分析1. 实验过程中,根据设计要求,成功搭建了半加器、全加器、编码器、译码器、多路选择器等组合逻辑电路。
EDA实验报告8位二选一多路选择器
学号:201400800093 姓名:胡玲专业:电子信息科学与技术科目:电子设计自动化EDA 实验名称:8位二选一多路选择器
一.实验要求
实验要求:1通过有限状态机的VHDL设计初步了解VHDL表达和设计电路的方法2根据学过的一位二选一选择器改进VHDL语言而掌握8位二选一多路选择器
三.RTL图
四.波形仿真图:
由源代码可知a_fin=a_dis,b_fin=b_dis,但由波形仿真图可知在同一时刻它们并不一定相等,而是存在延迟,结果s_fin也是和对应的输入值存在延迟,如果不考虑延迟,结果正确。
例:t=40ns时输入是1010+0001结果是1011,无进位。
五:实验结果
1.用开关sw17-14表示输入的四位二进制A(17-14分别表示A0-A3),并用LEDR17-14显示。
sw13-10表示输入四位二进制B(13-10分别表示B3-B0)并用LEDR13-10显示。
KEY0用于复位KEY1用于做时钟信号LEDR3-0表示输出的四位二进制数LEDG8(绿灯)显示进位输出。
2.按下复位键—用开关确定输入值(例如输入为1111+1000)—按下时钟信号键—可显示红灯为0111以及绿灯亮有进位。
3.可知结果正确。
六.实验体会及心得
1.做实验前先预习实验内容,学以致用和大胆改进很重要。
2.代码写错没关系,几十个错误也没关系,不能复制粘贴那样学不到东西,与同学探讨很有意义,最后结果出来再回过头研究代码会觉得更了解每一步代码。
3.实验过程中切记避免心浮气躁,急于出结果,如果实在没思路可以看同学代码但一定要看懂在之上进行改变看结果。
实验报告一多路选择器Word版
实验报告一多路选择器Word版
实验名称:多路选择器实验
实验目的:
1.了解多路选择器的原理和工作原理。
2.学习如何使用多路选择器。
3.编写多路选择器的真值表和逻辑表达式。
4.掌握多路选择器在数字电路中的应用。
实验器材:
1.实验箱
2.多路选择器IC:74LS153N
3.光电开关:LM228
4.数码开关
5.示波器
实验步骤:
3.将数码开关与多路选择器连接。
实验结果:
输入A 输入B 功能输出Y
0 0 S0输出
逻辑表达式:Y=S0·A·B'+S1·A'·B+S2·A·B+S3·A'·B'
2.按照实验步骤连接电路,开启电源后,将数码开关和光电开关的状态分别作为多路选择器的输入,观察其输出是否符合真值表和逻辑表达式。
1.多路选择器可以实现多输入单输出的功能,根据输入的选择不同,输出不同的信号。
2.制作多路选择器时需要注意电路的连接正确性。
西北工业大学-数字电子技术基础-实验报告-实验2
西北⼯业⼤学-数字电⼦技术基础-实验报告-实验2数字电⼦技术基础第⼆次实验报告⼀、题⽬代码以及波形分析1. 设计⼀款可综合的2选1多路选择器①编写模块源码module multiplexer(x1,x2,s,f);input x1,x2,s;output f;assign f=(~s&x1)|(s&x2);endmodule②测试模块`timescale 1ns/1psmodule tb_multiplexer;reg x1_test;reg x2_test;reg s_test;wire f_test;initials_test=0;always #80 s_test=~s_test;initialbeginx1_test=0;x2_test=0;#20x1_test=1;x2_test=0;#20x1_test=0;x2_test=1;#20x1_test=1;x2_test=1;#20x1_test=0;x2_test=0;#20x1_test=1;x2_test=0;#20x1_test=0;x2_test=1;#20x1_test=1;x2_test=1;endmultiplexer UUT_multiplexer(.x1(x1_test),.x2(x2_test),.s(s_test),.f(f_test));endmodule③仿真后的波形截图④对波形的分析本例⽬的是令s为控制信号,实现⼆选⼀多路选择器。
分析波形图可以知道,s为0时,f 输出x1信号;s为1时,f输出x2信号。
所以实现了⽬标功能。
2. 设计⼀款可综合的2-4译码器①编写模块源码module dec2to4(W,En,Y);input [1:0]W;input En;output reg [0:3]Y;always@(W,En)case({En,W})3'b100:Y=4'b1000;3'b101:Y=4'b0100;3'b110:Y=4'b0010;3'b111:Y=4'b0001;default:Y=4'b0000;endcaseendmodule②测试模块`timescale 1ns/1psmodule tb_dec2to4;reg [1:0]W_test;reg En_test;wire [0:3]Y_test;initialEn_test=0;always #80 En_test=~En_test;initialbeginW_test=2'b00;#20W_test=2'b01;#20W_test=2'b11;#20W_test=2'b10;#20W_test=2'b00;#20W_test=2'b01;#20W_test=2'b11;#20W_test=2'b10;#20W_test=2'b00;enddec2to4 UUT_dec2to4(.W(W_test),.En(En_test),.Y(Y_test));endmodule③仿真后的波形截图④对波形的分析本例⽬的是实现可综合的2-4译码器,其中数组W是输⼊信号,共有两个值,输⼊⼀个两位⼆进制数据,⽬的是通过译码器将它转换成独热码,数组Y是输出信号,输出四个⼆进制数据,构成独热码。
计算机组成原理 多路选择器实验报告
计算机组成原理实验三多路选择器实验...............姓名:陈衍席学号:1205110125 网工1202实验环境】1. Windows 2000 或Windows XP2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。
【实验目的】本次实验要求掌握各种多路选择器的设计与实现。
【实验要求】可以利用原理图设计并实现1位、8位和32位2选1多路选择器、32位4选1、32位32选1多路选择器。
其中32位4选1和32位32选1多路选择器,可以借用系统自带的元件库LPM_MUX元件。
【实验原理】多路选择器(Multiplexer)又称数据选择器或多路开关,是一种多个输入、一个输出的器件。
其功能是在选择控制码(地址)电位的控制下从几路数据输入中选择一路并将其送到一个公共输出端,也就是经过多路选择把多个通道的数据传输到唯一的公共数据通道上。
因此,实现数据选择功能的逻辑电路称为多路选择器。
如图所示,为4选1多路选择器示意图:多路选择器的功能类似于一个多掷开关。
如果它有两路数据A0和A1,则选择控制信号S,从两路数据中选中某一路数据送至输出端Y。
此时,其功能相当于多个输入的单刀多掷开关。
2选1多路选择器真值表如下所示;由上表可以推出2选1多路选择器输入、输出逻辑关系式为:【实验步骤】3.1 1位2选1多路选择器的设计由逻辑关系式可知,当S为0时,Y的值由A0确定;当S为1时,Y的值由A1确定,由此可以创建1位2选1多路选择器的原理图。
(1)创建如图所示1位2选1多路选择器的原理图文件:(2)文件编译(3)功能仿真仿真及结果分析:在65s--80ns之间,A0=0,A1=1,当S=1时,Y=1;S=0时,Y(4)生成原理图元器件如图,点击【File】-->【Create/Update】-->【Create Symbol Files for Current File】,完成元件封装。
北邮-ASIC实验报告
ASIC设计实验报告学院:电子工程学院班级:2011211204 姓名:学号:**********组员:班内序号:9指导老师:***2014年6月实验一:多路选择器的设计一.实验目的:1.掌握门级电路与行为级电路设计的区别;2.掌握逻辑电路的设计方法;3.熟悉测试程序的编写。
4.注意代码规范性要求。
二.实验内容:1.设计一个有两位选择信号的四选一多路选择器,可以根据控制信号从两位或多个输入源中选择一个予以输出。
out2.用基本逻辑门来实现多路选择器,即门级语言进行描述。
参考门级电路如下。
3.用行为级语言进行描述,通过case语句重新设计仿真。
4.编写多路选择器的测试激励模块,并通过Synopsys工具进行仿真。
三.实验代码:mux1.vmodule mux1(s,i0,i1,i2,i3,out);input [1:0] s;input i0,i1,i2,i3;output out;wire s1,s0,s0_n,s1_n;wire y0,y1,y2,y3;assign s1 = s[1];assign s0 = s[0];assign s1_n = ~s[1];assign s0_n = ~s[0];assign y0 = i0 & s1_n & s0_n;assign y1 = i1 & s1_n & s0;assign y2 = i2 & s1 & s0_n;assign y3 = i3 & s1 & s0;assign out = y0 | y1 | y2 | y3;endmodulemux1_test.v`timescale 1ns/1usmodule mux1_test();reg [1:0] s;reg i0,i1,i2,i3;wire out;mux1(.s(s),.i0(i0),.i1(i1),.i2(i2),.i3(i3),.out(out));initialbegini2 = 1'b0;forever #2 i2 = ~i2;endinitialbegini3 = 1'b0;forever #4 i3 = ~ i3;endinitialbegin$dumpvars(2,mux1_test);i0 = 1'b0;i1 = 1'b1;s = 2'b00;#20 s = 2'b01;#20 s = 2'b10;#20 s = 2'b11;#20 s = 2'b00;#20 s = 2'b01;#20 s = 2'b10;#20 s = 2'b11;#20 $finish;endEndmodulemux2.vmodule mux2(s,i0,i1,i2,i3,out);input [1:0] s;input i0,i1,i2,i3;output out;reg out;always @(s,i0,i1,i2,i3)begincase (s)default : out = 1'bx;2'b00 : out = i0;2'b01 : out = i1;2'b10 : out = i2;2'b11 : out = i3;endcaseendEndmodulemux2_test.v`timescale 1us/1usmodule mux2_test();reg [1:0] s;reg i0,i1,i2,i3;wire out;mux2(.s(s),.i0(i0),.i1(i1),.i2(i2),.i3(i3),.out(out));initialbegini2 = 1'b0;forever #2 i2 = ~i2;endinitialbegini3 = 1'b0;forever #4 i3 = ~i3;endinitialbegin$dumpvars(2,mux2_test);i0 = 1'b0;i1 = 1'b1;s = 2'b00;#20 s = 2'b01;#20 s = 2'b10;#20 s = 2'b11;#20 s = 2'b00;#20 s = 2'b01;#20 s = 2'b10;#20 s = 2'b11;#20 $finish;endendmodule四.仿真波形:门级电路波形行为级电路波形不同点:两者都能正确的反映输出与输入的关系且波形一致,但两者的原理是不同的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:
二选一多路选择器
实验目的:
通过简单、完整而典型的VHDL设计,初步了解用VHDL表达和设计电路的方法,并对由此而引出的VHDL语言现象和语句规则加以有针对性的说明。
实验原理:
二选一多路选择器功能描述:
输入端口a,b输入信号,在通道选择控制输入端口s输入低电频时,输出端口y输出a输入端口信号;在通道选择控制输入端口s输入高电频时,输出端口y输出b输入端口信号。
实验内容:
一、二选一多路选择器程序录入:
ENTITY mux21a IS
PORT(a,b:IN BIT;
s:IN BIT;
y:OUT BIT);
END ENTITY mux21a;
ARCHITECTURE one OF mux21a IS
BEGIN
y<=a WHEN s='0' ELSE b;
END ARCHITECTURE one;
二、文件存盘及创建工程,文件名和工程名为mux21a
三、对源程序进行全程编译,如有错误进行修改,直到编译成功。
编译成功的界面如下图:
四、得出二选一多路选择器的电路图,如下图
五、时序仿真:
(1)打开波形编辑器。
(2)设置仿真时间区域(此次仿真域时间设为5us)。
(3)波形文件存盘。
(4)将工程的端口信号选入波形编辑器中。
(5)编入输入波形(输入激励信号)。
(6)总线数据格式设置。
(7)仿真器参数设置。
(8)启动仿真。
(9)观察仿真结果。
结果如下图:
实验心得:
1、通过本节上机实验,初步了解了VHDL语言现象和语句规律。
2、程序很简单,按照示例程序输入没有什么错误。
主要是通过这个简单程
序了解了时序仿真的全过程,以及通过对输入波形的调整达到清晰美观时序仿真效果的调试方法。
3、实验后基本能从整体上把握VHDL程序的基本结构和设计特点。
掌握固
定表达句式,实体内容还是跟C语言语法相似。
算是入门了。