EDA复习题.docx

上传人:b****3 文档编号:3893391 上传时间:2022-11-26 格式:DOCX 页数:19 大小:192.41KB
下载 相关 举报
EDA复习题.docx_第1页
第1页 / 共19页
EDA复习题.docx_第2页
第2页 / 共19页
EDA复习题.docx_第3页
第3页 / 共19页
EDA复习题.docx_第4页
第4页 / 共19页
EDA复习题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

EDA复习题.docx

《EDA复习题.docx》由会员分享,可在线阅读,更多相关《EDA复习题.docx(19页珍藏版)》请在冰豆网上搜索。

EDA复习题.docx

EDA复习题

一、单选题

1.对FPGA器件特点描述正确的是:

(B)

A:

采用EEPROM工艺B:

采用SRAM工艺

C:

集成度比PAL和GAL低D:

断电后配置数据不丢失

2.CPLD和FPGA的不同特性(D)

A:

高密度B:

髙速度C:

在系统编程D:

加密

3.下面哪种VHDL库使用时不需声明(C)

(A)IEEE库(B)ASIC库(C)WORK库(D)ALTERA库

4.STD_LOGIC_1164程序包的正确声明方法是:

(C)

(A)USESTD_LOGIC_1164(B)USEIEEE.STD_LOGIC_1164

(C)USEIEEE.STD_LOGIC_1164.ALL(D)USE

5.类属说明的正确格式是:

(B)

(A)GENERIC(delay:

TIME=20us);(B)GENERIC(delay:

TIME:

=20us);

(C)GENERIC(delayTIME=20us);(D)GENERIC(delay=TIME:

=20us);

6.变量不能在VHDL程序中的哪个结构部分声明的是(A):

(A)结构体(B)进程(C)函数(D)过程

7.signala:

bit;signalb:

bit_vector(1downto0);下面正确的表达式是:

(C)

(A)b<=a(B)a<=b(C)a<=b(0)(D)a:

=b(0)

8.在VHDL的IEEE标准库中,预定义的标准逻辑位数据STD_LOGICE有(D)种逻辑值。

A2B3C8D9

9.VHDL语言程序结构中必不可少的部分是:

(D)

(A)库(B)程序包(C)配置(D)实体和结构体

10.能反馈输出信号至内部的端口模式是(C):

(A)IN(B)OUT(C)BUFFER(D)INOUT

11.VHDL语言优先级最高的运算符是(C):

(A)AND(B)OR(C)NOT(D)XOR

12.signala,b:

bit;signaly:

bit_vector(1downto0);下面正确的表达式是:

(D)

(A)y<=a(B)y<=b(C)y<=banda(D)y<=b&a

13.常量的正确格式是:

(B)

(A)CONSTANTVcc:

REAL=5.0;(B)CONSTANTVcc:

REAL:

=5.0;

(C)CONSTANTVccREAL=5.0;(D)CONSTANTVcc:

=5.0;

14.进程内不能定义(C):

A:

常量B:

变量C:

信号D:

子程序

15.在VHDL中,用语句(D)表示检测clock的下升沿。

Aclock’EVENTBclock’EVENTANDclock=’1’

Cclock=’1’Dclock’EVENTANDclock=’0’

16.VHDL程序设计结构体的基本功能是:

(C)。

A.声明结构体中将用到的数据类型、元件、常数、子程序等

B.定义本设计的输入/输出端口

C.说明本设计内部结构与外部端口间的逻辑关系

D.为本设计选定特定的结构体

17.在下列操作中,最高优先级的运算操作符是(C)。

A.ANDB.ORC.NOTD.*

18.进程中的变量赋值语句,其变量更新是(A)。

A.立即完成;B.按顺序完成;

C.在进程的最后完成;D.都不对。

19.在一个VHDL设计中idata是一个信号,数据类型为std_logic_vector,试指

出下面(D)赋值语句是错误的。

A.idata<=“00001111”B.idata<=B”0000_1111”

C.idata<=X”AB”D.idata<=B”21”

20.下述哪个语句可用于描述组合电路:

(C)。

A.case_is_whenB.if_then_elsif_then

C.when_elseD.if_then

