1、《数字系统设计》复习参考 选择题 1. 一个项目的输入输出端口是定义在 A 。 A. 实体中 B. 结构体中 C. 任何位置 D. 进程体 2. 描述项目具有逻辑功能的是 B 。 A. 实体 B. 结构体 C. 配置 D. 进程 3. 关键字ARCHITECTURE定义的是 A 。 A. 结构体 B. 进程 C. 实体 D. 配置 4. MAXPLUSII中编译VHDL源程序时要求 C 。 A.文件名和实体可以不同B. 文件名和实体名无关 C. 文件名和实体名要相同
2、D. 不确定 5. 1987标准的VHDL语言对大小写是 D 。 A. 敏感的 B. 只能用小写 C. 只能用大写 D. 不敏感 6. 关于1987标准的VHDL语言中,标识符描述正确的是 A 。 A必须以英文字母开头B可以使用汉字开头C可以使用数字开D任何字符都可以 7. 关于1987标准的VHDL语言中,标识符描述正确的是 B 。 A下划线可以连用B下划线不能连用 C不能使用下划线 D可以使用任何字符 8. 符合1987VHDL标准的标识符是 A 。 A. A_2 B. A+2
3、 C. 2A D. 22 9. 符合1987VHDL标准的标识符是 A 。 A. a_2_3 B. a_____2 C. 2_2_a D. 2a 10. 不符合1987VHDL标准的标识符是 C 。 A. a_1_in B. a_in_2 C. 2_a D. asd_1 11. 不符合1987VHDL标准的标识符是 D 。 A. a2b2 B. a1b1 C. ad12 D. %50 12. VHDL语言中变量定义的位置是 D 。 A. 实体中中任何位置
4、 B. 实体中特定位置 C. 结构体中任何位置 D. 结构体中特定位置 13. VHDL语言中信号定义的位置是 D 。 A. 实体中任何位置 B. 实体中特定位置 C. 结构体中任何位置 D. 结构体中特定位置 14. 变量是局部量可以写在 B 。 A. 实体中 B. 进程中 C. 线粒体 D. 种子体中 15. 变量和信号的描述正确的是 A 。 A. 变量赋值号是:= B. 信号赋值号是:= C. 变量赋值号是<= D. 二者没有区别 16. 变量
5、和信号的描述正确的是 B A. 变量可以带出进程 B. 信号可以带出进程 C. 信号不能带出进程 D. 二者没有区别 17. 关于VHDL数据类型,正确的是 C 。 A. 数据类型不同不能进行运算 B. 数据类型相同才能进行运算 C. 数据类型相同或相符就可以运算 D. 运算与数据类型无关 18. 下面数据中属于实数的是 A 。 A. 4.2 B. 3 C. ‘1’ D. “11011” 19. 下面数据中属于位矢量的是 D
6、 。 A. 4.2 B. 3 C. ‘1’ D. “11011” 20. 关于VHDL数据类型,正确的是 B 。 A. 用户不能定义子类型 B. 用户可以定义子类型 C. 用户可以定义任何类型的数据 D. 前面三个答案都是错误的 21. 可以不必声明而直接引用的数据类型是 C 。 A. STD_LOGIC B. STD_LOGIC_VECTOR C. BIT D. 前面三个答案都是错误的 22. STD_LOGIG_1164中定义的高阻是字符 D 。 A. X
7、 B. x C. z D. Z 23. STD_LOGIG_1164中字符H定义的是 A 。 A. 弱信号1 B. 弱信号0 C. 没有这个定义 D. 初始值 24. 使用STD_LOGIG_1164使用的数据类型时 B 。 A.可以直接调用 B.必须在库和包集合中声明 C.必须在实体中声明D.必须在结构体中声明 25. 关于转化函数正确的说法是 B 。 A. 任何数据类型都可以通过转化函数相互转化 B. 只有特定类型的数据类型可以转化 C. 任何数据类型都不能转化
8、 D. 前面说法都是错误的 26. VHDL运算符优先级的说法正确的是 C 。 A. 逻辑运算的优先级最高 B. 关系运算的优先级最高 C. 逻辑运算的优先级最低 D. 关系运算的优先级最低 27. VHDL运算符优先级的说法正确的是 A 。 A. NOT的优先级最高B. AND和NOT属于同一个优先级 C. NOT的优先级最低D. 前面的说法都是错误的 28. VHDL运算符优先级的说法正确的是 D 。 A. 括号不能改变优先级B. 不能使
9、用括号 C. 括号的优先级最低 D. 括号可以改变优先级 29. 如果a=1,b=0,则逻辑表达式(a AND b) OR( NOT b AND a)的值是 B 。 A. 0 B. 1 C. 2 D. 不确定 30. 关于关系运算符的说法正确的是 C 。 A不能进行关系运算 B.关系运算和数据类型无关 C关系运算数据类型要相同D.前面的说法都错误 31. 转换函数TO_BIT_VECTOR(A)的功能是 A 。 A. 将STD_LOGIC_V
10、ECTOR转换为BIT_VECTOR B. 将REAL转换为BIT_VECTOR C. 将TIME转换为BIT_VECTOR D. 前面的说法都错误 32. VHDL中顺序语句放置位置说法正确的是 D 。 A. 可以放在进程语句中 B.可以放在子程序中 C.不能放在任意位置 D.前面的说法都正确 33. 不属于顺序语句的是 C 。 A. IF语句 B. LOOP语句 C. PROCESS语句 D. CASE语句 34. 正确给变量X赋值的语句是 B
11、 。 A. X<=A+B; B. X:=A+b; C. X=A+B; D. 前面的都不正确 35. EDA的中文含义是 A 。 A. 电子设计自动化 B. 计算机辅助计算 C. 计算机辅助教学 D. 计算机辅助制造 36. 可编程逻辑器件的英文简称是 D 。 A. FPGA B. PLA C. PAL D. PLD 37. 现场可编程门阵列的英文简称是 A 。 A. FPGA B. PLA C. PAL D. PLD 38. 基于下面技术的PL
12、D器件中允许编程次数最多的是 C 。 A. FLASH B. EEROM C. SRAM D. PROM 39. 在EDA中,ISP的中文含义是 B 。 A. 网络供应商 B. 在系统编程 C. 没有特定意义D. 使用编程器烧写PLD芯片 40. 在EDA中,IP的中文含义是 D 。 A. 网络供应商 B. 在系统编程 C. 没有特定意义 D. 知识产权核 41. EPF10K20TC144-4具有多少个管脚 A 。 A. 144个 B. 84个 C. 15个
13、 D. 不确定 42. EPF10K20TC144-X器件,如果X的值越小表示 C 。 A. 器件的工作频率越小B.器件的管脚越少 C. 器件的延时越小 D. 器件的功耗越小 43. 如果a=1,b=1,则逻辑表达式(a XOR b) OR( NOT b AND a)的值是 A 。 A. 0 B. 1 C. 2 D. 不确定 44. 执行下列语句后Q的值等于 C 。 SIGNAL E: STD_LOGIC_VECTOR (
14、2 TO 5); SIGNAL Q: STD_LOGIC_VECTOR (9 DOWNTO 2); E<=(2=>’1’, 4=>’0’, OTHERS=>’1’);1001 Q<=(2=>E (2), 4=>E (3), 5=>’1’, 7=>E (5), OTHERS=>E (4));00101001 A. “11011011” B. “00101101” C. “11011001” D. “00101100” 45. VHDL文本编辑中编译时出现如下的报错信息 Error: VHDL syntax error: signal
15、declaration must have ‘;’,but found begin instead. 其错误原因是 A 。 A. 信号声明缺少分号。B. 错将设计文件存入了根目录,并将其设定成工程。 C. 设计文件的文件名与实体名不一致。D. 程序中缺少关键词。 46. VHDL文本编辑中编译时出现如下的报错信息 Error: VHDL syntax error: choice value length must match selector expression value length 其错误原因是 A 。 A
16、 表达式宽度不匹配。B. 错将设计文件存入了根目录,并将其设定成工程。 C. 设计文件的文件名与实体名不一致。D. 程序中缺少关键词。 51. 在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。 D 。 A.idata <= “00001111”;B.idata <= b”0000_1111”;C.idata <= X”AB”D. idata <= B”21”; 52. 在VHDL语言中,下列对时钟边沿检测描述中,错误的是 D 。 A.if clk’event and cl
17、k = ‘1’ thenB.if falling_edge(clk) thenC.if clk’event and clk = ‘0’ then D.if clk’stable and not clk = ‘1’ then 53. 下面对利用原理图输入设计方法进行数字电路系统设计的描述中,那一种说法是不正确的。 C 。 A.原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计; B.原理图输入设计方法一般是一种自底向上的设计方法; C.原理图输入设计方法无法对电路进行功能描述 D.原理图输入设计方法也可进行层次化设计。 54. 在一个VHDL设计中i
18、data是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的。 C 。 A.idata := 32;B.idata <= 16#A0#;C.idata <= 16#7#E1;D.idata := B#1010#; 55. 下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程: B 。 A.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试 B.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试; C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;
19、 D.原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试 56. 在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是 B 。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动。B.敏感信号参数表中,应列出进程中使用的所有输入信号;C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成;D.当前进程中声明的信号也可用于其他进程。 57. 对于信号和变量的说法,哪一个是不正确的: A 。 A.信号用于作为进程中局部数据存储单元 B.变量的赋
20、值是立即完成的 C.信号在整个结构体内的任何地方都能适用 D.变量和信号的赋值符号不一样 58. VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库: D 。 A.IEEE库 B.VITAL库C.STD库 D.WORK工作库 59. 下列语句中,不属于并行语句的是: B 。 A.进程语句 B.CASE语句C.元件例化语句 D.WHEN…ELSE…语句 60. 下面哪一条命令是MAX+PLUSII在时序仿真时执行加载节点的命令? C 。 A. file—>set projec
21、t to current file B. assign—>pin/location chip C. node—>enter node from SNF D. file—>create default symbol 61. 在EDA工具中,能将硬件描述语言转换为硬件电路的重要工具软件称为 B A.仿真器 B.综合器 C.适配器 D.下载器 62. VHDL文本编辑中编译时出现如下的报错信息 Error: Can’t open VHDL “WO
22、RK” 其错误原因是 B 。 A错将设计文件的后缀写成.tdf,而非.vhd B.错将设计文件存入了根目录,并将其设定成工程C. 设计文件的文件名与实体名不一致。D. 程序中缺少关键词。 63. 在VHDL的CASE语句中,条件句中的“=>”不是操作符号,它只相当与 B 作用。 A. IF B. THEN C. AND D. OR 65. 下列关于信号的说法不正确的是 C 。A . 信号相当于器件内部的一个数据暂存节点。B. 信号的端口模式不必定义,它的数据既可以流进,也可以流出。 C.
23、 在同一进程中,对一个信号多次赋值,其结果只有第一次赋值起作用。 D. 信号在整个结构体内的任何地方都能适用。 66. 下面哪一个可以用作VHDL中的合法的实体名 D 。 A. OR B. VARIABLE C. SIGNAL D. OUT1 68. 下列关于变量的说法正确的是 A 。 A. 变量是一个局部量,它只能在进程和子程序中使用。 B. 变量的赋值不是立即发生的,它需要有一个δ延时。 C. 在进程的敏感信号表中,既可以使用信号,也可以使用变量。 D. 变量赋值
24、的一般表达式为:目标变量名<= 表达式。 69. 下列关于CASE语句的说法不正确的是 B 。 A. 条件句中的选择值或标识符所代表的值必须在表达式的取值范围内。 B. CASE语句中必须要有WHEN OTHERS=>NULL;语句。 C. CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现 。 D. CASE语句执行必须选中,且只能选中所列条件语句中的一条。 70. VHDL中,为目标变量赋值符号是 D A. =: B. = C. <= D.:= 71. 在VHDL中,可以用语句 D 表示检测clo
25、ck下降沿。 A. clock’ event B. clock’ event and clock=’1’C. clock=’0’ D. clock’ event and clock=’0’ 72.在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部量, B 事先声明。A. 必须 B. 不必 C. 其类型要 D.其属性要 73. 在VHDL中,语句”FOR I IN 0 TO 7 LOOP ”定义循环次数为 A 次。 A. 8 B. 7 C. 0 D.1 7
26、4. 在VHDL中,PROCESS结构内部是由 A 语句组成的。A. 顺序 B. 顺序和并行C. 并行 D.任何 75. 执行MAX+PLUSII的 C 命令,可以对设计的电路进行仿真。 Creat Default Symbol B.Compiler C.Simulator D.Programmer 76. 在VHDL中,PROCESS本身是 C 语句。A. 顺序 B.顺序和并行 C.并行 D.任何 78. 在元件例化语句中,用 D 符号实现名称映射,将例化元件端口声明语
27、句中的信号与PORT MAP()中的信号名关联起来。A. = B. := C. <= D.=> 79.在VHDL中,含WAIT语句的进程PROCESS的括弧中 B 再加敏感信号,否则则是非法的。A. 可以 B.不能 C. 必须 D. 有时可以 80.在MAX+PLUSII集成环境下为图形文件产生一个元件符号的主要作用是 。 A. 综合 B. 编译 C. 仿真 D.被高层次电路设计调用 81.在M
28、AX+PLUSII工具软件中,完成网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取和编程文件汇编等操作,并检查设计文件是否正确的过程称为 B 。 A. 编辑 B. 编译 C. 综合 D. 编程 84. 综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中, D 是错误的。 A. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;B. 为实现系统的速度、面积、性能的要求,需要对综合加
29、以约束,称为综合约束; C. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的。D. 综合是纯软件的转换过程,与器件硬件结构无关; 85. 关于VHDL中的数字,请找出以下数字中数值最小的一个: C A. 2#1111_1110# B. 8#276# C. 10#170# D. 16#E#E1 86. 以下对于进程PROCESS的说法,正确的是: C 。 A. 进程之间可以通过变量进行通信B. 进程内部由一组并行语句来描述进程功能 C. 进程语句本身是并行语句D. 一个进程可以同时描述多个时钟信号的同步时序
30、逻辑 87. 进程中的信号赋值语句,其信号更新是 C 。 A.按顺序完成;B.比变量更快完成;C.在进程的最后完成;D.以上都不对。 88.关于VHDL中的数字,请找出以下数字中最大的一个: A 。 A.2#1111_1110#B.8#276#C. 10#170#D.16#E#E1 89.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述 B A.器件外部特性;B.器件的内部功能;C.器件的综合约束;D.器件外部特性与内部功能。 90.下列标识符中, B 是不合法的标识符。A. State0
31、 B. 9moon C. Not_Ack_0 D. signall 91.在VHDL中,IF语句中至少应有1个条件句,条件句必须由 C 表达式构成。 A. BIT B. STD_LOGIC C. BOOLEAN D. INTEGER 92. 在VHDL中 D 不能将信息带出对它定义的当前设计单元。A. 信号 B. 常量 C. 数据 D. 变量 93.在VHDL中,为定义的信号赋初值,应该使用 C 符号。A. =: B. = C. := D. <= 94.在VHDL中,一个设计
32、实体可以拥有一个或多个 B A. 设计实体 B. 结构体 C. 输入D. 输出 96. 在VHDL的IEEE标准库中,预定义的标准逻辑位STD_LOGIC的数据类型中是用 B 表示的。 A. 小写字母和数字 B. 大写字母数字 C. 大或小写字母和数字 D. 全部是数字 97. 执行MAX+PLUSII的 A 命令,可以为设计电路建立一个元件符号。 A. create default symbol B. simulator C. compiler D. timing analyzer 9
33、8. 在VHDL中,条件信号赋值语句WHEN_ELSE属于 C 语句。 A. 并行和顺序 B. 顺序 C. 并行 D. 不存在的 99. 在VHDL的IEEE标准库中,预定义的标准逻辑数据STD_LOGIC有 C 种逻辑值。 A. 2 B. 3 C. 9 D. 8 100.一个能为VHDL综合器接受,并能作为一个独立的设计单元的完整的VHDL程序成为 C 。A. 设计输入 B. 设计输出 C. 设计实体 D. 设计结构
34、 二、填空题 (一) 在下面横线上填上合适的vhdl关键词,完成2选1多路选择器的设计。 library ieee; use ieee.std_logic_1164.all; entity mux21 is port ( sel: in std_logic; a,b: in std_logic; q: out std_logic ); end mux21; architecture bhv of mux21 is begin q<=a when sel=’1’ else b;
35、 end bhv; (二) 在下面横线上填上合适的语句,完成bcd-7段led显示译码器的设计。 library ieee ; use ieee.std_logic_1164.all; entity bcd_7seg is port( bcd_led : in std_logic_vector(3 downto 0); ledseg : out std_logic_vector(6 downto 0)); end bcd_7seg; architecture behavior of bcd_7seg is begin process(bcd_le
36、d) begin if bcd_led="0000" then ledseg<="0111111"; elsif bcd_led="0001" then ledseg<="0000110"; elsif bcd_led="0010" then ledseg<= 1011101 ; elsif bcd_led="0011" then ledseg<="1001111"; elsif bcd_led="0100" then ledseg<="1100110";
37、elsif bcd_led="0101" then ledseg<=" 1101011 "; elsif bcd_led="0110" then ledseg<="1111101"; elsif bcd_led="0111" then ledseg<="0000111"; elsif bcd_led="1000" then ledseg<=" 1111111 "; elsif bcd_led="1001" then ledseg<="1101111"; else leds
38、eg<= xxxxxxx ; end if; end process; end behavior; (三) 在下面横线上填上合适的语句,完成数据选择器的设计。 library ieee; use ieee.std_logic_1164.all; entity mux16 is port( d0, d1, d2, d3: in std_logic_vector(15 downto 0); sel: in std_logic_vector( 1 downto 0);
39、 y: out std_logic_vector(15 downto 0)); end; architecture one of mux16 is begin with sel select y <= d0 when "00", d1 when "01", d2 when "10", d3 when “11” ; end; (四) 在下面横线上填上合适的语句,完成jk触发器的设计。 说明:设计一个异步复位/置位jk触发器,其真值表如下:
40、 input output pset clr clk j k q 0 1 x x x 1 1 0 x x x 0 0 0 x x x 不定 1 1 上升沿 0 1 0 1 1 上升沿 1 0 1 1 1 上升沿 1 1 翻转 1 1 上升沿 0 0 保持 library ieee; use ieee.std_logic_1164.all; entity jkff1 is port (pset,clr,clk,j,k : i
41、n std_logic; q : out std_logic); end jkff1; architecture maxpld of jkff1 is signal temp:std_logic; begin process(pset,clr,clk) begin if (pset='0'and clr='1' ) then temp<='1'; elsif (pset='1'and clr='0' ) then temp<='0'; elsif (pset='0'and clr='0' ) then null; if
42、 (clk'event and clk='1') then elsif (j='0' and k='0') then temp<=temp; elsif (j='0' and k='1') then temp<='0'; elsif (j='1' and k='0') then temp<='1'; elsif (j='1' and k='1') then temp<= not temp ; end if; end if; end process; q<=temp; end ; (五) 在下面横线上填上合适的语句,完成计
43、数器的设计。 说明:设电路的控制端均为高电平有效,时钟端clk,电路的预置数据输入端为4位d,计数输出端也为4位q,带同步始能en、异步复位clr和预置控制ld的六进制减法计数器。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity cnt6 is port(en,clr,ld,clk:in std_logic; d: in std_logic_vector(3 d
44、ownto 0); q:out std_logic_vector(3 downto 0)); end cnt6; architecture beha of cnt6 is signal qtemp:std_logic_vector(3 downto 0); begin process(clk,clr,ld) begin if clr='1' then qtemp<="0000"; --clr=1清零 elsif (clk'event and clk='1') then --判断是否上升沿
45、 if ld='1' then qtemp<= dddd ; --判断是否置位 elsif en='1' then --判断是否允许计数 if qtemp="0000" then qtemp<= “0101” ; --等于0,计数值置5 else qtemp<= qtemp-1 ; --否则,计数值减1 end if; end if; end if; q<=qtemp; end process;
46、 end beha; (六) 在下面横线上填上合适的语句,完成状态机的设计。 说明:设计一个双进程状态机,状态0时如果输入”10”则转为下一状态,否则输出”1001”;状态1时如果输入”11”则转为下一状态,否则输出”0101”;状态2时如果输入”01”则转为下一状态,否则输出”1100”;状态3时如果输入”00”则转为状态0,否则输出”0010”。复位时为状态0。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity moore1 is port
47、 (datain: in std_logic_vector(1 downto 0); clk, rst:in std_logic; q: out std_logic_vector(3 downto 0)); end; architecture one of moore1 is type st_type is (st0, st1, st2, st3); --定义4个状态 signal cst, nst: st_type; --定义两个信号(现态和次态) signal
48、q1:std_logic_vector(3 downto 0); begin reg: process(clk, rst) --主控时序进程 begin if rst='1' then cst<= ; --异步复位为状态0 elsif clk'event and clk='1' then cst<= ; --现态=次态 e
49、nd if; end process; com: process(cst, datain) begin case cst is when st0 => if datain="10" then nst<=st1; else nst<=st0; q1<="1001"; end if; when st1 => if
50、 datain="11" then nst<=st2; else nst<=st1; q1<="0101"; end if; when st2 => if datain="01" then nst<=st3; else nst<=st2; q1<="1100"; end if; when st3 => if datain="00" then nst<=st0;






