VHDL复习题文档格式.docx

上传人:b****6 文档编号:18860506 上传时间:2023-01-01 格式:DOCX 页数:14 大小:21.45KB
下载 相关 举报
VHDL复习题文档格式.docx_第1页
第1页 / 共14页
VHDL复习题文档格式.docx_第2页
第2页 / 共14页
VHDL复习题文档格式.docx_第3页
第3页 / 共14页
VHDL复习题文档格式.docx_第4页
第4页 / 共14页
VHDL复习题文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

VHDL复习题文档格式.docx

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

VHDL复习题文档格式.docx

A.弱信号1B.弱信号0

C.没有这个定义D.初始值

(B)14.使用STD_LOGIG_1164中的数据类型时:

A.可以直接调用B.必须在库和包集合中声明

C.必须在实体中声明D.必须在结构体中声明

(B)15.关于转化函数说法正确的是:

A.任何数据类型都可以通过转化函数相互转化

B.只有特定类型的数据类型可以转化

C.任何数据类型都不能转化

D.前面说法都是错误的

(C)16.VHDL运算符优先级说法正确的是:

A.逻辑运算的优先级最高B.关系运算的优先级最高

C.逻辑运算的优先级最低D.关系运算的优先级最低

(D)17.VHDL运算符优先级说法正确的是:

A.NOT的优先级最高B.AND和NOT属于同一个优先级

C.NOT的优先级最低D.前面的说法都是错误的

(D)18.VHDL运算符优先级说法正确的是:

A.括号不能改变优先级B.不能使用括号

C.括号的优先级最低D.括号可以改变优先级

(B)19.如果a=1,b=0,则逻辑表达式(aANDb)OR(NOTbANDa)的值是:

A.0B.1

C.2D.不确定

(B)20.正确给变量X赋值的语句是:

A.X<

=A+B;

B.X:

=A+b;

C.X=A+B;

D.前面的都不正确

()21.VHDL文本编辑中编译时出现如下的报错信息,其错误原因是:

Error:

VHDLsyntaxerror:

choicevaluelengthmustmatchselectorexpressionvaluelength

A.表达式宽度不匹配

B.错将设计文件存入了根目录,并将其设定成工程

C.设计文件的文件名与实体名不一致

D.程序中缺少关键词

(D)22.在VHDL语言中,下列对时钟边沿检测描述中,错误的是:

A.ifclk’eventandclk=‘1’thenB.iffalling_edge(clk)then

C.ifclk’eventandclk=‘0’thenD.ifclk’stableandnotclk=‘1’then

(D)23.在VHDL中,可以用以下哪条语句表示检测clock下降沿:

A.clock’eventB.clock’eventandclock=’1’(上升沿)

C.clock=’0’D.clock’eventandclock=’0’

(D)24.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库:

A.IEEE库B.VITAL库

C.STD库D.WORK工作库

(A)25.VHDL常用的库是:

A.IEEE 

B.STD

C.WORK 

D.PACKAGE

(B)26.下列语句中,不属于并行语句的是:

A.进程语句B.CASE语句

C.元件例化语句D.WHEN…ELSE…语句

(D)27.下面哪一个可以用作VHDL中的合法的实体名:

A.ORB.VARIABLE

C.SIGNALD.OUT1

(B)28.下列关于CASE语句的说法不正确的是:

A.条件句中的选择值或标识符所代表的值必须在表达式的取值范围内

B.CASE语句中必须要有WHENOTHERS=>

NULL

C.CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现

D.CASE语句执行必须选中,且只能选中所列条件语句中的一条

(D)29.VHDL中,为目标变量赋值符号是:

A.=:

B.=

C.<

=D.:

(B)30.VHDL语言是一种结构化设计语言,一个设计实体(电路模块)包括实体与结构体两部分,结构体描述:

A.器件外部特性B.器件的内部功能

C.器件的综合约束D.器件外部特性与内部功能。

(A)31.大规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过___A__实现其逻辑功能:

A.可编程乘积项逻辑B.查找表(LUT)

C.输入缓冲D.输出缓冲

(C)32.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是:

A.FPGA是基于乘积项结构的可编程逻辑器件

B. 

FPGA是全称为复杂可编程逻辑器件

C. 

