当前位置:文档之家› EDA与VHDL复习参考题 (1)

EDA与VHDL复习参考题 (1)

EDA与VHDL复习参考题 (1)
EDA与VHDL复习参考题 (1)

选择题

1. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,()是错误的。

A. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;

B. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的

网表文件;

C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;

D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且

这种映射关系是唯一的(即综合结果是唯一的)。

2. IP核在EDA技术和开发中具有十分重要的地位,IP分软IP、固IP、硬IP,下列所描述的

IP核中,对于硬IP的正确描述为__________。

A.提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路;

B.提供设计的最总产品----掩膜;

C.以网表文件的形式提交用户,完成了综合的功能块;

D.都不是。

3提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核

为__________。

A .软IP B.固IP C.硬IP D.都不是

4 在VHDL程序存盘过程当中,文件名应该是()

A. 结构体名

B. 程序包名

C. 任意

D. 实体名

5. 大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,

正确的是____。

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

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

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

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

6. 规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过_______实现其逻辑功能。

A. 可编程乘积项逻辑

B. 查找表(LUT)

C. 输入缓冲

D. 输出缓冲

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

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

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

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

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

8.下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程______。

A.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试

B.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试;

C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;

D.原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试

9.FPGA的可编程是主要基于什么结构:()

A. 查找表(LUT)

B. ROM可编程

C. PAL可编程

D. 与或阵列可编程

10.已知signal a:bit; signal b:bit_vector(1 downto 0);下面正确的表达式是:( )

(A)b<=a (B)a<=b (C)a<=b(0) (D)a:=b(0)

11. signal a:bit; signal b:bit_vector(1 downto 0);下面正确的表达式是:( )

(A)b<=a (B)a<=b (C)a<=b(0) (D)a:=b(0)

12. 执行下列语句后S的值等于。

SIGNAL A: STD_LOGIC_VECTOR (2 TO 5);

SIGNAL S: STD_LOGIC_VECTOR (9 DOWNTO 2);

……

A <=(2=>?1?, 4=>?0?, OTHERS=>?1?);

S<=(2=> A (2), 4=> A (3), 5=>?1?, 7=> A (5), OTHERS=>?0?);

A.“11011011” B. “00101100” C. “11011001” D. “00101101”13能在进程之间传递信息的数据对象是():

(A)常量(B)变量(C)信号(D)文件

14TYPE week IS(sun,mon,tue,wed,thr,fri,sat);week的数据类型是()(A)字符(B)BIT (C)STD_LOGIC (D)枚举

15. 执行下列程序后,XY的值分别()

PROCESS(A,B,C)

Signal D:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

D<=B;

X<=A+D;

D<=C;

Y<=A+D;

END PROCESS;

(A)A+C,A+C (B)A+B,A+C (C) A+C,A+B (D) A+B,A+C

16. 执行下列程序后,XY的值分别()

PROCESS(A,B,C)

V ARIABLE D:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

D:=B;

X<=A+D;

D:=C;

Y<=A+D;

END PROCESS;

(A)A+C,A+C (B)A+B,A+C (C) A+C,A+B (D) A+B,A+C

16.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的()

A.idata :=22;

B.idata <= 16#A1#;

C.idata <= 16#6#E1;

D.idata := B#1110#;

17.a的初值为0;执行语句a:=a+1;a:=a+1; a:=a+1;后,a的值为()

(A)0 (B)1 (C)2 (D)3

18. IF语句与并行语句()均可以实现优先级

A. WITH-SELECT

B. WHEN-ELSE

C. 元件例化

D. 并行赋值语句

19.一个电路模块的输入输出端口是定义在( ) 。

A. 实体中

B. 结构体中

C. 任何位置

D. 进程体

20 关键字ARCHITECTURE定义的是( )

A. 结构体

B. 进程

C. 实体

D. 配置

21. 可以不必声明而直接引用的数据类型是________

A.STD_LOGIC ;

B. STD_LOGIC_VECTOR;

C. BIT;

D. ARRAY。

22.下面数据中属于实数的是()。

A. 4.2

B. 3

C. …1?

D. “11011”

23. 具有并行与顺序双重特性的语句的是()

A. CASE-WHEN

B. 循环语句

C. 进程语句

D. WITH-SELECT

24. 转换函数TO_BITVECTOR(A)的功能是。

A. 将STDLOGIC_VECTOR转换为BIT_VECTOR

B. 将REAL转换为BIT_VECTOR

C.将TIME转换为BIT_VECTOR

D. 前面的说法都错误

25在VHDL语言中,下列对时钟边沿检测描述中,错误的是_____。

A. if clk?event and clk = …1? then

B. if falling_edge(clk) then

C. if clk?event and clk = …0? then

D.if clk?stable and not clk = …1? then

26. 高阻态Z是属于()范畴

A. STD_LOGIC

B. BIT

C. BIT_VECTOR

D. 布尔

27.在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。()

A.idata <= “00001111”;

B.idata <= b”0000_1111”;

C.idata <= X”AB”

D. idata <= B”21”;

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

A.进程语句

B.CASE语句

C.元件例化语句

D.WHEN…ELSE…语句

29. 不属于顺序语句的是()

A. IF语句

B. LOOP语句

C. PROCESS语句

D. CASE语句

30.在VHDL的CASE语句中,条件句中的“=>”不是操作符号,它只相当与作用。

A. IF

B. THEN

C. AND

D. OR

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

A. IEEE库

B. VITAL库

C. STD库

D. WORK工作库。

32. 下面哪一条命令是qusrtusII软件中引脚绑定的命令。

A.assignments—>device B.processing—>start compilation

C.assignments—>assignment editor D.file—>create/update

33.下列标识符中,_________是不合法的标识符。

A. State0

B. 9moon

C. Not_Ack_0

D. signall

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

A:按顺序完成;B:比变量更快完成;C:在进程的最后完成;D:立即更新。

35 下列关于信号的说法不正确的是

A . 信号相当于器件内部的一个数据暂存节点。

B. 信号的端口模式不必定义,它的数据既可以流进,也可以流出。

C. 在同一进程中,对一个信号多次赋值,其结果只有第一次赋值起作用。

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

36.正确给变量X赋值的语句是()

A. X<=A+B;

B. X:=A+b;

C. X=A+B;

D. 前面的都不正确

37. 在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部

量,()事先声明。

A. 必须

B. 不必

C. 其类型要

D.其属性要

38. 不完整的IF语句,其综合结果可实现()

A. 时序逻辑电路

B. 组合逻辑电路

C. 双向电路

D. 三态控制电路

39.在VHDL中,PROCESS结构内部是由()语句组成的。

A. 顺序

B. 顺序和并行

C. 并行

D.任何

40. 在VHDL中,IF语句中至少应有1个条件句,条件句必须由表达式构成。

A. BIT

B. STD_LOGIC

C. BOOLEAN

D. INTEGER

41. 在VHDL的IEEE标准库中,预定义的标准逻辑数据STD_LOGIC有()种逻辑值。A.2 B. 3 C. 9 D. 8

