VHDL复习题.docx

上传人:b****6 文档编号:13593118 上传时间:2023-06-15 格式:DOCX 页数:17 大小:21.43KB
下载 相关 举报
VHDL复习题.docx_第1页
第1页 / 共17页
VHDL复习题.docx_第2页
第2页 / 共17页
VHDL复习题.docx_第3页
第3页 / 共17页
VHDL复习题.docx_第4页
第4页 / 共17页
VHDL复习题.docx_第5页
第5页 / 共17页
VHDL复习题.docx_第6页
第6页 / 共17页
VHDL复习题.docx_第7页
第7页 / 共17页
VHDL复习题.docx_第8页
第8页 / 共17页
VHDL复习题.docx_第9页
第9页 / 共17页
VHDL复习题.docx_第10页
第10页 / 共17页
VHDL复习题.docx_第11页
第11页 / 共17页
VHDL复习题.docx_第12页
第12页 / 共17页
VHDL复习题.docx_第13页
第13页 / 共17页
VHDL复习题.docx_第14页
第14页 / 共17页
VHDL复习题.docx_第15页
第15页 / 共17页
VHDL复习题.docx_第16页
第16页 / 共17页
VHDL复习题.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VHDL复习题.docx

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

VHDL复习题.docx

VHDL复习题

 

一、选择题

(A)1.一个项目的输入输出端口是定义在:

A.实体中B.结构体中

C.任何位置D.进程体

(B)2.描述项目具有逻辑功能的是:

A.实体B.结构体

C.配置D.进程

(A)3.关键字ARCHITECTURE定义的是:

A.结构体B.进程

C.实体D.配置

(D)4.VHDL语言中变量定义的位置是:

A.实体中中任何位置B.实体中特定位置

C.结构体中任何位置D.结构体中特定位置

(D)5.VHDL语言中信号定义的位置是:

A.实体中任何位置B.实体中特定位置

C.结构体中任何位置D.结构体中特定位置

(B)6.变量是局部量可以写在:

A.实体中B.进程中

C.线粒体D.种子体中

(A)7.变量和信号的描述正确的是:

A.变量赋值号是:

=B.信号赋值号是:

=

C.变量赋值号是<=D.二者没有区别

(B)8.变量和信号的描述正确的是:

A.变量可以带出进程B.信号可以带出进程

C.信号不能带出进程D.二者没有区别

()9.对于信号和变量的说法,哪一个是不正确的:

A.信号用于作为进程中局部数据存储单元

B.变量的赋值是立即完成的

C.信号在整个结构体内的任何地方都能适用

D.变量和信号的赋值符号不一样

(A)10.下列关于变量的说法正确的是:

A.变量是一个局部量,它只能在进程和子程序中使用

B.B.变量的赋值不是立即发生的,它需要有一个δ延时

C.在进程的敏感信号表中,既可以使用信号,也可以使用变量

D.变量赋值的一般表达式为:

目标变量名<=表达式

(C)11.可以不必声明而直接引用的数据类型是:

A.STD_LOGICB.STD_LOGIC_VECTOR

C.BITD.前面三个答案都是错误的

(C)12.STD_LOGIG_1164中定义高阻的字符是:

A.XB.x

C.zD.Z

(A)13.STD_LOGIG_1164中字符H定义的是:

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.下列语句中,不属于并行语句的是:

A.进程语句B.CASE语句

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<=Q1+1;--加1

ENDIF;

ENDIF;

ENDPROCESS;

;--输出

ENDbhv;

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USE;

ENTITYcnt100bis

port(clk,rst,en:

instd_logic;

cq:

outstd_logic_vector(7downto0);--计数输出

cout:

outstd_logic);--进位输出

ENDENTITYcnt100b;

bhvofcnt100bis

BEGIN

PROCESS(clk,rst,en)

cqi:

std_logic_vector(7downto0);

BEGIN

ifrst='1'then

cqi:

=;--计数器清零