基于SRAM的FPGA器件,在每次上电后必须进行一次配置

D. 

在Altera公司生产的器件中,MAX7000系列属FPGA结构

(D)33.大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是:

A.CPLD是基于查找表结构的可编程逻辑器件;

B.CPLD即是现场可编程逻辑器件的英文简称;

C.早期的CPLD是从GAL的结构扩展而来;

D.在Xilinx公司生产的器件中,XC9500系列属CPLD结构;

(D)34.下列标识符中,哪个是不合法的标识符:

A.State0 

 

B.9moon

C.Not_Ack_0 

D.signal

(D)35.下列4个VHDL标识符中正确的是:

A.10#128#B.16#E#E1

C.74HC124D.X_16

(D)36.基于VHDL设计的仿真包括有①门级时序仿真、②行为仿真、③功能仿真和④前端功能仿真这四种,按照自顶向下的设计流程,其先后顺序应该是:

A.①②③④B.②①④③

C.④③②①D.②④③①

(B)37.基于EDA软件的FPGA/CPLD设计流程为:

原理图/HDL文本输入→_____→综合→适配→_____→编程下载→硬件测试:

①功能仿真②时序仿真③逻辑综合④配置⑤引脚锁定

A.③①B.①②

C.④⑤D.④②

()38.关于VHDL中的数字,请找出以下数字中最大的一个:

A.2#1111_1110#B.8#276#

C.10#170#D.16#E#E1

(B)39.下列语句中,不属于并行语句的是:

C.元件例化语句D.WHEN…ELSE…语句

(D)40.在VHDL语言中,下列对进程语句的结构及语法规则描述中,不正确的是:

A.PROCESS为一无限循环语句

B.敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动

C.当前进程中声明的变量不可用于其他进程

D.进程由说明语句部分、并行语句部分和敏感信号参数表三部分组成

(C)41.进程中的信号赋值语句,其信号更新是:

A.按顺序完成B.比变量更快完成

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

二、名词解释题

写出下列缩写的中文(或者英文)含义

FPGA

VHDL

HDL

CPLD

PLD

GAL

LAB

CLB

LUT

EDA

RTL

ASIC

三、简答题

1.简述信号与变量的区别

2.描述VHDL语言程序的基本结构,并简述各部分的功能

3.描述可编程逻辑器件的类型,并简要描述其特点

4.比较FPGA与CPLD的异同

5.简述变量、信号和端口的区别

6.简述FPGA的系统结构

7.简述CPLD的系统结构

四、程序填空题

1.以下程序是十进制计数器的VHDL描述,试补充完整。

LIBRARYIEEE;

USEIEEE..ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDCNT10;

ARCHITECTUREbhvOFIS

SIGNALQ1:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CLK)

IFTHEN--边沿检测

IFQ1>

10THEN

Q1<

=(OTHERS=>

'

0'

);

--置零

ELSE

=Q1+1;

--加1

ENDIF;

ENDIF;

ENDPROCESS;

;

--输出

ENDbhv;

2.以下程序是BCD码表示0~99计数器的VHDL描述,试补充完整。

USEIEEE.STD_LOGIC_1164.ALL;

USE;

ENTITYcnt100bis

port(clk,rst,en:

instd_logic;

cq:

outstd_logic_vector(7downto0);

--计数输出

cout:

outstd_logic);

--进位输出

ENDENTITYcnt100b;

bhvofcnt100bis

PROCESS(clk,rst,en)

cqi:

std_logic_vector(7downto0);

BEGIN

ifrst='

1'

then

cqi:

=;

--计数器清零

else

ifthen--上升沿判断

ifen='

ifcqi(3downto0)<

"

1001"

then--比较低4位

;

--计数加1

else

ifcqi(7downto4)<

then--比较高4位

cqi:

=cqi+16;

else