42. 下列关于CASE语句的说法不正确的是()。

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

B. CASE语句中必须要有WHEN OTHERS=>NULL;语句。

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

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

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

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

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

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

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

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

A. PROCESS为一无限循环语句;

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

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

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

45. 下面哪一个是VHDL中的波形编辑文件的后缀名()。

A. bsf

B. vwf

C. vhd

D. bdf

46.执行quartusII的()命令,可以对设计的电路进行仿真。

A.Creat Default Symbol

B.start Compilation

C.start Simulation

D.Programmer

47.quartusII中编译VHDL源程序时要求。

A.文件名和实体可不同名

B.文件名和实体名无关

C. 文件名和实体名要相同

D. 不确定

48.VHDL运算符优先级的说法正确的是()。

A. NOT的优先级最高

B. AND和NOT属于同一个优先级

C. NOT的优先级最低

D. 前面的说法都是错误的

49.如果a=1,b=0,则逻辑表达式(a AND b) OR( NOT b AND a)的值是()。

A. 0

B. 1

C. 2

D. 不确定

50.执行qusrtusII的()命令,可以为设计电路建立一个元件符号。

A. create symbol files B. simulator C. compiler D. timing analyzer

51.VHDL文本编辑中编译时出现如下的报错信息

Error: Top-level design entity "mux21" is undefined ,其错误原因是。

A. 错将设计文件的后缀写成.tdf 而非.vhd 。

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

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

D. 程序中缺少关键词。

52.在VHDL中,含WAIT语句的进程PROCESS的括弧中 _____ 再加敏感信号,否则是非法的。

A. 可以

B.不能

C. 必须

D. 有时可以

53.VHDL文本编辑中编译时出现如下的报错信息

Error (10500): VHDL syntax error at test.vhd(21) near text "end"; expecting ";"

其错误原因是()。

A. 信号声明缺少分号。

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

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

D. 程序中缺少关键词。

54. 在元件例化语句中,用()符号实现名称映射,将例化元件端口声明语句中的信

号与PORT MAP()中的信号名关联起来。

A. =

B. :=

C. <=

D.=>

55. 在quartusII环境下为图形文件产生一个元件符号的主要作用是()。

A. 综合

B. 编译

C. 仿真

D.被高层次电路设计调用

56. 在VHDL中,用语句(D )表示clock的下降沿。

A. clock?EVENT

B. clock?EVENT AND clock=?1?

C. clock=?0?

D. clock?EVENT AND clock=?0?

57.在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。

A. idata <= “00001111”;

B. idata <= b”0000_1111”;

C. idata <= X”AB”;

D. idata <= B”21”;

58. 请指出Altera Cyclone系列中的EP1C6Q240C8这个器件是属于_ ___

A. ROM

B. CPLD

C. FPGA

D.GAL

59.嵌套的IF语句,其综合结果可实现_____。

A. 条件相与的逻辑

B. 条件相或的逻辑

C. 条件相异或的逻辑

D. 三态控制电路

60. 执行Quartus II的( B )命令,可以检查设计电路错误。

A Create Default Symbol

B start Compilication----编译

C .start Simulation ----时序仿真

D Timing Analyzer ---时序分析

61.关于VHDL中的数字,请找出以下数字中最大的一个:__________。

A.2#1111_1110#

B.8#276#

C.10#170#

D.16#E#E1

62. 关于VHDL中的数字,请找出以下数字中数值最小的一个:__________

A. 2#1111_1110#

B. 8#276#

C. 10#170#

D. 16#E#E1

63. 在VHDL中,语句”FOR I IN 0 TO 7 LOOP ”定义循环次数为_____次。

A. 8

B. 7

C. 0

D.1

64.已知signal a:std_logic_vector(0 to 6);则语句For i in a?range loop定义的循环次数为_____次.

A. 0

B. 7

C.6

D.1

65. 既是并行语句又是串行语句的是( C )

A.变量赋值

B.信号赋值

C.PROCESS语句

D.WHEN…ELSE语句

66. 以下对于进程PROCESS的说法,正确的是:()

A. 进程之间可以通过变量进行通信

B. 进程内部由一组并行语句来描述进程功能

C. 进程语句本身是并行语句

D.一个进程可以同时描述多个时钟信号的同步时序逻辑

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

A. 器件外部特性

B. 器件的综合约束;

C. 器件外部特性与内部功能;

D.器件的内部功能。

名词解释,写出下列缩写的中文(或者英文)含义:

1.VHDL,HDL

2.LUT

3.ASIC

4.SOC

5.VHDL

6.FPGA ,CPLD

7.RTL

8.SOPC

9.JTAG

10.IP

11.LPM

12.UART

13.ISP

14.IEEE

https://www.doczj.com/doc/1d5751244.html,B

16.EDA

17.Synthesis

填空题

1.EDA设计输入形式包括、和。

2. VHDL程序的波形仿真文件后缀为,原理图输入文件的文件后缀名为,VHDL文本程序的后缀名为。

2.在VHDL语法中,一般均用语句在VHDL程序开头部分指明库中的程序包。3.VHDL的数据对象包括、和,它们是用来存放各种类型数据的容器。

4.错误等级类型用来表示系统的状态,共有四种错误等级:_____、_____、_____、_____。5.图形文件设计结束后一定要通过,检查设计文件是否正确。

6.若一个实体中有多个结构体,在综合时可通过_______语句,为实体指定结构体。

7.VHDL实体中端口模式有_____、_____、_____、_____。

8. VHDL设计实体的基本结构由、、、和组成,其中语句不是必需的。

9. 为信号赋初值的符号是;程序中,为变量赋值的符号是,为信号赋值的符号是。

10. 算术运算符“/”、“MOD”、“REM”可综合的分母/底必须是_____的乘方。

11. 元件例化语句中,关联信号表有____关联和____关联以及____关联3种方式。

12. 关键字ARCHITECTURE定义的是____,ENTITY定义的是____

13.在VHDL中,条件信号赋值语句WHEN_ELSE属于____语句,它可等效于顺序语句中的____语句;

14. 在VHDL中,条件信号赋值语句WITH_SELECT_WHEN属于_______语句,它可等效于顺序语句中的_______语句

15. 进程中的变量赋值语句,其信号更新是_________

16. 在VHDL的IEEE标准库中,预定义的数据类型--标准逻辑数据STD_LOGIC有

_________种逻辑值。

17. 在VHDL中的数据类型中,布尔型只有、两种取值。

18.要使用重载运算符“+”,必须加载程序包。

VHDL程序填空

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

LIBRARY IEEE;

USE IEEE. ________________ ALL;

USE IEEE. ________________.ALL;

ENTITY 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 ________________ THEN -- 边沿检测

IF Q1 < 9 THEN

Q1 <= Q1 + 1 ; -- 加1

ELSE _______________________________; -- 置零

END IF;

END IF;

END PROCESS ;

________________

END bhv;

2.下面是带异步复位、同步置数和移位使能的16位左移移位寄存器的VHDL描述,试补充完整。

LIBRARY IEEE;

USE ________________ ALL;

