当前位置:文档之家› EDA复习题及部分答案

EDA复习题及部分答案

EDA复习题及部分答案
EDA复习题及部分答案

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

FPGA Field-Programmable Gate Array 现场可编程门阵列

2 VHDL Very-High-Speed Integrated Circuit Hardware Description Language)甚高速集成电路硬件描述语言

3 HDL Hardware Description Language硬件描述语言

5 CPLD Complex Programmable Logic Device复杂可编程逻辑器件

6 PLD Programmable Logic Device 可编程逻辑器件

7 GAL generic array logic通用阵列逻辑

8. LAB Logic Array Block逻辑阵列块

9. CLB Configurable Logic Block 可配置逻辑模块

10 EABEmbedded Array Block 嵌入式阵列块

11SOPC System-on-a-Programmable-Chip 可编程片上系统

12. LUT Look-Up Table 查找表

13. JTAG Joint Test Action Group 联合测试行为组织

14.IP Intellectual Property 知识产

15.ASIC Application Specific Integrated Circuits 专用集成电路

16 .ISP In System Programmable 在系统可编程

17. ICR 在电路可重构

18. RTL寄存器传输

19.EDA电子设计自动化

试题一

一、简答题

第1题:EDA的工程设计流程。

第2题:FPGA和CPLD的开发应用选择应考虑哪些问题?

第3题:从适用范围、进程中的赋值行为特性、赋值语句的语法格式三方面比较?变量?与?信号?。

第4题:(a) 如何描述时钟边沿?(b) VHDL程序代码中的"--"的语义是什么?(c) 若要使用别的设计者的程序包应当怎么做?

二、程序题

第1题:分析下列程序段是否有错,如果有请说明错误原因。

程序段1:

SIGNAL value : INTEGER RANGE 0 TO 15;

SIGNAL out1 : STD_LOGIC ;

CASE value IS

WHEN 0 TO 10 => out1<= '1';

WHEN 10 TO 15 => out1<= '0';当value取十时

END CASE;

程序段2:

ARCHITECTURE bad OF ex IS

SIGNAL a_vect: STD_LOGIC_VECTOR(2 DOWNTO 0);

SIGNAL b_vect: STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

‘0’&a<=b;

END;

程序段3:

IF sel =’1’ THEN

C <= ?01?;

ELSIF John =?100? THEN

C<=?10?;

ELSE c<=?00?;

ELSE C<=?11?;

END IF;

第2题:判断下列VHDL标识符是否合法,如果有误则指出原因。

(1) _Decoder_1;(2) 2FFT;(3) Sig_#N;(4)RyY_RsT_;(5) data_ _BUS;

第3题:下面的赋值语句执行之后矢量a ,b将分别得到什么值?

ARCHITECTURE rtl OF ex IS

SIGNAL a, b: STD_LOGIC_VECTOR (4 downto 0);

SIGNAL c: STD)LOGIC_VECTOR (0 to 2);

BEGIN

a <= (1=>'0', 2=>'1', 4=>'1', others=>b(4));a的第一赋值为’0’,二四位赋值为’1’,其他位(0,3位)赋值为b的第四位0,其结果为10100

b <= (0=>'1', 2=>'0', 3=>'1',others=>c(1)); b的第0三位赋值为’1’,第二位

赋值为‘0’,其他位(1,4位)赋值为c的第一位0,结果为01001

c <= "001";

end;

第4题:对下面的功能写一个实体(Component_A)和一个结构体(rtl), 数据类型全部指定为标准逻辑位。

d_out <= (a_in and b_in) and c_in;

第5题:用TYPE语句定义一个具有16个元素的数组数据类型ST1,数组中的每一个元素的数据类型为标准逻辑位;用SUBTYPE语句定义整数数据类型的一个子集digits,其取值范围约束到0到9。(8分)

第6题:用if语句设计一个元件,下图表示其输入和输出(括号中为其取值),该元件应当有右表所示的行为。

第7题:分析下面程序,简要说明程序运行过程及实现的功能,假设A不等于B。SIGNAL a, b : STD_LOGIC_VECTOR (1 DOWNTO 0); (8分)

SIGNAL a_less_then_b : BOOLEAN;

...

a_less_then_b <= FALSE ;

FOR i IN 1 DOWNTO 0 LOOP

IF (a(i)='1' AND b(i)='0') THEN

a_less_then_b <= FALSE ;

EXIT ;

ELSIF (a(i)='0' AND b(i)='1') THEN

a_less_then_b <= TRUE ;

EXIT;

ELSE NULL;

END IF;

END LOOP;

第8题:从?进程中的信号与变量的赋值不同?来分析下列两个程序例,两个程序综合后各产生了多少个锁存器,说明其原因。

例1:

ENTITY reg1 IS

