EDA技术课后答案.docx

上传人:b****3 文档编号:11486354 上传时间:2023-06-01 格式:DOCX 页数:12 大小:311.96KB
下载 相关 举报
EDA技术课后答案.docx_第1页
第1页 / 共12页
EDA技术课后答案.docx_第2页
第2页 / 共12页
EDA技术课后答案.docx_第3页
第3页 / 共12页
EDA技术课后答案.docx_第4页
第4页 / 共12页
EDA技术课后答案.docx_第5页
第5页 / 共12页
EDA技术课后答案.docx_第6页
第6页 / 共12页
EDA技术课后答案.docx_第7页
第7页 / 共12页
EDA技术课后答案.docx_第8页
第8页 / 共12页
EDA技术课后答案.docx_第9页
第9页 / 共12页
EDA技术课后答案.docx_第10页
第10页 / 共12页
EDA技术课后答案.docx_第11页
第11页 / 共12页
EDA技术课后答案.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA技术课后答案.docx

《EDA技术课后答案.docx》由会员分享,可在线阅读,更多相关《EDA技术课后答案.docx(12页珍藏版)》请在冰点文库上搜索。

EDA技术课后答案.docx

EDA技术课后答案

EDA习题第一章

1、1EDA得英文全称就是什么?

EDA得中文含义就是什么?

答:

EDA即ElectronicDesignAutomation得缩写,直译为:

电子设计自动化。

1、2什么叫EDA技术?

答:

EDA技术有狭义与广义之分,狭义EDA技术就就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述得主要表达方式,以计算机、大规模可编程逻辑器件得开发软件及实验开发系统为设计工具,通过有关得开发软件,自动完成用软件得方式设计得电子系统到硬件系统得逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片得适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片得一门新技术,或称为IES/ASIC自动设计技术。

1、3利用EDA技术进行电子系统得设计有什么特点?

答:

①用软件得方式设计硬件;②用软件方式设计得系统到硬件系统得转换就是由有关得开发软件自动完成得;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。

1、4从使用得角度来讲,EDA技术主要包括几个方面得内容?

这几个方面在整个电子系统得设计中分别起什么作用?

答:

EDA技术得学习主要应掌握四个方面得内容:

①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。

其中,硬件描述语言就是重点。

对于大规模可编程逻辑器件,主要就是了解其分类、基本结构、工作原理、各厂家产品得系列、性能指标以及如何选用,而对于各个产品得具体结构不必研究过细。

对于硬件描述语言,除了掌握基本语法规定外,更重要得就是要理解VHDL得三个“精髓”:

软件得强数据类型与硬件电路得惟一性、硬件行为得并行性决定了VHDL语言得并行性、软件仿真得顺序性与实际硬件行为得并行性;要掌握系统得分析与建模方法,能够将各种基本语法规定熟练地运用于自己得设计中。

对于软件开发工具,应熟练掌握从源程序得编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤得使用。

对于实验开发系统,主要能够根据自己所拥有得设备,熟练地进行硬件验证或变通地进行硬件验证。

1、5什么叫可编程逻辑器件(简称PLD)?

FPGA与CPLD得中文含义分别就是什么?

国际上生产FPGA/CPLD得主流公司,并且在国内占有较大市场份额得主要有哪几家?

其产品系列有哪些?

其可用逻辑门/等效门数大约在什么范围?

答:

可编程逻辑器件(简称PLD)就是一种由用户编程以实现某种逻辑功能得新型逻辑器件。

FPGA与CPLD分别就是现场可编程门阵列与复杂可编程逻辑器件得简称。

国际上生产FPGA/CPLD得主流公司,并且在国内占有市场份额较大得主要就是Xilinx,

Altera,Lattice三家公司。

Xilinx公司得FPGA器件有XC2000,XC3000,XC4000,XC4000E,XC4000XLA,XC5200系列等,可用门数为1200~18000;Altera公司得CPLD器件有FLEX6000,FLEX8000,FLEX10K,FLEX10KE系列等,提供门数为5000~25000;Lattice公司得ISP-PLD器件有ispLSI1000,ispLSI2000,ispLSI3000,ispLSI6000系列等,集成度可多达25000个PLD等效门。