ENTITY SREG16B IS

PORT (CLK, RST : IN STD_LOGIC;

LOAD,EN : IN STD_LOGIC;

DIN : IN __________________________(15 DOWNTO 0);

QB : OUT STD_LOGIC);

END SREG16B;

ARCHITECTURE BEHAV OF SREG16B IS

SIGNAL REG16 : STD_LOGIC_VECTOR( 15 DOWNTO 0);

BEGIN

PROCESS (CLK,LOAD,EN)

BEGIN

IF RST='1' THEN REG16<=_______ ;-------异步复位

ELSIF ______________________ THEN --------下降沿检测

IF LOAD = '1' THEN REG16 <=_______ ; -------同步置数

IF EN='1' ___――移位使能

______________ <= REG16(14 DOWNTO 0) ; -------左移

END IF;

______;

END PROCESS;

QB <= _______; ――输出最高位

END BEHAV;

3.下面程序是参数可定制带计数使能异步复位计数器的VHDL描述,试补充完整。

library ieee;

use IEEE.std_logic_1164.all;

use IEEE.________________.all;

use IEEE.std_logic_arith.all;

entity counter_n is

__________ (width : integer := 8);

port(data : in std_logic_vector (width-1 downto 0);

load, en, clk, rst : ______ std_logic;

q : out std_logic_vector (_____________ downto 0));

end counter_n;

architecture behave of_______________ is

signal count : std_logic_vector (width-1 downto 0);

begin

process(clk, rst)

begin

if rst = '1' then

count <= _______________; ―― 清零elsif _______________________ then ―― 边沿检测if load = '1' then

count <= data;

___________en = '1' then

count <= count + 1;

_____________;

end if;

end process;

________________

end behave;

4. 下面程序是一个10线-4线优先编码器的VHDL描述,试补充完整。LIBRARY __________ ;

USE IEEE._____________________.ALL;

ENTITY coder IS

PORT ( din : IN STD_LOGIC_VECTOR(____________________);

output : __________ STD_LOGIC_VECTOR(3 DOWNTO 0) ); END coder;

ARCHITECTURE behav OF _____________ IS

SIGNAL SIN : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PROCESS (___________)

BEGIN

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

__________________ THEN SIN<= "1000" ;

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

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

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

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

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

ELSIF (din(2)='0') THEN SIN<= "0010" ;

ELSIF (din(1)='0') THEN SIN<= "0001" ;

ELSE _______________ ;

________________

END PROCESS ;

_______________;

END behav;

5. 在下面横线上填上合适的语句,完成8位奇偶校验电路的设计。LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY PC IS

PORT ( A : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

Y : OUT STD_LOGIC );

END PC;

ARCHITECTURE A OF PC IS

BEGIN

PROCESS(A).

V ARIABLE TMP: STD_LOGIC;

BEGIN

TMP'0';

FOR I IN 0 TO 7 LOOP

TMP:=;

END LOOP;

Y<=; END PROCESS; END

VHDL程序改错

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

LIBRARY IEEE; -- 1

USE IEEE.STD_LOGIC_1164.ALL; -- 2 ENTITY LED7SEG IS -- 3 PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);-- 4

CLK : IN STD_LOGIC; -- 5 LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); -- 6 END LED7SEG; -- 7 ARCHITECTURE one OF LED7SEG IS -- 8 SIGNAL TMP : STD_LOGIC; -- 9 BEGIN -- 10 SYNC : PROCESS(CLK, A) -- 11

BEGIN -- 12 IF CLK'EVENT AND CLK = '1' THEN -- 13

TMP <= A; -- 14 END IF; -- 15 END PROCESS; -- 16

OUTLED : PROCESS(TMP) -- 17

BEGIN -- 18 CASE TMP IS -- 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" => LED7S <= "0000111"; -- 27

WHEN "1000" => LED7S <= "1111111"; -- 28

WHEN "1001" => LED7S <= "1101111"; -- 29

END CASE; -- 30 END PROCESS; -- 31 END one; --32

1.在程序中存在两处错误,试指出,并说明理由:

2.修改相应行的程序:

错误1 行号:,错误原因程序改为:

错误2 行号:,错误原因程序改为:

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

1 LIBRARY IEEE;

2 USE IEEE.STD_LOGIC_1164.ALL;

3

4 ENTITY CNT10 IS

5 PORT ( CLK : IN STD_LOGIC ;

6 Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)) ;

7 END CNT10;

8 ARCHITECTURE bhv OF CNT10 IS

9 SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);

10 BEGIN

11 PROCESS (CLK) BEGIN

12 IF RISING_EDGE(CLK) begin

13 IF Q1 < 9 THEN

14 Q1 <= Q1 + 1 ;

15 ELSE

16 Q1 <= (OTHERS => '0');

17 END IF;

18 END IF;

19 END PROCESS ;

20 Q <= Q1;

21 END bhv;

1.在编译时,提示的第一条错误为:

Error: Line 12: File e:\mywork\test\cnt10.vhd: VHDL syntax error: If statement must have THEN, but found BEGIN instead,该如何改正错误?

2.除了上面这一错误,本程序还有一处明显错误,请指出错误的位置行号,并指出如何修改。

3. 本题程序为EDA实验中的示例程序cnt10.vhd,仔细阅读程序,回答问题。

对该程序进行编译时出现错误提示:“Error: Top-level design entity "jsq" is undefined”这是什么原因?如何修改?

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

library ieee; --1

use ieee.std_logic_1164.all; --2

entity schk is --3 port (din, clk, clr : in std_logic; -- 串行输入数据位/工作时钟/复位信号--4 ab : out std_logic_vector(3 downto 0) -- 检测结果输出--5 ); --6

end schk; --7 architecture bhv of schk is --8 signal q : integer range 0 to 8; --9

signal d : std_logic_vector(7 downto 0); -- 8位待检测预置数--10

begin --11

d = "11100101"; -- 8位待检测预置数--12

process (clk, clr) --13

begin --14

if clr = '1' then q<= 0; --15

elsif clk'event and clk = '1' then --16

case q is --17

when 0 => if din = d(7) then q <= 1; else q <= 0; end if; --18

when 1 => if din = d(6) then q <= 2; else q <= 0; end if; --19

when 2 => if din = d(5) then q <= 3; else q <= 0; end if; --20

when 3 => if din = d(4) then q <= 4; else q <= 0; end if; --21

when 4 => if din = d(3) then q <= 5; else q <= 0; end if; --22

when 5 => if din = d(2) then q <= 6; else q <= 0; end if; --23

when 6 => if din = d(1) then q <= 7; else q <= 0; end if; --24

when 7 => if din = d(0) then q <= 8; else q <= 0; end if; --25

when others => q <= 0; --26

end case; --27 end process; --28 process (q) --29

begin --30 if q = 8 then ab <= "1010"; --31

else ab <= "1011"; --32

end if; --33 end process; ---34

end bhv; ---35

在上述程序代码中存在两处错误,编译时出现如下提示,试修改错误:

