EDA简答题

发布时间:2020-03-15 07:28:25

1, 简述什么是硬件描述语言及其优点

所谓硬件描述语言就是可以描述硬件电路的功能、信号连接关系及定时关系的语言。它可以使电子系统设计者利用这种语言来描述自己的设计思想和电子系统的行为,并建立模型,然后利用eda工具进行仿真,自动综合到门级电路,再用ASICCPLD/FPGA实现其功能。利用硬件描述语言可以方便地设计大型的电子系统,它们更接近用自然语言描述系统的行为,在设计过程中文字载体更适于传递和修改设计信息,并可以建立独立于工艺的设计,此外还便于保存和重用。

2, 简述EDA软件系统包含的各模块及其相应功能

EDA软件系统应当包含以下子模块:

1) 设计输入子模块:该模块接受用户的设计描述,并进行语义正确性、语法规则的检查、检查通过后,将用户的设计描述数据转换为EDA软件系统的内部数据格式,存入设计数据库被其他子模块调用。

2) 设计数据库子模块:该模块存放系统提供的库单元以及用户的设计描述和中间设计结果。

3) 分析验证子模块:该模块包括各个层次的模拟验证、设计规则的检查、故障诊断等。

4) 综合仿真子模块:该模块包括各个层次的综合工具。

5) 布局布线子模块:该模块实现由逻辑设计到物理实现的映射,因此与物理实现的方式密切相关。

3, 简述基于VHDL语言的工程设计的基本流程

1) 设计准备:包括系统设计、设计方案论证和器件选择等。

2) 设计输入:由设计者利用EDA工具的文本编辑器或图形编辑器对器件的逻辑功能进行描述,以文本方式或图形方式表达出来,进行编辑和编译,变成VHDL文件格式。

3) 设计实现:利用EDA软件系统的综合器进行逻辑综合,然后进行器件的布局、布线和适配,最后生成下载文件或位流数据文件。

4) 器件编程与配置:设计编译好后,将数据文件通过编程器或下载电缆下载到目标芯片FPGA/CPLD中。

5) 设计验证:在上述设计过程中,同时进行验证过程,包括行为仿真、功能仿真、时序仿真和硬件仿真/器件测试

4, 简述PLD的几种编程技术

1) 熔丝和反熔丝编程技术:熔丝技术是用熔丝作为开关元件,这些开关元件平时处于连通状态,加电编程时,在不需要连接处将熔丝熔断,保留在器件内的熔丝模式决定相应器件的逻辑功能。反熔丝技术用逆熔丝作为开关元件。

2) 浮栅型电可写紫外线擦除编程技术:主要采用雪崩注入MOS管和叠栅注入MOS管。

3) 浮栅型电可写电擦除编程技术:此器件在采用浮栅编程技术的同时,采用了E2CMOS工艺。

4) SRAM编程技术:用一个静态的RAM单元存储通断信号(01),再由存储单元的状态(01)去控制通路晶体管或传输门的导通与截止,以实现对电连接关系的编程。

5, 简述数字系统层次化设计与基本设计过程。

数字系统的设计可以分为四个层次,即系统级设计、电路级设计、芯片级设计和电路板级设计。相应地从提出设计要求到完成系统成品,数字系统设计过程可分为以下几个设计步骤:

1) 系统设计:设计的最高层次,通常把系统功能逐步细分,运用框图与层次化的方法自顶向下进行设计,再确定器件、电路等技术方案。

2) 电路设计:主要时确定实现系统功能的算法和电路形式,在电路级对系统的功能进行描述。

3) 芯片设计:通过对芯片的设计与编程,实现电路设计所确定的算法和电路形式。

4) 电路板级设计:通常采用PCB设计软件完成。

5) 电路调试和系统调试:目的时检查设计中存在的问题。

6) 结构设计:包括机箱和面板设计。

6.简述CPLDFPGA器件的基本结构

CPLD由可编程逻辑的功能块围绕一个位于中心、时延固定的可编程互连矩阵构成。由固定长度的金属线实现逻辑单元之间的互连,而可编程逻辑单元又是类似PAL的与阵列,采用可编程的与阵列和固定的或阵列结构。再加上一个全局共享的可编程与阵列,把多个宏单元连接起来,并增加了I/O控制模块的数量和功能。可以把CPLD的基本结构看成由可编程逻辑宏单元、可编程I/O控制模块和可编程内部连线三部分组成。

