EDA四选一选择器设计.doc

上传人:wj 文档编号:7436598 上传时间:2023-05-11 格式:DOC 页数:5 大小:461.50KB
下载 相关 举报
EDA四选一选择器设计.doc_第1页
第1页 / 共5页
EDA四选一选择器设计.doc_第2页
第2页 / 共5页
EDA四选一选择器设计.doc_第3页
第3页 / 共5页
EDA四选一选择器设计.doc_第4页
第4页 / 共5页
EDA四选一选择器设计.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA四选一选择器设计.doc

《EDA四选一选择器设计.doc》由会员分享,可在线阅读,更多相关《EDA四选一选择器设计.doc(5页珍藏版)》请在冰点文库上搜索。

EDA四选一选择器设计.doc

4选1数据选择器

1·设计背景和设计方案

1·1设计背景

该设计是以数字电子技术为基础,实现数据从四位数据中按照输入的信号选中一个数,来实现所期望的逻辑功能。

1·2设计方案

用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证四选一数据选择器设计的正确性。

使用逻辑门电路与、或、非的组合来表达4选1数据选择器,通过控制输入的信号来控制输出的信号值。

其逻辑电路图如下:

其示意框图如下:

其中输入数据端口为D0、D1、D2、D3,A、A’为控制信号,Y为输出。

令AA’=“00”时,输出Y=D0;

令AA’=“01”时,输出Y=D1;

令AA’=“10”时,输出Y=D2;

令AA’=“11’时,输出Y=D3;

4选1

数据选择器

D0

输入D1Y

数据D2

D3

AA′

真值表如下:

输入

输出

DA1A0

Y

D000

D0

D101

D1

D210

D2

D311

D3

2·方案实施

1)程序1

2·1·1

设计思路

四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号Z的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR(1DOWNTO0).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。

当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给z,进而输出z的值,输入信号为“11”是,将a的值给z,进而输出z的值。

若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。

这样即可实现四选一数据选择的功能。

2·1·2

程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYmux41is

PORT(a,b,c,d:

INSTD_LOGIC;

s:

INSTD_LOGIC_VECTOR(1DOWNTO0);

z:

OUTSTD_LOGIC);

ENDmux41;

ARCHITECTUREoneOFmux41IS

BEGIN

PROCESS(s,a,b,c,d)

BEGIN

CASEsIS

WHEN"00"=>z<=a;

WHEN"01"=>z<=b;

WHEN"10"=>z<=c;

WHEN"11"=>z<=d;

WHENOTHERS=>z<=null;

ENDCASE;

ENDPROCESS;

ENDone;

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程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYmux41IS

PORT(i0,i1,i2,i3,a,b:

INSTD_LOGIC;

q:

OUTSTD_LOGIC);

ENSmux4;

ARCHITECTUREb_mux4OFmux4IS

BEGIN

Process(i0,i1,i2,i3,a,b)

Variablemuxval:

integerrang7downto0;

Begin

muxval:

=0;

if(a='1')thenmuxval:

muxval+1;endif;

if(b='1')thenmuxval:

muxval+2;endif;

casemuxvalis

when0=>q<=i0;

when1=>q<=i1;

when2=>q<=i2;

when3=>q<=i3;

Whenothers=>null;

endcase;

endprocess;

ENDb_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·结果和结论

经过对以上程序的运行和编译,可得出以下仿真图结论和所设计一致。

4·参考文献

[1]余孟尝主编《数字电子技术基础简明教程》,1998-12。

[2]潘松黄继业编著《EDA技术使用个教程》,2006-9。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2