Error: Line 12: Error (10500): VHDL syntax error at schk.vhd(12) near text "="; expecting "(", or "'", or "."

Error: Line 29: Error (10500): VHDL syntax error at schk.vhd(28) near text "process"; expecting "if"

错误1 行号:,错误原因:程序改为:

错误2 行号:错误原因:程序改为:

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

LIBRARY IEEE; --1

USE IEEE.STD_LOGIC_1164.ALL; --2 USE IEEE.STD_LOGIC_ARITH.ALL; --3 USE IEEE.STD_LOGIC_UNSIGNED.ALL;- -4 ENTITY JSQ IS --5 PORT(R,EN,CP: IN BIT; --6 Q: BUFFER STD_LOGIC_VECTOR(0 DOWNTO 3); --7

CO: OUT STD_LOGIC); --8 END JSQ; --9 ARCHITECTURE C10 OF JSQ --10 BEGIN --11

CO<='1' WHEN(EN='1' AND Q="1011") ELSE --12 '0'; --13 PROCESS(R,CP) --14 BEGIN --15 IF R='1' THEN --16 Q<="0000"; --17 ELSIF (CP'EVENT AND CP<='1') THEN --18 IF EN='0' THEN --19 Q<=Q; --20 ELSIF Q="1011" THEN --21

Q<=?0000?; --22 ELSE --23 Q:=Q+1; --24 END IF; --25 END PROCESS; --26 END ; --27

在上述程序代码中存以下几处错误,试修改错误(如果是缺少语句请指出大致的行数):1. Error (10500): VHDL syntax error at jsq.vhd(22) near text "'"; expecting "(", or an identifier, or unary operator

错误1 行号:错误原因,程序改为:

2. Error (10526): VHDL Signal Assignment Statement error at jsq.vhd(24): Signal Assignment

Statement must use <= to assign value to signal "Q"

错误2 行号:错误原因,程序改为:

3. Error (10500): VHDL syntax error at jsq.vhd(26) near text "PROCESS"; expecting "if"

错误3 行号:错误原因,程序改为:

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

1 LIBRARY IEEE;

2 USE IEEE.STD_LOGIC_1164.ALL;

3 USE IEEE.STD_LOGIC_UNSIGNED.ALL;

4 ENTITY gc IS

5 PORT ( CLK : IN STD_LOGIC

6 Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0))

7 END gc;

8 ARCHITECTURE bhv OF gc IS 9

SIGNAL Q1 : RANGE 0 TO 9; 10 BEGIN

11 PROCESS (clk,Q)

12 BEGIN

13 IF RISING_EDGE(CLK) THEN

14 IF Q1 < "1001" THEN

15 Q1 <= Q1 + 1

16 ELSE

17 Q1 <= (OTHERS => '0');

18 END IF;

19 END IF;

20 END PROCESS

21 Q <= Q1;

22 END bhv;

程序编译时,提示的错误为:

Error: Line 9: File e:\mywork\test\gc.vhd: VHDL syntax error: subtype indication must have resolution function or type mark,but found RANGE instead

Error: Line 11: File e:\mywork\test\gc.vhd: interface Declaration error:can't read port "Q" of mode OUT

请回答问题:在程序中存在两处错误,试指出并修改正确(如果是缺少语句请指出应该插入的行号)

错误1 行号:,错误原因

程序改为:

错误1 行号:,错误原因

程序改为:

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

library ieee; --1

use ieee.std_logic_arith.all; --2

use ieee.std_logic_unsigned.all; --3

entity rom is port( addr: in std_logic_vector(0 to 3); --4

ce: in std_logic; data:out std_logic_vector(7 downto 0) ; ) --5

end rom; --6

architecture behave of rom is --7

begin --8

process(ce,addr) --9

begin --10

if ce='0' then --11

case addr is --12

when "0000"=> data<="10001001"; --13

when "0001"=> data<="10001010"; --14

when "0010"=> data<="10001011"; --15

when "0011"=> data<="10001100"; --16

when "0100"=> data<="10001101"; --17

when "0101"=> data<="10001110"; --18

when "0110"=> data<="10001111"; --19

when "0111"=> data<="10010000"; --20

when "1000"=> data<="10010001"; --21

when "1001"=> data<="10010010"; --22

when "1010"=> data<="10010011"; --23

when "1011"=> data<="10010100"; --24

when "1100"=> data<="10010101"; --25

when "1101"=> data<="10010110"; --26

when "1110"=> data<="10010111"; --27

when others=> data<="10011000"; --28

else data:="00000000"; --29

end if; --30

end process; --31

end behave; --32

在程序中存在4处错误,试指出并修改正确(如果是缺少语句请指出应该插入的行号)错误1 行号:,错误原因

程序改为:

错误2 行号:,错误原因

程序改为:

错误3 行号:,错误原因

程序改为:

错误4 行号:,错误原因

程序改为:

VHDL程序设计:

1.异步清零、同步置1的D触发器,实体名为Dchu;

2.7人表决器的设计;

3.用一位D触发器,利用元件生成语句或者元件例化实现4位串入串出移位寄存器。(1)设计一位D触发器shift_reg1.vhd。

(2)用生成语句或者例化语句实现4位移位寄存器shift_reg4.vhd。

4.用WHEN_ELSE、IF_THEN、CASE、with-select-when语句描绘4选1多路选择器,

其系统模块图和功能表如下。

Library ieee;

Use ieee.std_logic_1164.all;

Entity mux41 is

Port ( A : in std_logic_vector(1 downto 0); -- 选择信号输入

D: in std_logic_vector(3 downto 0); -- 数据输入

Y : out std_logic_vector(1 downto 0) );

End mux41;

5.设计并实现1位计数显示系统。

EDA技术与VHDL程序设计基础教程习题答案

EDA技术与VHDL程序设计基础教程习题答案 第1章EDA习题答案 1.8.1填空 1.EDA的英文全称是Electronic Design Automation 2.EDA技术经历了计算机辅助设计CAD阶段、计算机辅助工程设计CAE阶段、现代电子系统设计自动化EDA阶段三个发展阶段 3. EDA技术的应用可概括为PCB设计、ASIC设计、CPLD/FPGA设计三个方向 4.目前比较流行的主流厂家的EDA软件有Quartus II、ISE、ModelSim、ispLEVER 5.常用的设计输入方式有原理图输入、文本输入、状态机输入 6.常用的硬件描述语言有VHDL、V erilog 7.逻辑综合后生成的网表文件为EDIF 8.布局布线主要完成将综合器生成的网表文件转换成所需的下载文件 9.时序仿真较功能仿真多考虑了器件的物理模型参数 10.常用的第三方EDA工具软件有Synplify/Synplify Pro、Leonardo Spectrum 1.8.2选择 1.EDA技术发展历程的正确描述为(A) A CAD->CAE->EDA B EDA->CAD->CAE C EDA->CAE->CAD D CAE->CAD->EDA 2.Altera的第四代EDA集成开发环境为(C) A Modelsim B MUX+Plus II C Quartus II D ISE 3.下列EDA工具中,支持状态图输入方式的是(B) A Quartus II B ISE C ispDesignEXPERT

