文档库 最新最全的文档下载
当前位置:文档库 › EDA期末试卷

EDA期末试卷

北华航天工业学院2011—2012学年第1 学期

EDA技术与应用课程考试卷(A)

考核形式:闭卷班级:姓名:学号:

题号一二三四五六七八九十十一总分得分

一、单项选择题(共10题,每题2分,共20分)

1.使用QuartusII工具软件实现原理图设计输入,应采用( )方式。

A. 图形编辑

B. 文本编辑

C. 状态图编辑

D. 波形图编辑

2.下列选项中哪种不属于FPGA结构特点的是()。

A.由逻辑功能块排成阵列

B.由固定长度的金属线实现逻辑功能块的连接

C.采用查找表结构的编程方式

D.编程工艺为RAM型

3. 对FLEX器件进行在线配置时,将产生下列哪种文件( )。

A. *.pof

B. *.jed

C. *.tdf

D. *.sof

4.在VHDL的端口声明语句中,用( )声明端口为具有输出并向内部反馈的模式。

A.IN B.OUT

C.INOUT D.BUFFER

5.在下列标识符中,( )是VHDL合法标识符。

A.4h_adde B.h_adde_

C._h_adde D.h_adder

6. 用QuartusI软件实现原理图设计输入文件的扩展名是()。

A. *.bdf

B. *.vhd

C. *.tdf

D. *.sof

7. 在图形编辑口中,基本逻辑门在那个库中( )。

A. Megafunctions

B. others

C. Primitives

D. quartus

8.下列那个选项()不属于用QuartusI软件实现设计的全编译的功能。

A.适配

B. 分析与综合

C. 时序分析

D. 设计仿真

9. QuartusII支持多种仿真输入方法,它支持波形方式输入的向量波形文件的扩展名是()

A. *.vwf

B. * .vec

C. *.tbl

D. *.bdf

10.在VHDL语言中,关于信号和变量的区别,以下说法正确的是()

A.信号和变量都可以在进程外部进行声明

B.信号赋值在进程结束时起作用,而变量赋值是立即起作用

C.信号和变量的赋值符相同

D.信号和变量可以在多个进程中使用

二、填空题(10分)

1.基于可编程器件EDA技术主要包括四大要素,分别为、、、。

2.可编程器件分为和可编程模拟器件。

3.CPLD的基本结构是由、和、三部分组成。4.在VHDL中,使用std_logic和std_logic_vector这两种数据类型时,必须进行如下声明;;

三、简答题(10分)

1. 用QuartusI软件进行层次设计时要注意哪些问题?

2. 为什么在组合电路中容易产生竞争和冒险?

四、判断下面程序是否有错误,如果有,请用下划线画出来,并在相应行的后面加以改正或说明(10分)(共有10处错误)

LIBRARY ieee

USE ieee.std_logic.1164.ALL;

ENTITY decod3_8 IS

PORT(

A, B,C,G1,G2A,G2B: IN STD_LOGIC;

Y: OUT STD_LOGIC.VECTOR(7 DOWNTO 0));

END decoder3_8;

ARCHITECTURE fun OF decoder3_8 IS

SIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0);

BEGIN

Indata:= C&B&A;

encoder: PROCESS (indata; G1, G2A,G2B)

BEGIN

IF (G1='1' AND G2A='0' AND G2B='0') THEN

CASE indata IS

WHEN "000"=>Y<="11111110";

WHEN "001"=>Y<="11111101";

WHEN "010"=>Y<="11111011";

WHEN "011"=>Y<="11110111";

WHEN "100"=>Y<="11101111";

WHEN "101"=>Y<="11011111";

WHEN "110"=>Y<="10111111";

WHEN "111"=>Y<="01111111";

WHEN OTHERS =>Y<="XXXXXXXX";

END ;

ELSE

Y:="11111111";

END IF;

END PROCESS encod;

END fuw;

五、解释程序(18分)

要求:

1.解释程序中右边带有下划线的语句,并将解释写在下划线上(10分)。

2.说明该设计程序的功能。(4分)

3. 在图1所示的仿真图中画出输出端引脚Q和CO的波形(4分)。

Library ieee;

Use ieee.std_logic_1164.all;

Use ieee.std_logic_unsigned.all;

Entity up_down is

Port(clk,rst,en,up: in std_logic;

Q: out std_logic_vector(2 downto 0);

Co: out std_logic);

End;

Architecture a of up_down is

Signal count: std_logic_vector(2 downto 0);

Begin

Process(clk,rst)

Begin

If rst='0' then

Count<=(others=>'0');

Elsif rising_edge(clk) then

If en='1' then

Case up is

When '1' => count<=count+1;

When others =>count<=count-1;

End case;

End if;

End if;

End process;

Q<=count;

Co <='1' when en='1' and ((up='1' and count=7) or (up='0' and count=0)) else '0';

End;

图1

六、实践环节解释(8分)

1. 使用QuartusI软件进行时序分析时,出现如图2所示的对话框,试分别说明对话框上部的6个按钮的作用?(6分)

2. 此设计的时钟最高工作频率是多少?(2分)

图2

七、编程题(24分)

1. 编写一位共阳极七段码管的译码器(10分)

2.图3是一个含有上升沿触发的D触发器的时序电路,请用VHDL语言编写该设计文件。(14分)

图3

JTAG烧录可以用来下载到RAM或者烧录到ROM,但是AS只能烧录到ROM。

你出现的情况是,用JTAG下载的时候其实是烧录在RAM中的,由于FPGA是基于SRAM 结构的,掉电会丢失,但是如果直接烧录到RAM中速度较快。而用AS烧录的时候,是先烧录到ROM中,也就是EPCS芯片中的(EPCS其实是专用串行FLSH存储芯片),然后重新上电,FPGA会自动从EPCS中读取配置数据,将程序下载到RAM中。

所以你出现的情况差异就是在这里。

追问

谢谢你的回答,但我个人觉得烧录到AS与Jtag口效果都是一样的,因为程序是一样的,所以觉得编译效果都应该一样的,难道说ROM和RAM写入同样地编译文件表现得状态不一样?能不能再细细的说明一下!

回答

程序是一样,但是ram的速度比rom快很多。这也是为什么电脑需要内存条和机械硬盘是一样的道理,机械硬盘存取速度慢,内存条其实就是ram,速度快。而嵌入式中一般会用DDR RAM芯片和FLASH,程序存储在flash中,而执行程序在ram中,其目的一样是为了提高速度。

相关文档
相关文档 最新文档