EDA(电子设计自动化)是计算机辅助设计在集成电路和电子系统领域的应用,主要用于设计、验证、模拟和实现可编程逻辑器件。以下是对文档标题和描述中涉及的若干关键知识点的详细解释:
1. **VHDL的描述语句类型**:
VHDL提供了两种基本的描述语句类型:顺序执行语句(Sequential)和并行执行语句(Parallel)。顺序执行语句如过程(Procedure)和函数(Function),它们遵循从左到右的顺序执行;并行执行语句如结构体(Architecture),它们在同一时间进行操作,模拟硬件并行行为。
2. **硬件描述语言**:
常见的硬件描述语言有ABEL-HDL、AHDL、VHDL和Verilog-HDL。VHDL与Verilog-HDL是目前最流行且被IEEE标准化的两种语言,广泛用于FPGA和ASIC设计。
3. **MAX+PLUS2文件扩展名**:
MAX+PLUS2是ALTERA公司的EDA工具,其设计流程涉及的文件扩展名包括:`.vhd`(VHDL源代码文件)、`.sym`(符号表文件)、`.gdf`(图形设备文件)、`.scf`(配置文件)。
4. **基于MAX+PLUS2的设计流程**:
这包括设计输入、编译处理、验证(功能仿真、时序仿真、定时分析)以及器件编程。
5. **流行的EDA设计软件**:
除了ALTERA的MAX+PLUS II和QUARTUS II,还有LATTICE公司的ispEXPERT和SYSTEM DesignExpert,以及XILINX公司的FOUNDATION和ISE。
6. **可编程逻辑器件分类**:
可编程逻辑器件按变更多样性分为SPLD(简单可编程逻辑器件)、CPLD(复杂可编程逻辑器件)和FPGA(现场可编程门阵列)。按编程工艺则有熔丝开关、可编程低阻电路元件、EPROM型和基于SRAM的编程元件。
7. **VHDL程序设计中的库**:
常用库包括IEEE库、STD库、WORK库、VITAL库和用户定义库。显示库(显式打开)有IEEE库、用户定义库和VITAL库,而隐式库有STD库和WORK库。
8. **程序包的组成**:
程序包由程序包首和程序包体两部分组成,包首定义接口,声明包内的类型、元件、函数和子程序;包体则实现实际功能,包含声明中的函数和子程序。
9. **预定义程序包**:
常用的预定义包有`STD_LOGIC_1164`、`STD_LOGIC_ARITH`、`STD_LOGIC_UNSIGNED`、`STD_LOGIC_SIGNED`、`STANDARD`和`TEXTIO`。调用时,通过`use`语句引入即可。
10. **国际主要EDA器件制造商**:
包括ALTERA公司、LATTICE莱迪思公司和XILINX西林公司。
11. **VHDL的预定义数据类型**:
常用的数据类型有布尔(BOOLEAN)、位(BIT)、位矢量(BIT_VECTOR)和字符(CHARACTER),它们分别存在于相应的库中。
12. **数据类型转换方法**:
数据类型转换可通过函数转换法、类型标记转换法和常数转换法实现。
13. **标识符的构成规则**:
标识符可以由26个大小写字母、数字0-9和下划线组成,必须以字母开头,且有一些特定的保留字不能作为标识符。
14. **可编程器件的分类**:
可编程器件按编程特性分为一次编程(如PAL、GAL)和重复编程(如CPLD、FPGA)两类。
15. **标准逻辑位数据类型的数值**:
`U`表示未初始化,`X`表示强未知,`0`表示强0,`1`表示强1,`Z`表示高阻态,`W`表示弱未知,`L`表示弱0,`H`表示弱1,`-`表示忽略。
16. **条件语句电路**:
完整的条件语句生成组合逻辑电路,而不完整的条件语句(如带时钟的IF语句)生成时序逻辑电路。
17. **信号与变量的区别**:
- 信号赋值存在延迟,而变量赋值立即完成。
- 信号具有丰富的信息,如历史状态,而变量仅存储当前值。
- 进程对信号敏感,而对变量不敏感。
- 信号可以是多进程共享的,而变量通常在定义它的顺序域内可见(共享变量除外)。
- 信号是对硬件连接的抽象描述,而变量更接近软件中的变量概念。
以上是EDA复习要点的一些关键点,包括VHDL语言、设计流程、EDA工具、器件类型、库和数据类型等,这些知识点对于理解和使用EDA技术进行硬件设计至关重要。