D Syplify Pro 4.下列几种仿真中考虑了物理模型参数的仿真是(A) A时序仿真 B 功能仿真 C 行为仿真 D 逻辑仿真 5.下列描述EDA工程设计流程正确的是(C) A输入->综合->布线->下载->仿真 B布线->仿真->下载->输入->综合 C输入->综合->布线->仿真->下载 D输入->仿真->综合->布线->下载 6.下列编程语言中不属于硬件描述语言的是(D) A VHDL B V erilog C ABEL D PHP 1.8.3问答 1.结合本章学习的知识,简述什么是EDA技术?谈谈自己对EDA技术的认识? 答:EDA(Electronic Design Automation)工程是现代电子信息工程领域中一门发展迅速的新技术。 2.简要介绍EDA技术的发展历程? 答:现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。它的成熟主要经历了计算机辅助设计(CAD,Computer Aided Design)、计算机辅助工程设计(CAED,Computer Aided Engineering Design)和电子设计自动化(EDA,Electronic System Design Automation)三个阶段。 3.什么是SOC?什么是SOPC? 答:SOC (System on Chip,片上系统) SOPC(System on a Programmable Chip,片上可编程系统) 4.对目标器件为CPLD/FPGA的VHDL设计,主要有几个步骤?每步的作用和结果分别是什

EDA期末考试考卷及答案

(A卷) 赣南师范学院 2010—2011学年第一学期期末考试试卷(A卷)(闭卷)年级 2008 专业电子科学与技术(本)课程名称 EDA技术基础 2、学生答题前将密封线外的内容填写清楚,答题不得超出密封线; 3、答题请用蓝、黑钢笔或圆珠笔。 一、单项选择题(30分,每题2分) 1.以下关于适配描述错误的是 B A.适配器的功能是将综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件 B.适配所选定的目标器件可以不属于原综合器指定的目标器件系列 C.适配完成后可以利用适配所产生的仿真文件作精确的时序仿真 D.通常,EDAL软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商提供 2.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述 D 。 A.器件外部特性B.器件的综合约束 C.器件外部特性与内部功能D.器件的内部功能 3.下列标识符中, B 是不合法的标识符。 A.State0 B.9moon C.Not_Ack_0 D.signall 4.以下工具中属于FPGA/CPLD集成化开发工具的是 D A.ModelSim B.Synplify Pro C.MATLAB D.QuartusII 5.进程中的变量赋值语句,其变量更新是 A 。 A.立即完成B.按顺序完成 C.在进程的最后完成D.都不对 6.以下关于CASE语句描述中错误的是 A A.CASE语句执行中可以不必选中所列条件名的一条 B.除非所有条件句的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句的选择必须加上最后一句“WHEN OTHERS=><顺序语句>” C.CASE语句中的选择值只能出现一次 D.WHEN条件句中的选择值或标识符所代表的值必须在表达式的取值范围 7.以下哪个程序包是数字系统设计中最重要最常用的程序包 B A.STD_LOGIC_ARITH B.STD_LOGIC_1164 C.STD_LOGIC_UNSIGNED D.STD_LOGIC_SIGNED 8.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→A →综合→适配→时序仿真→编程下载→硬件测试。 A.功能仿真B.逻辑综合C.配置D.引脚锁定 9.不完整的IF语句,其综合结果可实现 D A.三态控制电路B.条件相或的逻辑电路 C.双向控制电路D.时序逻辑电路 10.下列语句中,属于并行语句的是A A.进程语句B.IF语句C.CASE语句D.FOR语句11.综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中, C 是错误的。 A.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件 B.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的 C.综合是纯软件的转换过程,与器件硬件结构无关 D.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束 12.CPLD的可编程是主要基于什么结构 D 。 A.查找表(LUT)B.ROM可编程 C.PAL可编程D.与或阵列可编程 13.以下器件中属于Altera 公司生产的是 B A.ispLSI系列器件B.MAX系列器件 C.XC9500系列器件D.Virtex系列器件 14.在VHDL语言中,下列对时钟边沿检测描述中,错误的是 D A.if clk'event and clk = '1' then B.if clk'stable and not clk = '1' then C.if rising_edge(clk) then D.if not clk'stable and clk = '1' then 15.以下关于状态机的描述中正确的是 B A.Moore型状态机其输出是当前状态和所有输入的函数 B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期C.Mealy型状态机其输出是当前状态的函数

EDA技术实用教程-VHDL版课后答案

第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。 1-2与软件描述语言相比,VHDL有什么特点? P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么? 答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 第二章 2-1 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3 叙述ASIC的设计方法。P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。 2-4 FPGA/CPLD在ASIC设计中有什么用途? P16,18 答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。 2-5 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。 P19~23答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输

EDA期末试卷及答案(2020年九月整理).doc

EDA期末试卷 一、填空题 1.一般把EDA技术的发展分为MOS时代、CMOS 代和ASIC 三个阶段。 2.EDA设计流程包括设计输入、设计实现、实际设计检验和下载编程四个步骤。 3.EDA设计输入主要包括图形输入、HDL文本输入和状态机输入。 4.时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为功能仿真。5.VHDL的数据对象包括变量、常量和信号,它们是用来存放各种类型数据的容器。 6.图形文件设计结束后一定要通过仿真,检查设计文件是否正确。 7.以EDA方式设计实现的电路设计文件,最终可以编程下载 到FPGA 和CPLD 芯片中,完成硬件设计和验证。 8.MAX+PLUS的文本文件类型是(后缀名).VHD 。9.在PC上利用VHDL进行项目设计,不允许在根目 录下进行,必须在根目录为设计建立一个工程目录(即文件夹)。

10.VHDL源程序的文件名应与实体名相同,否则无法通过编译。 二、选择题:。 11.在EDA工具中,能完成在目标系统器件上布局布线软件称为(C )A.仿真器 B.综合 器 C.适配器 D.下载器12.在执行MAX+PLUSⅡ的(D )命令,可以精确分析设计电路输入与输出波形间的延时量。 A .Create default symbol B. Simulator C. Compiler D. Timing Analyzer 13.VHDL常用的库是(A ) A. IEEE B.STD C. WORK D. PACKAGE 14.下面既是并行语句又是串行语句的是( C ) A.变量赋值 B.信号赋值 C.PROCESS语 句 D.WHEN…ELSE语句 15.在VHDL中,用语句(D )表示clock的下降沿。

EDA技术期末试卷(含答案)