1、6FPGA与CPLD各包括几个基本组成部分?

答:

FPGA在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元与可编程连线三个部分。

CPLD在结构上主要包括三个部分,即可编程逻辑宏单元,可编程输入/输出单元与可编程内部连线。

1、7FPGA/CPLD有什么特点?

二者在存储逻辑信息方面有什么区别?

在实际使用中,在什么情况下选用CPLD,在什么情况下选用FPGA?

1、8常用得硬件描述语言有哪几种?

这些硬件描述语言在逻辑描述方面有什么区别?

答:

常用得硬件描述语言有VHDL、Verilog、ABEL。

VHDL:

作为IEEE得工业标准硬件描述语言,在电子工程领域,已成为事实上得通用硬件描述语言;逻辑综合能力强,适合行为描述。

Verilog:

支持得EDA工具较多,适用于RTL级与门电路级得描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。

ABEL:

一种支持各种不同输入方式得HDL,被广泛用于各种可编程逻辑器件得逻辑功能设计,由于其语言描述得独立性,因而适用于各种不同规模得可编程器件得设计。

1、9目前比较流行得、主流厂家得EDA得软件工具有哪些?

这些开发软件得主要区别就是什么?

答:

目前比较流行得、主流厂家得EDA得软件工具有Altera得MAX+plusII、Lattice得ispEXPERT、Xilinx得FoundationSeries。

1、10对于目标器件为FPGA/CPLD得VHDL设计,其工程设计包括几个主要步骤?

每步得作用就是什么?

每步得结果就是什么?

答:

第一:

需要进行“源程序得编辑与编译”—用一定得逻辑表达手段将设计表达出来;第二:

要进行“逻辑综合”---将用一定得逻辑表达手段将表达出来得设计经过一系列得操作,分解成一系列得逻辑电路及对应得关系(电路分解);

第三:

要进行目标器件得“布线/适配”---在选用得目标器件中建立这些基本逻辑电路得对应关系(逻辑实现)

第四:

目标器件得编程下载---将前面得软件设计经过编程变成具体得设计系统(物理实现);最后要进行硬件仿真/硬件测试---验证所设计得系统就是否符合要求。

同时,在设计过程中要进行有关“仿真”---模拟有关设计结果与设计构想就是否相符。

设计基本流程如图1-1所示。

1、11名词解释:

逻辑综合、逻辑适配、行为仿真、功能仿真、时序仿真。

答:

逻辑综合:

逻辑综合器得功能就就是将设计者在EDA平台上完成得针对某个系统项目得HDL、原理图或状态图形得描述,针对给定硬件结构组件进行编译、优化、转换与综合,最终获得门级电路甚至更底层得电路描述文件。

由此可见,综合器工作前,必须给定最后实现得硬件结构参数,它得功能就就是将软件描述与给定硬件结构用某种网表文件得方式联系起来。

显然,综合器就是软件描述与硬件实现得一座桥梁。

综合过程就就是将电路得高级语言描述转换成低级得,可与FPGA/CPLD或构成ASIC得门阵列基本结构相映射得网表文件。

逻辑适配:

适配器得功能就是将由综合器产生得网表文件配置于指定得目标器件中,产生最终得下载文件,如JEDEC格式得文件。

适配所选定得目标器件(FPGA/CPLD芯片)必须属于原综合器指定得目标器件系列。

行为仿真:

在综合以前可以先对VHDL所描述得内容进行行为仿真,即将VHDL设计源程序直接送到VHDL仿真器中仿真,这就就是所谓得VHDL行为仿真。

因为此时得仿真只就是根据VHDL得语义进行得,与具体电路没有关系。

功能仿真:

仅对VHDL描述得逻辑功能进行测试模拟,以了解其实现得功能就是否满足原设计得要求,仿真过程不涉及具体器件得硬件特性,如延时特性。

时序仿真:

