一、选择题
( A )1.一个项目的输入输出端口是定义在: A. 实体中 B. 结构体中 C. 任何位置 D. 进程体 ( B)2.描述项目具有逻辑功能的是: A. 实体 B. 结构体 C. 配置 D. 进程 ( A )3.关键字ARCHITECTURE定义的是: 进程 B. A. 结构体 D. 配置 C. 实体 ( D )4.VHDL语言中变量定义的位置是:
A. 实体中中任何位置 B. 实体中特定位置 C. 结构体中任何位置 D. 结构体中特定位置 ( D )5.VHDL语言中信号定义的位置是:
A. 实体中任何位置 B. 实体中特定位置 C. 结构体中任何位置 D. 结构体中特定位置 ( B )6.变量是局部量可以写在:
A. 实体中 B. 进程中 线粒体 D. 种子体中 C. ( A )7.变量和信号的描述正确的是:
A. 变量赋值号是:= B. 信号赋值号是:= 二者没有区别D. <= 变量赋值号是C. B )8. 变量和信号的描述正确的是:(
A. 变量可以带出进程 B. 信号可以带出进程 D. 二者没有区别 信号不能带出进程C. .对于信号和变量的说法,哪一个是不正确的: ( )9据存储单元
B. 变量的赋值是立即完成的 信号在整个结构体内的任何地方都能适用C. D. 变量和信号的赋值符号不一样 ( A .下列关于变量的说法正确的是: )10一个局部量,它只能在进程和子程序中使用
变量的赋值不是立即发生的,它需要有一个δ延时B. B. C. 在进程的敏感信号表中,既可以使用信号,也可以使用变量 D. 变量赋值的一般表达式为:目标变量名<= 表达式 ( C )11.可以不必声明而直接引用的数据类型是: A. STD_LOGIC B. STD_LOGIC_VECTOR C. BIT D. 前面三个答案都是错误的 ( C )12.STD_LOGIG_1164中定义高阻的字符是: A. X B. x C. z D. Z
( A )13.STD_LOGIG_1164中字符H定义的是: A. 弱信号1 B. 弱信号0
A. 信号用于作为进程中局部数
A.变量是
C. 没有这个定义 D. 初始值 ( B )14.使用STD_LOGIG_1164中的数据类型时:
A. 可以直接调用 B. 必须在库和包集合中声明 C. 必须在实体中声明 D. 必须在结构体中声明 ( B )15.关于转化函数说法正确的是: B. 只有特定类型的数据类型可以转化 C. 任何数据类型都不能转化 D. 前面说法都是错误的
( C )16.VHDL运算符优先级说法正确的是:
A. 任何数据类型都可以通过转化函数相互转化
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,则逻辑表达式(a AND b) OR( NOT b AND a)的值是: A. 0 B. 1 C. 2 D. 不确定 ( B )20.正确给变量X赋值的语句是: A. X<=A+B; B. X:=A+b;
C. X=A+B; D. 前面的都不正确
( )21.VHDL文本编辑中编译时出现如下的报错信息,其错误原因是:
Error: VHDL syntax error: choice value length must match selector expression value length A. 表达式宽度不匹配 B. 错将设计文件存入了根目录,并将其设定成工程 C. 设计文件的文件名与实体名不一致 D. 程序中缺少关键词 VHDL语言中,下列对时钟边沿检测描述中,错误的是:( D )22.在
B. if falling_edge(clk) then A. if clk'event and clk = ‘1' then
D. if clk'stable and not clk = ‘1' then C. if clk'event and clk = ‘0' then clock下降沿:.在VHDL中,可以用以下哪条语句表示检测( D )23B. clock' event and clock='1'(上升沿)
C. clock='0' D. clock' event and clock='0'
( D )24.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库: A. IEEE库 B. VITAL库 C. STD库D. WORK工作库
A. clock' event
( A ): 常用的库是.VHDL25
A. IEEE B. STD
C. WORK D. PACKAGE ( B )26.下列语句中,不属于并行语句的是: A. 进程语句 B. CASE语句 C. 元件例化语句 D. WHEN…ELSE…语句 ( D )27.下面哪一个可以用作VHDL中的合法的实体名: A. OR B. VARIABLE
C. SIGNAL
D. OUT1
( B )28.下列关于CASE语句的说法不正确的是: B. CASE语句中必须要有WHEN OTHERS=>NULL
C. CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现 D. CASE语句执行必须选中,且只能选中所列条件语句中的一条 ( D )29.VHDL中,为目标变量赋值符号是: A. =: B. = C. <= D. :=
( B )30.VHDL语言是一种结构化设计语言,一个设计实体(电路模块)包括实体与结体两部分,结构体描述:
A. 器件外部特性 B. 器件的内部功能
器件外部特性与内部功能。D. 器件的综合约束C.
( A )31.大规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过___A__实现其逻功能:
A. 可编程乘积项逻辑 B. 查找表(LUT) 输入缓冲 D. 输出缓冲 C.
( C )32.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的
A. 条件句中的选择值或标识符所代表的值必须在表达式的取值范围内
构
辑
描
述中,正确的是: A. FPGA是基于乘积项结构的可编程逻辑器件 B.FPGA是全称为复杂可编程逻辑器件 器件,在每次上电后必须进行一次配置的FPGASRAMC.基于 FPGA结构公司生产的器件中,D.在AlteraMAX7000系列属结构与工作原理的CPLD)33( D .大规模可编程器件主要有FPGA、CPLD两类,下列对
描述中,正确的是: 是基于查找表结构的可编程逻辑器件;A. CPLD
即是现场可编程逻辑器件的英文简称;B. CPLD C. 早期的CPLD是从GAL的结构扩展而来; CPLD结构;公司生产的器件中,XC9500系列属D. 在Xilinx .下列标识符中,哪个是不合法的标识符:( D )34
B. 9moon A. State0
A. 10#128# B.
前
D. signal C. Not_Ack_0 个VHDL标识符中正确的是:.下列( D )354
16#E#E1 D. X_16 C. 74HC124
③功能仿真和④设计的仿真包括有①门级时序仿真、②行为仿真、基于( D )36.VHDLA. ①②③④
D. ②④③① C. ④③②①
→综文本输入→_____/HDLEDA )37.基于软件的FPGA / CPLD设计流程为:原理图( B 序仿真 ③①A. B. ①② D. ④② ④⑤C.
( )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…语句
端功能仿真这四种,按照自顶向下的设计流程,其先后顺序应该是: B. ②①④③
→编程下载→硬件测试:合→适配→_____ ③逻辑综合 ④配置⑤引脚锁定 ①功能仿真 ②时
( 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 语言程序的基本结构,并简述各部分的功能.描述
VHDL2 .描述可编程逻辑器件的类型,并简要描述其特点3 CPLD 的异同.比较FPGA 与 4 .简述变量、信号和端口的区别5 的系统结构.简述FPGA6 的系统结构CPLD7.简述 四、程序填空题 描述,试补充完整。.以下程序是十进制计数器的1VHDL LIBRARY IEEE; USE IEEE. .ALL; USE CNT10 IS
PORT ( CLK : IN STD_LOGIC ;
Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)) ; END CNT10;
ARCHITECTURE bhv OF IS
SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
PROCESS (CLK) IF Q1 > 10 THEN
-- 置零 Q1 <= (OTHERS => '0'); ELSE
Q1 <= Q1 + 1 ; -- 加1 END IF; END IF; END PROCESS ;
; -- 输出 END bhv;
2.以下程序是BCD码表示0~99计数器的VHDL描述,试补充完整。
IF THEN -- 边沿检测
LIBRARY IEEE;
USE ; ENTITY cnt100b is
port( clk, rst, en : in std_logic;
cq : out std_logic_vector(7 downto 0); -- 计数输出 cout: out std_logic); -- 进位输出 END ENTITY cnt100b;
bhv of cnt100b is BEGIN
PROCESS (clk, rst, en)
cqi : std_logic_vector(7 downto 0); BEGIN if rst = '1' then
cqi := ; -- 计数器清零 else
if then -- 上升沿判断 if en = '1' then
if cqi(3 downto 0) < @1 then -- 比较低4位 ; -- 计数加1 else
位4比较高-- if cqi(7 downto 4) < @1 then cqi := cqi + 16; else
cqi := (others => '0'); end if;
-- 低4位清零 cqi ( ) := “0000”; end if; end if; ; end if;
if cqi = “ ” then -- 判断进位输出 cout <= '1'; else cout <= '0'; end if; ;
END PROCESS;END ARCHITECTURE bhv;
3.以下程序是多路选择器的VHDL描述,试补充完整。 LIBRARY IEEE; USE bmux IS
PORT ( sel : STD_LOGIC;
Y
A, B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); : STD_LOGIC_VECTOR(7 DOWNTO 0)) ;