一、单选题
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)USE STD_LOGIC_1164
(B)USE IEEE.STD_LOGIC_1164
(C)USE IEEE.STD_LOGIC_1164.ALL (D)USE 5. 类属说明的正确格式是:( B )
(A)GENERIC(delay:TIME=20us); (B)GENERIC(delay:TIME:=20us); (C)GENERIC(delay TIME=20us); (D)GENERIC(delay=TIME:=20us); 6. 变量不能在VHDL程序中的哪个结构部分声明的是( A ):
(A)结构体 (B)进程 (C)函数 (D)过程
7. signal a:bit; signal b:bit_vector(1 downto 0);下面正确的表达式是:( C ) (A)b<=a (B)a<=b (C)a<=b(0) (D)a:=b(0)
8. 在VHDL的IEEE标准库中,预定义的标准逻辑位数据STD_LOGICE 有( D )种逻辑值。 A 2 B 3 C 8 D 9 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. signal a,b:bit; signal y:bit_vector(1 downto 0);下面正确的表达式是:(D ) (A)y<=a (B)y<=b (C)y<=b and a (D)y<=b&a
13. 常量的正确格式是:( B )
(A)CONSTANT Vcc:REAL=5.0 ; (B)CONSTANT Vcc:REAL:=5.0 ; (C)CONSTANT Vcc REAL=5.0 ; (D)CONSTANT Vcc:=5.0 ; 14. 进程内不能定义( C ):
A:常量 B:变量 C:信号 D:子程序
15. 在VHDL中,用语句( D )表示检测clock的下升沿。
A clock?EVENT B clock?EVENT AND clock=?1? C clock=?1? D clock?EVENT AND clock=?0?
16. VHDL程序设计结构体的基本功能是:( C )。
A. 声明结构体中将用到的数据类型、元件、常数、子程序等 B. 定义本设计的输入/输出端口
C. 说明本设计内部结构与外部端口间的逻辑关系 D. 为本设计选定特定的结构体
17. 在下列操作中,最高优先级的运算操作符是( C )。 A . AND B. OR C. NOT D. * 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_when B. if_then_elsif_then C. when_else D. if_then 21.在下列类型语句中不属顺序语句的是( C )。
A. 赋值语句 B. LOOP语句 C. 进程语句 D. CASE语句
22. 执行Quartus Ⅱ的( A )命令,可以在底层设计时创建元件的图形符号。 A. Create Default Symbol B. Simulator C. Compiler D. Timing Analyzer 23. 在VHDL语言中,用语句( B )表示检测到时钟clk的上升沿。
A. clk?event B. rising_edge(clk) C. clk = ?0? D. clk =?1? 24. 在VHDL中为目标signal赋值符号为( B )。
A. = B. <= C. := =:
25. 假设输入信号a=“6”,b=“E”,则以下程序执行后,c的值为 ( B ) 。 entity logic is
port( a,b : in std_logic_vector(3 downto 0); c : out std_logic_vector(7 downto 0)); end logic;
architecture a of logic is begin
c(0) <= a(0);
c(2 downto 1) <= a(2 downto 1) and b(2 downto 1); c(3) <= '1' xor b(3) ;
c(7 downto 4) <= \ else \end a;
A. “F8” B. “F6” C. “F7” D. 二、填空
1. ASIC的中文含义是:___专用集成电路_____。
2. FPGA的一般采用__ SRAM _ __工艺。
3. VHDL提供了四种端口模式:IN 、OUT、INOUT、BUFFER。
D. “0F”
4. 结构体的描述方式主要有:行为描述、数据流描述和 结构描述。 5. VHDL的数据对象有:常量、变量、信号等三种。 6. 位类型(BIT)的取值只有__0__和__1__。
7. SIGNAL b:BIT_VECTOR(6 TO 0),信号b被定义为__7 _位位宽。
8. 进程由敏感信号参数表、说明部分和顺序描述语句部分三部份构成。 9. 选择信号赋值语句的每一子句后是__逗__号,最后一句是__分__号。
10. 一个完整的VHDL程序包含:库、程序包、实体、结构体、配置五个部分。 11.编译可以检查的错误有 逻辑 和 语法 。 12.QuratusII仿真主要分为 功能 、 时序 。 13. BLOCK内的语句是___并行___语句。
14 FPGA的一般采用__ SRAM _ __工艺。
15.对CPLD编程的目标文件扩展名为 .pof ,对FPGA配置的目标文件扩展名为 .sof
16. 设D0为'0',D1为'1',D2为'1',D3为'0',D3 & D2 & D1 & D0的运算结果是“0110”;(D3 or D2)and(D1 and not D0)的运算结果是:‘1’。
17 VHDL的数据对象分为 常数 、 变量 和 信号 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源程序,说明设计电路的功能。
; 答案: LIBRARY IEEE; ;答案:USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY LX3_1 IS
PORT( s2,s1,s0:IN STD_LOGIC d3,d2,d1,d0:IN STD_LOGIC; d7,d6,d5,d4:IN STD_LOGIC;
Y:OUT STD_ULOGIC );
END LX3_1; ARCHITECTURE one OF LX3_1 IS SIGNAL S:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN
s<=s2&s1&s0;
y<= d0 WHEN s=”000” ELSE d1 WHEN s=”001” ELSE d2 WHEN s=”010” ELSE d3 WHEN s=”011” ELSE d4 WHEN s=”100” ELSE d5 WHEN s=”101” ELSE d6 WHEN s=”110” ELSE d7; END one;
结果: 答案:8选1数据分配器
2.分析下面的VHDL源程序,说明设计电路的功能. ENTITY LX3_2 IS
PORT( A:IN BIT _VECTOR(3 DOWNTO 0);
B: BIT _VECTOR (3 DOWNTO 0);
GT,LT,EQ:OUT BIT); END LX3_2;
ARCHITECTURE one OF IS;(1分) 答案:LX3_2 BEGIN
PORCESS( ) (2分) 答案: a,b BEGIN
GT<=’0’; LT<=’0’; EQ<=’0’;
IF a>b THEN GT<=’1’;
ELSIF a
END one;
1.
结果: 答案:4位数据比较器
五、阅读下列VHDL程序,画出原理图(RTL级): LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY three IS PORT (
clk,d : IN STD_LOGIC; dout,e : OUT STD_LOGIC ); END;
ARCHITECTURE bhv OF three IS SIGNAL tmp: STD_LOGIC; BEGIN P1: PROCESS(clk) BEGIN
IF rising_edge(clk) THEN Tmp <= d;
dout <= not tmp; END IF;
END PROCESS P1;
e <= tmp xor d; END bhv;
答案:
2. 阅读下列VHDL程序,画出相应RTL图 (10分) library ieee;
use ieee.std_logic_1164.all; entity lfsr is
port (clk, clr, d : in std_logic; mout : out std_logic); end lfsr;
architecture rtl of lfsr is
signal sreg : std_logic; begin
process(clk,clr)
variable s : std_logic; begin
if clr = '1' then s := ’0’; elsif rising_edge(clk) then s := sreg xor (not d); end if;
sreg <= s; end process; mout <= sreg; end rtl;
(三)阅读程序绘制RTL图
程序清单如下:
ENTITY x_or2 IS
--顶层实体