=(others=>

endif;

cqi():

=“0000”;

--低4位清零

endif;

endif;

;

endif;

ifcqi=“”then--判断进位输出

cout<

='

;

;

ENDPROCESS;

ENDARCHITECTUREbhv;

3.以下程序是多路选择器的VHDL描述,试补充完整。

ENTITYbmuxIS

PORT(sel:

STD_LOGIC;

A,B:

INSTD_LOGIC_VECTOR(7DOWNTO0);

Y:

STD_LOGIC_VECTOR(7DOWNTO0));

ENDbmux;

ARCHITECTUREbhvOFbmuxIS

y<

=Awhensel='

END;

4.以下程序是10/4线优先编码器的VHDL描述,试补充完整。

LIBRARYIEEE;

ENTITYcoderIS

PORT(din:

INSTD_LOGIC_VECTOR();

output:

STD_LOGIC_VECTOR(3DOWNTO0));

ENDcoder;

ARCHITECTUREbehavOFIS

SIGNALSIN:

PROCESS()

BEGIN

IF(din(9)='

)THENSIN<

="

;

ELSIF()THENSIN<

1000"

ELSIF(din(7)='

0111"

ELSIF(din(6)='

0110"

ELSIF(din(5)='

0101"

ELSIF(din(4)='

0100"

ELSIF(din(3)='

0011"

ELSIF(din

(2)='

0010"

ELSIF(din

(1)='

0001"

ELSE;

ENDPROCESS;

ENDbehav;

五、程序分析题

1.以下程序是四选一数据选择器的VHDL描述,请分析程序并画出原理图或详述其功能

ENTITYmulti_4vIS

PORT(S 

:

IN 

STD_LOGIC_VECTOR(1DOWNTO0);

A,B,C,D 

STD_LOGIC;

OUT 

STD_LOGIC);

ENDmulti_4v;

ARCHITECTUREaOFmulti_4vIS

PROCESS

IF(S="

00"

)THEN

Y<

=A;

ELSIF(S="

01"

=B;

ELSIF(S="

10"

=C;

11"

=D;

ENDIF;

ENDa;

2.下面是同步清零可逆计数器的程序,请分析程序并画出原理图或详述其功能

ENTITYcountudIS

PORT(clk 

INSTD_LOGIC;

clr 

dire:

q:

BUFFERSTD_LOGIC_VECTOR(7DOWNTO0));

ENDcountud;

ARCHITECTUREaOFcountudIS

PROCESS(clk)

IFclk'

eventANDclk='

THEN

IFclr='

q<

="

00000000"

ELSIFdire='

THEN 

q<

=q+1;

ELSE

q<

=q-1;

ENDIF;

ENDa;

3.以下程序是上升沿计数器的VHDL描述,请分析程序并画出原理图或详述其功能

ENTITYthreeIS

PORT(clk,d:

INSTD_LOGIC;

Dout:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFthreeIS

SIGNALtmp:

P1:

IFrising_edge(clk)THEN

Tmp<

=d;

dout<

=tmp;

ENDPROCESSP1;

六、程序阅读理解题

1.以下程序能实现加和减功能的计数器,请在划线空白处注释该句的功能

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entityup_downis

Port(clk,rst,en,up:

Sum:

outstd_logic_vector(2downto0);

Cout:

Endup_down;

Architectureaofup_downis

Signalcount:

std_logic_vector(2downto0);

Begin

Process(clk,rst)

Ifrst=’0’then

Count<

=(others=>

’0’);

Elsifrising_edge(clk)then

Ifen=’1’then

Caseupis

When‘1’=>

count<

=count+1;

Whenothers=>

count<

=count-1;

Endcase;

Endif;

Endif;

Endprocess;

Sum<

=count;

Cout<

=’1’whenen=’1’and((up=’1’andcount=7)or(up=’0’andcount=0))else‘0’;

Enda;

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

--1

--2

ENTITYLED7SEGIS--3

PORT(A:

INSTD_LOGIC_VECTOR(3DOWNTO0);

--4

CLK:

--5

LED7S:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

--6

ENDLED7SEG;

--7

ARCHITECTUREoneOFLED7SEGIS--8

SIGNALTMP:

--9

BEGIN--10

SYNC:

PROCESS(CLK,A)--11

BEGIN--12

IFCLK'

EVENTANDCLK='

THEN--13

TMP<

--14

--15

--16

OUTLED:

PROCESS(TMP)--17

BEGIN--18

CASETMPIS--19

WHEN"

0000"

=>

LED7S<

0111111"

--20

0000110"

--21

1011011"

--22

1001111"

--23

1100110"

--24

1101101"

--25

1111101"

--26

=

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

当前位置:首页 > 自然科学

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

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