EDA程序设计试题及答案.docx

上传人:b****2 文档编号:1814867 上传时间:2022-10-24 格式:DOCX 页数:35 大小:54.01KB
下载 相关 举报
EDA程序设计试题及答案.docx_第1页
第1页 / 共35页
EDA程序设计试题及答案.docx_第2页
第2页 / 共35页
EDA程序设计试题及答案.docx_第3页
第3页 / 共35页
EDA程序设计试题及答案.docx_第4页
第4页 / 共35页
EDA程序设计试题及答案.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

EDA程序设计试题及答案.docx

《EDA程序设计试题及答案.docx》由会员分享,可在线阅读,更多相关《EDA程序设计试题及答案.docx(35页珍藏版)》请在冰豆网上搜索。

EDA程序设计试题及答案.docx

EDA程序设计试题及答案

1.请画出下段程序的真值表,并说明该电路的功能。

LIBRARYieee;

USEieee.std_logic_1164.all;

ENTITYaaaIS

PORT(oe,dir:

INSTD_LOGIC;

a,b:

INOUTSTD_LOGIC_VECTOR(7DOWNTO0);

ENDaaa;

ARCHITECTUREarOFaaaIS

BEGIN

PROCESS(oe,dir)输入输出

BEGINa1a0x3x2x1x0

IFoe=’0’THENa<=”zzzzzzzz”;b<=”zzzzzzzz”;000001

ELSIFoe=’1’THEN010010

IFdir=’0’THENb<=a;100100

ELSIFdir=’1’THENa<=b;111000

ENDIF;

ENDIF;

ENDPROCESS;

ENDar;

功能为:

2-4译码器…………………………………………..4分

2.请说明下段程序的功能,写出真值表,并画出输入输出波形。

LIBRARYieee;

USEieee.std_logic_1164.all;

USEieee.std_logic_arith.all;

USEieee.std_logic_unsigned.all;

ENTITYaaaIS

PORT(reset,clk:

INSTD_LOGIC;

q:

BUFFERSTD_LOGIC_VECTOR(2DOWNTO0)

);

ENDaaa;

ARCHITECTUREbdOFaaaIS

BEGIN

PROCESS(clk,reset)

BEGIN

IF(reset='0')THENq<="000";

ELSIF(clk'eventANDclk='1')THEN

IF(q=5)THENq<="000";

ELSEq<=q+1;

ENDIF;

ENDIF;

ENDPROCESS;

ENDbd;

功能为:

带进位借位的4位加/减法器。

…………………………………..3分

输入输出波形图如下:

………………………………………………………7分

m

a[3..0]

b[3..0]

c[3..0]

d

1.试用VHDL语言编程实现74LS273芯片的功能。

LIBRARYieee;

USEieee.std_logic_1164.ALL;2’

ENTITYls273IS1’

PORT(

clr,clk:

INstd_logic;

d:

INstd_logic_vector(7DOWNTO0);

q:

OUTstd_logic_vector(7DOWNTO0);4’

);

ENDls273;

ARCHITECTURElock8OFls273IS1’

BEGIN

PROCESS(clk)1’

BEGIN

IF(CLR=’0’)THENq<=”00000000”;2’

ELSEIF(clk’eventANDclk=’1’)THENq<=d;3’

ELSEIF(clk=’0’)THENq<=q;1’

ENDIF;

ENDPROCESS;

ENDlock8;

3.请用VHDL语言编程实现一个状态向量发生器。

LIBRARYieee;

USEieee.std_logic_1164.ALL;2’

ENTITYstasIS1’

PORT(

cp,rst:

INstd_logic;

p:

BUFFERstd_logic_vector(7DOWNTO0);2’

);

ENDstas;

ARCHITECTUREarstasOFstasIS1’

BEGIN

PROCESS(cp)1’

BEGIN

IF(rst=”0”)THENp<=”00000000”;1’

ELSEIF(cp’eventANDcp=’1’)1’

WITHpSELECT

p<=”10101010”WHEN“00000000”;

”01010101”WHEN“10101010”;

”00001111”WHEN“01010101”;

”11110000”WHEN“00001111”;

”11111111”WHEN“11110000”;

”00000000”WHEN“11111111”;

”00000000”WHENOTHERS;6’

ENDIF

ENDPROCESS;

ENDarstas;

1.阅读下段程序,画出该电路的真值表,并详细说明该电路的功能。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYab_8IS

PORT(a,b:

INSTD_LOGIC_VECTOR(7DOWNTO0);

ahb,alb,aeb:

OUTSTD_LOGIC);

ENDab_8;

ARCHITECTUREbdOFab_8IS

BEGIN

PROCESS(a,b)

BEGIN

IFa>bTHENahb<=’1’;alb<=’0’;aeb<=’0’;

ELSIFa

ELSEahb<=’0’;alb<=’0’;aeb<=’1’;

ENDIF;

ENDPROCESS;

ENDbd;

1.

(1)真值表如下:

(5’)

输入

输出

a、b

ahb

alb

aeb

a>b

1

0

0

a

0

1

0

a=b

0

0

1

(2)该电路是一个8位两输入比较器,(2’)

a、b是两个8位输入端;(1’)

ahb、alb和aeb为比较结果输出端,某种比较结果为真时,相应的输出端为“1”,其余端输出为“0”。

(2’)

1.试用VHDL语言编程实现一个2-4译码器,其真表如下:

输入端

输出端

en

select

y

0

XX

“1111”

1

00

“1110”

1

01

“1101”

1

10

“1011”

1

11

“0111”

2-4译码器码参考程序如下:

(答案不唯一,用case语句、with…select语句都可以。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;(1’)

ENTITYym24IS

PORT(en:

INSTD_LOGIC;

select:

OUTSTD_LOGIC_VECTOR(1DOWNTO0);

y:

OUTSTD_LOGIC_VECTOR(3DOWNTO0)(3’)

);

ENDym24;

ARCHITECTUREbdOFym24IS

BEGIN

PROCESS(en)(1’)

IF(en=’1’)THEN

y<=”1110”WHENselect=”00”ELSE

”1101”WHENselect=”01”ELSE

”1011”WHENselect=”10”ELSE

”0111”WHENselect=”11”ELSE(4’)

”1111”;

ELSEy<=”1111”;

ENDPROCESS;

ENDbd;

2.试用VHDL语言设计一个六路8位总线复用器,其中A、B、C、D、E、F都是8位输入总线,Q为8位输出总线,S为3位选择端,其功能如下:

输入端

输出端

S2

S1

S0

Q7~Q0

0

0

0

Q=A

0

0

1

Q=B

0

1

0

Q=C

0

1

1

Q=D

1

0

0

Q=E

1

0

1

Q=F

其它

B=“00000000”

六路8位总线复用器参考程序:

(答案不唯一)

LIBRARYieee;

USEieee.std_logic_1164.ALL;

ENTITYmux6IS(1’)

PORT(S:

INstd_logic_vector(2DOWNTO0);

A,B,C,D,E,F:

INstd_logic_vector(7DOWNTO0);

Q:

OUTstd_logic_vector(7DOWNTO0)

);(3’)

ENDmux6;

ARCHITECTUREbdOFmux6IS

BEGIN

PROCESS(S)

BEGIN(1’)

CASESIS

WHEN"000"=>Q<=A;

WHEN"001"=>Q<=B;

WHEN"010"=>Q<=C;

WHEN"011"=>Q<=D;

WHEN"100"=>Q<=E;

WHEN"101"=>Q<=F;

WHENOTHERS=>Q<="00000000";(4’)

ENDCASE;

ENDPROCESS;

ENDbd;

2、已知三选一电路如图,判断下列程序是否有错误,如有则指出错误所在,并给出完整程序。

(10分)

libraryieee;

useieee.std_logic_1164.all;

ENTITYMAXis

port(a1,a2,a3,s0,s1:

inbit;

outy:

outbit);

endmax;(2’)

architectureoneofmaxis

componentmux21a

port(a,b,s:

instd_logic;

y:

outstd_logic);

endcomponent;(2’)

signaltempstd_logic;(2’)

begin

u1:

mux21aportmap(a2,a3,s0,temp);(2’)

u2:

mux21aportmap(a1,temp,s1,outy);(2’)

endone;

1.已知电路原理图如下,请用VHDL语言编写其程序

答:

libraryieee;

useieee.std_logic_1164.all;

entitymux21is

port(a,

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1