PORT ( d : in BIT;

Clk : in BIT;

Q : out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

SIGNAL a, b : BIT;

BEGIN

PROCESS (clk)

BEGIN

IF clk='1' AND clk’event THEN

a <= d;

b <= a; q <= b;

END IF;

END PROCESS;

END reg1;

例2:

ENTITY reg1 IS

PORT ( d: in BIT;

clk: in BIT;

q: out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

BEGIN

PROCESS (clk)

VARIABLE a, b : BIT;

BEGIN

IF clk='1' AND clk’event THEN

a := d;

b := a; q <= b;

END IF;

END PROCESS;

END reg1;

第9题:用有限状态机设计一个可复位的序列检测器,当序列检测器连续收到一串二进制码?1101?时,电路输出1,否则输出0。(12分)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.ETD_LOGIC_UNSINGE.ALL;

ENTITY Z1101 IS

PORT(CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END;

ARCHITECTURE BHV OF Z1101 IS

TYPE STATE IS (STO,ST1)

【实验7】用状态机实现序列检测器的设计

1、实验目的:用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。

2、实验原理:序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相

同,则输出1,否则输出0。由于这种检测的关键在于正确码的收到必须是连续的,这

就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新

开始检测。例4描述的电路完成对序列数"11100101"的。当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则仍然输出“B”。

【例4】

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY SCHK IS

PORT( DIN,CLK,CLR : IN STD_LOGIC ; --串行输入数据位/工作时钟/复位信号

AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); --检测结果输出

END SCHK;

ARCHITECTURE behav OF SCHK IS

SIGNAL Q : INTEGER RANGE 0 TO 8 ;

SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0); --8位待检测预置数

BEGIN

D <= "11100101 " ; --8位待检测预置数

PROCESS( CLK, CLR )

BEGIN

IF CLR = '1' THEN Q <= 0 ;

ELSIF CLK'EVENT AND CLK='1' THEN --时钟到来时,判断并处理当前输入的位

CASE Q IS

WHEN 0=> IF DIN = D(7) THEN Q <= 1 ; ELSE Q <= 0 ; END IF ;

WHEN 1=> IF DIN = D(6) THEN Q <= 2 ; ELSE Q <= 0 ; END IF ;

WHEN 2=> IF DIN = D(5) THEN Q <= 3 ; ELSE Q <= 0 ; END IF ;

WHEN 3=> IF DIN = D(4) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ; WHEN 4=> IF DIN = D(3) THEN Q <= 5 ; ELSE Q <= 0 ; END IF ; WHEN 5=> IF DIN = D(2) THEN Q <= 6 ; ELSE Q <= 0 ; END IF ; WHEN 6=> IF DIN = D(1) THEN Q <= 7 ; ELSE Q <= 0 ; END IF ; WHEN 7=> IF DIN = D(0) THEN Q <= 8 ; ELSE Q <= 0 ; END IF ; WHEN OTHERS => Q <= 0 ;

END CASE ;

END IF ;

END PROCESS ;

PROCESS( Q ) --检测结果判断输出

BEGIN

IF Q = 8 THEN AB <= "1010" ; --序列数检测正确,输出“A” ELSE AB <= "1011" ; --序列数检测错误,输出“B” END IF ;

END PROCESS ;

END behav ;

第十题:0000—1101循环

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.ETD_LOGIC_UNSINGE.ALL;

ENTITY Z1101 IS

PORT(CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END;

ARCHITECTURE BHV OF Z1101 IS

SIGNAL Q1: STD_LOGIC_VECTOR(3 DOWNTO 0));

BEGIN

PROCESS(CLK)

BEGIN

IF CLK’EVENT AND CLK=’1’ THEN

IF Q1<1101

THEN Q1<=Q1+1;

ELES Q1<=(OTHER=>’0’;

END IF;

END PROCESS; Q<=Q1;

END BHV

试题二

一、简答题

第1题:EDA技术的主要内容。

第2题:FPGA的配置模式有哪些?

第3题:说明端口模式INOUT和BUFFER有何异同点?

第4题:(a) 数据类型bit在哪个库中定义? (b) 哪个(哪些)库和程序包总是可见的?

二、程序题

第1题:下列程序段是否有错,如果有请说明错误原因。(共9分)

程序段1:(3分)

SIGNAL value : INTEGER RANGE 0 TO 15;

SIGNAL out1 : STD_LOGIC ;

CASE value IS

WHEN 0 => out1<= '1' ;

WHEN 1 => out1<= '0' ; 2到15 值未包括进去

END CASE

程序段2:(3分)

ARCHITECTURE bad OF ex IS

SIGNAL a_vect:STD_LOGIC_VECTOR(2 DOWNTO 0);

SIGNAL b_vect:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

a<=b;

END;

程序段3:

ENTITY case_ex IS

PORT(a: IN STD_LOGIC_VECTOR(4 DOWNTO 0);

q:out STD_LOGIC_VECTOR(2 DOWNTO 0));

END;

ARCHITECTURE rtl OF case_ex IS

BEGIN

P1:PROCESS(a)

BEGIN

CASE a IS

WHEN ?00000? => q <= ?011?;

WHEN ?00001? TO ?11110?=> q<= ?010?;

WHEN OTHERS => q<= ?000?;

END CASE;

END PROCESS;

第2题:判断下列VHDL标识符是否合法,如果有误则指出原因。

(1) return;(2) 3FFT;(3) Sig_*N;(4)ReY_RtT_;(5) Sig_ _BUS;

第3题:下面的赋值语句执行之后矢量a,b 将分别得到什么值?

ARCHITECTURE rtl OF ex IS

SIGNAL a, b: STD_LOGIC_VECTOR (4 downto 0);

SIGNAL c: STD_LOGIC_VECTOR (0 to 2);

BEGIN

a <= (0=>'0', 3=>'1', 4=>'0', others=>b(2));

b <= (1=>'1', 2=>'0', 3=>'0', others=>c(2));

c <= "101";

END;

第4题:对下面的功能写一个实体(Component_B)和一个结构体(rtl),数据类型全部指定为4位位矢。

d_out <= (a_in and b_in) or c_in;

第5题:用TYPE语句定义一个具有8个元素的数组数据类型ST2,数组中的每一个元素的数据类型为位;用SUBTYPE语句定义整数数据类型的一个子集DIGITS,其取值范围约束到0到9。(8分)

第6题:用case语句设计一个元件C1,下图表示其输入和输出(括号中为其取值),该元件应当有右表所示的行为。

第7题:分析下面程序,简要说明程序运行过程。(8分)

...

L1 : FOR cnt_value IN 1 TO 8 LOOP

s1:a(cnt_value) := '0';

NEXT WHEN (b=c);

s2:a(cnt_value + 8 ):= '0';

END LOOP L1;

第8题:从?进程中的信号与变量的赋值不同?来分析下列两个程序例,两个程序综合后各产生了多少个锁存器,说明其原因。

例1:

ENTITY reg1 IS

PORT ( d : in BIT;

Clk : in BIT;

Q : out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

SIGNAL a, b : BIT;

BEGIN

PROCESS (clk)

BEGIN

IF clk='1' AND clk’event THEN

a <= d;

b <= a; q <= b;

END IF;

END PROCESS;

END reg1;

例2:

ENTITY reg1 IS

PORT ( d: in BIT;

clk: in BIT;

q: out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

BEGIN

PROCESS (clk)

VARIABLE a, b : BIT;

BEGIN

IF clk='1' AND clk’event THEN

a := d;

b := a; q <= b;

END IF;

END PROCESS;

END reg1;

第9题:用有限状态机设计一个可复位的序列检测器,当序列检测器连续收到一串二进制码?1001?时,电路输出1,否则输出0。

试题三

一、简答题

第1题:EDA技术的涵义。

第2题:FPGA的配置模式有哪些?

第3题:回答BIT和BOOLEAN数据类型的问题。

(1)解释BIT和BOOLEAN类型的区别。

(2)对于逻辑操作应使用哪种类型?

(3)关系操作的结果为哪种类型?

(4)IF语句测试的表达式是哪种类型?

第4题:(a) 对下面的语句模拟时,信号a的初值是什么?

TYPE mytype IS ('T', 'R', '0', '1');

SIGNAL a: mytype;

(b) 数据类型为BIT的信号,其初值是什么?

(c) 数据类型为STD_LOGIC的信号,其初值是什么?

(d) 是否可以指定一个信号的初值?如果能,如何指定?

二、程序题

第1题:下列程序段是否有错,如果有请说明错误原因。

程序段1:

SIGNAL value : INTEGER RANGE 0 TO 15;

SIGNAL out1 : STD_LOGIC ;

CASE value IS

WHEN 0 TO 10 => out1<= '1';

WHEN 5 TO 15 => out1<= '0';5到十有重叠

END CASE;

程序段2:

ARCHITECTURE rtl OF ex IS

SIGNAL a_vect:STD_LOGIC_VECTOR(4 DOWNTO 0);

SIGNAL b_vect:STD_LOGIC_VECTOR(0 TO 4);

SIGNAL c: STD_LOGIC;

BEGIN

a_vect <=?1101?;

b_vect(4) <=c;

b_vect(0 TO 3)<=a_vect(3 DOWNTO 0);

END;

程序段3:

ENTITY case_ex7 IS

PORT(a,b: IN STD_LOGIC_VECTOR(2 DOWNTO 0);

q:out STD_LOGIC_VECTOR(2 DOWNTO 0));

END;

ARCHITECTURE rtl OF case_ex7 IS

BEGIN

P1:PROCESS(a,b)

BEGIN

CASE a&b IS

WHEN ?000000? =>q<=?011?;

WHEN?001110? =>q<=?010?;

WHEN OTHERS =>q<=?000?;

END CASE;

END PROCESS;

END;

第2题:判断下列VHDL标识符是否合法,如果有误则指出原因。

(1) _CHK_2;(2) NULL;(3) Sig_$NL;(4) 2IIR;(5) SIGN_ _BUS;

第3题:下面的赋值语句执行之后矢量a ,b将分别得到什么值?

ARCHITECTURE rtl OF ex IS

SIGNAL a, b: STD_LOGIC_VECTOR (4 downto 0);

SIGNAL c: STD_LOGIC_VECTOR (0 to 2);

BEGIN

a <= (1=>'1', 2=>'0', 4=>'1', others=>b(2));

b <= (1=>'0', 3=>'1', 4=>'0',others=>c(1));

c <= "010";

END;

第4题:对下面的功能写一个实体(Component_C)和一个结构体(rtl),数据类型全部指定为位。

d_out <= (a_in or b_in) and c_in;

第5题:用TYPE语句定义一个三元素记录类型,记录类型名为RECDATA,元素E1为时间数据类型,元素E2为位数据类型,元素E3为标准逻辑位数据类型。(8分)

第6题:用when-else语句设计一个元件C1,下图表示其输入和输出(括号中为其取值),该元件应当有右表所示的行为。

第7题:分析下面程序,简要说明程序运行过程及实现的功能。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY p_check IS

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

y : OUT STD_LOGIC );

END p_check;

ARCHITECTURE opt OF p_check IS

SIGNAL tmp :STD_LOGIC ;

BEGIN

PROCESS(a)

BEGIN

tmp <='0';

FOR n IN 0 TO 7 LOOP

tmp <= tmp XOR a(n);

END LOOP ;

y <= tmp;

END PROCESS;

END opt;

第8题:从?进程中的信号与变量的赋值不同?来分析下列两个程序例,两个程序综合后各产生了多少个锁存器,说明其原因。(10分)

例1:

ENTITY reg1 IS

PORT ( d : in BIT;

Clk : in BIT;

Q : out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

SIGNAL a, b : BIT;

BEGIN

PROCESS (clk)

BEGIN

IF clk='1' AND clk’event THEN

a <= d;

b <= a; q <= b;

END IF;

END PROCESS;

END reg1;

例2:

ENTITY reg1 IS

PORT ( d: in BIT;

clk: in BIT;

q: out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

BEGIN

PROCESS (clk)

VARIABLE a, b : BIT;

BEGIN

IF clk='1' AND clk’event THEN

a := d;

b := a; q <= b;

END IF;

END PROCESS;

END reg1;

第9题:用有限状态机设计一个可复位的序列检测器,当序列检测器连续收到一串二进制码?1011?时,电路输出1,否则输出0。(12分)

试题四

一、简答题

1、简述EDA技术

2、从EDA设计流程中涉及的主要软件包说明EDA工具由哪些功能模块组成?

3、(a) 如何描述时钟边沿?(b) VHDL程序代码中的"--"的语义是什么?

(c)写出在VHDL中使用库中程序包的语法格式。

4、判断下列VHDL标识符是否合法,如果有误则指出原因。

(1) BEGIN (2) 3BUS (3) BE_%M (4)SIG_R2_ (5) TEST8 (6) CTRL_ _BUS;

二、程序改错题(下列?程序段?是否有错,如果有请说明错误原因)。第1题:SIGNAL value : INTEGER RANGE 0 TO 15;

SIGNAL out1 : STD_LOGIC ;

CASE value IS

WHEN 0 => out1<= '1' ;

WHEN 1 to 5 => out1<= '0' ;

WHEN 7 to 15 => NULL ;

END CASE;

第2题:

ENTITY case_ex IS

PORT(a: IN STD_LOGIC_VECTOR(4 DOWNTO 0);

q:out STD_LOGIC_VECTOR(2 DOWNTO 0));

END;

ARCHITECTURE rtl OF case_ex IS

BEGIN

P1:PROCESS(a)

BEGIN

CASE a IS

WHEN ?00000? => q <= ?011?;

WHEN ?00001? TO ?11110?=> q<= ?010?;

WHEN OTHERS => q<= ?000?;

END CASE;

END PROCESS;

END;

第3题:

IF sel =?11? THEN

IF td =’1’ THEN

C<=?01?;

ELSIF td =’0’ THEN

C<=?10?;

ELSE c<=?00?;

END IF;

END IF;

END IF;

三、程序分析题

1、给出下面的赋值语句执行之后矢量a,b,c的赋值结果

ARCHITECTURE bhv OF testa IS

SIGNAL a, b: STD_LOGIC_VECTOR (4 downto 0);

SIGNAL c: STD_LOGIC_VECTOR (3 downto 0);

SIGNAL d: STD_LOGIC_VECTOR (0 to 2);

BEGIN

a <= (1=>'1', 2=>'0', 3=>'0', others=>b(3));

b <= (0=>'1', 2=>'0', 4=>'0', others=>d(1));

c <= (0=>'1', 2=>'0', others=>a(0));

d <= "010";

END;

2、分别写出运行如下程序后信号c1,c2,c3,c4,c5的赋值。

ARCHITECTURE bhv OF t01 is

TYPE obj IS array(0 to 15) OF BIT;

SIGNAL c1,c2,c3,c4,c5:INTEGER;

BEGIN

c1<= obj'right;

c2<= obj'left;

c3<= obj'high;

c4<= obj'low;

c5<= obj'length;

END;

3、根据如下程序完成给定时刻下sum1,sum2的赋值,将结果填入下表中(初始时刻赋值表中已给出)。

SIGNAL sum1,sum2:INTEGER;

BEGIN

WAIT FOR 10ns;

sum1<=sum1+2;

sum2<=sum1+2;

end process;

四、程序设计题

1、给出如图所示的实体描述(数据类型为STD_LOGIC_vector)

2、用VHDL编写一个带并行置位的8位右移移位寄存器。

3、试用两个进程的有限状态机设计一个?1001?序列检测器,当序列检测器连续收到一串二进制码?1001?时,检测器输出1,否则输出0。

4、设计一个程序包,在该程序包中定义1个函数max,函数min返回两个数a与b的最小值,要求在相同的函数max中定义的操作数具有?STD_LOGIC_VECTOR?和?INTEGER?两种数据类型。(12分)

试题五

一、简答题(共24分,每小题6分)

1、试比较VHDL综合器与软件程序编译器

2、简述FPGA/CPLD的开发流程

3、说明端口模式INOUT和BUFFER有何异同点?

4、判断下列VHDL标识符是否合法,如果有误则指出原因。

(1) _DCM_1; (2) 3AND2; (3) M2@M; (4)KEY_1_; (5) EER2 (6) TIME_ _BUS

二、程序改错题(下列?程序段?是否有错,如果有请说明错误原因)。第1题:SIGNAL td : INTEGER RANGE 0 TO 15;

SIGNAL dd : STD_LOGIC ;

CASE td IS

WHEN 0 TO 9 => dd<= '1';

WHEN 9 TO 15 => dd<= '0';

END CASE;

第2题:

IF sel =?01? THEN

C <= ?01?;

IF sel =?10? THEN

C<=?10?;

ELSE c<=?00?;

END IF;

第3题:

ARCHITECTURE bad OF ex IS

SIGNAL a:BIT_VECTOR(2 DOWNTO 0);

SIGNAL b:BIT_LOGIC_VECTOR(2 DOWNTO 1);

BEGIN

a<=b;

END;

三、程序分析题

1、下面的赋值语句执行之后矢量a ,b,c将分别得到什么值?

ARCHITECTURE bhv OF testa IS

SIGNAL a, b: STD_LOGIC_VECTOR (4 downto 0);

SIGNAL c: STD_LOGIC_VECTOR (3 downto 0);

SIGNAL d: STD_LOGIC_VECTOR (0 to 2);

BEGIN

a <= (0=>'0', 1=>'1', 3=>'0', others=>b(3));

b <= (0=>'1', 2=>'0', 4=>'0', others=>d(0));

c <= (1=>'1', 2=>'0', others=>a(4));

d <= "011";

END;

2、分别写出运行如下程序后信号c1,c2,c3,c4,c5的赋值。

ARCHITECTURE bhv OF t01 is

TYPE obj IS array(7 downto 0) OF BIT;

SIGNAL c1,c2,c3,c4,c5:INTEGER;

BEGIN

c1<= obj'right;

c2<= obj'left;

c3<= obj'high;

c4<= obj'low;

c5<= obj'length;

END;

3、根据如下程序完成给定时刻下sum1,sum2的赋值,将结果填入下表中(初始时刻赋值表中已给出)。

PORCESS

VARIABLE sum1,sum2:INTEGER;

WAIT FOR 10ns;

sum1:=sum1+1;

sum2:=sum1+1;

end process;

四、程序设计题

1、给出如图所示的实体描述(数据类型为BIT_LOGIC)

2、用VHDL编写一个带异步复位的十进制计数器。

3、试用两个进程的有限状态机设计一个?1101?序列检测器,当序列检测器连续收到一串二进制码?1101?时,检测器输出1,否则输出0。

4、设计一个程序包,在该程序包中定义1个函数sum,函数sum返回两个数a与b的和,要求在相同的函数sum中定义的操作数具有?STD_LOGIC_VECTOR?和?INTEGER?两种

数据类型。(12分)

试题六

一、简答题

1、简述VHDL语言

2、目前常见的大规模可编程逻辑器件的编程工艺有哪几种?

3、回答BIT和BOOLEAN数据类型的问题。(1)说明BIT和BOOLEAN类型在取值上的区别。(2)对于逻辑操作应使用哪种类型?(3)IF语句测试的表达式是哪种类型?

4、判断下列VHDL标识符是否合法,如果有误则指出原因。

(1) _TER_ (2) OR (3) DEF_%A (4) 2FIR (5)SUM_2 (6) SIN_ _BUS

二、程序改错题(下列?程序段?是否有错,如果有请说明错误原因)。第1题:SIGNAL SIN : INTEGER RANGE 0 TO 15;

SIGNAL S_out : STD_LOGIC ;

CASE SIN IS

WHEN 0 TO 2 => S_out <= '0';

WHEN 4 TO 15 => S_out <= '1';

END CASE;

第2题:

ARCHITECTURE bhv OF ex IS

SIGNAL a:STD_LOGIC_VECTOR(4 DOWNTO 0);

SIGNAL b:STD_LOGIC_VECTOR(0 TO 4);

SIGNAL c: STD_LOGIC;

BEGIN

a <=?1101?;

b (4) <=c;

b (0 TO 3)<=a (3 DOWNTO 0);

END;

第3题:

IF a =’1’ THEN

C <= ?111?;

ELSIF b =?100? THEN

C<=?110?;

ELSE c<=?010?;

END IF;

END IF;

三、程序分析题

1、下面的赋值语句执行之后矢量a,b,c 将分别得到什么值?

ARCHITECTURE bhv OF testa IS

SIGNAL a, b: STD_LOGIC_VECTOR (4 downto 0);

SIGNAL c: STD_LOGIC_VECTOR (3 downto 0);

SIGNAL d: STD_LOGIC_VECTOR (2 downto 0);

EDA技术试验问答题答案(基本包含)

第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系?FPGA/CPLD在ASIC设计中有什么用途? 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。FPGA/CPLD在ASIC设计中,属于可编程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核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 1-6 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。

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期末试卷及答案(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期末考试题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技术期末试卷含答案资料

精品文档 一、单项选择题(30分)9.嵌套使用IF语句,其综合结果可实现 A 。A.带优先级且条件相与的逻辑电路1.以下描述错误的是 C B.条 件相或的逻辑电路 C.三态控制电路是A.QuartusIIAltera提供的FPGA/CPLD集成开发环境D.双向控制电路 10.在VHDLAlteraB.是世界上最大的可编程逻辑器件供应商之一语言中,下列对时钟边沿检测描述中,错误的是 D 。 A.if clk'event and clk = ‘1' then B.if falling_edge(clk) then 前一代C.MAX+plusII是AlteraFPGA/CPLD集成开发环境QuartusII的更 C.if clk'event and clk = ‘0' then 新换代新产品D.if clk'stable and not clk = ‘1' then 11.下列那个流程是正确的基于.DQuartusII完全支持VHDL、Verilog的设计流程EDA软件的FPGA / CPLD设计流程 B A.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试开发工具中的专用综合器的是2.以下工具中属于FPGA/CPLD B B.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试 C .Active HDL D.QuartusII Leonardo Spectrum .AModelSim B.C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;.3以下器件中属于Xilinx 公司生产的是 C /HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试 D.BMAX系列器件.原理图A.ispLSI系列器件 )语句的语句结构及语法规则语言中,下列对进程(PROCESS系列器件 C.XC9500系列器件D.FLEX 12.在VHDL 。A 的描述中,正确的是以下关于信号和变量的描述中错误的是4. B 为一无限循环语句;敏感信号发生更新时启动进程,执行完..信号是描述硬件系统的基本数据对象,它的性质类似于连接线PROCESSAA .信号的定义范围是结构体、进程B 成后,等待下一次进程启动C.除了没有方向说明以外,信号与实体的端口概念是一致的B.敏感信号参数表中,应列出进程中使用的所有输入信号CD.在进程中不能将变量列入敏感信号列表中.进程由说明部分、结构体部分、和敏感信号参数表三部分组成D.当前进程中声明的变量也可用于其他进程以下关于状态机的描述中正确的是5. B B MooreA.型状态机其输出是当前状态和所有输入的函数13.下列语句中,不属于并行语句的是 语句B.CASE 型的输出变化要领先一个时钟周期型状态机相比,.与BMooreMealy A.进程语句 …语句…ELSE D.WHEN .元件例化语句MealyC.型状态机其输出是当前状态的函数 C 设计现行工作VHDL语言共支持四种常用库,其中哪种库是用户的14.以上都不对D .VHDL B 下列标识符中,.库是不合法的标识符。6 END BPP0 A...D .CNot_Ack sig D

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期末考试题大全

附带: 一.问答题 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》试题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试题及答案,推荐文档

2013年电子系统设计考试试题--考试时间21号56节--公共409 一、填空题 1. Verilog的基本设计单元是模块。它是由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。 2. 用assign描述的语句我们一般称之为组合逻辑,并且它们是属于并行语句,即于语句的书写次序无关。而用always描述的语句我们一般称之为组合逻辑或时序逻辑,并且它们是属于串行语句,即于语句的书写有关。 3.在case语句中至少要有一条default语句. 4. 已知x=4’b1001,y=4’0110,则x的4位补码为4’b1111,而y的4位的补码为4’b0110 . 5. 两个进程之间是并行语句。而在Always中的语句则是顺序语句。 二、简答题 1. 怎样理解在进程语句中,阻塞语句没有延迟这句话? 答:这是因为在进程语句中,有阻塞语句和非阻塞语句这两种,非阻塞语句是有延迟的,而阻塞语句也是有延迟的,这是因为因果系统都有延迟,只是阻塞语句的延迟比非阻塞语句的延迟小于若干个数量级,因此可视为没有延迟。 2.在进程中什么情况下综合为时序电路?什么情况下综合为组合电路? 答:在进程中,只有当敏感信号是边沿触发(即上升沿或下降沿)时,此时综合为时序电路;而在进程中只有当敏感信号是电平沿触发时,此时综合为组合电路。 3.为什么在Verilog语言中,其综合只支持次数确定的循环,而不支持次数不确定的循环? 答:这是因为,在Verilog语言中,它是为电路设计而设计的一门语言,它与高级语言不同,若循环的次数不确定,则会带来不确定的延迟,而这在电路中是不允许存在的,故综合只能支持次数确定的循环,即对于一个具体的芯片,其延迟只是一个定值。 4.Verilog HDL语言进行电路设计方法有哪几种? 答:①自上而下的设计方法(Top-down);②自下而上的设计方法(Bottom-Up) ③综合设计的方法。 5.specparam语句和parameter语句在参数说明方面不同之处是什么? 答:1.specparam语句只能在延时的格式说明块(specify)中出现,而parameter语句则不能再延时说明块内出现。 2.由specparam语句进行定义的参数只能是延时参数,而由parameter语句定义的参数可以是任何数据类型的参数。 3.由specparam语句定义的延时参数只能在延时说明块内使用,而由parameter语句定义的参数则可以在模块内(该parameter语句之后)的任何位置说明。 三、选择题: 1、下列标示符哪些是合法的(B) A、$time B、_date C、8sum D、mux# 2、如果线网类型变量说明后未赋值,起缺省值是(D) A、x B、1 C、0 D、z 3、现网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是(A) A、4’b1101 B、4’b0011 C、4’bxx11 D、4’bzz11 4、reg[7:0] mema[255:0]正确的赋值是(A) A、mema[5]=3’ d0, B、8’ d0; C、1’ b1; D、mema[5][3:0]=4’ d1 5、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D) module code(x,y); module top; paramee delay1=1,delay2=1; …………….

(完整版)EDA技术考试试题B及详细答案

《EDA技术》第二学期期末试题B 卷号:B 时间:120 分钟2008 年6 月 专业:电子信息工程学号:姓名: 一、填空题(20分,每题2分) 当前ASIC制造商都自己开发了HDL语言,但是都不通用,只有美国国防部开发的()语言成为了IEEE. STD_1076标准,并在全世界得到了承认。 载入protel的Schematic中的()和()可满足一般用户需求,两个零件库中含有二极管、三极管、电阻、电容、电感等常用元件。 零件封装是指()。 EDA技术也称(),是在( )技术的基础上发展起来的计算机软件系统。 目前世界上有十几家生产CPLD/FPGA的公司,最大的三家是:(),( ),LATTIC 。 顺序描述语句中,()在MAX-PLUS中不被支持。 VHDL语句中能被赋予一定值的对象称为客体,主要有常数,信号和变量。其中常数对应代表数字电路中的电源和接地等。信号对应物理设计中的()。 FPGA可分为两大类,分别是SRAM-BASE和Anti-Fuse 设计时一般选用()。100mil=()mm,7.62mm=( )mil。 PCB封装元件实际上就是()。 二、名词解释题(20分,每题4分) 1 PLD/FPGA 2.过孔 3.铜膜线 4 PROM、PAL和PLA 5 自顶向下的/自下而上的设计方法 三、选择题(15分,每题3分) 1.下列常用热键具有在元件浮动状态时,编辑元件属性功能的是() PgUp Tab Space bar Esc 2.Design/Options菜单中下列选项不属于开关选项的是:() A.Snap Grid B.Hidden Pins C.Electrical Grid D.Title block 3.下列不属于VHDL基本程序结构是() A..CONFIGURATION定义区 B..ARCHITECTURE定义区 C.USE定义区 D.ENTITY定义区 4.下列关于VHDL中信号说法不正确的是:()

EDA考试题目+答案

简答: 1.VHDL中变量与信号的主要区别 一、变量是一个局部量,只能在进程和子程序,无延时,立即发生,主要作用是在进程中作为临时的数据存储单元。 从VHDL语句功能和行为仿真来看,信号与变量的差异主要表现在接受信息的方式和信息保持与传递的区域大小上。 (1)如:信号可以设置传输延迟量,而变量则不能; (2)如:信号可作为模块间的信息载体,如在结构体中个进程间传递信息;变量只能作为局部的信息载体,如只能在所定义的进程中有效。 (3) 变量的设置有时只是一种过渡,最后的信息传输和界面间的通信都是靠信号来完成综合后的信号将对应更多的硬件结构。 2.ASIC、FPGA、EDA、ISP的含义 ASIC:专用集成电路FPGA:可编程逻辑器件EDA:电子设计自动化ISP:因特网服务提供商 3.常用的库的名称(IEEE STD WORK VITAL) 5.进程语句的特点 (1)进程与进程,或其它并行语句之间的并行性,体现硬件电路并行运行特征。 (2)进程内部的顺序语句具有顺序与并行双重性。顺序行为体现硬件的逻辑功能,并行行为体现硬件特征。 进程内部使用顺序语句,对一个系统进行算法、行为和逻辑功能进行描述,可以具有高抽象性的特点,可以与具体的硬件没有关联。 这种顺序仅是指语句执行上的顺序(针对于HDL的行为仿真),并不意味着PROCESS语句在综合后所对应的硬件逻辑行为也同样具有顺序性。

VHDL程序无法进行诸如软件语言那样的“单步”调试,因为整个程序是一个整体,不能割裂每一句,只能通过仿真波形来了解程序的问题。 (3)进程有启动与挂起两种状态。 (4)进程与进程,或其它并行语句之间通过信号交流。 (5)时序电路必须由进程中的顺序语句描述,而此顺序语句必须由不完整的条件语句构成。推荐在一个进程中只描述针对同一时钟的同步时序逻辑,而异步时序逻辑或多时钟逻辑必须由多个进程来表达。 6.实体定义时端口方向OUT与BUFFER有何不同? OUT:输出端口。定义的通道为单向输出(写)模式,即通过此端口只能将实体内的数据流向外部。 BUFFER:缓冲端口。其功能与INOUT类似,区别在于当需要输入数据时,只允许内部回读输出的信号,即允许反馈。 如:在计数器的设计中,将计数器输出的计数信号回读,作为下一次计数的初值。 与OUT模式相比,BUFFER回读信号不是由外部输入的,而是由内部产生、向外输出信号。 即OUT结构体内部不能再使用,BUFFER结构体内部可再使用。

EDA试题库

EDA试题库建设 [70%基础题,20%中档题,10%提高题(试题容量:20套试卷,其中每套试题填空题10空(每空2分),选择题10题(每题2分)),简答题4题(每题5分),分析题2题(每题10分),设计题2题(每题10分)。] 基础题部分 填空题(140空) 1.一般把EDA技术的发展分为(CAD)、(CAE)和(EDA)三个阶段。 2.EDA设计流程包括(设计准备)、(设计输入)、(设计处理)和(器件编程)四个步骤。 3.时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为(功能仿真)。4.VHDL的数据对象包括(变量)、(常量)和(信号),它们是用来存放各种类型数据的容器。 5.图形文件设计结束后一定要通过(仿真),检查设计文件是否正确。 6.以EDA方式设计实现的电路设计文件,最终可以编程下载到(FPGA)或者(CPLD)芯片中,完成硬件设计和验证。7.MAX+PLUS的文本文件类型是(.VHD)。 8.在PC上利用VHDL进行项目设计,不允许在(根目录)下进行,必须在根目录为设计建立一个工程目录。9.VHDL源程序的文件名应与(实体名)相同,否则无法通过编译。 10.常用EDA 的设计输入方式包括(文本输入方式)、(图形输入方式)、(波形输入方式)。 11.在VHDL 程序中,(实体)和(结构体)是两个必须的基本部分。 12.将硬件描述语言转化为硬件电路的重要工具软件称为(HDL 综合器)。 13、VHDL 的数据对象分为(常量)、(变量)和(信号)3 类。 14、VHDL 的操作符包括(算术运算符)和(符号运算符)。 15、常用硬件描述语言有(Verilog HDL)、(AHDL)以及(VHDL)。 16、VHDL基本语句有(顺序语句)、(并行语句)和属性自定义语句。 17、VHDL 同或逻辑操作符是(XNOR)。 18、原理图文件类型后缀名是(.GDF),Verilog HDL语言文本文件类型的后缀名是(.V )。 19、十六进制数16#E#E1对应的十进制数值是(224)。 20、一个完整的VHDL程序应包含三个基本部分,即库文件说明、(程序包应用说明)和(实体和结构体说明)。 21、VHDL 不等于关系运算符是(/= )。 22、STD_LOGIC_1164程序包是(IEEE )库中最常用的程序包。 23.文本输入是指采用(硬件描述语言)进行电路设计的方式。 24.当前最流行的并成为IEEE标准的硬件描述语言包括(vhdl)和(verilog)。 25.采用PLD进行的数字系统设计,是基于(芯片)的设计或称之为(自底向上)的设计。26.硬件描述语言HDL给PLD和数字系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为(自顶向下)的设计法。 27.EDA工具大致可以分为(设计输入编辑器)、(仿真器)、(hdl综合器)、(适配器)以及(下载器)等5个模块。 28.将硬件描述语言转化为硬件电路的重要工具软件称为(综合器)。 29.用MAX+plusII输入法设计的文件不能直接保存在(根目录)上,因此设计者在进入设计之前,应当在计算机中建立保存设计文件的(工程)。 30.若在MAX+plusII集成环境下,执行原理图输入设计方法,应选择(block diagram/Schematic)命令方式。

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

一、单项选择题(30分) 1.以下描述错误的是 C A.QuartusII是Altera提供的FPGA/CPLD集成开发环境 B.Altera是世界上最大的可编程逻辑器件供应商之一 C.MAX+plusII是Altera前一代FPGA/CPLD集成开发环境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.早期的CPLD是从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.CASE语句 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(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

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