eda技术习题docx.docx
- 文档编号:2876398
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:16
- 大小:67.19KB
eda技术习题docx.docx
《eda技术习题docx.docx》由会员分享,可在线阅读,更多相关《eda技术习题docx.docx(16页珍藏版)》请在冰豆网上搜索。
eda技术习题docx
一、填空
1.当前最流行的并成为IEEE标准的硬件描述语言包括VHDL语言和VerilogHDL语言。
2.EDA中文全称是电子设计自动化。
IP核在EDA技术和开发中具有十分重要的地位,IP指的是知识产权核或知识产权模块。
3.将硬件描述语言转化为硬件电路的重要工具软件称为HDL综合器。
P21
4.一般情况下,FPGA是基于与或阵列的可编程逻辑结构,CPLD是基于查找表的可编程逻辑结构。
P28
5.EDA仿真过程中主要涉及时序仿真和功能仿真。
6.EDA的优化设计主要是进行<源优化和速度优化,其中速度优化主要有流水线设计、寄存器配平和关键路径法等三种优化方法。
P326
7.VHDL子程序有PROCEDURE、FUNCTION两类。
P230
8.EDA的中文全称为一电子设计自动化,HDL为_硬件描述语言—。
9.基于EDA软件的FPGA/CPLD设计流程为:
原理图/HDL文本输入一_功能仿真一一综合一适配一_时序仿真―一编程下载一硬件测试。
10.FPGA中文全称是一现场可编程门阵列一,CPLD中文全称是一复杂可编程逻辑器件一。
其中—CPLD_是基于乘积项的可编程逻辑结构,_FPGA_是基于查找表的可编程逻辑结构。
P28
11.VHDL语言按照执行顺序的不同可以分为_顺序语句一和并行语句一语句。
12.在仿真延时中,y<=xAFTER20ns中的20ns指的是—固有延时,y<=TRANSPORTxAFTER20ns中的20ns指
的是—传输—延时。
P151
13.资源优化主要有—资源共享一、_逻辑优化—和_串行化—等三种优化方式。
P326
二、问答题
1.与传统电子设计方法相比,EDA采什么设计方法?
比较这两种设计方法的区别?
答:
EDA采用自顶向下的设计方法
手工设计方法缺点:
1)设计、调试十分困难。
2)查找和修改十分不便。
3)大量文档,不易管理。
4)可移植性差。
5)只有在设计出样机或生产出芯片后才能进行实测。
EDA技术有很大不同:
1)采用硬件描述语言作为设计输入。
2)库(Library)的引入。
3)设计文档的管理。
4)强大的系统建模、电路仿真功能。
5)具有自主知识产权。
6)标准化、规范化及IP核的可利用性。
7)自顶向下设计方案。
8)自动设计、仿真和测试技术。
9)对设计者的硬件知识、经验要求低。
10)高速性能好(与以CPU为主的电路系统相比)。
11)纯硬件系统的高可靠性。
.
2.简述EDA设计流程。
答:
设计输入综合适配仿真下载硬件测试
3.根据编程方式的不同,PLD器件可以分为哪几类?
熔丝型器件;反熔丝型器件;EPROM型;EEPROM型;SRAM型;Flash型。
4.什么是重载?
重载函数有何用处?
答:
同样名称的函数可以用不同的数据类型作为此函数的参数定义多次,以此定义的函数称为重载函数;
5.VHDL语言按照执行顺序的不同可以分为哪两类基本语句?
并且各举一例说明。
答:
顺序语句和并行语句
1.什么是自顶向下的设计方法?
与传统电子设计方法相比有什么优点?
答:
自顶向下就是在整个设计流程中各个设计流程逐步求精的过程,即是从高抽象级别到低抽象级别的整个设计周期。
优点:
在整个设计过程中不必太注意目标器件的设计细节。
2.在FPGA设计过程中,综合的含义是什么?
主要有哪几种类型的综合?
答:
综合:
将用行为和功能层次表达的电子系统转换成为低层次的便于具体实现的模块组合装配的过程。
有语言综合、行为综合、逻辑综合、结构综合
3.EDA技术最终实现目标的ASIC可以通过哪三种途径完成?
答:
门阵法标准单元法可编辑逻辑器件控制法
4.简述信号与变量的主要区别。
(3分)1
答:
pl30
信号signal
变量variable
基本用法
用于电路线路中信号的连接
用于作为进程中局部数据存储单元
适用范围
在整个结构体中任何地方都可以适用
只能在所定义的进程中使用
行为特征
在进程最后才对信号赋值
立即赋值
5.在VHDL设计中,给触发器复位有哪两种方法?
如果时钟进程中用了敏感信号表,哪种复位方式必须要把复位信号放在敏感信号表中?
(3分)
答:
同步复位异步复位。
异步复位
6.利用FPGA构成数字系统时为什么需要配备一个PROM或EEPROM?
(2分)
三、VHDL程序填空:
(10分,每空1分)
下面程序是一个具有加法和减法功能的16位计数器VHDL描述,试补充完整。
空1
IEEE;
(LIBRARY)
use空2
.STDLOGIC1164.all;
(IEEE)
useieee.
空3.all;
(STDLOGICUNSIGNED)
空4
entaddsubis
(ENTITY)
port(elk:
inSTD_LOGIC;
rst:
inSTD_L0GIC;
enable:
inSTD_LOGIC;
add_sub:
inSTDLOGIC;
q:
outSTD_L0GIC_VECT0R(15downto0));
endcnt_add_sub;
architecturecnt_add_subof空5is(cnt_add_sub)
空6q_tmp:
STD_L0GIC_VECT0R(15downto0);(SIGNAL)begin
空7(elk,rst)(PROCESS)
begin
空8rst二'1'thenq_tmp<=(others二>'O');(if)
elsifandelk='1'then(elk'event)
ifenable二'1'thenifadd_sub='1'thenq_tmp<=q_tmp+l:
elseq_tmp<=q_tmp-l;
空10;(endif)
endif;endif;endprocess;q<=q_tmp;endcnt_add_sub;
下面程序是一位全加器的VHDL描述,试补充完整。
一半加器描述
空1IEEE;
USEIEEE.STD_L0GIC_1164.ALL;
ENTITY空2IS
空3(a,b:
INSTD_LOGIC;
co,so:
OUTSTD_LOGIC);
ENDENTITYh_adder;
ARCHITECTURE空4OFh_adderis
BEGIN
so〈二NOT(aXOR(NOTb));
co<=aANDb;
ENDARCHITECTUREfhl;
-一位全加器顶层设计描述
(library)
(h_adder)
(PORT)
(fhl)
ENTITYf_adderIS
PORT(ain,bin,cin:
空5STD_LOGIC;(IN)cout,sum:
OUTSTD_LOGIC);
ENDENTITYf_adder;
ARCHITECTUREfdlOFf_adderIS
空6h_adderIS(COMPONENT)
PORT(a,b:
INSTD_LOGIC;
co,so:
OUTSTD_LOGIC);
ENDCOMPONENT;
空7d,e,f:
STD_LOGIC;(SIGNAL)
BEGIN
ul:
空8PORTMAP(a=>ain,b二〉bin,co=>d,so=〉e);(h_adder)
u2:
h_adderPORTMAP(a二〉空9,b二〉cin,co=>f,so=>sum);(e)
cout<=d空10f;(OR)
ENDARCHITECTUREfdl;
在程序中存在5处错误,试找出错误,写出错误原因,并写出正确语句。
第1行一libraryieee;
第2行一useieee.std_logic_1164.all;
第3行一useieee.std_logic_unsigned.all:
第4行一entitydecoder38is
第5行一port(Q0:
outstd_logic_vector(7downto0);
第6行一QI:
instd_logic_vector(2downto0);
第7行一en:
instd_logic);
第8行一endentitydecoder38;
第9行一architecturecodelofdecoderis(decoder38)
第10行一begin
第11行一process()(process(QI))
第12行一signaltemp:
std_logic_vector(7downto0);(variable)
第13行一begin
第14行一ifen='1'thentemp:
二〃ZZZZZZZZ〃;
第15行一
else
第16行一
caseQIis
第17行一
when〃000〃二〉temp:
="00000001〃;
第18行一
when〃001〃=>temp:
二"00000010〃;
第19行一
when〃010〃=>temp:
="00000100〃;
第20行一
when〃011〃=>temp:
二〃00001000〃;
第21行一
when〃100〃二〉temp:
二〃00010000〃;
第22行一
when〃101〃=>temp:
二〃00100000〃;
第23行一
when〃110〃二〉temp:
二〃01000000〃;
第24行一
when〃111〃=>temp:
="10000000〃;
第25行一
endif;(前插入ENDCASE)
第26行一
QI<=temp;(Q0)
第27行一
endprocess;
第28行一
endarchitecturecodel;
四、VHDL程序改错:
(10分)
在程序中存在5处错误,试找出错误,
写出错误原因,
并写出正确语句。
第1行一
libraryIEEE;
第2行一
第3行一
第4行一
useIEEE.STD_L0GIC_1164.all;
entitymux4is
port(sO,si,a,b,c,d:
in
STD_L0GIC;
第5行一
y:
outSTD_LOGIC;
);
(删去;)
第6行一
第7行一
endmux4;
architectureoneofmuxis
(mux4)
第8行一
signals:
std_logic_vector(2
downto0);
(1)
第9行一
第10行一
begin
s<=sl&s0;
process()
(s)
第11行一第12行一第13行一第14行一
第15行一第16行一
begin
casesis
when〃00〃=〉y<=a;
when〃01〃=>y〈=b;
when〃10〃=>y<=c;
endcase;
(插入when"11"=>y<=d;)
第17行一endprocess;
第18行一endone;
五、编写VHDL程序:
(共20分,每题10分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eda 技术 习题 docx