班级 学号 姓名 密 封 线 内 不 得 答 题 一、单项选择题(30分) 1.以下描述错误的是 C A .QuartusII 是Altera 提供的FPGA/CPLD 集成开发环境 B .Altera 是世界上最大的可编程逻辑器件供应商之一 C .MAX+plusII 是Altera 前一代FPGA/CPL D 集成开发环境QuartusII 的更新换代新产品 D .QuartusII 完全支持VHDL 、Verilog 的设计流程 2.以下工具中属于FPGA/CPLD 开发工具中的专用综合器的是 B A .ModelSim B .Leonardo Spectrum C .Active HDL D .QuartusII 3.以下器件中属于Xilinx 公司生产的是 C A .ispLSI 系列器件 B .MAX 系列器件 C .XC9500系列器件 D .FLEX 系列器件 4.以下关于信号和变量的描述中错误的是 B A .信号是描述硬件系统的基本数据对象,它的性质类似于连接线 B .信号的定义范围是结构体、进程 C .除了没有方向说明以外,信号与实体的端口概念是一致的 D .在进程中不能将变量列入敏感信号列表中 5.以下关于状态机的描述中正确的是 B A .Moore 型状态机其输出是当前状态和所有输入的函数 B .与Moore 型状态机相比,Mealy 型的输出变化要领先一个时钟周期 C .Mealy 型状态机其输出是当前状态的函数 D .以上都不对 6.下列标识符中, B 是不合法的标识符。 A .PP0 B .END C .Not_Ack D .sig 7.大规模可编程器件主要有FPGA 、CPLD 两类,下列对CPLD 结构与工作原理的描述中,正确的是 C 。 A .CPLD 即是现场可编程逻辑器件的英文简称 B .CPLD 是基于查找表结构的可编程逻辑器件 C .早期的CPL D 是从GAL 的结构扩展而来 D .在Altera 公司生产的器件中,FLEX10K 系列属CPLD 结构 8.综合是EDA 设计流程的关键步骤,在下面对综合的描述中, D 是错误的。 A .综合就是把抽象设计层次中的一种表示转化成另一种表示的过程 B .综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD 的基本结构相映射的网表文件 C .为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束 D .综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的) 9.嵌套使用IF 语句,其综合结果可实现 A 。 A .带优先级且条件相与的逻辑电路 B .条件相或的逻辑电路 C .三态控制电路 D .双向控制电路 10.在VHDL 语言中,下列对时钟边沿检测描述中,错误的是 D 。 A .if clk'event and clk = ‘1’ then B .if falling_edge(clk) then C .if clk’event and clk = ‘0’ then D .if clk’stable and not clk = ‘1’ then 11.下列那个流程是正确的基于EDA 软件的FPGA / CPLD 设计流程 B A .原理图/HDL 文本输入→适配→综合→功能仿真→编程下载→硬件测试 B .原理图/HDL 文本输入→功能仿真→综合→适配→编程下载→硬件测试 C .原理图/HDL 文本输入→功能仿真→综合→编程下载→→适配硬件测试; D .原理图/HDL 文本输入→功能仿真→适配→编程下载→综合→硬件测试 12.在VHDL 语言中,下列对进程(PROCESS )语句的语句结构及语法规则的描述中,正确的是 A 。 A .PROCESS 为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动 B .敏感信号参数表中,应列出进程中使用的所有输入信号 C .进程由说明部分、结构体部分、和敏感信号参数表三部分组成 D .当前进程中声明的变量也可用于其他进程 13.下列语句中,不属于并行语句的是 B A .进程语句 B .CAS E 语句 C .元件例化语句 D .WHEN …ELSE …语句 14.VHDL 语言共支持四种常用库,其中哪种库是用户的VHDL 设计现行工作 库 D A .IEEE 库 B .VITAL 库 C .STD 库 D .WORK 库 15.VHDL 语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述 D 。 A .器件外部特性 B .器件的综合约束 C .器件外部特性与内部功能 D .器件的内部功能 二、EDA 名词解释,写出下列缩写的中文含义(10分) 1.CPLD :复杂可编程逻辑器件 2.ASIC :专用集成电路 3.LUT :查找表 4.EDA :电子设计自动化 5.ROM :只读存储器 三、程序填空题(20分) 以下是一个模为24(0~23)的8421BCD 码加法计数器VHDL 描述,请补充完整

EDA技术与VHDL语言课程设计

EDA技术与VHDL语言课程设计 课程设计 EDA技术与VHDL语言 课程设计报告 班级: 电信11-2班 姓名: 董元伟 学号: 1106110205 指导教师: 李铁 成绩: 电子与信息工程学院 信息与通信工程系 - 2 - 课程设计;数字密码锁 目录 摘 要 ..................................................................... .......................................... - 3 - 一、设计目 的 ..................................................................... ............................ - 4 - 二、设计内容和要 求 ..................................................................... .................. - 4 - 1、用户开 锁 ..................................................................... ......................... - 5 -

2、管理员解除警 报 ..................................................................... .............. - 5 - 3、管理员修改密 码 ..................................................................... .............. - 5 - 4、定时返 回 ..................................................................... ......................... - 6 - 三、设计思路和系统结构...................................................................... ............ - 6 - 1、设计模 块 ..................................................................... ......................... - 6 - 2、系统结构和数字密码锁原理 图 .............................................................. - 7 - 3、设计思 路 ..................................................................... ......................... - 8 - 四、实验设计程序 如 ..................................................................... ................... - 9 - 五、创建测试平台仿真结 果 ..................................................................... ....... - 21 - 参考文

(完整版)EDA期末考试题1

1.一个项目的输入输出端口是定义在( A )1-5 ACDCD 6-10 CCACA A. 实体中;. B. 结构体中; C. 任何位置; D. 进程中。 2. MAXPLUS2中编译VHDL源程序时要求( C ) A. 文件名和实体可以不同名; B. 文件名和实体名无关; C. 文件名和实体名要相同; D. 不确定。 3. VHDL语言中变量定义的位置是(D ) A. 实体中中任何位置; B. 实体中特定位置; C. 结构体中任何位置; D. 结构体中特定位置。 4.可以不必声明而直接引用的数据类型是(C ) A. STD_LOGIC ; B. STD_LOGIC_VECTOR; C. BIT; D. ARRAY。 5. MAXPLUS2不支持的输入方式是(D ) A 文本输入;.B. 原理图输入;C. 波形输入;D. 矢量输入。 6.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是( C ) A. FPGA全称为复杂可编程逻辑器件; B. FPGA是基于乘积项结构的可编程逻辑器件; C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D. 在Altera公司生产的器件中,MAX7000系列属FPGA结构。 7.下面不属于顺序语句的是( C ) A. IF语句; B. LOOP语句; C. PROCESS语句; D. CASE语句。 8. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,实体体描述的是( A ) A. 器件外部特性; B. 器件的内部功能; C. 器件的综合约束; D. 器件外部特性与内部功能。 9. 进程中的信号赋值语句,其信号更新是( C ) A. 按顺序完成; B. 比变量更快完成; C. 在进程的最后完成; D. 都不对。 10. 嵌套使用IF语句,其综合结果可实现:(A ) A. 带优先级且条件相与的逻辑电路; B. 条件相或的逻辑电路; C. 三态控制电路; D. 双向控制电路。 一、单项选择题:(20分) 1. IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述

EDA技术与VHDL语言设计

《EDA技术与VHDL语言设计》 课程设计 题目:交通灯控制器 姓名: ***** 院系:电子信息工程系 专业:电子信息工程 班级:电信112班 学号: ****** 指导教师: ****** 2013年6 月