21.在下列类型语句中不属顺序语句的是(C)。

A.赋值语句B.LOOP语句C.进程语句D.CASE语句

22.执行QuartusⅡ的(A)命令,可以在底层设计时创建元件的图形符号。

A.CreateDefaultSymbolB.Simulator

C.CompilerD.TimingAnalyzer

23.在VHDL语言中,用语句(B)表示检测到时钟clk的上升沿。

A.clk’eventB.rising_edge(clk)

C.clk=‘0’D.clk=’1’

24.在VHDL中为目标signal赋值符号为(B)。

A.=B.<=C.:

=D.=:

25.假设输入信号a=“6”,b=“E”,则以下程序执行后,c的值为(B)。

entitylogicis

port(a,b:

instd_logic_vector(3downto0);

c:

outstd_logic_vector(7downto0));

endlogic;

architectureaoflogicis

begin

c(0)<=a(0);

c(2downto1)<=a(2downto1)andb(2downto1);

c(3)<='1'xorb(3);

c(7downto4)<="1111"when(a

(2)=b

(2))else"0000";

enda;

A.“F8”B.“F6”C.“F7”D.“0F”

二、填空

1.ASIC的中文含义是:

___专用集成电路_____。

2.FPGA的一般采用__SRAM___工艺。

3.VHDL提供了四种端口模式:

IN、OUT、INOUT、BUFFER。

4.结构体的描述方式主要有:

行为描述、数据流描述和结构描述。

5.VHDL的数据对象有:

常量、变量、信号等三种。

6.位类型(BIT)的取值只有__0__和__1__。

7.SIGNALb:

BIT_VECTOR(6TO0),信号b被定义为__7_位位宽。

8.进程由敏感信号参数表、说明部分和顺序描述语句部分三部份构成。

9.选择信号赋值语句的每一子句后是__逗__号,最后一句是__分__号。

10.一个完整的VHDL程序包含:

库、程序包、实体、结构体、配置五个部分。

11.编译可以检查的错误有逻辑和语法。

12.QuratusII仿真主要分为功能、时序。

13.BLOCK内的语句是___并行___语句。

14FPGA的一般采用__SRAM___工艺。

15.对CPLD编程的目标文件扩展名为.pof,对FPGA配置的目标文件扩展名为.sof

16.设D0为'0',D1为'1',D2为'1',D3为'0',D3&D2&D1&D0的运算结果是“0110”;(D3orD2)and(D1andnotD0)的运算结果是:

‘1’。

17VHDL的数据对象分为 常数 、   变量 和   信号  3类。

18.VHDL的数据STD_LOGIC定义了9种数据,其中‘Z’表示   高阻态  ,取值‘X’表示不确定。

19.在VHDL的端口声明语句中,端口方向包括  IN   、   OUT  、   INOUT和  BUFFER   。

20.多个进程之间进行并行联系是通过   信号  来实现的。

21、VHDL的进程(process)语句是由     顺序      语句组成的,但其本身却是    并行         语句。

22.VHDL的两大基本描术语句是   顺序语句  和   并行语句  。

23.VHDL的子程序有两种类型,即   函数  和   过程  。

24.程序包的结构由   程序包首声明  和   程序包体  两部分组成。

25.Moore状态机输出只依赖于器件的当前状态,与输入信号无关。

三判断

1.实体(ENTITY)不是VHDL程序所必须的。

(×)

2.信号是个全局量,其赋值是立即生效的。

(×)

3.顺序语句按语句的先后顺序执行。

(√)

4.进程只有在其敏感信号发生变化时才被执行。

(×)

四、功能分析

1.填写程序中缺少的语句并分析下面的VHDL源程序,说明设计电路的功能。

;答案:

LIBRARYIEEE;

;答案:

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYLX3_1IS

PORT(s2,s1,s0:

INSTD_LOGIC

d3,d2,d1,d0:

INSTD_LOGIC;

d7,d6,d5,d4:

INSTD_LOGIC;

Y:

OUTSTD_ULOGIC);

ENDLX3_1;

ARCHITECTUREoneOFLX3_1IS

SIGNALS:

STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

s<=s2&s1&s0;

y<=d0WHENs=”000”ELSE

