四选一选择器
四选一数据选择器
数据选择器:
数据选择器(data selector) 根据给定的输入地址代码,从一组输入信号中选出指定的一个送至输出端的组合逻辑电路。
有时也把它叫做多路选择器或多路调制器(multiplexer)。
MUX (数据选择器(multiplexer)):
在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。
产品规格有4选1数据选择器、8选1数据选择器(型号为74151、74LS151、74251、74LS153)、16选1数据选择器(可以用两片74151连接起来构成)等之分。
如在数字电路中,mux6常指6路开关、mux6to1(mux6_1)常指6选1数据选择器。
多路转换器的作用主要是用于信号的切换。
集成模拟电子开关在小信号领域已成为主导产品,与以往的机械触点式电子开关相比,集成电子开关有许多优点,例如切换速率快、无抖动、耗电省、体积小、工作可靠且容易控制等。
但也有若干缺点,如导通电阻较大,输入电流容量有限,动态范围小等。
因而集成模拟开关主要使用在高速切换、要求系统体积小的场合。
在较低的频段上f<10MHz),集成模拟开关通常采用CMOS工艺制成:而在较高的频段上(f>10MHz),则广泛采用双极型晶体管工艺。
实验一四选一数据选择器的设计
实验一四选一数据选择器的设计实验目的:设计并实现一个四选一数据选择器,可以将四个输入信号中的一个作为输出信号进行传递。
实验原理:四选一数据选择器是多路选择器的一种,主要由输入端、控制端和输出端组成。
输入端有四个信号输入线,控制端有两个控制输入线,输出端有一个信号输出线。
通过控制输入线的不同组合,可以选择其中一个输入信号传递到输出端。
实验材料与器件:1.1片74LS153(二选四数据选择器)芯片2.4个开关按钮3.连接线4.电源线5.示波器(可选)实验步骤:1.连接电路:a. 将芯片74LS153的Vcc引脚连接到正极电源线,将GND引脚连接到负极电源线。
b.将芯片的1A、1B、2A、2B四个输入引脚分别连接到四个开关按钮。
c.将芯片的S0、S1两个控制输入引脚分别连接到两个控制开关按钮。
d.将芯片的Y输出引脚连接到输出信号线。
e.将电源线接入电源插座,通电。
2.设置控制输入:a.初始状态下,所有控制输入引脚都为低电平状态。
b.可以通过控制两个开关按钮的开关状态来改变控制输入引脚的电平。
3.输出结果观测:a.打开示波器,将其输入端连接到芯片的输出引脚,设置为观测模式。
b.通过改变控制输入的电平状态,可以选择不同的输入信号进行输出。
c.观察示波器上的输出信号波形,确保输出信号与选择的输入信号一致。
4.实验记录:a.记录不同控制输入状态下的输入信号及输出信号。
b.通过对比观测结果,验证芯片的正常工作。
实验注意事项:1.连接电路时,注意电源接线正确,避免短路或电路损坏。
2.实验过程中操作电路和仪器时,保持手部干燥,并确保安全。
3.实验完成后,关闭电源,将电路和仪器恢复原状,并整理实验记录。
4.若没有示波器,可以通过观察输出信号线连接的LED灯的亮灭来判断输出信号的状态。
实验结果与讨论:在实验中,我们设计并实现了一个四选一数据选择器,并通过改变控制输入的电平状态来选择不同的输入信号进行输出。
通过观察观测结果,我们可以发现当控制输入引脚的电平状态为低-低时,选择1A作为输出;当为低-高时,选择1B作为输出;当为高-低时,选择2A作为输出;当为高-高时,选择2B作为输出。
四选一多路选择器
四选一选择器的VHDL程序实现及仿真一、四选一选择器的基本功能描述选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。
四选一选择器有四个输入端input(0)~ input(3),两个信号选择端a和b及一个信号输出端y。
当a、b输入不同的选择信号时,就可以使input(0)~ input(3)中某一个相应的输入信号与输出y端接通。
例如,当a=b=“0”时,input (0)就与y接通。
四选一电路的逻辑功能真值表如下图所示:我们可以根据上面的逻辑真值表,设计四选一电路系统的VHDL 源程序,并进行程序的编译和仿真。
二、编写VHDL源程序下面为四选一选择器的VHDL源程序:四选一选择器VHDL源程序如下:LIBRARY IEEE; ***库的调用***USE IEEE.STD_LOGIC_1164.ALL; ***库的调用***ENTITY mux4 IS ***实体定义*** PORT (input:IN STD_LOGIC_VECTOR(3 DOWNTO 0); ***输入管脚的定义***a,b:IN STD_LOGIC; ***输入管脚的定义***y:OUT STD_LOGIC ); ***输出管脚的定义***END mux4;ARCHITECTURE rtl OF mux4 IS ***结构的定义***SIGNAL sel:STD_LOGIC_VECTOR (1 DOWNTO 0); ***信号定义***BEGINsel<=b&a;PROCESS (input,sel) ***进程的定义***BEGINIF(sel="00") THENy<=input(0);ELSIF(sel<="01") THENy<=input(1);ELSIF(sel<="10") THENy<=input(2);ELSEy<=input(3);END IF;END PROCESS;END rtl;三、文本文件的编译及仿真全过程在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件,如*.cnf,*.rpt,*.snf,*.pof 等。
EDA之基本触发器和四选一数据选择器
EDA之基本触发器和四选一数据选择器邵阳学院课程设计(论文)目录摘要 (I)1 引言 (1)2 设计思路 (2)2.1 设计的目的 (2)2.2 需求分析 (2)2.3 设计的基本内容 (2)3 EDA、VHDL简介 (3)3.1 EDA技术 (3)3.2 硬件描述语言——VHDL (4)4 设计规划过程 (4)4.1四选一数据选择器的工作原理 (5)4.2基本触发器器的工作原理 (5)4.3课程设计中各个模块的设计 (6)5 结束语 (9)参考文献 (9)附录 (11)邵阳学院课程设计(论文)1 引言现代电子产品正在以前所未有的革新速度,向着功能多样化,体积最小化,功耗最低化的方向迅速发展。
它与传统电子产品在设计上的显著区别,一是大量使用大规模可编程逻辑器件,以提高产品性能,缩小产品体积,降低产品消耗;二是广泛运用现代计算机技术,以提高电子设计自动化程度,缩短开发周期,提高产品的竞争力。
EDA技术正是为了适应现代电子产品设计的要求,吸收各相关学科最新成果而形成的一门新技术。
它采用可编程器件,通过设计芯片来实现系统功能。
采用硬件描述语言作为设计输入和库(LibraLy)的引入,由设计者定义器件的内部逻辑和管脚,将原来由电路板设计完成的大部分工作故在芯片的设计中进行。
由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,有效增强了设计的灵活性,提高了工作效率。
并且可减少芯片的数量,缩小系统体积,降低能源消耗,提高了系统的性能和可靠性。
能全方位地利用计算机自动设计、仿真和调试。
本次设计中,系统基于数据选择器及D触发器,JK触发器,T触发器的原理,使用EDA技术在FPGA中设计了四选一数据选择器和基本触发器,采用硬件描述语言VHDL按模块化方式进行设计,然后进行编程,时序仿真等。
在数据选择器中,用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证4选一数据选择器设计的正确性,通过VHDL语言实现了本设计的控制功能,按不同的键实现不同的功能,根据数据选择器的特性方程设计输出状态。
VHDL实验报告 四选一数据选择器的设计
五、实验步骤
4、对设计文件进行仿真
1)选择File--New,在弹出的对话框中选择Vector Waveform File,点击OK按 钮,打开进入一个空的波形编辑器窗口。
2)设置仿真结束时间,波形编辑器默认的仿真结束时间为 1µS,根据仿真需 要,可以自由设置仿真的结束时间(本次设置的为1ms)。选择 QUARTUSII 软件的 Edit--
的 Fie>Save进行保存。
5)指定仿真器设置,在仿真过程中有时序仿真和功能仿真之分,在这里介绍 功能仿真。在 QUARTUSII软件中选择 Processing>Simulator Tool 命令,打开仿真器工具 窗口,如下图所示。
按图上的提示,首先产生功能仿真网表文件(在simulation
mode后选择
二、实验目的
1、熟悉四选一数据选择器的工作原理。 2、进一步掌握VHDL顺序语句和并行语句的使用。 3、进一步熟悉QUARTUSⅡ软件的使用方法和VHDL输入的全
过程。
三、实验原理
在数字系统中常需要将多路数据有选择地分别传送到公共 数据线上去,完成这一功能的逻辑电路称为数据选择器。 数据选择器是一种通用性很强的中规模集成电路,它的用 途很广。
3)点击 Add Hardware 按钮,出现 Add Hardware 对话框,在 Add Hardware 对话 框中,从 Hardware type 列表中选择所需要硬件类型,如果是 USB 接口的请参照用户使用手册 中的 USB 电缆的安装与使用,如果使用的是并口下载线则选取如下图 所示的硬件类型,点击 OK按钮,完成对硬件类型的设置。回到编程器硬件设置窗口, 点击 Close 按钮退出设置。则在 编程器对话框中的编程硬件类型会出现刚才选取的编程器硬件。
基于FPGA实现四选一选择器的设计
基于FPGA实现四选一选择器的设计摘要本文是基于FPGA的四选一选择器的设计:基于FPGA在数据选择方面的优势,把FPGA作为选择器的控制核心;主要研究如下:软件部分——四选一选择器程序。
针对数据选择器的设计,对FPGA进行了型号选择,使用VHDL语言在型号FLEX10K/20RC208-4上编写了四选一选择器的程序,通过使能端的控制,从而达到四选一的功能。
硬件部分——使用protel画出原理图并作出PCB板。
本设计采用了单八路模拟开关CD4051,通过输入端的控制,选择一路信号,通过ADC0804模数转化,输出8路信号给FLEX10K/20RC208-4,经FLEX10K/20RC208-4处理后,接TCL7528后,将数字信号转换为模拟信号并输出。
本文通过软件和硬件的两个方面的设计,实现了四选一选择器的功能。
关键词:FPGA ;VHDL ;PROTEL ;选择器内蒙古科技大学毕业设计说明书(毕业论文)FPGA implementation based on four selected design of a selectorAbstrateThis article is based on a choice selection of four FPGA Design: FPGA-based data selection in the advantages of the FPGA as a selector control center; main research are as follows:Software parts - 4 election a choice program. Design for data selection, model selection on the FPGA, using the VHDL language in the model FLEX10K/20RC208-4 four selected to write a program selector, by enabling the client to control, so as to achieve a function of four elections.Hardware - protel schematic drawing and make a PCB board. This design uses a single eight-way analog switches CD4051, through the control input, select the way the signal, ADC0804 module through the transformation of the output signal 8 to FLEX10K/20RC208-4, by FLEX10K/20RC208-4 treatment, then TCL7528, will digital signal is converted to analog signals and output.In this paper, two aspects of hardware and software design, implementation, choose one of four selector functions.Keywords: FPGA ; VHDL ; ROTEL ; selectorI目录摘要 .............................................................................................................................................. Abstrate (I)第一章绪论 01.1 FPGA简介 01.1.1 FPGA发展现状 01.1.2 FPGA的发展趋势 (1)1.1.3 FPGA基本结构 (1)1.1.4 FPGA的特点 (3)1.1.5 FPGA选型 (4)1.1.6 FPGA设计原则 (5)1.2本论文研究的主要内容 (6)第二章FPGA芯片设计 (7)2.1 BTYG-EDA实验开发系统简介 (7)2.1.1 BTYG-EDA实验开发系统特点 (7)2.1.2 BTYG-EDA实验开发系统资源介绍 (7)2.1.3 主芯片引脚和外部硬件连接关系 (7)2.2 FLEX10K/20RC208-4 (11)2.3 本章小结 (13)第三章MAX+plus II软件和VHDL语言――软件部分 (14)3.1 MAX+plus II开发软件 (14)3.1.1 MAX+plus II功能特点 (14)3.1.2 MAX+plus II系统要求 (15)3.1.3 MAX+plus II设计流程 (15)3.2 VHDL语言简介 (18)3.2.1 VHDL基本介绍 (18)3.2.2 VHDL语言的特点 (19)3.2.3 VHDL系统优势 (20)II内蒙古科技大学毕业设计说明书(毕业论文)3.2.4 VHDL程序基本结构 (20)3.3 MAX十plus II中硬件描述语言输入的设计过程 (21)3.3.1 输入VHDL文件 (21)3.3.2 将文件指定为设计项目 (21)3.3.3 项目编译 (22)3.3.4 项目仿真 (22)3.4 程序仿真介绍及仿真图 (22)3.5本章小结 (24)第四章protel99——硬件部分 (25)4.1 protel简介 (25)4.1.1 Protel99SE的功能特点 (25)4.1.2 用Protel99SE进行电路设计的步骤 (26)4.2 四选一选择器的原理图及各元件介绍 (26)4.3 本章小结 (33)第五章总结与展望 (34)5.1 取得的成果 (34)5.2 工作展望 (34)参考文献 (35)附录A (36)附录B (37)致谢 (39)III第一章绪论1.1 FPGA简介1.1.1 FPGA发展现状当今社会是数字化的社会,是数字集成电路广泛应用的社会,数字集成电路本身在不断地进行更新换代。
数字电路实验报告-4选1数据选择器及其应用
电学实验报告模板实验原理数据选择器的功能类似一个单刀多掷开关,如图1所示。
数据选择器在地址码的控制下,从多路数据输入中选择其中一个并将其送到一个公共的输出端。
图1 数据选择器示意图1. 4选1数据选择器图2 4选1数据选择器及其逻辑图2所示为4选1数据选择器及其逻辑。
该电路有4路输入数据和为地址输入。
为使能控制端,当时,数据选择器正常工作;当时,数据选择器的输出被锁定在“0”,不能选择。
由图2(b)可以得到该数据选择器的逻辑函数式为(1)2. 用4选1数据选择器扩展成8选1数据选择器8选1数据选择器有8路数据输入,3位地址输入。
如果用4选1数据选择器实现8选1,需要2片4选1数据选择器,如图所示。
其中,是通过4选1数据选择器的使能控制端接入的。
由图5并根据式(1),可以得到显然实现了8选1的逻辑功能。
图5 用4选1数据选择器扩展成8选1数据选择器实验仪器实验内容及步骤1. 测试和验证74HC153的逻辑功能(1)集成电路芯片74HC153引脚图74HC153是双4选1数据选择器,芯片内部包含两个独立的、完全相同的4选1数据选择器。
图7-5所示为引脚图。
每一个4选1数据选择器都设置了一个使能控制端。
两个4选1数据选择器共享地址输入端。
图6 74HC151引脚图(2)测试和验证74HC153的逻辑功能按图7连接电路。
实验数据记录在表7-1。
验证74HC153的逻辑功能。
图7 测试74HC151的逻辑功能实验电路表1(3)用一片74HC153扩展成8选1数据选择器图8 74HC153扩展成8选1数据选择器实验电路按图8连接电路。
实验数据记录在表2。
验证电路的逻辑功能。
表2实验结果及分析1.实验结果2.分析该实验结果表明74HC153元件实现了4选1的数据选择功能74HC153与74LS00两个4选1数据选择器拓展实现了8选1的逻辑功能实验结论1.74HC153具有4选1逻辑功能,能够实现数据选择,其有4路输入数据D0、D1、D2、D3,A0、A1为地址输入,为使能控制端,当时,数据选择器正常工作;当时,数据选择器的输出被锁定在“0”,不能选择。
verilog4选一数据选择器原理(一)
verilog4选一数据选择器原理(一)Verilog中的4选1数据选择器简介在数字电路中,数据选择器是一种常见的电路组件,用于从多个数据输入中选择一个输出。
Verilog是一种硬件描述语言,广泛用于数字电路的设计和仿真。
本文将介绍Verilog中的4选1数据选择器的原理和实现方法。
原理4选1数据选择器有4个输入和1个输出。
根据选择信号,从4个输入中选择一个输入作为输出。
选择信号是2位的二进制数,共有4种可能的状态,每种状态对应一个输入。
当选择信号为00时,输出为第一个输入;当选择信号为01时,输出为第二个输入;当选择信号为10时,输出为第三个输入;当选择信号为11时,输出为第四个输入。
逻辑电路图以下是4选1数据选择器的逻辑电路图:______S0 ----| || |S1 ----| |----- Y|______|Verilog实现下面是实现4选1数据选择器的Verilog代码示例:module mux4to1 (input [3:0] D, input [1:0] S, outpu t Y);assign Y = (S[1] & S[0] & D[3]) | (S[1] & ~S[0] & D [2])| (~S[1] & S[0] & D[1]) | (~S[1] & ~S[0] & D[0]);endmodule在上面的代码中,D是4个输入的信号线,S是选择信号线,Y是输出信号线。
根据选择信号的不同状态,使用逻辑运算符进行输入的选取,然后将结果输出到输出信号线Y上。
仿真测试为了验证4选1数据选择器的正确性,可以进行仿真测试。
以下是一个简单的测试示例:module test_mux4to1;// Declare signalsreg [3:0] D;reg [1:0] S;wire Y;// Instantiate the modulemux4to1 mux (D, S, Y);// Stimulusinitial begin// Test case 1D = 4'b0001; S = 2'b00; // Expect Y to be 0 #10;// Test case 2D = 4'b0001; S = 2'b01; // Expect Y to be 0 #10;// Test case 3D = 4'b0001; S = 2'b10; // Expect Y to be 0 #10;// Test case 4D = 4'b0001; S = 2'b11; // Expect Y to be 1 #10;$finish;endendmodule上述代码中,D和S是输入信号,Y是输出信号。
四选一数据选择器74LS153级联方法分析与研究
四选一数据选择器 7 4 L S 1 5 3 级联 方法 分析 与研究
张 辉‘ 李 竹
( 1 . 山西 师 范 大 学 临 汾 学 院 ,山西 临汾 0 4 1 0 0 0 ;
2 .山西师范大学物信 学院 , 山西
临汾
0 4 1 0 0 4 )
数据 中选择一个 数据输 出。经分析 可知 , 该种级 联方 式也是
图 3 两片 四 选一选 择 器级 联成 八选 一 选择器
I
O
加
把地址变量 分成 两部分 , 一部分利用使 能端选择 片的工作状
态, 另一 部分 从选 中的片输 入数据中选择 一个 数据输 出。
在 实际应用 中, 经常 需要从更 多的备选 数据 中选择 一个
六选 一数据选择 器 。此外 , 数据选择器 的功能除 了能从给 定 的多个数 据 中选择一 路输 出外 , 还可 以作为 函数发生 器 , 用 来 实现组 合逻 辑 电路 。数据选 择器 的作用 类似于 单刀 多位
开关, 如图 1 所 示 。a 图为数 据选择 器的 常用逻辑 符号 , 在a
4 基于二级级联 方式扩展 数据 选择 器
本文提 出采用 二级级联 的方式扩展 数据选择 器 , 如 图5
所示 :
数据 , 这就 需要 把 7 4 L S 1 5 3 单片 选择器 进行 级联 , 最 常见 的 级联方式是利用其 使能端进行级联扩展 。 如 图3 所示 为利 用两片 四选一 7 4 L s 1 5 3 级联成 的八选一
F= ( A l A 0 D o +A l A 0 Dl + A I A 0 D2 + l A 0 D3 ) E, 由 该 表 达
四选一数据选择器实验报告
四选一数据选择器11微电子黄跃1117426021【实验目的】1.四选一数据选择器,2.学习V erilog HDL文本文件进行逻辑设计输入;3.学习设计仿真工具modelsim的使用方法;【实验内容】1. 实现四选一数据选择器的“V erilog ”语言设计。
2. 设计仿真文件,进行验证。
【实验原理】数据选择器又称为多路转换器或多路开关,它是数字系统中常用的一种典型电路。
其主要功能是从多路数据中选择其中一路信号发送出去。
所以它是一个多输入、单输出的组合逻辑电路。
4选1数据选择器的元件符号如图一所示,其中D0、D1、D2、D3是4位数据输入端,A0和A0是控制输入端,Y是数据输出端。
当A1A0=00时,输出Y=D1;A1A0=01时,Y=D1;A1A0=10时,Y=D2;A1A0=11,Y=D3。
由真值表写出输出逻辑表达式301201101001)()()()(D A A D A A D A A D A A F +++=由逻辑表达式做出逻辑电路图。
【程序源代码】module mux4_1(sel,in,out);input [1:0] sel;input [3:0] in;output out;reg out;always@(sel or in) begincase ({sel[1],sel[0]})2'b00: out=in[0];2'b01: out=in[1];2'b10: out=in[2];2'b11: out=in[3];default: out=1'bx;endcaseendEndmodule测试程序代码如下:module test_mux4_1;reg [1:0] S;reg [3:0] IN;wire Y;mux4_1 M1(.sel(S),.in(IN),.out(Y));always #10 IN[0]=~IN[0];always #20 IN[1]=~IN[1];always #40 IN[2]=~IN[2];always #80 IN[3]=~IN[3];initialbegin S=1'b0;IN=4'h0;#100 $stop;endalways #10 S=S+1;endmodule【仿真和测试结果】【实验心得和体会】这次实验与上次相比有明显的进步,通过这次实验我对modelsim的应用更加得心应手,深切的体会到了verilog是一种描述性语言,这次实验总的来说是比较顺利的,但在实验过程中还是遇到了一些问题,比如端口的匹配问题,在写程序的时候误将位宽写在了变量名的后面,虽然程序能够运行但有警告,仿真波形是错误的,可见在写程序时警告有时也是致命的,这要求我们在学习的过程中思想一定要严谨!其次在做实验时一定要多想,例如在学习这门课时,书上说在模块外部输入可以是wire型或reg型,但在写程序时激励模块往往要初始化数据,所以编程时其类型往往声明为reg型,通过这个例子我明白了书上所说的有时往往是一个比较笼统的,而更多的需要我们自己去实践、探索、勤思考,只有这样我们才能把书本上的知识转化为属于我们自己的知识,才能在学习的道路上走的更远!原文已完。
数电第4章-(3)
1EN 1D 0 1D 1 1D 2 1Y 1D 3 2D 0 74153 2D 1 2Y 2D 2 2D 3 2EN A 1 A 0
图 4.2.21 74153的简化逻辑符号 的简化逻辑符号
2. 八选一数据选择器
EN A0 A1 A2 D0 D 1 74151 Y D2 D3 D4 D5 D6 D7
A2
D0 D1 D2 D3 D4 D5 D6 D7
A1
A0
Y D0~D3 D4~D7
0 1
00 ~ 11 00 ~ 11
1
Y
1
A2
A 1 A0
四选一扩展为八选一MUX 图 4.2.23 ( a ) 四选一扩展为八选一
数选器74LS151扩展成一个 选1数据选择器。 扩展成一个32选 数据选择器 数据选择器。 例:试将8选1数选器 试将 选 数选器 扩展成一个
输出 Y 0 D0 D1 D2 D3
使能 输入 EN 0 0 0 0
输 入 A2 1 1 1 1 A1 0 0 1 1 A0 0 1 0 1
输出 Y D4 D5 D6 D7
八选一MUX的卡诺图 八选一
A1A0 00 01 11 10 A2 0 D0 D1 D3 D2 八选一MUX的逻辑表达式 八选一 1 D4 D5 D7 D6 EN = 1, Y = 0 ; 图4.2.24 ( a ) EN = 0, Y = A2A1A0D0+ A2 A1A0D1+ A2A1A0D2 + A2A1A0D3 +A2A1A0D0+ A2 A1A0D1+ A2A1A0D2 + A2A1A0D3
C B A
1 D D D 1
D
1
图 4.2.28 ( c )
四选一数据选择器
根据给定的输入地址代码,数据选择器从一组输入信号中选择一个指定的组合逻辑电路,并将其发送到输出。
有时称为多路复用器或多路复用器。
基本定义
数据选择器是指选择后将多个通道的数据传输到唯一的公共数据通道的逻辑电路,称为数据选择器。
在多通道数据传输过程中,可以根据需要选择其中任意一个的电路称为数据选择器,也称为多路复用器或多路复用器。
逻辑功能
数据选择器(MUX)的逻辑功能是在地址选择信号的控制下从多个数据中选择一个数据通道作为输出信号
四分之一的原理图
图1显示了四分之一数据选择器的示意图。
在图1中,d0,D1,D2,D3是四个数据输入,y是输出,A1和A0是地址输入。
从表中可以看出,可以使用指定的代码a1a0选择四个输入数据(d0,D1,D2,D3)中的任何一个并将其发送到输出端子。
因此,数据选择器可以实现数据的多通道分时传输。
另外,数据选择器被广泛用于生成任何种类的组合逻辑功能。
在所示的电路中,如果将y视为A0,A1和d0,D1,D2,D3的函数,则可以将其写为
如果将A1和A0视为两个输入逻辑变量,并且将d0,D1,D2和D3视为第三输入逻辑变量A2的不同状态(即A2,/ A2、1或
0),则任何具有可以生成三个变量A2,A1和A0。
可以看出,具有n位地址输入的数据选择器可以产生输入变量号不超过N + 1的任何组合逻辑函数。
modelsim实验03_四选一选择器仿真实验分析
一、程序源码+注释分析module selector41(data_in,data_out,select);input [3:0] data_in; //定义输入output data_out; //定义输出input [1:0] select; //定义输入一个选择控制信号reg data_out; //将输出定义为寄存器型变量,表示过程块语句always内的指定信号always @(data_in or select) begin //电平触发(输入信号发生电平变化时,执行always块中语句)case(select)//根据两位选择控制信号,将选定的输入信号送到输出端2'b00:data_out=data_in[0];2'b01:data_out=data_in[1];2'b10:data_out=data_in[2];2'b11:data_out=data_in[3];default:data_out=2'bxx;endcaseendendmodule二、测试文件源码+注释分析`timescale 1 ns/10 psmodule selector41_tb; //测试文件,即在仿真软件中以编程文件的方式,给定对应程序文件的输入信号和控制信号reg [0:3] data_in_tb;wire data_out_tb;reg [1:0] select_tb;selector41 t1(data_in_tb,data_out_tb,select_tb); //调用需要测试的程序文件,此处括号内给的变量,顺序要求和调用的程序处定义的变量的顺序一致initial beginselect_tb=0;data_in_tb=0;#20 data_in_tb={$random}%16;//产生一个0~15的二进制随机数作为输入信号#50 select_tb=0;#50 select_tb=1;#50 select_tb=2;#50 select_tb=3;#50 $finish();endendmodule三、下图为仿真实验结果。
四选一数据选择器原理
四选一数据选择器是一种组合逻辑电路,用于从多个输入信号中选择一个输出信号。
它通常由两部分组成:多个输入端(通常为2的n次方个)和一个输出端。
输入端的信号用二进制编码表示,输出端将根据输入端的编码选择一个特定的输入信号作为输出。
四选一数据选择器的原理如下:
输入端的信号以二进制编码的形式表示,例如,对于四选一选择器,输入端有两位编码,可以有四种不同的组合。
根据输入端的编码,选择器内部的选择逻辑电路会将对应的输入信号传递到输出端。
选择逻辑电路通常由逻辑门(如AND、OR和NOT门)组成,根据输入端的编码条件,控制对应输入信号传递到输出端。
输出端将选中的输入信号传递到外部电路中,作为输出信号。
四选一数据选择器在数字电路和计算机系统中广泛应用,用于选择不同的数据源、控制信号或执行不同的操作。
它可以实现多路复用和分时操作,提高电路的灵活性和效率。
CMOS四选一多路选择器的线路设计与版图设计
vf D Gnd PULSE (0 5 15n 2n 2n 25n 50n).tran 1n 400n.print tran v(ctrl1) v(ctrl2) v(A) v(B) v(C) v(D) v(F)* Main circuit: Module0M1 C N1 N5 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM2 N1 ctrl1 Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M3 N18 ctrl2 Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M4 A ctrl1 N5 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM5 B ctrl1 N2 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM6 D N1 N2 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM7 N5 ctrl2 F Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM8 N2 N18 F Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM9 C ctrl1 N5 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM10 A N1 N5 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM11 N1 ctrl1 Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M12 N18 ctrl2 Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M13 B N1 N2 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM14 D ctrl1 N2 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM15 N5 N18 F Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24uM16 N2 ctrl2 F Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u* End of main circuit: Module0电路图瞬时分析波形图:版图设计:内容(方法、步骤、要求或考核标准及所需工具、设备等)一、实训设备与工具1.PVI计算机一台;2.Tanner Pro集成电路设计软件二、项目总体要求采用全CMOS线路结构,实现如下电路功能:对应选择信号的四种组合,将输入数据信号一一传送到输出端。
四选一数据选择器课程设计
四选一数据选择器课程设计EDA课程设计报告题目:四选一数据选择器院系班级:设计者:指导老师:设计时间:目录目录............................................................... - 1 - 1、设计目的、要求......................................... - 2 -1.1、设计目的.......................................... - 2 -1.2、系统设计要求.................................. - 2 -1.3、设计工具.......................................... - 3 -2、设计原理及相关硬件................................. - 3 -2.1、系统设计方案及原理...................... - 3 -2.2、硬件原理.......................................... - 4 -3、主要模块设计............................................. - 5 -3.1、模块xy4 ........................................... - 5 -4、系统编译及仿真过程................................. - 6 -4.1、工程建立.......................................... - 6 -4.2、系统编译.......................................... - 7 -4.3、仿真.................................................. - 8 -5、硬件验证过程和分析................................. - 8 -5.1、引脚设置和保护.............................. - 8 -5.2、硬件下载.......................................... - 9 -6、实验参考程序........................................... - 12 -6.1、模块xy4 ......................................... - 12 -7、总结........................................................... - 14 -1、设计目的、要求1.1、设计目的了解并掌握一般设计方法,具备初步的独立设计能力;掌握用VerilogHDL语言程序的基本技能;提高综合运用所学的理论知识独立分析和解决问题的能力;进一步掌握EDA技术的开发流程,学习其独特的运用,进一步的提高自己的动手能力和知识领域。
VHDL实验 4选1多路选择器
VHDL实验报告学院: 理学院专业:电子信息科学与技术班级:电科091END IF;END PROCESS; PROCESS进程语句结束END ARCHITECTURE rtl;1.实验源程序如下:实验步骤与数据82. 创建文件夹,保存文件。
3.选择芯片为‘EP1C6Q240C8’。
4. 完成设置,显示文件信息。
从显示中我们看到项目和实体名为:MUX4A1,其中只有一个文件,芯片为Cyclone系列的EP1C6Q240C8。
5.运行通过6.运行后的RTL视图7.波形分析(1)添加文件和引脚。
(2)设置输入信号。
可以对输入进行设置.结果分析:①当b='0',a='0'时候,选择出input(0),②当b='0',a='1',时候,选择出input(1)③当b='1',a='0'时候,选择出input(2),④当b='1',a='1'时候,选择出input(3),符合程序结果8.配置引脚⑴选择“Assignments”菜单的“Pins”命令,打开引脚编辑窗口。
四选一数据选择器的引脚分配如下:(2)在设置完引脚后,再次对程序进行编译。
这样就把程序与FPGA的引脚联系起来,这样才能将程序下载到FPGA 开发系统中进行运行仿真。
下载到FPGA中,并验证程序的运行结果。
(3)配置硬件驱动为“ByteBlassterMV[LPT1]”,然后“start”下载,到下载为100%即可完成和对程序进行试验。
9.实验结果。
实验七4选1多路选择器设计实验
实验七4选1多路选择器设计实验实验七 4选1多路选择器设计实验⼀、实验⽬的进⼀步熟悉QuartusII 的VHDL ⽂本设计流程、组合电路的设计仿真和测试。
⼆、实验原理四选⼀多路选择器设计时,试分别⽤IF_THEN 语句、WHEN_ELSE 和CASE 语句的表达⽅式写出此电路的VHDL 程序,要求选择控制信号s1和s2的数据类型为STD_LOGIC;当s1=‘0’,s0=‘0’;s1=‘0’,s0=‘1’;s1=‘1’,s0=‘0’和s1=‘1’,s0=‘1’时,分别执⾏y<=a 、y<=b 、y<=c 、y<=d 。
三、程序设计其⽰意框图如下:其中输⼊数据端⼝为a 、b 、c 、d ,s1、s2为控制信号,Y 为输出。
令s0s1=“00”时,输出y=a ;令s0s1=“01”时,输出y=b ;令s0s1=“10”时,输出y=c ;令s0s1=“11’ 时,输出y=d ;a输⼊ b y数据 cds0 s1真值表如下:输⼊输出x s0 s1y a 0 0a b 0 1 b c 1 0 c d 1 1d4 选 1数据选择器四、VHDL仿真实验(1)⽤IF_THEN语句设计4选1多路选择器1.建⽴⽂件夹D:\alteral\EDAzuoye\if_mux41,启动QuartusII软件⼯作平台,打开并建⽴新⼯程管理窗⼝,完成创建⼯程。
图1 利⽤New Project Wizard创建⼯程mux412.打开⽂本编辑。
NEW→VHDL File→相应的输⼊源程序代码→存盘为mux41.vhd.。
图2 选择编辑⽂件类型源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT(a,b,c,d:IN STD_LOGIC;s0: IN STD_LOGIC;s1: IN STD_LOGIC;y: OUT STD_LOGIC);END ENTITY mux41;ARCHITECTURE if_mux41 OF mux41 ISSIGNAL s0s1:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN s0s1<=s0&s1PROCESS(s0s1,a,b,c,d)BEGINIF s0s1="00" THEN y<=a;ELSIF s0s1="01" THEN y<=b;ELSIF s0s1="10" THEN y<=c;ELSE y<=d;END IF;END PROCESS;END ARCHITECTURE if_mux41;3.综合运⾏,检查设计是否正确。
四选一数据选择器
四选一数据选择器
数据选择器(data selector) 根据给定的输入地址代码,从一组输入信号中选出指定的一个送至输出端的组合逻辑电路。
有时也把它叫做多路选择器或多路调制器。
在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关
图所示的是四选一数据选择器的原理图。
图中的D0、D1、D2、D3是四个数据输入端,Y为输出端,A1、A0是地址输入端。
从表中可见,利用指定A1A0的代码,能够从D0、D1、D2、D3这四个输入数据中选出任何一个并送到输出端。
因此,用数据选择器可以实现数据的多路分时传送。
此外,数据选择器还广泛用于产生任意一种组合逻辑函数。
在图示电路中,若将Y看成是A0、A1及D0、D1、D2、D3的函数,则可写成
图1
如果把A1、A0视为两个输入逻辑变量,同时把D0、D1、D2和D3取为第三个输入逻辑变量A2的不同状态(即A2、/A2、1或0),便可产生所需要的任何一种三变量A2、A1、A0的组合逻辑函数。
可见,
利用具有n位地址输入的数据选择器可以产生任何一种输入变量数不大于n +1的组合逻辑函数。
其工作原理是你给A1A0一组信号比如1 0 那么就相当于给了他一个2进制数字2 也就相当于选通了D2这个输入端这个时候输出Y 输出的就是D2的信号
D2是什么Y就输出什么
输出表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验课程名称VHDL 四选一选择器
年级电技 111 专业电子科学与技术
学生姓名周伦稳
学号 1107010086
2013年12月
4选1数据选择器
1·设计背景和设计方案 1·1设计背景
该设计是以数字电子技术为基础,实现数据从四位数据中按照输入的信号选中一个数,来实现所期望的逻辑功能。
1·2设计方案
用拨码开关作四位数据及两位控制端的输入,LED 作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED 与数据输入端a,b,c,d 的关系,验证四选一数据选择器设计的正确性。
使用逻辑门电路与、或、非的组合来表达4选1数据选择器,通过控制输入的信号来控制输出的信号值。
其逻辑电路图如下:
>11
1
3
&
2
1
1
D
D D D A
A Y
其示意框图如下:
其中输入数据端口为D0、D1、D2、D3,A 、A ’为控制信号,Y 为输出。
令AA ’=“00”时,输出Y=D0;
令AA ’=“01”时,输出Y=D1; 令AA ’=“10”时,输出Y=D2; 令AA ’=“11’ 时,输出Y=D3;
D0
输入 D 1 Y
数据 D 2
D 3
A A ′
真值表如下:
输入
输出 D A1 A0 Y D0 0 0
D0 D1 0 1 D1 D2 1 0 D2 D3 1 1 D3
2·方案实施 1)程序1
2·1·1 设计思路
4 选 1
数 据 选 择 器
四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号Z的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR( 1 DOWNTO 0 ).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。
当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给z,进而输出z的值,输入信号为“11”是,将a的值给z,进而输出z的值。
若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。
这样即可实现四选一数据选择的功能。
2·1·2
程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux41 is
PORT (a,b,c,d :IN STD_LOGIC;
s :IN STD_LOGIC_VECTOR(1 DOWNTO 0);
z : OUT STD_LOGIC);
END mux41;
ARCHITECTURE one OF mux41 IS
BEGIN
PROCESS( s,a,b,c,d)
BEGIN
CASE s IS
WHEN "00" => z <= a;
WHEN "01" => z <= b;
WHEN "10" => z <= c;
WHEN "11" => z <= d;
WHEN OTHERS => z <=null;
END CASE;
END PROCESS;
END one;
2·1·3
运行结果
当输入信号“00”时,输出信号z的值为‘a’;
当输入信号“01”时,输出信号z的值为‘b’;
当输入信号“10”时,输出信号z的值为‘c’;
当输入信号“11”时,输出信号z的值为‘d’;
2·1·4
波形仿真及描述
输入:
a 的波形周期为10ns,b的波形周期为5ns,c的波形周期为15ns,d的波形周期为8ns。
s[1]的波形周期为5ns,s[2]的波形周期为10ns。
输出:
2)程序2
2·2·1
设计思路
定义6个输入信号,一个输出信号,当控制信号A=‘1’时,muxval的值加1,即muxval=muxval+1;当控制信号B=‘1’时muxval的值加2,即muxval=muxval+2。
当输入值为‘i0’时,输出q的值为0,当输入的值为‘i1’时,输出q的值为1,当输入值为‘i2’时,输出q的值为2,当输入值为‘i3’时,输出q的值为3。
2·2·2程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux41 IS
PORT ( i0,i1,i2,i3,a,b : IN STD_LOGIC;
q : OUT STD_LOGIC );
ENS mux4;
ARCHITECTURE b_mux4 OF mux4 IS BEGIN
Process ( i0,i1,i2,i3,a,b )
Variable muxval : integer rang 7 downto 0; Begin
muxval :=0;
if ( a = '1' ) then muxval : muxval + 1; end if; if ( b = '1' ) then muxval : muxval + 2; end if; case muxval is
when 0 = > q < = i0;
when 1 = > q < = i1;
when 2 = > q < = i2;
when 3 = > q < = i3;
When others = > null;
end case;
end process;
END b_mux4;
2·2·3
运行结果
当输入信号“00”时,输出信号z的值为‘i0’; 当输入信号“01”时,输出信号z的值为‘i1’; 当输入信号“10”时,输出信号z的值为‘i2’;
当输入信号“11”时,输出信号z的值为‘i3’;
2·2·4
波形仿真及描述
输入:
a的波形周期为20ns,b的波形周期为15ns,c的波形周期为20ns,d的波形周期为15ns,s[1]的波形周期为8ns,s[2]的波形周期为16ns。
输出:
3·结果和结论
经过对以上程序的运行和编译,可得出以下仿真图结论和所设计一致。