高校EDA课程必考复习资料.docx
《高校EDA课程必考复习资料.docx》由会员分享,可在线阅读,更多相关《高校EDA课程必考复习资料.docx(11页珍藏版)》请在冰豆网上搜索。
高校EDA课程必考复习资料
一、填空题(本大题共10小题,每空1分,共20分)
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.Createdefaultsymbol 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的下降沿。
A.clock’EVENT B.clock’EVENT AND clock=’1’
C.clock=’0’ D.clock’EVENT AND clock=’0’
VHDL和FPGA:
超高速硬件描述语言 现场可编程门阵列
杭州电子科技大学2004年EDA技术与VHD学生考试卷答案
考试课程 EDA技术与VHDL 考试日期 2005年 月 日 成绩 参考答卷
课程号 教师号 任课教师姓名
考生姓名 学号(8位) 年级 专业
一、单项选择题:
(20分)
1. IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__________。
A
A.软IP B.固IP C.硬IP D.都不是
2. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,_________是错误的。
D
A. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;
B. 综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;
C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;
D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。
3. 大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是__C__。
A. FPGA是基于乘积项结构的可编程逻辑器件;
B. FPGA是全称为复杂可编程逻辑器件;
C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置;
D. 在Altera公司生产的器件中,MAX7000系列属FPGA结构。
4. 进程中的变量赋值语句,其变量更新是_________。
A
A. 立即完成;
B. 按顺序完成;
C. 在进程的最后完成;
D. 都不对。
5. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___________。
D
A. 器件外部特性;
B. 器件的综合约束;
C. 器件外部特性与内部功能;
D. 器件的内部功能。
6. 不完整的IF语句,其综合结果可实现________。
A
A.时序逻辑电路 B.组合逻辑电路
C.双向电路 D.三态控制电路
7. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化_________。
B
①流水线设计 ②资源共享 ③逻辑优化 ④串行化 ⑤寄存器配平 ⑥关键路径法
A.①③⑤ B.②③④
C.②⑤⑥ D.①④⑥
8. 下列标识符中,__________是不合法的标识符。
B
A.State0 B.9moon C.Not_Ack_0 D.signall
9. 关于VHDL中的数字,请找出以下数字中最大的一个:
__________。
A
A. 2#1111_1110#
B. 8#276#
C. 10#170#
D. 16#E#E1
10.下列EDA软件中,哪一个不具有逻辑综合功能:
________。
B
A. Max+PlusII
B. ModelSim
C. QuartusII
D. Synplify
第1页 共5页
二、EDA名词解释,写出下列缩写的中文(或者英文)含义:
(10分)
1. VHDL超高速集成电路硬件描述语言
2. FPGA现场可编程门阵列
3. RTL 寄存器传输级
4. SOPC可编程片上系统
5. EAB嵌入式阵列块
三、VHDL程序填空:
(10分)
下面程序是参数可定制带计数使能异步复位计数器的VHDL描述,试补充完整。
--N-bitUpCounterwithLoad,CountEnable,and
--AsynchronousReset
libraryieee;
useIEEE.std_logic_1164.all;
useIEEE.std_logic_unsigned.all;
useIEEE.std_logic_arith.all;
entitycounter_nis
generic (width:
integer:
=8);
port(data:
instd_logic_vector(width-1downto0);
load,en,clk,rst:
in std_logic;
q:
outstd_logic_vector(width-1downto0));
endcounter_n;
architecturebehaveofcounteris
signalcount:
std_logic_vector(width-1downto0);
begin
process(clk,rst)
begin
ifrst='1'then
count<=(others=>‘0’); ――清零
elsifclk’eventandclk=‘1’then ――边沿检测
ifload='1'then
count<=data;
elsifen='1'then
count<=count+1;
endif;
endif;
endprocess;
q<=count;
endbehave;
四、VHDL程序改错:
(10分)
仔细阅读下列程序,回答问题
1 LIBRARYIEEE;
2 USEIEEE.STD_LOGIC_1164.ALL;
3
4 ENTITYCNT10IS
5 PORT(CLK:
INSTD_LOGIC;
6 Q :
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
7 ENDCNT10;
8 ARCHITECTUREbhvOFCNT10IS
9 SIGNALQ1:
STD_LOGIC_VECTOR(3DOWNTO0);
10 BEGIN
11 PROCESS(CLK)BEGIN
12 IFRISING_EDGE(CLK)begin
13 IFQ1<9THEN
14 Q1<=Q1+1;
15 ELSE
16 Q1<=(OTHERS=>'0');
17 ENDIF;
18 ENDIF;
19 ENDPROCESS;
20 Q<=Q1;
21 ENDbhv;
1.在MAX+PlusII中编译时,提示的第一条错误为:
Error:
Line12:
Filee:
\mywork\test\cnt10.vhd:
VHDLsyntaxerror:
IfstatementmusthaveTHEN,butfoundBEGINinstead
指出并修改相应行的程序(如果是缺少语句请指出大致的行数):
错误1 行号:
12 程序改为:
IFRISING_EDGE(CLK)THEN
错误2 行号:
3 程序改为:
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
12行if语句配套关键字是then而非begin
3行程序中使用了+号重载函数,应包含使用对应程序包ieee.std_logic_unsigned.all
2.若编译时出现如下错误,请分析原因。
当前编译的程序文件没有放在指定文件夹内,所以系统找不到WORK工作库。
第2页 共5页
五、VHDL程序设计:
(15分)
设计一数据选择器MUX,其系统模块图和功能表如下图所示。
试采用下面三种方式中的两种来描述该数据选择器MUX的结构体。
(a)用if语句。
(b)用case语句。
(c)用whenelse语句。
Libraryieee;
Useieee.std_logic_1164.all;
Entitymymuxis
Port( sel:
instd_logic_vector(1downto0); --选择信号输入
Ain,Bin:
instd_logic_vector(1downto0); --数据输入
Cout:
outstd_logic_vector(1downto0));
Endmymux;
Architectureoneofmymuxis
Begin
Process(sel,ain,bin)
Begin
Ifsel=“00”thencout<=ainorbin;
Elsifsel=“01”thencout<=ainxorbin;
Elsifsel=“10”thencout<=ainandbin;
Elsecout<=ainnorbin;
Endif;
Endprocess;
Endone;
Architecturetwoofmymuxis
Begin
Process(sel,ain,bin)
Begin
Caseselis
when“00”=>cout<=ainorbin;
when“01”=>cout<=ainxorbin;
when“10”=>cout<=ainandbin;
whenothers=>cout<=ainnorbin;
Endcase;
Endprocess;
Endtwo;
Architecturethreeofmymuxis
Begin
Cout<=ainorbinwhensel=“00”else
Ainxorbinwhensel=“01”else
Ainandbinwhensel=“10”elseainnorbin;
Endthree;
六、根据原理图写出相应的VHDL程序:
(15分)
Libraryieee;
Useieee.std_logic_1164.all;
Entitymyciris
Port(din,clk:
instd_logic;
Qout :
outstd_logic);
Endmycir;
Architecturebehaveofmyciris
Signala,b,c;
Begin
Qout<=cnand(axorb);
Process(clk)
Begin
Ifclk’eventandclk=‘1’then
A<=din;
B<=A;
C<=B;
Endif;
Endprocess;
Endbehave;
第3页 共5页
七、综合题:
(20分)
(一)已知状态机状态图如图a所示;完成下列各题:
图a状态图
图b状态机结构图
1. 试判断该状态机类型,并说明理由。
该状态机为moore型状态机,输出数据outa和输入ina没有直接逻辑关系,outa是时钟clk的同步时序逻辑。
2. 根据状态图,写出对应于结构图b,分别由主控组合进程和主控时序进程组成的VHDL有限状态机描述。
Libraryieee;
Useieee.std_logic_1164.all;
Entitymoorebis
Port(clk,reset:
instd_logic;
Ina:
instd_logic_vector(1downto0);
Outa:
outstd_logic_vector(3downto0));
Endmooreb;
Architectureoneofmoorebis
Typems_stateis(st0,st1,st2,st3);
Signalc_st,n_st:
ms_state;
Begin
Process(clk,reset)
Begin
Ifreset=‘1’thenc_st<=st0;
Elsifclk’eventandclk=‘1’thenc_st<=n_st;
Endif;
Endprocess;
Process(c_st)
Begin
Casec_stis
Whenst0=>ifina=“00”thenn_st<=st0;
Elsen_st<=st1;
Endif;
Outa<=“0101”;
Whenst1=>ifina=“00”thenn_st<=st1;
Elsen_st<=st2;
Endif;
Outa<=“1000”;
Whenst2=>ifina=“11”thenn_st<=st0;
Elsen_st<=st3;
Endif;
Outa<=“1100”;
Whenst3=>ifina=“11”thenn_st<=st3;
Elsen_st<=st0;
Endif;
Outa<=“1101”;
Whenothers=>n_st<=st0;
Endcase;
Endprocess;
Endone;
3. 若已知输入信号如下图所示,分析状态机的工作时序,画出该状态机的状态转换值(c_state)和输出控制信号(out_a);
4. 若状态机仿真过程中出现毛刺现象,应如何消除;试指出两种方法,并简单说明其原理。
方法1,添加辅助进程对输出数据进行锁存
方法2,将双进程状态机改写为单进程状态机,其输出也是锁存过了,故能消除毛刺
方法3,使用状态位直接输出型状态机编码方式,其输出直接由当前状态输出,也没有毛刺
第4页 共5页
(二)已知一个简单的波形发生器的数字部分系统框图如下图所示
图中lcnt、lrom都是在MAX+PlusII中使用MegaWizard调用的LPM模块,其VHDL描述中Entity部分分别如下:
ENTITYlcntIS
PORT
(
clock :
INSTD_LOGIC;