交通灯控制器 *** (电子信息工程学系指导教师:**) 摘要:传统的交通灯控制器多数由单片机实现,本文介绍基于EDA技术设计交通灯控制器的 一种方案。EDA技术的一个重要特征是使用硬件描述语言来完成系统的设计文件,这在电子 设计领域已得到设计者的广泛采用。给出了交通灯控制器的源程序和仿真结果,仿真结果表明 该设计方案可行。 关键词:交通灯控制器;仿真;设计 1.设计原理 1.1设计要求 设计一个十字路口交通控制器,器示意图如图1.1所示,A方向和B方向歌设红(R)、黄(Y)、 绿(G)、和左拐(L)四盏灯,四种灯按合理的顺序亮灭,并能将灯亮的时间以倒计时的形式显示出来。A方向红、绿、黄、左拐灯亮的时间分别为65s、40s、5s、和15s,B方向红、绿、黄、左拐灯亮的时 间分别为55s、30s、5s、和15s。 1.2功能要求 两个方向各种灯亮的时间能够进行设置和修改,此外假设A方向是主干路,车流大,因此在 表1.2 交通灯控制器的状态 1.3设计思路和原理 根据交通灯控制器要求实现的功能,考虑用两个并行执行的always模块来分别控制A和B两个方向的四盏灯,这两个always模块使用同一个时钟信号,以进行同步。也就是说,两个always模块的敏感信号是同一个,每个模块控制一个方向的四种灯按如下顺序点亮,并往复循环:绿灯→黄灯→左拐灯→黄灯→红灯。 每种灯亮的时间采用一个减法计数器进行计数,计数器用同步预置法设计,这样只需改变计数器的

EDA技术与VHDL基础课后习题答案(供参考)

《EDA技术与VHDL基础》 课后习题答案 第一章EDA技术概述 一、填空题 1、电子设计自动化 2、非常高速集成芯片硬件描述语言 3、CAD、CAE、EDA 4、原理图输入、状态图输入、文本输入 5、VHDL、Verilog HDL 6、硬件特性 二、选择题 1、A 2、C 3、A 4、D 5、C 6、D 7、A 第二章可编程逻辑器件基础 一、填空题 1、PLD 2、Altera公司、Xilinx公司、Lattice公司 3、基于反熔丝编程的FPGA 4、配置芯片 二、选择题 1、D 2、C 3、C 4、D 第三章VHDL程序初步——程序结构 一、填空题 1、结构、行为、功能、接口 2、库和程序包、实体、结构体、配置 3、实体名、类型表、端口表、实体说明部分

4、结构体说明语句、功能语句 5、端口的大小、实体中子元件的数目、实体的定时特性 6、设计库 7、元件、函数 8、进程PROCESS、过程PROCEDURE 9、顺序语句、并行语句 二、选择题 1、D 2、C 3、C 4、B 5、D 6、B 7、A 8、C 三、简答题 2、 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY nand_3in IS PORT(a,b,c:IN STD_LOGIC; y:OUT STD_LOGIC); END; ARCHITECTURE bhv OF nand_3in IS BEGIN y<=NOT(a AND b AND c); END bhv; 5、0000 6、(247) 第四章VHDL基础 一、填空题 1、顺序语句、并行语句 2、跳出本次循环 3、等待、信号发生变化时 4、函数、过程 5、值类属性、函数类属性、信号类属性、数据类型类属性、数据范围类属性 6、程序调试、时序仿真 7、子程序、子程序 二、选择题

EDA期末考试题大全

附带: 一.问答题 1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别? ●信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。信号赋值语句在进程内 或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。 ●信号赋值符号为“<=”变量赋值用“:=”。信号赋值符号用于信号赋值动作,不立即生效。 变量,赋值符号用于变量赋值动作,立即生效。 2进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用? ●进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号 间以“,”号分隔。当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。 3什么是库、程序包、子程序、过程调用和函数调用? ●库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、 调用。子程序由过程和函数组成。在子程序调用过程中,过程能返回多个变量,函数只能返回一个变量。若子程序调用的是一个过程,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。过程调用、函数调用都是子程序调用。 二.改错题 1.已知sel为STD_LOGIC_VECTOR(1 DOWNTO 0)类型的信号,而a、b、c、d、q均为STD_LOGIC类型的 信号,请判断下面给出的CASE语句程序片段:

●CASE sel IS ●WHEN“00”=>q<=a; ●WHEN“01”=>q<=b; ●WHEN“10”=>q<=c; ●WHEN“11”=>q<=d; ●END CASE; ●答案:CASE语句缺“WHEN OTHERS”语句。 2.已知data_in1, data_in2为STD_LOGIC_VECTOR(15 DOWNTO 0) 类型的输入端口,data_out为STD_LOGIC_VECTOR(15 DOWNTO 0)类型的输出端口,add_sub为STD_LOGIC类型的输入端口,请判断下面给出的程序片段: ●LIBRARY IEEE; ●USE IEEE.STD_LOGIC_1164.ALL; ●ENTITY add IS ● PORT(data_in1, data_in2:IN INTEGER; ● data_out:OUT INTEGER); ●END add; ●ARCHTECTURE add_arch OF add IS ●CONSTANT a:INTEGER<=2; ●BEGIN ●data_out<=( data_in1+ data_in2) * a; ●END addsub_arch; 答案:常量声明时赋初值的“<=”符号应改用“:=”符号。 3.已知Q为STD_LOGIC类型的输出端口,请判断下面的程序片段: ●ARCHITECTURE test_arch OF test IS ●BEGIN ●SIGNAL B:STD_LOGIC; ●Q<= B; END test_arch 答案:信号SIGNAL的声明语句应该放在BEGIN语句之前。 4.已知A和Q均为BIT类型的信号,请判断下面的程序片段: ●ARCHITECTURE archtest OF test IS ●BEGIN ●CASE A IS ●WHEN ‘0’=>Q<=‘1’; ●WHEN ‘1’=>Q<=‘0’; ●END CASE; ●END archtest; 答案:CASE语句应该存在于进程PROCESS内。 三.程序设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

EDA技术与VHDL(第2版)习题解答

第3章 VHDL 基础 3-1 如图所示 input output enable buf3s mux21 in0in1output sel 3-2 程序: IF_THEN 语句 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21 S PORT ( s1,s0 : IN STD_LOGIC_VECTOR ; a,b,c,d : IN STD_LOGIC ; y : OUT STD_LOGIC ) ; END ENTITY mux21 ; ARCHITECTURE one OF mux21 IS BEGIN PROCESS ( s0,s1,a,b,c,d ) BEGIN IF s1=?0? AND s0=?0? THEN y<=a ; ELSIF s1=?0? AND s0=?1? THEN y<=b ; ELSIF s1=?1? AND s0=?0? THEN y<=c ; ELSIF s1=?1? AND s0=?1? THEN y<=d ; ELSE y<=NULL ; END IF ; END PROCESS ; END ARCHITECTURE one ; CASE 语句 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21 IS