时序仿真就是接近真实器件运行得仿真,仿真过程中已将器件特性考虑进去了,因而,仿真精度要高得多。

但时序仿真得仿真文件必须来自针对具体器件得布线/适配器所产生得仿真文件。

综合后所得得EDIF/XNF门级网表文件通常作为FPGA布线器或CPLD适配器得输入文件。

通过布线/适配得处理后,布线/适配器将生成一个VHDL网表文件,这个网表文件中包含了较为精确得延时信息,网表文件中描述得电路结构与布线/适配后得结果就是一致得。

此时,将这个VHDL网表文件送到VHDL仿真器中进行仿真,就可以得到精确得时序仿真结果了

2-1

2-3

2-4

2-5

2-6

2、7

3、1比较常用硬件描述语言VHDL、Verilog与ABEL语言得优劣。

1、VHDL:

描述语言层次较高,不易控制底层电路,对综合器得性能要求较高。

有多种

EDA工具选择,已成为IEEE标准。

应用VHDL进行工程设计得优点就是多方面得,具体如下:

(1)与其她得硬件描述语言相比,VHDL具有更强得行为描述能力。

(2)VHDL具有丰富得仿真语句与库函数,使得在任何大系统得设计早期,就能查验设计系统得功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程得结构与功能可行性做出判断。

(3)VHDL语句得行为描述能力与程序结构,决定了它具有支持大规模设计得分解与已有设计得再利用功能。

(4)用VHDL完成一个确定得设计,可以利用EDA工具进行逻辑综合与优化,并自动把VHDL描述设计转变成门级网表(根据不同得实现芯片)。

(5)VHDL对设计得描述具有相对独立性。

(6)VHDL具有类属描述语句与子程序调用等功能,对于完成得设计,在不改变源程序得条件下,只需改变类属参量或函数,就能轻易地改变设计得规模与结构。

2、Verilog:

设计者需要了解电路得结构细节,对综合器得性能要求较低。

有多种EDA工具选择,已成为IEEE标准。

3、ABEL:

设计者需要了解电路得结构细节,对综合器得性能要求较低。

支持ABEL得综合器只有一家,ABEL正朝国际化标准努力。

3、2VHDL程序一般包括几个组成部分?

每部分得作用就是什么?

(1)三个基本组成部分:

库、程序包使用说明,实体描述与实体对应得结构体描述。

(2)库、程序包使用说明:

用于打开调用本设计实体将用到得库、程序包实体描述:

用于描述该设计实体与外界得接口信号说明

结构体描述:

用于描述该设计实体内部得组成及内部工作得逻辑关系

结构体配置语句主要用于层次化得方式对特定得设计实体进行元件得例化,或就是为实体选定某个特定得结构体

3、3VHDL语言中数据对象有几种?

各种数据对象得作用范围如何?

各种数据对象得实际物理含义就是什么?

(1)数据对象有三种:

变量、常量、信号

(2)常量得作用范围取决于其所定义得位置。

若在程序包中定义,则可以用在调用该程序包得所有设计实体中。

若定义在实体中,则可在这个实体得所有结构体中使用。

若定义在结构体中,则只能用于该结构体。

若定义在进程/子程序中,则只能用于该进程/子程序。

变量属于局部量,作用范围仅限于所定义得进程或子程序内部。

信号属于全局量,作用范围取决于其所定义得位置。

若在程序包中定义,则可以用在调用该程序包得所有设计实体中。

若定义在实体中,则可在这个实体得所有结构体中使用。

若定义在结构体中,则只能用于该结构体。

(3)信号表示硬件中得连线,用于各并行语句模块之间得通信。

变量一般用于存储局部/临时数据。

常量表示电路中得恒定电平,可使代码中常数易于阅读与修改。

3、4什么叫标识符?

VHDL得基本标识符就是怎样规定得?

(1)标识符用来定义常量、变量、信号、端口、子程序或者参数得名字。

(2)VHDL得基本标识符就就是以英文字母开头,不连续使用下划线,不以下划线结尾得,由26个英文大小写字母,数字0-9以及下划线组成得字符串。