else

ifthen--上升沿判断

ifen='1'then

ifcqi(3downto0)<"1001"then--比较低4位

;--计数加1

else

ifcqi(7downto4)<"1001"then--比较高4位

cqi:

=cqi+16;

else

cqi:

=(others=>'0');

endif;

cqi():

=“0000”;--低4位清零

endif;

endif;

;

endif;

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

cout<='1';

else

cout<='0';

endif;

;

ENDPROCESS;

ENDARCHITECTUREbhv;

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYbmuxIS

PORT(sel:

STD_LOGIC;

A,B:

INSTD_LOGIC_VECTOR(7DOWNTO0);

Y:

STD_LOGIC_VECTOR(7DOWNTO0));

ENDbmux;

ARCHITECTUREbhvOFbmuxIS

BEGIN

y<=Awhensel='1'

;

END;

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

LIBRARYIEEE;

USEIEEE..ALL;

ENTITYcoderIS

PORT(din:

INSTD_LOGIC_VECTOR();

output:

STD_LOGIC_VECTOR(3DOWNTO0));

ENDcoder;

ARCHITECTUREbehavOFIS

SIGNALSIN:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS()

BEGIN

IF(din(9)='0')THENSIN<="1001";

ELSIF()THENSIN<="1000";

ELSIF(din(7)='0')THENSIN<="0111";

ELSIF(din(6)='0')THENSIN<="0110";

ELSIF(din(5)='0')THENSIN<="0101";

ELSIF(din(4)='0')THENSIN<="0100";

ELSIF(din(3)='0')THENSIN<="0011";

ELSIF(din

(2)='0')THENSIN<="0010";

ELSIF(din

(1)='0')THENSIN<="0001";

ELSE;

ENDPROCESS;

ENDbehav;

五、程序分析题

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYmulti_4vIS

       PORT(S      :

IN  STD_LOGIC_VECTOR(1DOWNTO0);

        A,B,C,D :

IN  STD_LOGIC;

                     Y :

OUT STD_LOGIC);

ENDmulti_4v;

ARCHITECTUREaOFmulti_4vIS

BEGIN

PROCESS

  BEGIN

IF(S="00")THEN

        Y<=A;

    ELSIF(S="01")THEN

        Y<=B;

     ELSIF(S="10")THEN

        Y<=C;

     ELSIF(S="11")THEN

        Y<=D;

     ENDIF;

  ENDPROCESS;

ENDa;

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcountudIS

 PORT(clk :

INSTD_LOGIC;

        clr  :

INSTD_LOGIC;

        dire:

INSTD_LOGIC;

        q:

BUFFERSTD_LOGIC_VECTOR(7DOWNTO0));

ENDcountud;

ARCHITECTUREaOFcountudIS

BEGIN

      PROCESS(clk)

      BEGIN

        IFclk'eventANDclk='1'THEN

        IFclr='0'THEN

             q<="00000000";

              ELSIFdire='1'THEN 

q<=q+1;

               ELSE

               q<=q-1;

               ENDIF;

      ENDIF;

   ENDPROCESS;

ENDa;

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYthreeIS

PORT(clk,d:

INSTD_LOGIC;

Dout:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFthreeIS

SIGNALtmp:

STD_LOGIC;

BEGIN

P1:

PROCESS(clk)

BEGIN

IFrising_edge(clk)THEN

Tmp<=d;

dout<=tmp;

ENDIF;

ENDPROCESSP1;

ENDbhv;

六、程序阅读理解题

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

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entityup_downis

Port(clk,rst,en,up:

instd_logic;

Sum:

outstd_logic_vector(2downto0);

Cout:

outstd_logic);

Endup_down;

Architectureaofup_downis

Signalcount:

std_logic_vector(2downto0);

Begin

Process(clk,rst)

Begin

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.仔细阅读下列程序,回答问题

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"=

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

当前位置:首页 > 求职职场 > 简历

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

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