二选一数据选择器
- 格式:doc
- 大小:2.44 MB
- 文档页数:12
基于FPGA的2选1多路选择器设计1. 项⽬介绍 多路选择器,也叫数据选择器或多路开关,在多路数据传送过程中,能够根据需要将其中任意⼀路选出来的电路。
数据选择器⽤于控制有效数据的输出,能够通过地址选择线来选定相应的通道作为输出,提⾼了数据的传输效率。
(数据分配器⽤于数据的传输途径,在信号传输过程中能够通过地址选择线选择传输信道)。
2. 设计要求 设计⼀个2选1多路选择器,输⼊有两个单bit信号,和⼀个单bit的选择信号。
当选择信号为低电平时,将第⼀路信号输出,当选择信号为⾼电平时,将第⼆路信号输出。
3. 设计原理 该设计命名为mux2_1,第⼀路信号命名为dataa,第⼆路信号命名为datab,选择信号命名为sel,输出信号命名为odata,系统框图如下图所⽰。
根据设计要求,得真值表:dataa datab sel odata00000010010001111001101011011111 根据真值表,得到逻辑表达式: 转化为Verilog表达式为Odata = datab&sel | dataa&(~sel);4. 设计实现1module mux2_1(23input wire dataa,4input wire datab,5input wire sel,67output wire odata8 );910assign odata = (datab & sel) | (dataa & (~sel));1112endmodule5. 仿真验证1 `timescale 1ns/1ps23module mux2_1_tb();45reg dataa;6reg datab;7reg sel;89wire odata;1011 mux2_1 mux2_1_inst(12 .dataa (dataa),13 .datab (datab),14 .sel (sel),15 .odata (odata)16 );1718initial begin19 dataa = 1'b0; datab = 1'b0; sel = 1'b0; #20;20 dataa = 1'b0; datab = 1'b0; sel = 1'b1; #20;21 dataa = 1'b0; datab = 1'b1; sel = 1'b0; #20;22 dataa = 1'b0; datab = 1'b1; sel = 1'b1; #20;23 dataa = 1'b1; datab = 1'b0; sel = 1'b0; #20;24 dataa = 1'b1; datab = 1'b0; sel = 1'b1; #20;25 dataa = 1'b1; datab = 1'b1; sel = 1'b0; #20;26 dataa = 1'b1; datab = 1'b1; sel = 1'b1; #20; 27end2829endmodule参考资料: (1);。
数据选择器及其应用实验报告实验目的:
本实验的目的是通过实现数据选择器的功能,加深对于数字电路的理解,并提升对于数字电路实现的实践能力。
实验原理:
数据选择器是一种能够从多个数据信号中选择特定信号输出的数字电路,通常它有一个或多个数据输入线、一个或多个控制输入线、一个输出线和一个使能输入线。
在数据选择器输出线上的输出值,取决于控制输入线上的值以及选择从哪一个数据输入线接收数据信号。
在本次实验中,我们使用的是双二选一的数码开关。
“双”指的是它一共有两个信道供选择,“二选一”则代表只会选择其中一个信道作为输出。
实验步骤:
1.根据实验原理和实验材料的提供,搭建实验电路。
2.设置信号源,对选择器进行输入数据和控制信号的测试。
3.根据信号源输出的数据,通过实验电路计算出数据选择器输出的结果。
4.逐一更改控制信号的值,反复测试并记录数据。
并对实验记录进行整理和比较分析,以达到理解、检验和加深对数据选择器的认识。
实验结果:
在实验中我们完成了数据选择器的搭建和调试,并通过多次实验数据的记录与比较,成功实现了数据选择器的功能。
实验结论:
通过本次实验,我们深入学习了数据选择器的工作原理和实现方式,并从中进一步了解了数字电路的基本概念和实现方式。
通
过反复实验和分析,我们成功完成了数据选择器的功能调试,提升了我们的实践能力和对数字电路的理解。
2 实验22。
1 实验内容题目:设计一个1位的二选一多路选择器要求:1.使用门级描述实现 2。
使用逻辑表达式实现 3。
使用if条件语句实现4。
出现正确的仿真波形,无需板子上验证。
2.2 实验步骤1.系统设计设计1位2选1选通器需要三个输入一个输出,其中中输入需要1根地址线两根数据线.设输入一位数据a,b,地址为addr,输出为Out,根据2to1选通器的特点,可得其逻辑表达式为:_______out=a·addr+b·addr(1)门级描述需要两个与门一个非门一个或门,其中所有变量均为wire类型,且需要三个wire类型中间变量储存信号.(2)逻辑表达式源代码中用assign out=sel?a:b;或 assign out=(a&sel)|(b&~sel);(3)If条件语句If语句在always语句中进行判断。
2.RTL原理图(1)门级结构(2)逻辑语句使用两种逻辑语句进行RTL分析结果略有不同,out=sel?a:b;会分析出来一个2选1选通器而out=(a&sel)|(b&~sel);分析结果与门级结构类似1)out=sel?a:b;2)out=(a&sel)|(b&~sel);(3)if语句3.重要源代码及注释(1)门级结构module mux2_1(a,b,out,addr);input a,b,addr;output out;wire naddr,a1,b1;//定义中间变量not (naddr,addr);and (b1,b,naddr);and (a1,a,addr);or (out,a1,b1);endmodule(2)逻辑语句module luoji(input a,input b,input sel,output out);assign out=(a&sel)|(b&~sel);endmodule(3)if语句module mux2_1if(a,b,sel,out);input a,b,sel;output out;reg out;always@(a or b or sel)beginif(sel) out=a;else out=b;end2。
二选一多路选择器原理二选一多路选择器(Multiplexer,简称MUX)是一种能够将多个输入信号选中其中一个并输出的数字逻辑电路。
在数字电路中,MUX是一种广泛应用的电路之一,在数字信号处理、通信、计算机等领域都有着非常重要的作用。
二选一多路选择器通过一组控制信号,将多个输入信号中的一个输出到信号线上。
其结构通常由选择输入端、数据输入端和输出端组成。
多路选择器的输入端可选输入多个数据信号,由控制信号确定输出哪一个数据信号到输出端,因此多路选择器也称为“数据选择器”。
为了更好地理解多路选择器的原理,以下将多路选择器原理分为三个部分:1. 控制器多路选择器的控制器表示多路选择器的选择输入端,用于选择哪个输入端输出到输出端。
多路选择器的控制信号可以是一个或多个不同的信号,但这些信号所代表的值必须是二进制值。
多路选择器的控制器可以使用 AND 或 OR 门实现,当控制信号和输入信号同时为 1 时,对应输入信号会输出到输出线上。
2. 数据输入多路选择器的数据输入就是该选择器的多个输入端。
可以选择其中的一个输入端作为输出,这个输出端的值等于该输入端的值。
这些输入信号可以是数字信号、模拟信号或混合信号。
3. 输出多路选择器的输出端是计算机或其他设备使用的信号线。
多路选择器的输出值取决于选择输入端和输入端的状态。
当控制器的状态为0 时,多路选择器输出与第一个输入信号连接的值。
当控制器为 1 时,多路选择器输出与第二个输入信号相连的值。
这个选择过程由控制器完成。
综上所述,二选一多路选择器是一种能够将多个输入信号中的一个输出的数字逻辑电路。
其结构由选择输入端、数据输入端和输出端组成。
多路选择器通过一组控制信号,确定输出哪一个数据信号到输出端。
在数字信号处理、通信、计算机等领域中,多路选择器都有着广泛的应用,是非常重要的电路之一。
列表:1. 二选一多路选择器是什么?2. 多路选择器的控制器是如何实现的?3. 多路选择器的数据输入是什么?4. 多路选择器的输出是什么?5. 多路选择器在哪些领域有广泛的应用?。
二选一数据选择器(基于与非门)1电路图(W/L=0.55μm /0.25μm)
版图:
第一步:引入单元图例(NMOS和PMOS)
第二步:各元件之间的连线
第三步:设置电源端,接地端以及输入断和输出端:
第四步:LVS检查原理图与版图的电气特性结果为
实验二二选一数据选择器(基于传输门)2电路图
实验二二选一数据选择器(基于传输门)2电路图
版图:
第一步:引入单元图例:
第二步,各元件的连接:
第三步,设置电源端,接地端以及输入断和输出端:
第四步:LVS检查原理图与版图的电气特性结果为
(注:范文素材和资料部分来自网络,供参考。
请预览后才下载,期待你的好评与关注。
)。
信息学院上机实验报告学号:094100135 姓名:汤亚萍班级:09级B班课程名称:EDA设计与SOPC技术上机内容:2选1数据选择器上机实验性质:□综合性实验√设计性实验□验证实验实验时间:2012 年11 月14 日实验地点:睿智楼4幢415 实验设备:见下实验报告:(包括:目的、方法、原理、结果或实验小结等)。
一、实验目的:设计并实验一个2选1数据选择器。
二、实验原理2选1数据选择器的电路符号如图1所示。
输入信号:两个数据源a和b;选择端sel。
输出信号:选择输出端out。
利用选择端sel对输出端进行控制。
达到2选1数据选择器的效果。
a outbsel图1(mux2_1a)三、实验方法及步骤:1.根据实验要求,采用文本编辑法,利用verilog HDL语言描述2选1数据选择器,代码如下。
2.对写好的代码进行编译,编译成功后进行保存。
3.编译完成后在Quartus II软件中对其进行编译和引脚分配,最后把编译正确后得到的.sof文件下载到实验箱。
如图2所示:图24.实验结果验证:把生成的.sof文件下载到实验箱后,对应于自己分配的引脚与小灯连接好线。
观察小灯的亮、灭是否符合2选1数据选择器。
观察实验结果如下:当控制端sel=0时,a输出,当a=0时,小灯不亮,当a=1时,小灯亮;当控制端sel=1时,b输出,当b=0时,小灯不亮,当b=1时,小灯亮。
四、实验小结:通过这次实验让我学会了如何分析问题,并能根据问题的具体要求运用Verilog HDL语言进行描述。
写出相应的代码,实现要到达的实验结果。
同时还让我对Quartus II软件的一些基本属性和功能掌握得更加熟练和完整。
但仍存在着不足,运用Verilog HDL语言进行功能描述是非常的灵活的,有多种设计方法。
要真正熟练的掌握和运用并不是件容易的事。
还需要多加练习。
任课教师评语:教师签字:年月日注:每学期至少有一次设计性实验。
每学期结束请任课教师按时按量统一交到实验中心处。
EDA实验报告组合电路设计一、实验目的1、熟悉quartusⅡ的VHDL文本设计全过程,2、学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验内容1、实验内容2:将此多路选择器看成一个元件mux21a,利用元件例化语句描述成三选一,然后进行编译、综合、仿真。
2、实验内容3:引脚锁定以及硬件下载测试。
选实验电路模式5,用键1(PIO0)控制s0;用键2(PIO1)控制s1;a3、a2和a1分别接clock5、clock0和clock2;输出信号outy仍接spker,通过短路帽选择clock0接256Hz信号,clock5接1024Hz信号,aclock2接8 Hz信号。
最后进行编译、下载和硬件测试实验。
三、实验器材PC机一台、Quartus II软件、EDA实验箱一台、下载电缆一根(已接好)。
四、实验程序实验内容2:三选一library ieee;use ieee.std_logic_1164.all;entity muxk isport(a1,a2,a3: in std_logic;s0,s1: in std_logic;outy: out std_logic);end entity muxk;architecture bhv of muxk 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 bhv;五、实验步骤实验二:在实验一的基础上,新建VHDL文件,命名为muxk。
二选一数据选择器原理在数据处理和分析的过程中,我们经常会遇到需要从两个或多个选项中选择一个的情况。
这就需要用到二选一数据选择器,它能够根据特定的条件从多个选项中选择一个作为输出。
本文将介绍二选一数据选择器的原理及其应用。
二选一数据选择器是一种逻辑电路,它有多个输入端和一个输出端。
根据输入端的条件,选择器会从多个输入信号中选择一个作为输出。
常见的二选一数据选择器包括多路选择器(Multiplexer)和开关(Switch)。
多路选择器是一种常用的二选一数据选择器,它有两个输入端和一个控制端。
当控制端为0时,多路选择器输出第一个输入端的信号;当控制端为1时,多路选择器输出第二个输入端的信号。
多路选择器的原理是利用控制端的信号来选择输出端的信号,从而实现二选一的功能。
开关也是一种常见的二选一数据选择器,它有两个输入端和一个控制端。
当控制端为0时,开关输出第一个输入端的信号;当控制端为1时,开关输出第二个输入端的信号。
开关的原理和多路选择器类似,都是通过控制端的信号来选择输出端的信号。
二选一数据选择器在数字电路和逻辑电路中有着广泛的应用。
例如,它可以用来实现数据的选择和切换,用来选择不同的输入信号进行处理和分析。
在计算机系统中,二选一数据选择器也被广泛用于控制信号的选择和传输,实现数据的多路复用和解复用。
除了在电路中的应用,二选一数据选择器在现实生活中也有着广泛的应用。
例如,智能家居系统中的智能开关就是一种二选一数据选择器,它可以根据用户的控制信号选择不同的电器进行控制。
另外,自动化生产线中的传感器选择器也是一种二选一数据选择器,它可以根据传感器的信号选择不同的操作信号进行控制。
总之,二选一数据选择器是一种非常重要的逻辑电路,它能够根据特定的条件从多个选项中选择一个作为输出。
它在数字电路、逻辑电路和现实生活中都有着广泛的应用,是数据处理和控制领域中不可或缺的一部分。
通过了解二选一数据选择器的原理和应用,我们可以更好地理解和应用它,为数据处理和控制系统的设计和优化提供更多的思路和方法。
二选一数据选择器目录一:数据选择器的基本原理 (3)二电路逻辑功能 (2)2.1 电路逻辑图 (2)2.2真值表与表达式 (3)2.3电路设计及仿真 (3)三版图设计 (5)3.1总体版图设计及DRC验证 (5)3.1.1数据选择器版图设计步骤 (5)3.1.2版图验证 (8)3.2版图仿真 (9)四数据选择器版图LVS对比 (10)五结论及体会 (12)一:数据选择器的基本原理数据选择器是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去,实现数据选择功能的逻辑电路称为数据选择器。
它的作用相当于多个输入的单刀多掷开关,其示意图如下:图1 n位通道选择信号数据选择器除了可以实现一些组合逻辑功能以外,还可以做分时多路传输电路、函数发生器及数码比较器等。
常见的数据选择器有4选1、8选1、16选1电路。
在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号下图所示为二选一数据选择器原理图,a,b为输入端,sel为控制端,out为输出端图1-1数据选择器原理图二电路逻辑功能2.1 电路逻辑图=+(S是数据选择控制端,S为0时选择A,为1时选S择B)Y SA SB要实现2选1选择器,逻辑电路图如下所示图2-1数据选择器逻辑电路图2.2真值表与表达式二选一数据选择器逻辑表达式为:Y SA SB =+根据逻辑表达式所列真值表如下图所示图2-2数据选择器真值表图2.3电路设计及仿真根据原理电路图并使用S-Edit 软件设计出数据选择器的电路图及对应符号图如下:S A B Y 01 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0图2-3数据选择器符号图根据符号图并使用S-Edit软件设计出的数据选择器电路图如下所示图2-4数据选择器电路图导出的SPICE文件,如下图所示图2-5 spice文件加载包含文件,如下图所示图2-6 加载后的SPICE文件在其基础上进行仿真:下图从上到下依次为Y. S B A,结合逻辑表达式及真值表可知,电路为正确的图2-7 模拟波形仿真图三版图设计3.1总体版图设计及DRC验证3.1.1数据选择器版图设计步骤(1)新建文件夹:在电脑本地磁盘新建文件夹,文件夹名为shuju。
(2)打开L-Edit 软件:在桌面上双击L-Edit v13.0 快捷键,打开L-Edit v13.0 软件。
(3)另存新文件:选择File——Save As 命令,打开“另存为”对话框,在“保存在”下拉列表框中选择存储目录(存储在刚才新建的文件夹SHUJU中),在“文件名”文本框中输入新文件名称。
(4)取代设定:选择File——Replace Setup 命令,单击出现的对话框的From file 下拉列表右侧的Browser按钮,选择d:\My Documents\Tanner EDA\Tanner Tools v13.0\L-Edit and LVS\SPR\Lights\Layout\lights.TDB 文件,再单击OK 按钮。
接着出现一个警告对话框,按确定按钮,就可将lights.TDB 文件的设定选择性应用在目前编辑的文件,包括格点设定、图层设定等。
(5)复制组件:选择Cell——Copy 命令,打开Select Cell to Copy 对话框,单击其中的Browser 按钮,在出现的对话框中选择inv.TDB,再在Select Cell to Copy 对话框中选择BASECONTACH 组件,如图所示,单击 OK 按钮,则可将BASECONTACH组件复制至SHU JU BI JIAO QI.TDB 文件中。
之后再以同样的方式将BASECONTACH、input、NMOS、PMOS、out 组件复制到SHUJU.TDB 文件中。
图12(6)引用组件:引用上述复制的组件BASECONTACH、BASECONTACP、input、NMOS、PMOS、out,选择Cell——Instance 命令,打开Select Cell to Instance 对话框,可以看到,在组件列表中有这6 个组件,选择BASECONTACN组件再单击OK 按钮,可以看到编辑画面出现一个BASECONTACN 组件。
(7)编辑以上引用组件成4选1数据选择器版图,对其进行设计规则检查(DRC 检查)直至无错误为止。
(8)提取设置:提取设置主要是对将要提取出的SPICE 文件进行一些设置,选择 Tools——Extract Setup 命令,在弹出的Setup Extract 对话框的General 中勾选Extract Standard Rule Set,然后单击像铅笔图样的图标。
点击铅笔图标后会弹出另外一个对话框,如下图所示。
图14在Setup Extract Standard Rule Set 对话框的General 选项Extract definition file 下选择文件lights.ext(d:\My Documents\Tanner EDA\Tanner Tools v13.0\L-Edit and LVS\SPR\Lights\Layout\lights.ext),其他不变。
在Output 选项中把SPICE include statement 下面的文字清除即可。
(9)提取SPICE 文件:选择 Tools——Extract 命令,即提取出了所画异或门版图的SPICE 文件。
(10)设置SPICE 文件并保存:打开spice文件,对SHUJU文件进行设置,包括加载包含文件、设定电源电压、设定输入信号、分析设定、输出设定。
设定好后需保存SPICE 文件。
(11)进行仿真并出波形,观看波形图,对照真值表,检查结果正确与否根据电路图并使用L-Edit设计出数据选择器的版图如下所示图3-1总体版图设计3.1.2版图验证设计好后进行版图DRC(设计规则)检查,没有错误,如下图所示图3-2 DRC检查图检查无误后设置生成SPICE仿真文件:图3-3 spice文件加载包含文件,如下图图3-4 加载文件图3.2版图仿真检查无误后设置生成SPICE仿真文件图3-5 模拟波形图通过比较二者最终的输出模拟波形可知:波形在形状上基本一致,只是在时间上有延迟的现象,但是时延较小。
四数据选择器版图LVS对比(1)打开LVS v13.0(1)打开LVS v13.0 程序。
打开文件。
用LVS 软件打开电路图和版图生成的网表文件。
在LVS 环境下,选择File——Open,打开“打开”对话框,在“文件类型”下拉列表中选择Spice Files。
11 程序。
打开文件。
用LVS 软件打开电路图和版图生成的网表文件。
在LVS 环境下,选择File ——Open,打开“打开”对话框,在“文件类型”下拉列表中选择Spice Files。
(2)(*.sp*,*.cir)选项,打开SHUJU.sp和cell0.SPC,如图所示图4-1打开LVS 新文件。
在LVS 环境下选择File——New 命令,出现“New File”对话框,在其中的列表。
(3)框中选择LVS Setup 选项,再单击“确定”按钮,如图所示。
图4-2(4)在Setup1 对话框中有很多项目需要设定,包括要对比的文件名称、对比结果的报告文件、要对比的项目等。
在Input选项组的Layout 文本框中输入自L-Edit 转化出的cell0.SPC文件,在Schematic 文本框中输入自S-Edit 输出的SHUJU.sp文件,在OUPUT 选项组中的Output files 文本框中输入对比结果的报告文件文件名,选中Node and element list复选框,并在其后的文本框中输入节点与组件对比结果的报告文件文件名,之后选中Overwrite existing outputfiles。
(5)元件参数设定。
图4-3(6)选择设定。
(7)执行设定。
如下图所示图4-4(8)存储文件。
设定完成后,存储LVS 的设定,选择File—Save 命令,存储为Setup1.VDB。
(9)执行对比。
设定完成后,开始进行NAND2.SPC 文件与NAND2.sp 文件的对比,选择Verification----Run 命令可进行对比LVS验证通过对电路图生成的sp文件及版图生成的spc文件LVS验证得出下图结果图4-5本设计课题到此结束,验证结果均正确。
五结论及体会随着现代计算机技术的发展,各方面的设计日渐趋于自动化的计算机设计。
Tanner Tools V13作为一个功能强大的可编程逻辑软件开发平台,它在电子线路设计自动化的作用不言而喻。
本次课题设计,让我对多路选择器的工作原理有了更深入的了解。
这次课题设计使用的是Tanner Tools V13编程软件,经过本次课题设计后,自己能够更加熟悉的使用Tanner Tools V13软件平台的各项功能的操作流程,并能使用该软件。
利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。
但也发现自己对一些基本原理很是缺乏了解,软件操作还是生疏,还要多加训练。