FPGA由可编程逻辑块(CLB)、输入/输出模块(IOB)及可编程互连资源(PIR)三种可编程电路和一个SRAM结构的配置存储单元组成。CLB是实现逻辑功能的基本单元,它们通常规则地排列成一个阵列,散步于整个芯片中;I/O模块主要完成芯片上的逻辑与外部引脚的接口,它通常排列在芯片的四周;PIR包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB之间和CLBIOB之间以及IOB之间连接起来,构成特定功能的电路。

7.简述自顶向下设计方法的流程。

这个过程可以分为:

(1) 系统性能描述与行为模拟:设计从系统的功能和性能要求开始。

(2) 系统结构分解:将系统分解为若干子系统,子系统又可以再分解为若干功能模块。

(3) 产生系统结构模型:

(4) 描述叶子模块:用数据流进行描述

(5) 逻辑综合与设计实现:针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。

8.简述MAXPLUSII的设计流程

1, 设计输入:图形输入法、波形输入法、文本编辑法等。

2, 设计检查:在设计编译之前运行编译器网表提取器模块检查文件的错误,更新层次结构的显示,给出错误和警告的信息,以便返回设计输入部分,进行修正。

3, 设计编译:提供一个集成编译器,在编译器运行前可进行两种仿真功能的选择。

4, 时序/功能仿真:时序仿真是在考虑了设计项目的具体适配器的各种延时时间的情况下的设计项目的验证方法。

定时分析:用来分析器件引脚及内部节点间的传输路径延时;时序逻辑的性能及器件内部各种寄存器的建立保持时间

9.一个完整的VHDL语言程序通常包括以下5个部分:(每条1’

实体说明(Entity):定义电路实体的外观:I/O接口的规格;

结构体(Architecture):描述电路的内部功能;

配置(Configuration):决定采用哪一个结构体;

程序包(Package):定义使用哪些自定义元件库;

库(Library):定义元件库。

10.用可编程逻辑器件设计系统时,怎样选择CPLDFPGA二者结构、工艺不同,主要从以下几方面进行选择:(每条1’

1)逻辑单元:CPLD适用于逻辑型系统,FPGA适用于数据型系统

2)内部互连资源与连线结构:CPLD适用于实现有限状态机,FPGA适用于实现小型化、集成化。(3)编程工艺:CPLD采用EPROM结构,内部逻辑一经编程后还会以丢失,FPGA采用RAM型编程,是易失性器件,需与配置芯片配合使用。

4)规模:中小规模电路设计可采用CPLD,大规模逻辑电路的设计采用FPGA

5)封装形式:小规模电路:PLCC,引脚数量大的系统宜选用SMDTQFPPQFPBGA等封装形式。

11.顺序语句与并行语句的特点和用途

顺序语句

特点:在程序执行时,按照语句的书写顺序执行,前面的语句的执行结果可能直接影响后面语句的执行。(1’

用途:主要用于模块的算法部分,用若干顺序语句构成一个进程或描述一个特定的算法或行为。顺序语句不能直接构成结构体,必须放在进程、过程中。(2’

并行语句:

特点:不按书写顺序执行,可作为一个整体运行,程序执行时只执行被激活的语句。被激活的并行语句是同时执行的。(2’

用途:主要用于表示算法模块间的连接关系,模拟实际硬件电路工作的并行性,可以直接构成结构体。(1’

12.简述PROCESS语句结构的三部分构成,并说明进程语句、顺序语句和信号之间的关系。

答:PROCESS语句结构是由三部分构成,即进程说明部分,顺序描述语句部分和敏感信号参数表。(2’

各个进程是并行运行的,无先后之分,必须放在结构体中;顺序语句是按顺序运行的,有先后之分,必须放在进程中;信号放在结构体和进程之间,是用以完成各个进程之间数据交换。 3’

13. 简述WITH_SELECT_WHEN选择信号赋值语句和CASE_WHEN顺序语句的异同

答:WHEN_ELSE条件信号赋值语句中无标点,只有最后有分号;必须成对出现;是并行语句,必须放在结构体中。 3’

IF_ELSE顺序语句中有分号;是顺序语句,必须放在进程中。 2’

14. 简述信号和变量的区别

答:

信号

变量

赋值符号

<=

:=

功能

电路的内部连接

内部数据交换

作用范围

全局,进程和进程之间的通信

进程的内部

行为

延迟一定时间后才赋值

立即赋值

15. 采用可编程逻辑器件进行电路和系统设计有什么好处?

优点:便于修改和调试,缩短开发周期,降低开发成本,简化系统构成,缩小系统体积,降低系统功耗,提高系统可靠性等。(5

16.VHDL语言有哪几种并行语句?

并行语句主要有:(1)进程语句(2)块语句(3)并行信号赋值语句(4)生成语句(5)元件例化语句(6)断言语句

EDA简答题

相关推荐