d1WHENs=”001”ELSE

d2WHENs=”010”ELSE

d3WHENs=”011”ELSE

d4WHENs=”100”ELSE

d5WHENs=”101”ELSE

d6WHENs=”110”ELSE

d7;

ENDone;

结果:

答案:

8选1数据分配器

2.分析下面的VHDL源程序,说明设计电路的功能.

ENTITYLX3_2IS

PORT(A:

INBIT_VECTOR(3DOWNTO0);

B:

BIT_VECTOR(3DOWNTO0);

GT,LT,EQ:

OUTBIT);

ENDLX3_2;

ARCHITECTUREoneOFIS;(1分)答案:

LX3_2

BEGIN

PORCESS()(2分)答案:

a,b

BEGIN

GT<=’0’;

LT<=’0’;

EQ<=’0’;

IFa>bTHENGT<=’1’;

ELSIFa

ELSEEQ<=’1’;

ENDIF;

ENDPROCESS;

ENDone;

1.结果:

答案:

4位数据比较器

五、阅读下列VHDL程序,画出原理图(RTL级):

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYthreeIS

PORT

clk,d:

INSTD_LOGIC;

dout,e:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFthreeIS

SIGNALtmp:

STD_LOGIC;

BEGIN

P1:

PROCESS(clk)

BEGIN

IFrising_edge(clk)THEN

Tmp<=d;

dout<=nottmp;

ENDIF;

ENDPROCESSP1;

e<=tmpxord;

ENDbhv;

答案:

2.阅读下列VHDL程序,画出相应RTL图(10分)

libraryieee;

useieee.std_logic_1164.all;

entitylfsris

port(clk,clr,d:

instd_logic;

mout:

outstd_logic);

endlfsr;

architecturertloflfsris

signalsreg:

std_logic;

begin

process(clk,clr)

variables:

std_logic;

begin

ifclr='1'thens:

=’0’;

elsifrising_edge(clk)then

s:

=sregxor(notd);

endif;

sreg<=s;

endprocess;

mout<=sreg;

endrtl;

(三)阅读程序绘制RTL图

程序清单如下:

ENTITYx_or2IS--顶层实体

PORT(in1,in2:

INBIT;

out1:

OUTBIT);

ENDx_or2;

ENTITYnot_1IS

PORT(a:

INBIT;

b:

OUTBIT);

ENDnot_1;

architectureoneofnot_1is

begin

process(a)

begin

b<=NOTaafter5ns;--延时信号赋值

endprocess;

endone;

ENTITYand_2IS

PORT(c,d:

INBIT;

e:

OUTBIT);

ENDand_2;

ARCHITECTUREtwoOFand_2IS

BEGIN

PROCESS(c,d)

BEGIN

e<=cANDdAFTER10ns;

endPROCESS;

ENDtwo;

entityor_2is

port(f,g:

inBIT;

h:

outBIT);

endor_2;

architecturethreeofor_2is

begin

process(f,g)

begin

h<=forgafter4ns;

endprocess;

endthree;

architecturetop_x_or2ofx_or2is--顶层实体的结构体

signalt1,t2,t3,t4:

bit;--信号说明

componentnot_1--本地元件引用说明

port(a:

inbit;b:

outbit);

endcomponent;

componentand_2

port(c,d:

inbit;e:

outbit);

endcomponent;

componentor_2

port(f,g:

inbit;h:

outbit);

endcomponent;

begin

u0:

not_1portmap(in1,t1);--元件例化语句

u1:

not_1portmap(a=>in2,b=>t2);

u2:

and_2portmap(t1,in2,t3);

u3:

and_2portmap(c=>in1,d=>t2,e=>t4);

u4:

or_2portmap(f=>t3,g=>t4,h=>out1);

endtop_x_or2;

答案:

六、VHDL程序填空:

下面程序是一个16位数控分频器的VHDL描述,试补充完整

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USE___IEEE.STD_LOGIC_UNSIGNED.ALL____________;

ENTITYPULSE16IS

PORT(CLK:

INSTD_LOGIC;

LOAD:

INSTD_LOGIC;

D:

IN___STD_LOGIC_VECTOR(15DOWNTO0);

FOUT:

OUTSTD_LOGIC);