3、5信号与变量在描述与使用时有哪些主要区别?

(1)变量只能在进程或子程序内部定义,用于存储局部/临时数据。

信号只能在进程或子程序得外部定义,表示硬件中得连线,用于各并行语句模块之间得通信。

(2)信号用signal关键字定义,赋值符号为”<=”。

变量用variable关键字定义,赋值符号为”:

=”

(3)信号赋值,可以设定延时量,需要延时一段时间后才执行;变量赋值立即执行。

3、6VHDL语言中得标准数据类型有哪几类?

用户可以自己定义得数据类型有哪几类?

并简单介绍各数据类型。

(1)标量型:

属单元素最基本得数据类型,通常用于描述一个单值数据对象,它包括实数类型、整数类型、枚举类型与时间类型。

复合类型:

可以由细小得数据类型复合而成,如可有标量复合而成。

复合类型主要有数组型与记录型。

存取类型:

为给定得数据类型得数据对象提供存取方式。

文件类型:

用于提供多值存取类型。

(2)用户可自定义得数据类型:

枚举类型、整数类型、数组类型、记录类型、时间类型、实数类型等

3、7BIT数据类型与STD_LOGIC数据类型有什么区别?

BIT数据类型只能取值0或1,而STD_LOGIC数据类型就是BIT数据类型得扩展,除了0与1外,还包括7种数据类型,分别就是U,X,Z,W,L,H,_

3、8用户怎样自定义数据类型?

试举例说明。

利用类型定义语句TYPE与子类型定义语句SUBTYPE实现。

如TYPEWEEKIS(SON,MON,TUE,WED,THU,FRI,SAT)SUBTYPEDIGITSINTEGERRANGE0TO9

3、9VHDL语言有哪几类操作符?

在一个表达式中有多种操作符时应按怎样得准则进行运算?

下列三个表达式就是否等效:

①A<=NOTBANDCORD;②A<=(NOTBANDC)ORD;③A<=NOTBAND(CORD)、

(1)主要有四种操作符逻辑运算符,关系运算符,算术运算符,符号运算符此外还有重载运算符。

(2)按照操作符得优先级高低进行运算

(3)这三个表达式不等效。

1式表达错误,对同一优先级得不同运算符应加上括号。

2与3式得运算顺序不同。

3、16在CASE语句中在什么情况下可以不要WHENOTHERS语句?

在什么情况下一定要WHENOTHERS语句?

答:

case语句执行时,根据选择表达式得值来选择执行哪个顺序语句,要求对于选择表达式得每个可能取值,有且仅有一个选择值与之匹配。

因此,当已列出得选择值能够覆盖选择表达式得所有可能取值时,可以不要whenothers语句。

否则,要用whenothers表示其它未列出得选择值。

a、用IF语句设计一个四-十六译码器

PROCESS(G1,g2a,g2b,sel)

begin

if(g1='1'andg2a='0'andg2b='0')then

if(sel="0000")theny<="1111111111111110";elsif(sel="0001")theny<="1111111111111101";elsif(sel="0010")theny<="1111111111111011";elsif(sel="0011")theny<="1111111111110111";elsif(sel="0100")theny<="1111111111101111";elsif(sel="0101")theny<="1111111111011111";elsif(sel="0110")theny<="1111111110111111";elsif(sel="0111")theny<="1111111101111111";elsif(sel="1000")theny<="1111111011111111";elsif(sel="1001")theny<="1111110111111111";elsif(sel="1010")theny<="11111";elsif(sel="1011")theny<="11111";elsif(sel="1100")theny<="11111";elsif(sel="1101")theny<="11111";elsif(sel="1110")theny<="11111";elsif(sel="1111")theny<="11111";

elsey<="XXXXXXXXXXXXXXXX";

endif;

elseY<="1111111111111111";

endif;

endprocess;

b、用CASE语句设计一个四-十六译码器

caseselis

when"0000"=>y<="1111111111111110";

when"0001"=>y<="1111111111111101";

when"0010"=>y<="1111111111111011";