PORT ( s1,s0 : IN STD_LOGIC_VECTOR ; a,b,c,d : IN STD_LOGIC ; y : OUT STD_LOGIC ) ; END ENTITY mux21 ; ARCHITECTURE two OF mux21 IS SIGNAL s : STD_LOGIC_VECTOR ( 1 DOWNTO 0 ) ; BEGIN s<=s1 & s0 ; PROCESS ( s ) BEGIN CASE s IS WHEN “00” => y<=a ; WHEN “01” => y<=b ; WHEN “10” => y<=c ; WHEN “11” => y<=d ; WHEN OTHERS => NULL ; END CASE ; END PROCESS ; END ARCHITECTURE two ; 3-3 程序: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY MUXK IS PORT ( s0,s1 : IN STD_LOGIC ; a1,a2,a3 : IN STD_LOGIC ; outy : OUT STD_LOGIC ) ; END ENTITY MUXK ; ARCHITECTURE double OF MUXK IS SIGNAL tmp : STD_LOGIC ; --内部连接线 SIGNAL u1_s, u1_a, u1_b, u1_y : STD_LOGIC ; SIGNAL u2_s, u2_a, u2_b, u2_y : STD_LOGIC ; BEGIN p_MUX21A_u1 : PROCESS ( u1_s, u1_a, u1_b, u1_y ) BEGIN

《EDA》试题B答案

2007 至2008学年度第二学期期末考核 《EDA》试题(开卷) 卷号:B 时间:120 分钟 2008 年6 月 专业:电子信息工程学号:姓名: 一填空题(20分) 1、VHDL 2、DEVICE.LIB SYMBOLS.LIB 3、实际零件焊接到电路板时所指示的外观和焊点的位置 4、电子设计自动化电子CAD技术 5、A L T E R A,X I L I N X 6、WAIT 7、电路连接 8、SRAM-BASE 9、2.54mm 300mil 10、元件外观和元件引线端子的图形 二名词解释(20分) 1 PLD/FPGA PLD是可编程逻辑器件(Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。 2.过孔 当需要连接两个层面上的铜膜走线时就需要过孔(Via),过孔 又称为贯孔、沉铜孔和金属化孔。 过孔分为穿透式(Through)、半隐藏式(Blind)和隐藏式(Buried) 3.铜膜线 就是连接两个焊盘的导线,称为Track,一般铜膜线走线在不 同层面取不同的走向,例如顶层走水平线,则底层走垂直线。顶 层和底层走线之间的连接采用过孔(Via)连接。 4 PROM、PAL和PLA PROM:与阵列固定,或阵列可编程,一般用作存储器,其输入为存储器的地址,输出为存储器单元的内容。但输入的数目太大时,器件功耗增加,其局限性大。 PLA:与或阵列均可编程,但是其慢速特性和相对PAL、PROM而高得多的价格妨碍了它被广泛使用。PAL:或阵列固定,与阵列可编程,其第二代产品GAL具有了可电擦写、可重复编程、可设置加密的功能。 5 自顶向下的/自下而上的设计方法 自下而上的设计方法,使用该方法进行硬件设计是从选择具体元器件开始,并用这些元器件进行逻辑电路设计,从而完成系统的硬件设计,然后再将各功能模块连接起来,完成整个系统的硬件设计,自顶向下的设计方法就是从系统的总体要求出发,自顶向下分三个层次对系统硬件进行设计。 第一个层次是行为描述第二个层次是数据流描述第三个层次为逻辑综合

EDA技术与VHDL程序开发基础教程 教学资料第二章

2.8.1填空 1.可编程逻辑器件的英文全称是Programmable Logic Device 2.可编程逻辑器件技术经历了PROM 、PLA、PAL 三个发展阶段 3. CPLD的基本结构包括可编程逻辑阵列块、输入/输出块、互联资源三个部分 4.目前市场份额较大的生产可编程逻辑器件的公司有Altera 、Xillinx 、Lattice 5.根据器件应用技术FPGA可分为基于SRAM编程的FPGA、基于反熔丝编程的FPGA 6. 快速通道/互联通道包括行互连、列互联、逻辑阵列块、逻辑单元 7.常用的的FPGA配置方式为主动串行、主动并行、菊花链 8.实际项目中,实现FPGA的配置常常需要附加一片EPROM 9.球状封装的英文缩写为BGA 10.CPLD/FPGA选型时主要考虑的因素有器件逻辑资源、芯片速度、功耗、封装2.8.2选择 1. 在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是(D) A EPLD B CPLD C FPGA D PAL 2. 在下列可编程逻辑器件中,属于易失性器件的是(D) A EPLD B CPLD C FPGA D PAL 3.下列逻辑部件中不属于Altera公司CPLD的是(A) A通用逻辑块(GLB) B可编程连线阵列(PIA) C输入输出控制(I/O) D逻辑阵列块(LAB) 4.下列逻辑部件中不属于Lattice公司CPLD的是(D) A通用逻辑块(GLB) B全局布线区(GRP) C输出布线区(ORP) D逻辑阵列块(LAB) 5.下列FPGA中不属于Xilinx公司产品的是(D) A XC4000 B Virtex

EDA(FPGA)期末考试试题

这是长期总结的EDA期末考试试题 试题一 1-2与软件描述语言相比,VHDL有什么特点? P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。 (2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。 (3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。 (4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么? 答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 2-1 叙述EDA的FPGA/CPLD设计流程。 P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么? 答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 3-1 OLMC(输出逻辑宏单元)有何功能?说明GAL是怎样实现可编程组合电路与时序电路的。 P34~36 答:OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等。 说明GAL是怎样实现可编程组合电路与时序电路的? 答:GAL(通用阵列逻辑器件)是通过对其中的OLMC(输出逻辑宏单元)的编程和三种模式配置(寄存器模式、复合模式、简单模式),实现组合电路与时序电路设计的。 3-2 什么是基于乘积项的可编程逻辑结构? P33~34,40 答:GAL、CPLD之类都是基于乘积项的可编程结构;即包含有可编程与阵列和固定的或阵列的PAL(可编程阵列逻辑)器件构成。 3-3 什么是基于查找表的可编程逻辑结构? P40~41 答:FPGA(现场可编程门阵列)是基于查找表的可编程逻辑结构。 3-7 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;将基于查找表的可编程逻辑结构的PLD器什归类为FPGA,那么,APEX系列属于什么类型PLD器件? MAX II系列又属于什么类型的PLD器件?为什么? P54~56 答:APEX(Advanced Logic Element Matrix)系列属于FPGA类型PLD器件;编程信息存于SRAM中。MAX II系列属于CPLD类型的PLD器件;编程信息存于EEPROM中。 4-3. 图3-31所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和'1'时,分别有y<='a'和y<='b'。试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX221 IS PORT(a1,a2,a3:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入信号 s0,s1:IN STD_LOGIC; outy:OUT STD_LOGIC);--输出端 END ENTITY; ARCHITECTURE ONE OF MUX221 IS SIGNAL tmp : STD_LOGIC; BEGIN

相关主题
文本预览
相关文档 最新文档