END;

_ARCHITECTURE__oneOFPULSE16IS

SIGNALFULL:

STD_LOGIC;

BEGIN

P_REG:

PROCESS(CLK)

Variable__CNT16:

STD_LOGIC_VECTOR(15DOWNTO0);

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IF___load=’1’____THEN--LOAD高电平置数

CNT16:

=D;FULL<='0';

ELSE

IFCNT16="1111111111111111"THEN

CNT16:

=D;

FULL<='1';

ELSE

CNT16:

=cnt16+’1’_;--计数加1

FULL<='0';

ENDIF;

ENDIF;

ENDIF__;

ENDPROCESSP_REG;

P_DIV:

PROCESS(__FULL_)--溢出信号为敏感信号

VARIABLECNT2:

STD_LOGIC;

BEGIN

IF___FULL’eventandfull=’1’THEN--FULL上升沿判断

CNT2:

=NOTCNT2;

FOUT<=CNT2;

ENDIF;

ENDPROCESSP_DIV;

END;

七、VHDL程序改错:

仔细阅读下列程序,回答问题

(一)阅读下列程序改错

LIBRARYIEEE;--1

USEIEEE.STD_LOGIC_1164.ALL;--2

ENTITYLED7SEGIS--3

PORT(A:

INSTD_LOGIC_VECTOR(3DOWNTO0);--4

CLK:

INSTD_LOGIC;--5

LED7S:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));--6

ENDLED7SEG;--7

ARCHITECTUREoneOFLED7SEGIS--8

SIGNALTMP:

STD_LOGIC;--9

BEGIN--10

SYNC:

PROCESS(CLK,A)--11

BEGIN--12

IFCLK'EVENTANDCLK='1'THEN--13

TMP<=A;--14

ENDIF;--15

ENDPROCESS;--16

OUTLED:

PROCESS(TMP)--17

BEGIN--18

CASETMPIS--19

WHEN"0000"=>LED7S<="0111111";--20

WHEN"0001"=>LED7S<="0000110";--21

WHEN"0010"=>LED7S<="1011011";--22

WHEN"0011"=>LED7S<="1001111";--23

WHEN"0100"=>LED7S<="1100110";--24

WHEN"0101"=>LED7S<="1101101";--25

WHEN"0110"=>LED7S<="1111101";--26

WHEN"0111"=>LED7S<="0000111";--27

WHEN"1000"=>LED7S<="1111111";--28

WHEN"1001"=>LED7S<="1101111";--29

ENDCASE;--30

ENDPROCESS;--31

ENDone;

1.在程序中存在两处错误,试指出,并说明理由:

在QuartusII中编译时,提示的错误为:

Error:

Line14:

Filef:

\upload\eda\maxplusii\my_proj\s8_5\led7seg.vhd:

Typeerror:

typeinwaveformelementmustbe"std_ulogic"

Error:

Line19:

Filef:

\upload\eda\maxplusii\my_proj\s8_5\led7seg.vhd:

VHDLsyntaxerror:

expectedchoicesincasestatement

参考答案:

第14行的错误是:

数据类型不一致

第19行的错误是:

29行与30行之间缺少一句剩余情况的处理语句

2.修改相应行的程序(如果是缺少语句请指出大致的行数):

错误1行号:

9程序改为:

SIGNALTMP:

STD_LOGIC_VECTOR(3DOWNTO0)

错误2行号:

29后程序改为:

29行与30行之间添加others=>null

(二)阅读下列程序改错

LIBRARYIEEE;--1

USEIEEE.STD_LOGIC_1164.ALL;--2

ENTITYMOORIS--3

PORT(DATAIN:

INSTD_LOGIC_VECTOR(1DOWNTO0);--4

CLK,RST:

INSTD_LOGIC;--5

Q:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));--6

ENDMOOR;--7

ARCHITECTUREBEHAVOFMOORIS--8

SIGNALST_TYPEIS(ST0,ST1,ST2);--9

SIGNALC_ST:

ST_TYPE;--10

BEGIN--11

PROCESS(CLK,RST)--12

BEGIN--13

IFRST='1'

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

当前位置:首页 > 工程科技 > 能源化工

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

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