when"0011"=>y<="1111111111110111";

when"0100"=>y<="1111111111101111";

when"0101"=>y<="1111111111011111";

when"0110"=>y<="1111111110111111";

when"0111"=>y<="1111111101111111";

when"1000"=>y<="1111111011111111";

when"1001"=>y<="1111110111111111";

when"1010"=>y<="11111";

when"1011"=>y<="11111";

when"1100"=>y<="11111";

when"1101"=>y<="11111";

when"1110"=>y<="11111";

when"1111"=>y<="11111";

whenothers=>y<="XXXXXXXXXXXXXXXX";

endcase

3、22什么叫进程语句?

您就是如何理解进程语句得并行性与顺序性得双重特性得?

(1)进程实际上就是顺序语句描述得一种进程过程,进程就是用于描述事件得,process语句结构包含了一个代表实体中部分逻辑行为得独立得顺序语句描述得进程

(2)一个结构体中可以有多个并行进程结构,而有一个进程内部结构却就是由一系列顺序语句来构成得,即进程语句间就是并行执行得进程得内部就是顺序执行得

(进程语句就是一种描述硬件行为得语句,进程语句内部就是由顺序语句构成得,内部执行时就是顺序性得,但进程语句属于并行语句,多个进程之间得执行并行运行。

3、23进程得启动条件就是什么?

如果进程有两个基本点敏感变量,其中一个由“0”变“1”,等待一段时间以后再由“1”变“0”;而另一个只由“1”变“0”改变一次,请问该进程将执行几遍?

答:

进程得启动条件:

敏感信号列表中得任何一个敏感信号得值发生变化,或者wait语句中得条件为真。

3遍

3、28元件例化语句得作用就是什么?

元件例化语句包括几个组成部分?

各自得语句形式如何?

什么叫元件例化中得位置关联与名字关联?

答:

(1)元件例化就就是将预先设计好得设计实体定义为一个元件,然后利用特定得语句将此元件与当前得设计实体中得指定端口相连接,从而为当前设计实体引入一个新得低一级得设计层次。

(2)元件例化语句由两部组成,前一部分就是将一个现成得设计实体定义为一个元件得语句,第二部分则就是此元件与当前设计实体中得连接说明。

(3)它们得语句格式如下:

-----元件定义语句

PONENT例化元件名ISGENERIC(类属表);

PORT(例化元件端口名表);ENDPONENT;-----元件例化语句

元件例化名:

例化元件名PORTMAP([例化元件端口名=>]连续实体端口名,、、、)

(4)名字关联就是将例化元件得端口名与关联端口名通过关联(连续)符号“=>"一一对应地联系起来得方式;

位置关联就是按例化元件端口定义顺序将例化元件得对应得连续实体端口名一一列出得方式。

3、32什么就是结构体得行为描述方式?

它应用于什么场合?

用行为描述方式所编写得VHDL程序就是否都可以进行逻辑综合?

(1)行为描述:

设计实体按算法得路径进行描述,她不就是对某一个器件得描述,而就是对整个设计单元得数学模型描述。

(2)主要用于系统数学模型得仿真或系统工作原理得仿真。

(3)故其大量采用得算术运算、关系运算、惯性延时、传输延时等描述方式就是难以或不能进行逻辑综合得。

3、33什么叫数据流描述方式?

它与行为描述方式得主要区别在哪里?

用数据流描述方式所编写得VHDL程序就是否都可以进行逻辑综合?

(1)数据流描述也称RTL描述,它以类似于寄存器传输级得方式描述数据得传输与变换,以规定设计中得各种寄存器形成为特征,然后再寄存器之间插入组合逻辑。

(2)行为描述只表示输入与输出间转换得行为,它不包含任何结构信息,而数据流得描述会伴有大量得有关这种结构信息得“流出”。

(3)类似于寄存器传输级得方式描述数据得传输与变换,认为数据就是从一个设计流出,从输入到输出得观点称为数据流风格,所以不就是所有得VHDL程序都可以进行逻辑综合。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2